diff options
Diffstat (limited to 'assets/node_modules/camelcase-keys/index.js')
-rw-r--r-- | assets/node_modules/camelcase-keys/index.js | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/assets/node_modules/camelcase-keys/index.js b/assets/node_modules/camelcase-keys/index.js deleted file mode 100644 index 40a6fb6..0000000 --- a/assets/node_modules/camelcase-keys/index.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; -const mapObj = require('map-obj'); -const camelCase = require('camelcase'); -const QuickLru = require('quick-lru'); - -const has = (array, key) => array.some(x => { - if (typeof x === 'string') { - return x === key; - } - - x.lastIndex = 0; - return x.test(key); -}); - -const cache = new QuickLru({maxSize: 100000}); - -// Reproduces behavior from `map-obj` -const isObject = value => - typeof value === 'object' && - value !== null && - !(value instanceof RegExp) && - !(value instanceof Error) && - !(value instanceof Date); - -const camelCaseConvert = (input, options) => { - options = { - deep: false, - pascalCase: false, - ...options - }; - - const {exclude, pascalCase, stopPaths, deep} = options; - - const stopPathsSet = new Set(stopPaths); - - const makeMapper = parentPath => (key, value) => { - if (deep && isObject(value)) { - const path = parentPath === undefined ? key : `${parentPath}.${key}`; - - if (!stopPathsSet.has(path)) { - value = mapObj(value, makeMapper(path)); - } - } - - if (!(exclude && has(exclude, key))) { - const cacheKey = pascalCase ? `${key}_` : key; - - if (cache.has(cacheKey)) { - key = cache.get(cacheKey); - } else { - const ret = camelCase(key, {pascalCase}); - - if (key.length < 100) { // Prevent abuse - cache.set(cacheKey, ret); - } - - key = ret; - } - } - - return [key, value]; - }; - - return mapObj(input, makeMapper(undefined)); -}; - -module.exports = (input, options) => { - if (Array.isArray(input)) { - return Object.keys(input).map(key => camelCaseConvert(input[key], options)); - } - - return camelCaseConvert(input, options); -}; |