UNPKG

@shopify/react-async

Version:

Tools for creating powerful, asynchronously-loaded React components.

29 lines (28 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var server_1 = require("@shopify/react-effect/server"); var assets_1 = require("./context/assets"); function getUsedAssets(element) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } return tslib_1.__awaiter(this, void 0, void 0, function () { var asyncAssets; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: asyncAssets = new assets_1.AsyncAssetManager(); return [4 /*yield*/, server_1.extract(element, { decorate: function (element) { return (react_1.default.createElement(assets_1.AsyncAssetContext.Provider, { value: asyncAssets }, element)); }, })]; case 1: _a.sent(); return [2 /*return*/, asyncAssets.used.apply(asyncAssets, tslib_1.__spread(args))]; } }); }); } exports.getUsedAssets = getUsedAssets;