UNPKG

@visactor/vrender

Version:

```typescript import { xxx } from '@visactor/vrender'; ```

62 lines (51 loc) 3.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.syncLegacyPickersToApp = exports.syncLegacyRenderersToApp = exports.ensureBootstrap = exports.BOOTSTRAP_STATE = void 0; const bootstrap_1 = require("@visactor/vrender-core/legacy/bootstrap"), symbol_1 = require("@visactor/vrender-core/render/symbol"); exports.BOOTSTRAP_STATE = Symbol.for("vrender.bootstrap.state"); const LEGACY_RENDERER_NAMESPACE = "vrender:legacy-renderer", LEGACY_PICKER_NAMESPACE = "vrender:legacy-picker", legacyEntryKeys = new WeakMap; function ensureBootstrap(target, key) { var _a; const state = null !== (_a = target[exports.BOOTSTRAP_STATE]) && void 0 !== _a ? _a : new Set; return target[exports.BOOTSTRAP_STATE] = state, !state.has(key) && (state.add(key), !0); } function createBootstrapEntryKey(entry, prefix) { var _a, _b, _c, _d; const type = null !== (_a = null == entry ? void 0 : entry.type) && void 0 !== _a ? _a : "unknown", numberType = null !== (_b = null == entry ? void 0 : entry.numberType) && void 0 !== _b ? _b : "unknown", ctor = null !== (_d = null === (_c = null == entry ? void 0 : entry.constructor) || void 0 === _c ? void 0 : _c.name) && void 0 !== _d ? _d : "anonymous"; return `${prefix}:${String(numberType)}:${String(type)}:${ctor}`; } function getTrackedEntryKeys(registry, namespace) { let namespaces = legacyEntryKeys.get(registry); namespaces || (namespaces = new Map, legacyEntryKeys.set(registry, namespaces)); let keys = namespaces.get(namespace); return keys || (keys = new Set, namespaces.set(namespace, keys)), keys; } function clearTrackedEntryKeys(registry, namespace, unregister) { const keys = getTrackedEntryKeys(registry, namespace); unregister && keys.forEach((key => unregister(key))), keys.clear(); } function syncLegacyRenderersToApp(app) { var _a, _b; const legacyRenderers = null !== (_a = (0, bootstrap_1.getLegacyBindingContext)().getAll(symbol_1.GraphicRender)) && void 0 !== _a ? _a : [], registeredKeys = getTrackedEntryKeys(app.registry.renderer, "vrender:legacy-renderer"), seen = new Set; clearTrackedEntryKeys(app.registry.renderer, "vrender:legacy-renderer", null === (_b = app.registry.renderer.unregister) || void 0 === _b ? void 0 : _b.bind(app.registry.renderer)), legacyRenderers.forEach((renderer => { var _a; const key = createBootstrapEntryKey(renderer, "vrender:legacy-renderer"); seen.has(key) || (seen.add(key), null === (_a = null == renderer ? void 0 : renderer.reInit) || void 0 === _a || _a.call(renderer), app.registry.renderer.register(key, renderer), registeredKeys.add(key)); })); } function syncLegacyPickersToApp(app, pickerContribution) { var _a, _b; const legacyPickers = null !== (_a = (0, bootstrap_1.getLegacyBindingContext)().getAll(pickerContribution)) && void 0 !== _a ? _a : [], registeredKeys = getTrackedEntryKeys(app.registry.picker, "vrender:legacy-picker"), seen = new Set; clearTrackedEntryKeys(app.registry.picker, "vrender:legacy-picker", null === (_b = app.registry.picker.unregister) || void 0 === _b ? void 0 : _b.bind(app.registry.picker)), legacyPickers.forEach((picker => { const key = createBootstrapEntryKey(picker, "vrender:legacy-picker"); seen.has(key) || (seen.add(key), app.registry.picker.register(key, picker), registeredKeys.add(key)); })); } exports.ensureBootstrap = ensureBootstrap, exports.syncLegacyRenderersToApp = syncLegacyRenderersToApp, exports.syncLegacyPickersToApp = syncLegacyPickersToApp; //# sourceMappingURL=bootstrap-utils.js.map