Sha256: 5b86acb3a0424ad4a3aaf5fbf46a75899feb3ec36233d37aec24e12b06f1aa00

Contents?: true

Size: 741 Bytes

Versions: 24

Compression:

Stored size: 741 Bytes

Contents

import { camelCase } from 'lodash';

export const propsToCamelCase = ob =>
  propsToCase(camelCase, 'propsToCamelCase only takes objects', ob);

export const deepPropsToCamelCase = obj => {
  if (typeof obj !== 'object' || obj === null) {
    return obj;
  }
  if (Array.isArray(obj)) {
    return obj.map(deepPropsToCamelCase);
  }
  const transformed = propsToCamelCase(obj);
  return Object.keys(transformed).reduce((memo, key) => {
    memo[key] = deepPropsToCamelCase(transformed[key]);
    return memo;
  }, {});
};

const propsToCase = (casingFn, errorMsg, ob) => {
  if (typeof ob !== 'object') throw Error(errorMsg);

  return Object.keys(ob).reduce((memo, key) => {
    memo[casingFn(key)] = ob[key];
    return memo;
  }, {});
};

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
foreman_templates-10.0.4 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-10.0.3 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-10.0.2 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-10.0.1 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-10.0.0 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.5.1 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.5.0 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.3.3 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.3.2 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.3.1 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.4.0 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.3.0 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.2.0 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.1.0 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.0.2 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.0.1 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-9.0.0 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-7.0.7 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-8.0.0 webpack/__mocks__/foremanReact/common/helpers.js
foreman_templates-7.0.6 webpack/__mocks__/foremanReact/common/helpers.js