Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
composition / dist / camelCaseKeys.js
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const chain_able_boost_1 = require("chain-able-boost");
/**
 * @desc this duplicates keys, is simplest fastest
 * @NOTE mutates obj
 */
function addCamelCaseKeys(obj) {
    const keys = Object.keys(obj);
    const camelKeys = keys.map(chain_able_boost_1.camelCase);
    for (let i = 0; i < keys.length; i++) {
        const camel = camelKeys[i];
        if (camel.length === 0)
            continue;
        obj[camel] = obj[keys[i]];
    }
    return obj;
}
exports.addCamelCaseKeys = addCamelCaseKeys;
/* eslint-disable max-statements */
/**
 * @NOTE is immutable
 */
function camelCaseKeys(obj) {
    const keys = Object.keys(obj);
    const camelKeys = keys.map(chain_able_boost_1.camelCase);
    const camelized = {};
    for (let index = 0; index < keys.length; index++) {
        const camel = camelKeys[index];
        const key = keys[index];
        const value = obj[key];
        // is not camel
        if (camel.length === 0) {
            camelized[key] = value;
        }
        else {
            obj[camel] = value;
        }
    }
    return obj;
}
exports.camelCaseKeys = camelCaseKeys;
exports.default = camelCaseKeys;
//# sourceMappingURL=camelCaseKeys.js.map