0.3.4 • Published 7 years ago

camelcase-keys-all-env v0.3.4

Weekly downloads
159
License
MIT
Repository
github
Last release
7 years ago

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

import camelcaseKeys from 'camelcase-keys-all-env'

CommonJS modules

  • note the .default in the require statement
var camelcaseKeys = require('camelcase-keys-all-env').default
// Test object
const 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 = camelcaseKeys(objStub)

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 -->
    <script src="https://somedomain-or-local-path/camelcase-keys.min.js"></script>
    <script>
        var camelcaseKeys = window.camelcaseKeys.default // note: ".default"

        camelcaseKeys({'a_b_c-d': 4}) // { aBCD: 4 }
    </script>
<!-- ... -->

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

License

  • MIT
0.3.4

7 years ago

0.3.3

7 years ago

0.3.2

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.7

7 years ago

0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.13

7 years ago

0.1.12

7 years ago

0.1.11

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago