UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

23 lines (22 loc) 881 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getGlobalObject = getGlobalObject; exports.assertIsSingleModuleInstance = assertIsSingleModuleInstance; const assert_js_1 = require("./assert.js"); /** Share information across module instances. */ function getGlobalObject(key, defaultValue) { const globalObjects = getGlobalObjects(); const globalObject = (globalObjects[key] = globalObjects[key] || defaultValue); return globalObject; } /** Assert that the module is instantiated only once. */ function assertIsSingleModuleInstance(key) { const globalObjects = getGlobalObjects(); (0, assert_js_1.assert)(!(key in globalObjects)); } function getGlobalObjects() { const projectKey = '_vike'; // @ts-ignore const globalObjects = (globalThis[projectKey] = globalThis[projectKey] || {}); return globalObjects; }