diff --git a/.editorconfig b/.editorconfig index 0fd4d6c..13e9c39 100644 --- a/.editorconfig +++ b/.editorconfig @@ -179,3 +179,8 @@ indent_size = 2 [*.gypi] indent_style = space indent_size = 2 + +# Set properties for citation files: +[*.{cff,cff.txt}] +indent_style = space +indent_size = 2 diff --git a/.github/.keepalive b/.github/.keepalive deleted file mode 100644 index 0c92105..0000000 --- a/.github/.keepalive +++ /dev/null @@ -1 +0,0 @@ -2023-08-01T01:19:25.003Z diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml index 334eb59..91f2b93 100644 --- a/.github/workflows/productionize.yml +++ b/.github/workflows/productionize.yml @@ -82,21 +82,6 @@ jobs: id: transform-error-messages uses: stdlib-js/transform-errors-action@main - # Format error messages: - - name: 'Replace double quotes with single quotes in rewritten format string error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \; - - # Format string literal error messages: - - name: 'Replace double quotes with single quotes in rewritten string literal error messages' - run: | - find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \; - - # Format code: - - name: 'Replace double quotes with single quotes in inserted `require` calls' - run: | - find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \; - # Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency: - name: 'Update dependencies in package.json' run: | diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..2ec6fff --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,30 @@ +cff-version: 1.2.0 +title: stdlib +message: >- + If you use this software, please cite it using the + metadata from this file. + +type: software + +authors: + - name: The Stdlib Authors + url: https://github.com/stdlib-js/stdlib/graphs/contributors + +repository-code: https://github.com/stdlib-js/stdlib +url: https://stdlib.io + +abstract: | + Standard library for JavaScript and Node.js. + +keywords: + - JavaScript + - Node.js + - TypeScript + - standard library + - scientific computing + - numerical computing + - statistical computing + +license: Apache-2.0 AND BSL-1.0 + +date-released: 2016 diff --git a/README.md b/README.md index 18ed237..c6005da 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,17 @@ limitations under the License. --> + +
+ + About stdlib... + +

We believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we've built stdlib. stdlib is a standard library, with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js.

+

The library is fully decomposable, being architected in such a way that you can swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.

+

When you use stdlib, you can be absolutely certain that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code out there.

+

To join us in bringing numerical computing to the web, get started by checking us out on GitHub, and please consider financially supporting stdlib. We greatly appreciate your continued support!

