UNPKG

graph-resolver

Version:

Graph Resolver resolves a value or a list of values of a model to another, provided their intermediaries have defined relationships.

29 lines (21 loc) 820 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports.ensureArray = ensureArray; exports.chainThenables = chainThenables; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _bluebird = require('bluebird'); var _bluebird2 = _interopRequireDefault(_bluebird); function ensureArray(value) { if (!_lodash2['default'].isUndefined(value)) { return [].concat(value); } } function chainThenables(thenables, data) { return _lodash2['default'].reduce(thenables, function (previous, current) { return previous.map(current).then(_lodash2['default'].compact).then(_lodash2['default'].flattenDeep); }, _bluebird2['default'].resolve(ensureArray(data))); }