camelcase-keys-all-env
Deeply camelCases object keys.
- Works on all environments where at least ES5 is available (IE9+).
- Works with snake_case, kebab-case (spinal-case) and PascalCase keys
- Supports Arrays and nested objects
- Best performing algorithm in most cases (see benchmarks)
- No dependencies
- Browser friendly
- Tiny in size (~1kB minified)
- A minified version included (./dist/camelcase-keys.min.js)
Usage
ES modules
CommonJS modules
- note the .default in the require statement
var camelcaseKeys = default
// Test objectconst objStub = 'some-very_long-key': 1 Other_key_for_good_measure: false nested_key: true 'Something_nested-deeply': 'asd' false 'other-nested-key': deeply_nested_key: true 'yet-another-key': 'value' const camelcaseObj =
Other environments
I recommend bundling this package with your application, using Webpack / Browserify /... If you can't / don't want to, you can append it to the "global" context (in case of a browser, it will probably be the
window
object)
Browser
- download the minified version of the package from ./dist/camelcase-keys.min.js
- Upload it to your server / CDN
- Add a script element to your page
<!-- ... --> <!-- use the async / defer attribute to load the script asynchronously, if you can --><!-- ... -->
Setup
Yarn
$ yarn add camelcase-keys-all-env
NPM
$ npm install --save camelcase-keys-all-env
Scripts
Benchmark
$ yarn bench
- Runs a benchmark using one complex and one simple JSON object with comparison to other similar packages.
Build
$ yarn build
- Generates a transpiled and minified (Babel) file in the ./dist directory
Test
$ yarn test
- Runs unit tests
Lint
$ yarn lint
- Checks the code style (eslint)
Codestyle
$ yarn codestyle
- Formats the JavaScript source files (uses https://github.com/prettier/prettier)
License
- MIT