@visactor/vrender
Version:
```typescript import { xxx } from '@visactor/vrender'; ```
49 lines (42 loc) • 2.3 kB
JavaScript
var __rest = this && this.__rest || function(s, e) {
var t = {};
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
var i = 0;
for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
}
return t;
};
import * as runtimeInstaller from "@visactor/vrender-core/entries/runtime-installer";
import { getAllSharedApps } from "./shared-registry";
const installCoreRuntimeContributionModule = runtimeInstaller.installRuntimeContributionModule, pendingRuntimeContributionModules = [], pendingRuntimeContributionModuleMap = new WeakMap;
function getRuntimeContributionModuleIdentity(module) {
return module;
}
function addPendingRuntimeContributionModule(module, options) {
const identity = getRuntimeContributionModuleIdentity(module), existing = pendingRuntimeContributionModuleMap.get(identity);
if (existing) return void (existing.options = options);
const entry = {
module: module,
options: options
};
pendingRuntimeContributionModuleMap.set(identity, entry), pendingRuntimeContributionModules.push(entry);
}
export function installPendingRuntimeContributionModulesToApp(app) {
pendingRuntimeContributionModules.forEach((({module: module, options: options}) => {
installCoreRuntimeContributionModule(module, Object.assign(Object.assign({}, options), {
app: app
}));
}));
}
export function installRuntimeContributionModule(module, _a = {}) {
var {app: app, installExistingSharedApps: installExistingSharedApps = !0} = _a, runtimeOptions = __rest(_a, [ "app", "installExistingSharedApps" ]);
app ? installCoreRuntimeContributionModule(module, Object.assign(Object.assign({}, runtimeOptions), {
app: app
})) : (addPendingRuntimeContributionModule(module, runtimeOptions), installExistingSharedApps && getAllSharedApps().forEach((targetApp => {
installCoreRuntimeContributionModule(module, Object.assign(Object.assign({}, runtimeOptions), {
app: targetApp
}));
})));
}
//# sourceMappingURL=runtime-contribution.js.map