UNPKG

@shopify/react-async

Version:

Tools for creating powerful, asynchronously-loaded React components.

46 lines (45 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var prefetch_1 = require("../context/prefetch"); tslib_1.__exportStar(require("../testing"), exports); function createPrefetchManager(registered) { if (registered === void 0) { registered = []; } return new prefetch_1.PrefetchManager(registered); } exports.createPrefetchManager = createPrefetchManager; function createResolvablePromise(value) { var promiseResolve; var resolved = false; var promise = new Promise(function (resolve) { promiseResolve = resolve; }); return { promise: promise, resolve: function () { promiseResolve(value); resolved = true; return promise; }, resolved: function () { return resolved; }, }; } exports.createResolvablePromise = createResolvablePromise; function createRejectablePromise(value) { var promiseReject; var rejected = false; // eslint-disable-next-line promise/param-names var promise = new Promise(function (_, reject) { promiseReject = reject; }); return { promise: promise, reject: function () { promiseReject(value); rejected = true; return promise.catch(function () { }); }, rejected: function () { return rejected; }, }; } exports.createRejectablePromise = createRejectablePromise;