+
+ # capitalizeKeys [![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] @@ -181,8 +192,8 @@ Copyright © 2016-2023. The Stdlib [Authors][stdlib-authors]. [npm-image]: http://img.shields.io/npm/v/@stdlib/utils-capitalize-keys.svg [npm-url]: https://npmjs.org/package/@stdlib/utils-capitalize-keys -[test-image]: https://github.com/stdlib-js/utils-capitalize-keys/actions/workflows/test.yml/badge.svg?branch=main -[test-url]: https://github.com/stdlib-js/utils-capitalize-keys/actions/workflows/test.yml?query=branch:main +[test-image]: https://github.com/stdlib-js/utils-capitalize-keys/actions/workflows/test.yml/badge.svg?branch=v0.1.0 +[test-url]: https://github.com/stdlib-js/utils-capitalize-keys/actions/workflows/test.yml?query=branch:v0.1.0 [coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/utils-capitalize-keys/main.svg [coverage-url]: https://codecov.io/github/stdlib-js/utils-capitalize-keys?branch=main diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..96813e8 --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,3 @@ +/// +import capitalizeKeys from '../docs/types/index'; +export = capitalizeKeys; \ No newline at end of file diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..16afe91 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,5 @@ +"use strict";var u=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}};var s=u(function(f,i){ +var n=require('@stdlib/assert-has-own-property/dist'),p=require('@stdlib/error-tools-fmtprodmsg/dist');function c(r){var e,t,a;if(typeof r!="object"||r===null)throw new TypeError(p('1S147',r));e={};for(t in r)n(r,t)&&(t===""?e[t]=r[t]:(a=t.charAt(0).toUpperCase()+t.slice(1),e[a]=r[t]));return e}i.exports=c +});var o=s();module.exports=o; +/** @license Apache-2.0 */ +//# sourceMappingURL=index.js.map diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 0000000..ba11e2f --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../lib/main.js", "../lib/index.js"], + "sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( '@stdlib/assert-has-own-property' );\nvar format = require( '@stdlib/string-format' );\n\n\n// MAIN //\n\n/**\n* Converts the first letter of each object key to uppercase.\n*\n* @param {Object} obj - source object\n* @throws {TypeError} must provide an object\n* @returns {Object} new object\n*\n* @example\n* var obj1 = {\n* 'aa': 1,\n* 'bb': 2\n* };\n*\n* var obj2 = capitalizeKeys( obj1 );\n* // returns { 'Aa': 1, 'Bb': 2 }\n*/\nfunction capitalizeKeys( obj ) {\n\tvar out;\n\tvar key;\n\tvar k;\n\tif ( typeof obj !== 'object' || obj === null ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide an object. Value: `%s`.', obj ) );\n\t}\n\tout = {};\n\tfor ( key in obj ) {\n\t\tif ( hasOwnProp( obj, key ) ) {\n\t\t\tif ( key === '' ) {\n\t\t\t\tout[ key ] = obj[ key ];\n\t\t\t} else {\n\t\t\t\tk = key.charAt( 0 ).toUpperCase() + key.slice( 1 );\n\t\t\t\tout[ k ] = obj[ key ];\n\t\t\t}\n\t\t}\n\t}\n\treturn out;\n}\n\n\n// EXPORTS //\n\nmodule.exports = capitalizeKeys;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Convert the first letter of each object key to uppercase.\n*\n* @module @stdlib/utils-capitalize-keys\n*\n* @example\n* var capitalizeKeys = require( '@stdlib/utils-capitalize-keys' );\n*\n* var obj1 = {\n* 'aa': 1,\n* 'bb': 2\n* };\n*\n* var obj2 = capitalizeKeys( obj1 );\n* // returns { 'Aa': 1, 'Bb': 2 }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n"], + "mappings": "uGAAA,IAAAA,EAAAC,EAAA,SAAAC,EAAAC,EAAA,cAsBA,IAAIC,EAAa,QAAS,iCAAkC,EACxDC,EAAS,QAAS,uBAAwB,EAqB9C,SAASC,EAAgBC,EAAM,CAC9B,IAAIC,EACAC,EACAC,EACJ,GAAK,OAAOH,GAAQ,UAAYA,IAAQ,KACvC,MAAM,IAAI,UAAWF,EAAQ,yDAA0DE,CAAI,CAAE,EAE9FC,EAAM,CAAC,EACP,IAAMC,KAAOF,EACPH,EAAYG,EAAKE,CAAI,IACpBA,IAAQ,GACZD,EAAKC,CAAI,EAAIF,EAAKE,CAAI,GAEtBC,EAAID,EAAI,OAAQ,CAAE,EAAE,YAAY,EAAIA,EAAI,MAAO,CAAE,EACjDD,EAAKE,CAAE,EAAIH,EAAKE,CAAI,IAIvB,OAAOD,CACR,CAKAL,EAAO,QAAUG,IC7BjB,IAAIK,EAAO,IAKX,OAAO,QAAUA", + "names": ["require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "format", "capitalizeKeys", "obj", "out", "key", "k", "main"] +} diff --git a/docs/types/index.d.ts b/docs/types/index.d.ts index 663241d..bcd676b 100644 --- a/docs/types/index.d.ts +++ b/docs/types/index.d.ts @@ -16,7 +16,7 @@ * limitations under the License. */ -// TypeScript Version: 2.0 +// TypeScript Version: 4.1 /** * Converts the first letter of each object key to uppercase. diff --git a/package.json b/package.json index db4a20b..7b2a2d1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@stdlib/utils-capitalize-keys", - "version": "0.0.8", + "version": "0.1.0", "description": "Convert the first letter of each object key to uppercase.", "license": "Apache-2.0", "author": { @@ -37,11 +37,11 @@ "url": "https://github.com/stdlib-js/stdlib/issues" }, "dependencies": { - "@stdlib/assert-has-own-property": "^0.0.7", - "@stdlib/string-format": "^0.0.3" + "@stdlib/assert-has-own-property": "^0.1.0", + "@stdlib/string-format": "^0.1.0" }, "devDependencies": { - "@stdlib/bench": "^0.0.12", + "@stdlib/bench": "^0.1.0", "@stdlib/random-base-randu": "^0.0.8", "tape": "git+https://github.com/kgryte/tape.git#fix/globby", "istanbul": "^0.4.1",