UNPKG

graphql-compose

Version:

GraphQL schema builder from different data sources with middleware extensions.

41 lines (34 loc) 1.13 kB
'use strict'; var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); Object.defineProperty(exports, "__esModule", { value: true }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Convert object to dotted-key/value pair * { a: { b: { c: 1 }}} -> { 'a.b.c': 1 } * Usage: * var dotObject(obj) * or * var target = {}; dotObject(obj, target) * * @param {Object} obj source object * @param {Object} target target object * @param {Array} path path array (internal) */ function toDottedObject(obj) { var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; /* eslint-disable */ (0, _keys2.default)(obj).forEach(function (key) { if (Object(obj[key]) === obj[key]) { return toDottedObject(obj[key], target, path.concat(key)); } else { target[path.concat(key).join('.')] = obj[key]; } }); return target; /* eslint-enable */ } exports.default = toDottedObject;