UNPKG

react-imported-component

Version:
41 lines (40 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processComment = void 0; var tslib_1 = require("tslib"); var utils_1 = require("./utils"); var preservePrefetch = function (_, __, options) { return !!options.webpackPrefetch; }; var preservePreload = function (_, __, options) { return !!options.webpackPreload; }; var preserveChunkName = function (_, __, options) { return options.webpackChunkName || options.chunkName; }; var chunkComment = function (chunk) { return "webpackChunkName: \"" + chunk + "\""; }; var preloadComment = function () { return "webpackPreload: true"; }; var prefetchComment = function () { return "webpackPrefetch: true"; }; var knownMagics = ['webpackChunkName', 'webpackPrefetch', 'webpackPreload']; var toComments = function (conf) { return Object.keys(conf) .filter(function (key) { return !knownMagics.includes(key); }) .reduce(function (acc, key) { acc.concat(key + ":" + JSON.stringify(conf[key])); return acc; }, []); }; var nullish = function (a, b) { if (a === undefined) { return b; } return a; }; var processComment = function (configuration, comments, importName, fileName, options) { var _a = configuration.shouldPrefetch, shouldPrefetch = _a === void 0 ? preservePrefetch : _a, _b = configuration.shouldPreload, shouldPreload = _b === void 0 ? preservePreload : _b, _c = configuration.chunkName, chunkName = _c === void 0 ? preserveChunkName : _c; var importConfiguration = (0, utils_1.commentsToConfiguration)(comments); var newChunkName = nullish(chunkName(importName, fileName, importConfiguration), preserveChunkName(importName, fileName, importConfiguration)); var isBootstrapFile = options.isBootstrapFile; return (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], toComments(importConfiguration), true), [ !isBootstrapFile && shouldPrefetch(importName, fileName, importConfiguration) ? prefetchComment() : '', !isBootstrapFile && shouldPreload(importName, fileName, importConfiguration) ? preloadComment() : '', newChunkName ? chunkComment(newChunkName) : '', ], false).filter(function (x) { return !!x; }); }; exports.processComment = processComment;