Files
emaui/node_modules/@module-federation/runtime/dist/index.js
2026-05-29 15:23:46 +03:00

66 lines
2.7 KiB
JavaScript

import { getGlobalFederationInstance } from "./utils.js";
import { CurrentGlobal, Module, ModuleFederation, assert, getGlobalFederationConstructor, getRemoteEntry, getRemoteInfo, loadScript, loadScriptNode, registerGlobalPlugins, setGlobalFederationConstructor, setGlobalFederationInstance } from "@module-federation/runtime-core";
import { RUNTIME_009, runtimeDescMap } from "@module-federation/error-codes";
//#region src/index.ts
function createInstance(options) {
const instance = new ((getGlobalFederationConstructor()) || ModuleFederation)({
id: `${options.name}@${options.version || Date.now()}`,
...options
});
setGlobalFederationInstance(instance);
return instance;
}
let FederationInstance = null;
function init(options) {
const instance = getGlobalFederationInstance(options.name, options.version);
const normalizedOptions = {
...options,
id: options.id || ""
};
if (!instance) {
FederationInstance = createInstance(normalizedOptions);
return FederationInstance;
} else {
instance.initOptions(normalizedOptions);
if (!FederationInstance) FederationInstance = instance;
return instance;
}
}
function loadRemote(...args) {
assert(FederationInstance, RUNTIME_009, runtimeDescMap);
return FederationInstance.loadRemote.apply(FederationInstance, args);
}
function loadShare(...args) {
assert(FederationInstance, RUNTIME_009, runtimeDescMap);
return FederationInstance.loadShare.apply(FederationInstance, args);
}
function loadShareSync(...args) {
assert(FederationInstance, RUNTIME_009, runtimeDescMap);
return FederationInstance.loadShareSync.apply(FederationInstance, args);
}
function preloadRemote(...args) {
assert(FederationInstance, RUNTIME_009, runtimeDescMap);
return FederationInstance.preloadRemote.apply(FederationInstance, args);
}
function registerRemotes(...args) {
assert(FederationInstance, RUNTIME_009, runtimeDescMap);
return FederationInstance.registerRemotes.apply(FederationInstance, args);
}
function registerPlugins(...args) {
assert(FederationInstance, RUNTIME_009, runtimeDescMap);
return FederationInstance.registerPlugins.apply(FederationInstance, args);
}
function getInstance(finder) {
if (!finder) return FederationInstance;
return CurrentGlobal.__FEDERATION__.__INSTANCES__.find(finder) || null;
}
function registerShared(...args) {
assert(FederationInstance, RUNTIME_009, runtimeDescMap);
return FederationInstance.registerShared.apply(FederationInstance, args);
}
setGlobalFederationConstructor(ModuleFederation);
//#endregion
export { Module, ModuleFederation, createInstance, getInstance, getRemoteEntry, getRemoteInfo, init, loadRemote, loadScript, loadScriptNode, loadShare, loadShareSync, preloadRemote, registerGlobalPlugins, registerPlugins, registerRemotes, registerShared };
//# sourceMappingURL=index.js.map