UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

33 lines (32 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toSnakeCaseDeep = exports.toSnakeCase = exports.toCamelCaseDeep = exports.toCamelCase = void 0; const lodash_1 = require("lodash"); const toCamelCase = (o) => (0, lodash_1.mapKeys)(o, camelCaseKey); exports.toCamelCase = toCamelCase; const toCamelCaseDeep = (o) => { return mapKeysDeep(o, camelCaseKey); }; exports.toCamelCaseDeep = toCamelCaseDeep; const toSnakeCase = (o) => (0, lodash_1.mapKeys)(o, snakeCaseKey); exports.toSnakeCase = toSnakeCase; const toSnakeCaseDeep = (o) => { return mapKeysDeep(o, snakeCaseKey); }; exports.toSnakeCaseDeep = toSnakeCaseDeep; const camelCaseKey = (_, key) => (0, lodash_1.camelCase)(key); const snakeCaseKey = (_, key) => (0, lodash_1.snakeCase)(key); const mapKeysDeep = (obj, cb) => { if (Array.isArray(obj)) { return obj.map((item) => { return mapKeysDeep(item, cb); }); } if (typeof obj !== 'object' || (0, lodash_1.isPlainObject)(obj) === false) { return obj; } const result = (0, lodash_1.mapKeys)(obj, cb); return (0, lodash_1.mapValues)(result, (value) => { return mapKeysDeep(value, cb); }); };