netlify-cms-lib-util
Advanced tools
Comparing version
@@ -6,2 +6,13 @@ # Change Log | ||
# [2.4.0-beta.0](https://github.com/netlify/netlify-cms/tree/master/packages/netlify-cms-lib-util/compare/netlify-cms-lib-util@2.3.3...netlify-cms-lib-util@2.4.0-beta.0) (2019-07-24) | ||
### Features | ||
* **backend-github:** Open Authoring ([#2430](https://github.com/netlify/netlify-cms/tree/master/packages/netlify-cms-lib-util/issues/2430)) ([edf0a3a](https://github.com/netlify/netlify-cms/tree/master/packages/netlify-cms-lib-util/commit/edf0a3a)) | ||
## [2.3.3](https://github.com/netlify/netlify-cms/tree/master/packages/netlify-cms-lib-util/compare/netlify-cms-lib-util@2.3.2...netlify-cms-lib-util@2.3.3) (2019-07-24) | ||
@@ -8,0 +19,0 @@ |
@@ -72,2 +72,14 @@ "use strict"; | ||
}); | ||
Object.defineProperty(exports, "filterPromisesWith", { | ||
enumerable: true, | ||
get: function get() { | ||
return _promise.filterPromisesWith; | ||
} | ||
}); | ||
Object.defineProperty(exports, "onlySuccessfulPromises", { | ||
enumerable: true, | ||
get: function get() { | ||
return _promise.onlySuccessfulPromises; | ||
} | ||
}); | ||
Object.defineProperty(exports, "resolvePromiseProperties", { | ||
@@ -159,2 +171,4 @@ enumerable: true, | ||
filterPromises: _promise.filterPromises, | ||
filterPromisesWith: _promise.filterPromisesWith, | ||
onlySuccessfulPromises: _promise.onlySuccessfulPromises, | ||
resolvePromiseProperties: _promise.resolvePromiseProperties, | ||
@@ -161,0 +175,0 @@ then: _promise.then, |
@@ -6,4 +6,12 @@ "use strict"; | ||
}); | ||
exports.then = exports.resolvePromiseProperties = exports.filterPromises = void 0; | ||
exports.onlySuccessfulPromises = exports.then = exports.resolvePromiseProperties = exports.filterPromisesWith = exports.filterPromises = void 0; | ||
var _constant = _interopRequireDefault(require("lodash/constant")); | ||
var _filter = _interopRequireDefault(require("lodash/fp/filter")); | ||
var _map = _interopRequireDefault(require("lodash/fp/map")); | ||
var _flow = _interopRequireDefault(require("lodash/flow")); | ||
var _zipObject = _interopRequireDefault(require("lodash/zipObject")); | ||
@@ -13,6 +21,10 @@ | ||
const filterPromises = (arr, filter) => Promise.all(arr.map(entry => filter(entry))).then(bits => arr.filter(() => bits.shift())); | ||
const filterPromises = (arr, filter) => Promise.all(arr.map(entry => Promise.resolve(entry).then(filter))).then(bits => arr.filter(() => bits.shift())); | ||
exports.filterPromises = filterPromises; | ||
const filterPromisesWith = filter => arr => filterPromises(arr, filter); | ||
exports.filterPromisesWith = filterPromisesWith; | ||
const resolvePromiseProperties = obj => { | ||
@@ -32,2 +44,5 @@ // Get the keys which represent promises | ||
exports.then = then; | ||
exports.then = then; | ||
const filterPromiseSymbol = Symbol('filterPromiseSymbol'); | ||
const onlySuccessfulPromises = (0, _flow.default)([then((0, _map.default)(p => p.catch((0, _constant.default)(filterPromiseSymbol)))), then(Promise.all.bind(Promise)), then((0, _filter.default)(maybeValue => maybeValue !== filterPromiseSymbol))]); | ||
exports.onlySuccessfulPromises = onlySuccessfulPromises; |
{ | ||
"name": "netlify-cms-lib-util", | ||
"description": "Shared utilities for Netlify CMS.", | ||
"version": "2.3.3", | ||
"version": "2.4.0-beta.0", | ||
"repository": "https://github.com/netlify/netlify-cms/tree/master/packages/netlify-cms-lib-util", | ||
@@ -27,3 +27,3 @@ "bugs": "https://github.com/netlify/netlify-cms/issues", | ||
}, | ||
"gitHead": "41559256d0f5612bc38dea4ebcd518d97ce25e05" | ||
"gitHead": "7a63444f2fe77e23d8f8ed35c06fb0c79d9f3694" | ||
} |
@@ -6,3 +6,9 @@ import APIError from './APIError'; | ||
import { resolvePath, basename, fileExtensionWithSeparator, fileExtension } from './path'; | ||
import { filterPromises, resolvePromiseProperties, then } from './promise'; | ||
import { | ||
filterPromises, | ||
filterPromisesWith, | ||
onlySuccessfulPromises, | ||
resolvePromiseProperties, | ||
then, | ||
} from './promise'; | ||
import unsentRequest from './unsentRequest'; | ||
@@ -25,2 +31,4 @@ import { filterByPropExtension, parseResponse, responseParser } from './backendUtil'; | ||
filterPromises, | ||
filterPromisesWith, | ||
onlySuccessfulPromises, | ||
resolvePromiseProperties, | ||
@@ -47,2 +55,4 @@ then, | ||
filterPromises, | ||
filterPromisesWith, | ||
onlySuccessfulPromises, | ||
resolvePromiseProperties, | ||
@@ -49,0 +59,0 @@ then, |
@@ -0,6 +1,14 @@ | ||
import constant from 'lodash/constant'; | ||
import filter from 'lodash/fp/filter'; | ||
import map from 'lodash/fp/map'; | ||
import flow from 'lodash/flow'; | ||
import zipObject from 'lodash/zipObject'; | ||
export const filterPromises = (arr, filter) => | ||
Promise.all(arr.map(entry => filter(entry))).then(bits => arr.filter(() => bits.shift())); | ||
Promise.all(arr.map(entry => Promise.resolve(entry).then(filter))).then(bits => | ||
arr.filter(() => bits.shift()), | ||
); | ||
export const filterPromisesWith = filter => arr => filterPromises(arr, filter); | ||
export const resolvePromiseProperties = obj => { | ||
@@ -21,1 +29,8 @@ // Get the keys which represent promises | ||
export const then = fn => p => Promise.resolve(p).then(fn); | ||
const filterPromiseSymbol = Symbol('filterPromiseSymbol'); | ||
export const onlySuccessfulPromises = flow([ | ||
then(map(p => p.catch(constant(filterPromiseSymbol)))), | ||
then(Promise.all.bind(Promise)), | ||
then(filter(maybeValue => maybeValue !== filterPromiseSymbol)), | ||
]); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
1014114
25.21%1603
11.09%3
50%