Sha256: aedb34d292df189f0f9e766b306a3652ffcf2303ef4d5580e9723d5033d4f022

Contents?: true

Size: 683 Bytes

Versions: 26

Compression:

Stored size: 683 Bytes

Contents

'use strict';

Object.defineProperty(exports, '__esModule', {
  value: true,
});
exports.promiseForObject = promiseForObject;

/**
 * This function transforms a JS object `ObjMap<Promise<T>>` into
 * a `Promise<ObjMap<T>>`
 *
 * This is akin to bluebird's `Promise.props`, but implemented only using
 * `Promise.all` so it will work with any implementation of ES6 promises.
 */
function promiseForObject(object) {
  return Promise.all(Object.values(object)).then((resolvedValues) => {
    const resolvedObject = Object.create(null);

    for (const [i, key] of Object.keys(object).entries()) {
      resolvedObject[key] = resolvedValues[i];
    }

    return resolvedObject;
  });
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.22 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.21 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.20 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.19 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.18 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.17 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.16 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.15 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.14 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.13 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.12 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.11 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.10 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.9 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.8 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js
clapton-0.0.7 lib/clapton/javascripts/node_modules/graphql/jsutils/promiseForObject.js