UNPKG

@wordpress/interactivity-router

Version:

Package that exposes state and actions from the `core/router` store, part of the Interactivity API.

64 lines (62 loc) 2.56 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // packages/interactivity-router/src/assets/script-modules.ts var script_modules_exports = {}; __export(script_modules_exports, { importScriptModules: () => importScriptModules, markScriptModuleAsResolved: () => markScriptModuleAsResolved, preloadScriptModules: () => preloadScriptModules }); module.exports = __toCommonJS(script_modules_exports); var import_dynamic_importmap = require("./dynamic-importmap/index.cjs"); var resolvedScriptModules = /* @__PURE__ */ new Set(); var markScriptModuleAsResolved = (url) => { resolvedScriptModules.add(url); }; var preloadScriptModules = (doc) => { const importMapElement = doc.querySelector( "script#wp-importmap[type=importmap]" ); const importMap = importMapElement ? JSON.parse(importMapElement.text) : { imports: {}, scopes: {} }; for (const key in import_dynamic_importmap.initialImportMap.imports) { delete importMap.imports[key]; } const moduleUrls = [ ...doc.querySelectorAll( "script[type=module][src][data-wp-router-options]" ) ].filter((script) => { try { const parsed = JSON.parse( script.getAttribute("data-wp-router-options") ); return parsed?.loadOnClientNavigation === true; } catch { return false; } }).map((script) => script.src); return moduleUrls.filter((url) => !resolvedScriptModules.has(url)).map((url) => (0, import_dynamic_importmap.preloadWithMap)(url, importMap)); }; var importScriptModules = (modules) => Promise.all(modules.map((m) => (0, import_dynamic_importmap.importPreloadedModule)(m))); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { importScriptModules, markScriptModuleAsResolved, preloadScriptModules }); //# sourceMappingURL=script-modules.cjs.map