Repository URL to install this package:
|
Version:
1.2.8 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addCamelCaseKeys = addCamelCaseKeys;
exports.camelCaseKeys = camelCaseKeys;
exports.default = void 0;
var _index = require("../chain-able/index.js");
/**
* @desc this duplicates keys, is simplest fastest
* @NOTE mutates obj
* @param {Object} obj
* @return {Object}
*/
function addCamelCaseKeys(obj) {
const keys = Object.keys(obj);
const camelKeys = keys.map(_index.camelCase);
for (let i = 0; i < keys.length; i++) {
const camel = camelKeys[i]; // console.log({camel, camelKeys, i, keys, c: camelKeys[i], k: keys[i]})
if (camel.length === 0) {
continue;
}
obj[camel] = obj[keys[i]];
}
return obj;
}
/* eslint-disable max-statements */
/**
* @todo I'm sure I wrote this elsewhere
*
* @NOTE is immutable
* @param {Object} obj
* @return {Object}
*/
function camelCaseKeys(obj) {
const keys = Object.keys(obj);
const camelKeys = keys.map(_index.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;
}
var _default = camelCaseKeys;
exports.default = _default;