UNPKG

moltres-utils

Version:
80 lines (62 loc) 2.22 kB
"use strict"; require("core-js/modules/es6.object.define-property"); Object.defineProperty(exports, "__esModule", { value: true }); exports.baseResolveWith = exports.default = void 0; var _isOp = require("./isOp"); var _isResolved = require("./isResolved"); var _resolve = require("./resolve"); var _resolveToGeneratorWith = require("./resolveToGeneratorWith"); var _curry = _interopRequireDefault(require("./curry")); var _isGenerator = _interopRequireDefault(require("../lang/isGenerator")); var _isPromise = _interopRequireDefault(require("../lang/isPromise")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var baseResolveWith = function baseResolveWith(fn, value) { if (!(0, _isResolved.baseIsResolved)(value)) { if ((0, _isPromise.default)(value)) { return value.then(function (resolved) { return baseResolveWith(fn, resolved); }); } if ((0, _isGenerator.default)(value) || (0, _isOp.baseIsOp)(value)) { return (0, _resolveToGeneratorWith.baseResolveToGeneratorWith)(fn, value); } value = (0, _resolve.baseResolve)(value); } value = fn(value); if (!(0, _isResolved.baseIsResolved)(value)) { return (0, _resolve.baseResolve)(value); } return value; }; /** * Resolves a value to the given method. * * If the value to be resolved is a promise then this method will return a promise. The fn method will be triggered once the promise resolves. * * If the value to be resolved is a generator, this method will return a generator. * * @function * @since v0.0.11 * @category common * @param {Function} fn The function to execute at the end of the resolution * @param {*} value The value to resolve with the generator * @returns {Generator} * @example * * await resolveWith( * (resolvedValue) => 'bar' // resolvedValue == 'foo' * Promise.resolve('foo') * ) //=> 'bar' * * resolveWith( * (resolvedValue) => 'bar' // resolvedValue == 'foo' * 'foo' * ) //=> 'bar' */ exports.baseResolveWith = baseResolveWith; var resolveWith = (0, _curry.default)(baseResolveWith); var _default = resolveWith; exports.default = _default; //# sourceMappingURL=resolveWith.js.map