@visactor/vrender 1.1.0-alpha.20 → 1.1.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/cjs/entries/bootstrap.d.ts +6 -2
  2. package/cjs/entries/bootstrap.js +73 -8
  3. package/cjs/entries/bootstrap.js.map +1 -1
  4. package/cjs/entries/browser.d.ts +5 -4
  5. package/cjs/entries/browser.js +10 -1
  6. package/cjs/entries/browser.js.map +1 -1
  7. package/cjs/entries/index.d.ts +2 -0
  8. package/cjs/entries/index.js +2 -1
  9. package/cjs/entries/index.js.map +1 -1
  10. package/cjs/entries/miniapp.d.ts +12 -0
  11. package/cjs/entries/miniapp.js +74 -0
  12. package/cjs/entries/miniapp.js.map +1 -0
  13. package/cjs/entries/node.d.ts +5 -4
  14. package/cjs/entries/node.js +10 -1
  15. package/cjs/entries/node.js.map +1 -1
  16. package/cjs/entries/shared.d.ts +30 -0
  17. package/cjs/entries/shared.js +95 -0
  18. package/cjs/entries/shared.js.map +1 -0
  19. package/cjs/index.d.ts +1 -1
  20. package/cjs/index.js +1 -1
  21. package/cjs/index.js.map +1 -1
  22. package/dist/index.es.js +3333 -2530
  23. package/dist/index.js +3350 -2530
  24. package/dist/index.min.js +1 -1
  25. package/es/entries/bootstrap.d.ts +6 -2
  26. package/es/entries/bootstrap.js +54 -11
  27. package/es/entries/bootstrap.js.map +1 -1
  28. package/es/entries/browser.d.ts +5 -4
  29. package/es/entries/browser.js +12 -1
  30. package/es/entries/browser.js.map +1 -1
  31. package/es/entries/index.d.ts +2 -0
  32. package/es/entries/index.js +4 -0
  33. package/es/entries/index.js.map +1 -1
  34. package/es/entries/miniapp.d.ts +12 -0
  35. package/es/entries/miniapp.js +45 -0
  36. package/es/entries/miniapp.js.map +1 -0
  37. package/es/entries/node.d.ts +5 -4
  38. package/es/entries/node.js +12 -1
  39. package/es/entries/node.js.map +1 -1
  40. package/es/entries/shared.d.ts +30 -0
  41. package/es/entries/shared.js +88 -0
  42. package/es/entries/shared.js.map +1 -0
  43. package/es/index.d.ts +1 -1
  44. package/es/index.js +1 -1
  45. package/es/index.js.map +1 -1
  46. package/package.json +5 -5
@@ -1,3 +1,7 @@
1
- export declare function bootstrapVRenderBrowserApp<TApp extends object>(app: TApp): TApp;
2
- export declare function bootstrapVRenderNodeApp<TApp extends object>(app: TApp): TApp;
1
+ import { type IEnvParamsMap } from '@visactor/vrender-core';
2
+ type TAppScopedMiniEnv = 'taro' | 'feishu' | 'tt' | 'wx' | 'lynx' | 'harmony';
3
+ export declare function bootstrapVRenderBrowserApp<TApp extends object>(app: TApp, envParams?: IEnvParamsMap['browser']): TApp;
4
+ export declare function bootstrapVRenderNodeApp<TApp extends object>(app: TApp, envParams?: IEnvParamsMap['node']): TApp;
5
+ export declare function bootstrapVRenderMiniApp<TEnv extends TAppScopedMiniEnv, TApp extends object>(app: TApp, env: TEnv, envParams?: IEnvParamsMap[TEnv]): TApp;
3
6
  export declare function bootstrapLegacyVRenderRuntime(): void;
7
+ export {};
@@ -1,10 +1,60 @@
1
1
  "use strict";
2
2
 
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
+ void 0 === k2 && (k2 = k);
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
+ enumerable: !0,
8
+ get: function() {
9
+ return m[k];
10
+ }
11
+ }), Object.defineProperty(o, k2, desc);
12
+ } : function(o, m, k, k2) {
13
+ void 0 === k2 && (k2 = k), o[k2] = m[k];
14
+ }), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
15
+ Object.defineProperty(o, "default", {
16
+ enumerable: !0,
17
+ value: v
18
+ });
19
+ } : function(o, v) {
20
+ o.default = v;
21
+ }), __importStar = this && this.__importStar || function(mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
25
+ return __setModuleDefault(result, mod), result;
26
+ };
27
+
3
28
  Object.defineProperty(exports, "__esModule", {
4
29
  value: !0
5
- }), exports.bootstrapLegacyVRenderRuntime = exports.bootstrapVRenderNodeApp = exports.bootstrapVRenderBrowserApp = void 0;
30
+ }), exports.bootstrapLegacyVRenderRuntime = exports.bootstrapVRenderMiniApp = exports.bootstrapVRenderNodeApp = exports.bootstrapVRenderBrowserApp = void 0;
6
31
 
7
- const vrender_core_1 = require("@visactor/vrender-core"), vrender_kits_1 = require("@visactor/vrender-kits"), vrender_animate_1 = require("@visactor/vrender-animate"), BOOTSTRAP_STATE = Symbol.for("vrender.bootstrap.state"), pluginRegistrations = [ vrender_core_1.registerFlexLayoutPlugin, vrender_core_1.registerViewTransform3dPlugin, vrender_core_1.registerHtmlAttributePlugin, vrender_core_1.registerReactAttributePlugin, vrender_core_1.registerDirectionalLight, vrender_core_1.registerOrthoCamera ], animationRegistrations = [ vrender_animate_1.registerCustomAnimate, vrender_animate_1.registerAnimate ], legacyGraphicRegistrations = [ vrender_kits_1.registerArc, vrender_kits_1.registerArc3d, vrender_kits_1.registerArea, vrender_kits_1.registerCircle, vrender_kits_1.registerGlyph, vrender_kits_1.registerGifImage, vrender_kits_1.registerGroup, vrender_kits_1.registerImage, vrender_kits_1.registerLine, vrender_kits_1.registerPath, vrender_kits_1.registerPolygon, vrender_kits_1.registerPyramid3d, vrender_kits_1.registerRect, vrender_kits_1.registerRect3d, vrender_kits_1.registerRichtext, vrender_kits_1.registerShadowRoot, vrender_kits_1.registerSymbol, vrender_kits_1.registerText, vrender_kits_1.registerWrapText, vrender_kits_1.registerStar ];
32
+ const vrender_core_1 = require("@visactor/vrender-core"), vrender_kits_1 = require("@visactor/vrender-kits"), VRenderKitsRuntime = __importStar(require("@visactor/vrender-kits")), vrender_animate_1 = require("@visactor/vrender-animate"), BOOTSTRAP_STATE = Symbol.for("vrender.bootstrap.state"), installBrowserEnvToAppWithParams = vrender_kits_1.installBrowserEnvToApp, installNodeEnvToAppWithParams = vrender_kits_1.installNodeEnvToApp, runtimeKits = VRenderKitsRuntime, miniEnvBootstraps = {
33
+ taro: {
34
+ installEnv: runtimeKits.installTaroEnvToApp,
35
+ loadEnv: runtimeKits.loadTaroEnv
36
+ },
37
+ feishu: {
38
+ installEnv: runtimeKits.installFeishuEnvToApp,
39
+ loadEnv: runtimeKits.loadFeishuEnv
40
+ },
41
+ tt: {
42
+ installEnv: runtimeKits.installTTEnvToApp,
43
+ loadEnv: runtimeKits.loadTTEnv
44
+ },
45
+ wx: {
46
+ installEnv: runtimeKits.installWxEnvToApp,
47
+ loadEnv: runtimeKits.loadWxEnv
48
+ },
49
+ lynx: {
50
+ installEnv: runtimeKits.installLynxEnvToApp,
51
+ loadEnv: runtimeKits.loadLynxEnv
52
+ },
53
+ harmony: {
54
+ installEnv: runtimeKits.installHarmonyEnvToApp,
55
+ loadEnv: runtimeKits.loadHarmonyEnv
56
+ }
57
+ }, pluginRegistrations = [ vrender_core_1.registerFlexLayoutPlugin, vrender_core_1.registerViewTransform3dPlugin, vrender_core_1.registerHtmlAttributePlugin, vrender_core_1.registerReactAttributePlugin, vrender_core_1.registerDirectionalLight, vrender_core_1.registerOrthoCamera ], animationRegistrations = [ vrender_animate_1.registerCustomAnimate, vrender_animate_1.registerAnimate ], legacyGraphicRegistrations = [ vrender_kits_1.registerArc, vrender_kits_1.registerArc3d, vrender_kits_1.registerArea, vrender_kits_1.registerCircle, vrender_kits_1.registerGlyph, vrender_kits_1.registerGifImage, vrender_kits_1.registerGroup, vrender_kits_1.registerImage, vrender_kits_1.registerLine, vrender_kits_1.registerPath, vrender_kits_1.registerPolygon, vrender_kits_1.registerPyramid3d, vrender_kits_1.registerRect, vrender_kits_1.registerRect3d, vrender_kits_1.registerRichtext, vrender_kits_1.registerShadowRoot, vrender_kits_1.registerSymbol, vrender_kits_1.registerText, vrender_kits_1.registerWrapText, vrender_kits_1.registerStar ];
8
58
 
9
59
  function ensureBootstrap(target, key) {
10
60
  var _a;
@@ -42,20 +92,35 @@ function syncLegacyPickersToApp(app, pickerContribution) {
42
92
  }));
43
93
  }
44
94
 
45
- function bootstrapVRenderBrowserApp(app) {
46
- return ensureBootstrap(app, "browser") ? ((0, vrender_kits_1.installBrowserEnvToApp)(app),
95
+ function bootstrapVRenderBrowserApp(app, envParams) {
96
+ return ensureBootstrap(app, "browser") ? (void 0 === envParams ? (0, vrender_kits_1.installBrowserEnvToApp)(app) : installBrowserEnvToAppWithParams(app, envParams),
47
97
  (0, vrender_kits_1.installDefaultGraphicsToApp)(app), (0, vrender_kits_1.installBrowserPickersToApp)(app),
48
98
  (0, vrender_kits_1.loadBrowserEnv)(), legacyGraphicRegistrations.forEach((register => register())),
49
99
  syncLegacyRenderersToApp(app), syncLegacyPickersToApp(app, vrender_kits_1.CanvasPickerContribution),
50
100
  registerDefaultPipeline(), app) : app;
51
101
  }
52
102
 
53
- function bootstrapVRenderNodeApp(app) {
54
- return ensureBootstrap(app, "node") ? ((0, vrender_kits_1.installNodeEnvToApp)(app),
103
+ function resolveNodeEnvParams(envParams) {
104
+ return null != envParams ? envParams : "node" === (null === vrender_core_1.vglobal || void 0 === vrender_core_1.vglobal ? void 0 : vrender_core_1.vglobal.env) ? vrender_core_1.vglobal.envParams : void 0;
105
+ }
106
+
107
+ function bootstrapVRenderNodeApp(app, envParams) {
108
+ if (!ensureBootstrap(app, "node")) return app;
109
+ const resolvedEnvParams = resolveNodeEnvParams(envParams);
110
+ return void 0 === resolvedEnvParams ? (0, vrender_kits_1.installNodeEnvToApp)(app) : installNodeEnvToAppWithParams(app, resolvedEnvParams),
55
111
  (0, vrender_kits_1.installDefaultGraphicsToApp)(app), (0, vrender_kits_1.installNodePickersToApp)(app),
56
112
  (0, vrender_kits_1.loadNodeEnv)(), legacyGraphicRegistrations.forEach((register => register())),
57
113
  syncLegacyRenderersToApp(app), syncLegacyPickersToApp(app, vrender_kits_1.MathPickerContribution),
58
- registerDefaultPipeline(), app) : app;
114
+ registerDefaultPipeline(), app;
115
+ }
116
+
117
+ function bootstrapVRenderMiniApp(app, env, envParams) {
118
+ if (!ensureBootstrap(app, env)) return app;
119
+ const bootstrap = miniEnvBootstraps[env];
120
+ return bootstrap.installEnv(app, envParams), (0, vrender_kits_1.installDefaultGraphicsToApp)(app),
121
+ runtimeKits.installMathPickersToApp(app), bootstrap.loadEnv(), legacyGraphicRegistrations.forEach((register => register())),
122
+ syncLegacyRenderersToApp(app), syncLegacyPickersToApp(app, vrender_kits_1.MathPickerContribution),
123
+ registerDefaultPipeline(), app;
59
124
  }
60
125
 
61
126
  function bootstrapLegacyVRenderRuntime() {
@@ -65,5 +130,5 @@ function bootstrapLegacyVRenderRuntime() {
65
130
  }
66
131
 
67
132
  exports.bootstrapVRenderBrowserApp = bootstrapVRenderBrowserApp, exports.bootstrapVRenderNodeApp = bootstrapVRenderNodeApp,
68
- exports.bootstrapLegacyVRenderRuntime = bootstrapLegacyVRenderRuntime;
133
+ exports.bootstrapVRenderMiniApp = bootstrapVRenderMiniApp, exports.bootstrapLegacyVRenderRuntime = bootstrapLegacyVRenderRuntime;
69
134
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/entries/bootstrap.ts"],"names":[],"mappings":"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","file":"bootstrap.js","sourcesContent":["import {\n getLegacyBindingContext,\n GraphicRender,\n isBrowserEnv,\n isNodeEnv,\n registerDirectionalLight,\n registerFlexLayoutPlugin,\n registerHtmlAttributePlugin,\n registerOrthoCamera,\n registerReactAttributePlugin,\n registerViewTransform3dPlugin\n} from '@visactor/vrender-core';\nimport {\n installBrowserEnvToApp,\n installBrowserPickersToApp,\n installDefaultGraphicsToApp,\n installNodeEnvToApp,\n installNodePickersToApp,\n CanvasPickerContribution,\n loadBrowserEnv,\n MathPickerContribution,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGifImage,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerStar,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\nimport { registerCustomAnimate, registerAnimate } from '@visactor/vrender-animate';\n\nconst BOOTSTRAP_STATE = Symbol.for('vrender.bootstrap.state');\n\ntype TBootstrapTarget = Record<string | symbol, unknown> & {\n [BOOTSTRAP_STATE]?: Set<string>;\n};\n\nconst pluginRegistrations = [\n registerFlexLayoutPlugin,\n registerViewTransform3dPlugin,\n registerHtmlAttributePlugin,\n registerReactAttributePlugin,\n registerDirectionalLight,\n registerOrthoCamera\n];\n\nconst animationRegistrations = [registerCustomAnimate, registerAnimate];\n\nconst legacyGraphicRegistrations = [\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGifImage,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText,\n registerStar\n];\n\nfunction ensureBootstrap(target: TBootstrapTarget, key: string): boolean {\n const state = target[BOOTSTRAP_STATE] ?? new Set<string>();\n target[BOOTSTRAP_STATE] = state;\n\n if (state.has(key)) {\n return false;\n }\n\n state.add(key);\n return true;\n}\n\nfunction registerDefaultPipeline(): void {\n pluginRegistrations.forEach(register => register());\n animationRegistrations.forEach(register => register());\n}\n\nfunction createBootstrapEntryKey(\n entry: { type?: string; numberType?: number; constructor?: { name?: string } },\n prefix: string\n) {\n const type = entry?.type ?? 'unknown';\n const numberType = entry?.numberType ?? 'unknown';\n const ctor = entry?.constructor?.name ?? 'anonymous';\n return `${prefix}:${String(numberType)}:${String(type)}:${ctor}`;\n}\n\nfunction syncLegacyRenderersToApp(app: any): void {\n const legacyContext = getLegacyBindingContext();\n const existing = app.registry.renderer.getAll?.() ?? [];\n const legacyRenderers = legacyContext.getAll(GraphicRender) ?? [];\n const merged = [...existing, ...legacyRenderers];\n const seen = new Set<string>();\n\n app.registry.renderer.clear();\n merged.forEach((renderer: any) => {\n const key = createBootstrapEntryKey(renderer, 'renderer');\n if (seen.has(key)) {\n return;\n }\n seen.add(key);\n renderer?.reInit?.();\n app.registry.renderer.register(key, renderer);\n });\n}\n\nfunction syncLegacyPickersToApp(app: any, pickerContribution: symbol): void {\n const legacyContext = getLegacyBindingContext();\n const existing = app.registry.picker.getAll?.() ?? [];\n const legacyPickers = legacyContext.getAll(pickerContribution) ?? [];\n const merged = [...existing, ...legacyPickers];\n const seen = new Set<string>();\n\n app.registry.picker.clear();\n merged.forEach((picker: any) => {\n const key = createBootstrapEntryKey(picker, 'picker');\n if (seen.has(key)) {\n return;\n }\n seen.add(key);\n app.registry.picker.register(key, picker);\n });\n}\n\nexport function bootstrapVRenderBrowserApp<TApp extends object>(app: TApp): TApp {\n const target = app as TBootstrapTarget;\n\n if (!ensureBootstrap(target, 'browser')) {\n return app;\n }\n\n installBrowserEnvToApp(app as any);\n installDefaultGraphicsToApp(app as any);\n installBrowserPickersToApp(app as any);\n loadBrowserEnv();\n legacyGraphicRegistrations.forEach(register => register());\n syncLegacyRenderersToApp(app as any);\n syncLegacyPickersToApp(app as any, CanvasPickerContribution);\n registerDefaultPipeline();\n return app;\n}\n\nexport function bootstrapVRenderNodeApp<TApp extends object>(app: TApp): TApp {\n const target = app as TBootstrapTarget;\n\n if (!ensureBootstrap(target, 'node')) {\n return app;\n }\n\n installNodeEnvToApp(app as any);\n installDefaultGraphicsToApp(app as any);\n installNodePickersToApp(app as any);\n loadNodeEnv();\n legacyGraphicRegistrations.forEach(register => register());\n syncLegacyRenderersToApp(app as any);\n syncLegacyPickersToApp(app as any, MathPickerContribution);\n registerDefaultPipeline();\n return app;\n}\n\nexport function bootstrapLegacyVRenderRuntime(): void {\n if (isBrowserEnv()) {\n loadBrowserEnv();\n } else if (isNodeEnv()) {\n loadNodeEnv();\n }\n\n legacyGraphicRegistrations.forEach(register => register());\n registerDefaultPipeline();\n}\n"]}
1
+ {"version":3,"sources":["../src/entries/bootstrap.ts"],"names":[],"mappings":"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","file":"bootstrap.js","sourcesContent":["import {\n getLegacyBindingContext,\n GraphicRender,\n vglobal,\n isBrowserEnv,\n isNodeEnv,\n registerDirectionalLight,\n registerFlexLayoutPlugin,\n registerHtmlAttributePlugin,\n registerOrthoCamera,\n registerReactAttributePlugin,\n registerViewTransform3dPlugin,\n type IEnvParamsMap\n} from '@visactor/vrender-core';\nimport {\n installBrowserEnvToApp,\n installBrowserPickersToApp,\n installDefaultGraphicsToApp,\n installNodeEnvToApp,\n installNodePickersToApp,\n CanvasPickerContribution,\n loadBrowserEnv,\n MathPickerContribution,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGifImage,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerStar,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// eslint-disable-next-line no-duplicate-imports\nimport * as VRenderKitsRuntime from '@visactor/vrender-kits';\nimport { registerCustomAnimate, registerAnimate } from '@visactor/vrender-animate';\n\nconst BOOTSTRAP_STATE = Symbol.for('vrender.bootstrap.state');\nconst installBrowserEnvToAppWithParams = installBrowserEnvToApp as (\n app: any,\n envParams?: IEnvParamsMap['browser']\n) => void;\nconst installNodeEnvToAppWithParams = installNodeEnvToApp as (app: any, envParams?: IEnvParamsMap['node']) => void;\ntype TAppScopedMiniEnv = 'taro' | 'feishu' | 'tt' | 'wx' | 'lynx' | 'harmony';\ntype TAppScopedMiniEnvInstaller<TEnv extends TAppScopedMiniEnv> = (app: any, envParams?: IEnvParamsMap[TEnv]) => void;\ntype TAppScopedMiniEnvBootstrap<TEnv extends TAppScopedMiniEnv> = {\n installEnv: TAppScopedMiniEnvInstaller<TEnv>;\n loadEnv: () => void;\n};\ntype TAppScopedMiniEnvBootstraps = {\n [TEnv in TAppScopedMiniEnv]: TAppScopedMiniEnvBootstrap<TEnv>;\n};\nconst runtimeKits = VRenderKitsRuntime as typeof VRenderKitsRuntime & Record<string, any>;\nconst miniEnvBootstraps: TAppScopedMiniEnvBootstraps = {\n taro: { installEnv: runtimeKits.installTaroEnvToApp, loadEnv: runtimeKits.loadTaroEnv },\n feishu: { installEnv: runtimeKits.installFeishuEnvToApp, loadEnv: runtimeKits.loadFeishuEnv },\n tt: { installEnv: runtimeKits.installTTEnvToApp, loadEnv: runtimeKits.loadTTEnv },\n wx: { installEnv: runtimeKits.installWxEnvToApp, loadEnv: runtimeKits.loadWxEnv },\n lynx: { installEnv: runtimeKits.installLynxEnvToApp, loadEnv: runtimeKits.loadLynxEnv },\n harmony: { installEnv: runtimeKits.installHarmonyEnvToApp, loadEnv: runtimeKits.loadHarmonyEnv }\n};\n\ntype TBootstrapTarget = Record<string | symbol, unknown> & {\n [BOOTSTRAP_STATE]?: Set<string>;\n};\n\nconst pluginRegistrations = [\n registerFlexLayoutPlugin,\n registerViewTransform3dPlugin,\n registerHtmlAttributePlugin,\n registerReactAttributePlugin,\n registerDirectionalLight,\n registerOrthoCamera\n];\n\nconst animationRegistrations = [registerCustomAnimate, registerAnimate];\n\nconst legacyGraphicRegistrations = [\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGifImage,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText,\n registerStar\n];\n\nfunction ensureBootstrap(target: TBootstrapTarget, key: string): boolean {\n const state = target[BOOTSTRAP_STATE] ?? new Set<string>();\n target[BOOTSTRAP_STATE] = state;\n\n if (state.has(key)) {\n return false;\n }\n\n state.add(key);\n return true;\n}\n\nfunction registerDefaultPipeline(): void {\n pluginRegistrations.forEach(register => register());\n animationRegistrations.forEach(register => register());\n}\n\nfunction createBootstrapEntryKey(\n entry: { type?: string; numberType?: number; constructor?: { name?: string } },\n prefix: string\n) {\n const type = entry?.type ?? 'unknown';\n const numberType = entry?.numberType ?? 'unknown';\n const ctor = entry?.constructor?.name ?? 'anonymous';\n return `${prefix}:${String(numberType)}:${String(type)}:${ctor}`;\n}\n\nfunction syncLegacyRenderersToApp(app: any): void {\n const legacyContext = getLegacyBindingContext();\n const existing = app.registry.renderer.getAll?.() ?? [];\n const legacyRenderers = legacyContext.getAll(GraphicRender) ?? [];\n const merged = [...existing, ...legacyRenderers];\n const seen = new Set<string>();\n\n app.registry.renderer.clear();\n merged.forEach((renderer: any) => {\n const key = createBootstrapEntryKey(renderer, 'renderer');\n if (seen.has(key)) {\n return;\n }\n seen.add(key);\n renderer?.reInit?.();\n app.registry.renderer.register(key, renderer);\n });\n}\n\nfunction syncLegacyPickersToApp(app: any, pickerContribution: symbol): void {\n const legacyContext = getLegacyBindingContext();\n const existing = app.registry.picker.getAll?.() ?? [];\n const legacyPickers = legacyContext.getAll(pickerContribution) ?? [];\n const merged = [...existing, ...legacyPickers];\n const seen = new Set<string>();\n\n app.registry.picker.clear();\n merged.forEach((picker: any) => {\n const key = createBootstrapEntryKey(picker, 'picker');\n if (seen.has(key)) {\n return;\n }\n seen.add(key);\n app.registry.picker.register(key, picker);\n });\n}\n\nexport function bootstrapVRenderBrowserApp<TApp extends object>(app: TApp, envParams?: IEnvParamsMap['browser']): TApp {\n const target = app as TBootstrapTarget;\n\n if (!ensureBootstrap(target, 'browser')) {\n return app;\n }\n\n if (envParams === undefined) {\n installBrowserEnvToApp(app as any);\n } else {\n installBrowserEnvToAppWithParams(app as any, envParams);\n }\n installDefaultGraphicsToApp(app as any);\n installBrowserPickersToApp(app as any);\n loadBrowserEnv();\n legacyGraphicRegistrations.forEach(register => register());\n syncLegacyRenderersToApp(app as any);\n syncLegacyPickersToApp(app as any, CanvasPickerContribution);\n registerDefaultPipeline();\n return app;\n}\n\nfunction resolveNodeEnvParams(envParams?: IEnvParamsMap['node']): IEnvParamsMap['node'] | undefined {\n if (envParams != null) {\n return envParams;\n }\n\n return vglobal?.env === 'node' ? vglobal.envParams : undefined;\n}\n\nexport function bootstrapVRenderNodeApp<TApp extends object>(app: TApp, envParams?: IEnvParamsMap['node']): TApp {\n const target = app as TBootstrapTarget;\n\n if (!ensureBootstrap(target, 'node')) {\n return app;\n }\n\n const resolvedEnvParams = resolveNodeEnvParams(envParams);\n if (resolvedEnvParams === undefined) {\n installNodeEnvToApp(app as any);\n } else {\n installNodeEnvToAppWithParams(app as any, resolvedEnvParams);\n }\n installDefaultGraphicsToApp(app as any);\n installNodePickersToApp(app as any);\n loadNodeEnv();\n legacyGraphicRegistrations.forEach(register => register());\n syncLegacyRenderersToApp(app as any);\n syncLegacyPickersToApp(app as any, MathPickerContribution);\n registerDefaultPipeline();\n return app;\n}\n\nexport function bootstrapVRenderMiniApp<TEnv extends TAppScopedMiniEnv, TApp extends object>(\n app: TApp,\n env: TEnv,\n envParams?: IEnvParamsMap[TEnv]\n): TApp {\n const target = app as TBootstrapTarget;\n\n if (!ensureBootstrap(target, env)) {\n return app;\n }\n\n const bootstrap = miniEnvBootstraps[env];\n bootstrap.installEnv(app as any, envParams);\n installDefaultGraphicsToApp(app as any);\n runtimeKits.installMathPickersToApp(app as any);\n bootstrap.loadEnv();\n legacyGraphicRegistrations.forEach(register => register());\n syncLegacyRenderersToApp(app as any);\n syncLegacyPickersToApp(app as any, MathPickerContribution);\n registerDefaultPipeline();\n return app;\n}\n\nexport function bootstrapLegacyVRenderRuntime(): void {\n if (isBrowserEnv()) {\n loadBrowserEnv();\n } else if (isNodeEnv()) {\n loadNodeEnv();\n }\n\n legacyGraphicRegistrations.forEach(register => register());\n registerDefaultPipeline();\n}\n"]}
@@ -1,4 +1,5 @@
1
- import type { IApp, IEntryOptions } from '@visactor/vrender-core';
2
- type TVRenderAppEntryOptions = IEntryOptions;
3
- export declare function createBrowserVRenderApp(options?: TVRenderAppEntryOptions): IApp;
4
- export {};
1
+ import type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';
2
+ export type TVRenderBrowserAppEntryOptions = IEntryOptions & {
3
+ envParams?: IEnvParamsMap['browser'];
4
+ };
5
+ export declare function createBrowserVRenderApp(options?: TVRenderBrowserAppEntryOptions): IApp;
@@ -23,6 +23,14 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
23
23
  var result = {};
24
24
  if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
25
25
  return __setModuleDefault(result, mod), result;
26
+ }, __rest = this && this.__rest || function(s, e) {
27
+ var t = {};
28
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
29
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
30
+ var i = 0;
31
+ 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]]);
32
+ }
33
+ return t;
26
34
  };
27
35
 
28
36
  Object.defineProperty(exports, "__esModule", {
@@ -32,7 +40,8 @@ Object.defineProperty(exports, "__esModule", {
32
40
  const VRenderCore = __importStar(require("@visactor/vrender-core")), bootstrap_1 = require("./bootstrap"), {createBrowserApp: createBrowserApp} = VRenderCore;
33
41
 
34
42
  function createBrowserVRenderApp(options = {}) {
35
- return (0, bootstrap_1.bootstrapVRenderBrowserApp)(createBrowserApp(options));
43
+ const {envParams: envParams} = options, entryOptions = __rest(options, [ "envParams" ]);
44
+ return (0, bootstrap_1.bootstrapVRenderBrowserApp)(createBrowserApp(entryOptions), envParams);
36
45
  }
37
46
 
38
47
  exports.createBrowserVRenderApp = createBrowserVRenderApp;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/entries/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAsD;AAEtD,2CAAyD;AAIzD,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAE5B,CAAC;AAEF,SAAgB,uBAAuB,CAAC,UAAmC,EAAE;IAC3E,OAAO,IAAA,sCAA0B,EAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAFD,0DAEC","file":"browser.js","sourcesContent":["import * as VRenderCore from '@visactor/vrender-core';\nimport type { IApp, IEntryOptions } from '@visactor/vrender-core';\nimport { bootstrapVRenderBrowserApp } from './bootstrap';\n\ntype TVRenderAppEntryOptions = IEntryOptions;\n\nconst { createBrowserApp } = VRenderCore as typeof VRenderCore & {\n createBrowserApp: (options?: TVRenderAppEntryOptions) => IApp;\n};\n\nexport function createBrowserVRenderApp(options: TVRenderAppEntryOptions = {}): IApp {\n return bootstrapVRenderBrowserApp(createBrowserApp(options));\n}\n"]}
1
+ {"version":3,"sources":["../src/entries/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAsD;AAEtD,2CAAyD;AAMzD,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAE5B,CAAC;AAEF,SAAgB,uBAAuB,CAAC,UAA0C,EAAE;IAClF,MAAM,EAAE,SAAS,KAAsB,OAAO,EAAxB,YAAY,UAAK,OAAO,EAAxC,aAA8B,CAAU,CAAC;IAE/C,OAAO,IAAA,sCAA0B,EAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;AAC/E,CAAC;AAJD,0DAIC","file":"browser.js","sourcesContent":["import * as VRenderCore from '@visactor/vrender-core';\nimport type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';\nimport { bootstrapVRenderBrowserApp } from './bootstrap';\n\nexport type TVRenderBrowserAppEntryOptions = IEntryOptions & {\n envParams?: IEnvParamsMap['browser'];\n};\n\nconst { createBrowserApp } = VRenderCore as typeof VRenderCore & {\n createBrowserApp: (options?: IEntryOptions) => IApp;\n};\n\nexport function createBrowserVRenderApp(options: TVRenderBrowserAppEntryOptions = {}): IApp {\n const { envParams, ...entryOptions } = options;\n\n return bootstrapVRenderBrowserApp(createBrowserApp(entryOptions), envParams);\n}\n"]}
@@ -1,3 +1,5 @@
1
1
  export * from './bootstrap';
2
2
  export * from './browser';
3
+ export * from './miniapp';
3
4
  export * from './node';
5
+ export * from './shared';
@@ -18,5 +18,6 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), __exportStar(require("./bootstrap"), exports), __exportStar(require("./browser"), exports),
21
- __exportStar(require("./node"), exports);
21
+ __exportStar(require("./miniapp"), exports), __exportStar(require("./node"), exports),
22
+ __exportStar(require("./shared"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/entries/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB","file":"index.js","sourcesContent":["export * from './bootstrap';\nexport * from './browser';\nexport * from './node';\n"]}
1
+ {"version":3,"sources":["../src/entries/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB","file":"index.js","sourcesContent":["export * from './bootstrap';\nexport * from './browser';\nexport * from './miniapp';\nexport * from './node';\nexport * from './shared';\n"]}
@@ -0,0 +1,12 @@
1
+ import type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';
2
+ type TAppScopedMiniEnv = 'taro' | 'feishu' | 'tt' | 'wx' | 'lynx' | 'harmony';
3
+ export type TVRenderMiniAppEntryOptions<TEnv extends TAppScopedMiniEnv> = IEntryOptions & {
4
+ envParams?: IEnvParamsMap[TEnv];
5
+ };
6
+ export declare function createTaroVRenderApp(options?: TVRenderMiniAppEntryOptions<'taro'>): IApp;
7
+ export declare function createFeishuVRenderApp(options?: TVRenderMiniAppEntryOptions<'feishu'>): IApp;
8
+ export declare function createTTVRenderApp(options?: TVRenderMiniAppEntryOptions<'tt'>): IApp;
9
+ export declare function createWxVRenderApp(options?: TVRenderMiniAppEntryOptions<'wx'>): IApp;
10
+ export declare function createLynxVRenderApp(options?: TVRenderMiniAppEntryOptions<'lynx'>): IApp;
11
+ export declare function createHarmonyVRenderApp(options?: TVRenderMiniAppEntryOptions<'harmony'>): IApp;
12
+ export {};
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
+ void 0 === k2 && (k2 = k);
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
+ enumerable: !0,
8
+ get: function() {
9
+ return m[k];
10
+ }
11
+ }), Object.defineProperty(o, k2, desc);
12
+ } : function(o, m, k, k2) {
13
+ void 0 === k2 && (k2 = k), o[k2] = m[k];
14
+ }), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
15
+ Object.defineProperty(o, "default", {
16
+ enumerable: !0,
17
+ value: v
18
+ });
19
+ } : function(o, v) {
20
+ o.default = v;
21
+ }), __importStar = this && this.__importStar || function(mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
25
+ return __setModuleDefault(result, mod), result;
26
+ }, __rest = this && this.__rest || function(s, e) {
27
+ var t = {};
28
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
29
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
30
+ var i = 0;
31
+ 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]]);
32
+ }
33
+ return t;
34
+ };
35
+
36
+ Object.defineProperty(exports, "__esModule", {
37
+ value: !0
38
+ }), exports.createHarmonyVRenderApp = exports.createLynxVRenderApp = exports.createWxVRenderApp = exports.createTTVRenderApp = exports.createFeishuVRenderApp = exports.createTaroVRenderApp = void 0;
39
+
40
+ const VRenderCore = __importStar(require("@visactor/vrender-core")), bootstrap_1 = require("./bootstrap"), {createMiniappApp: createMiniappApp} = VRenderCore;
41
+
42
+ function createMiniEnvVRenderApp(env, options = {}) {
43
+ const {envParams: envParams} = options, entryOptions = __rest(options, [ "envParams" ]);
44
+ return (0, bootstrap_1.bootstrapVRenderMiniApp)(createMiniappApp(entryOptions), env, envParams);
45
+ }
46
+
47
+ function createTaroVRenderApp(options = {}) {
48
+ return createMiniEnvVRenderApp("taro", options);
49
+ }
50
+
51
+ function createFeishuVRenderApp(options = {}) {
52
+ return createMiniEnvVRenderApp("feishu", options);
53
+ }
54
+
55
+ function createTTVRenderApp(options = {}) {
56
+ return createMiniEnvVRenderApp("tt", options);
57
+ }
58
+
59
+ function createWxVRenderApp(options = {}) {
60
+ return createMiniEnvVRenderApp("wx", options);
61
+ }
62
+
63
+ function createLynxVRenderApp(options = {}) {
64
+ return createMiniEnvVRenderApp("lynx", options);
65
+ }
66
+
67
+ function createHarmonyVRenderApp(options = {}) {
68
+ return createMiniEnvVRenderApp("harmony", options);
69
+ }
70
+
71
+ exports.createTaroVRenderApp = createTaroVRenderApp, exports.createFeishuVRenderApp = createFeishuVRenderApp,
72
+ exports.createTTVRenderApp = createTTVRenderApp, exports.createWxVRenderApp = createWxVRenderApp,
73
+ exports.createLynxVRenderApp = createLynxVRenderApp, exports.createHarmonyVRenderApp = createHarmonyVRenderApp;
74
+ //# sourceMappingURL=miniapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/entries/miniapp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAsD;AAEtD,2CAAsD;AAQtD,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAE5B,CAAC;AAEF,SAAS,uBAAuB,CAC9B,GAAS,EACT,UAA6C,EAAE;IAE/C,MAAM,EAAE,SAAS,KAAsB,OAAO,EAAxB,YAAY,UAAK,OAAO,EAAxC,aAA8B,CAAU,CAAC;IAE/C,OAAO,IAAA,mCAAuB,EAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AACjF,CAAC;AAED,SAAgB,oBAAoB,CAAC,UAA+C,EAAE;IACpF,OAAO,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,UAAiD,EAAE;IACxF,OAAO,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAFD,wDAEC;AAED,SAAgB,kBAAkB,CAAC,UAA6C,EAAE;IAChF,OAAO,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAFD,gDAEC;AAED,SAAgB,kBAAkB,CAAC,UAA6C,EAAE;IAChF,OAAO,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAFD,gDAEC;AAED,SAAgB,oBAAoB,CAAC,UAA+C,EAAE;IACpF,OAAO,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAFD,oDAEC;AAED,SAAgB,uBAAuB,CAAC,UAAkD,EAAE;IAC1F,OAAO,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAFD,0DAEC","file":"miniapp.js","sourcesContent":["import * as VRenderCore from '@visactor/vrender-core';\nimport type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';\nimport { bootstrapVRenderMiniApp } from './bootstrap';\n\ntype TAppScopedMiniEnv = 'taro' | 'feishu' | 'tt' | 'wx' | 'lynx' | 'harmony';\n\nexport type TVRenderMiniAppEntryOptions<TEnv extends TAppScopedMiniEnv> = IEntryOptions & {\n envParams?: IEnvParamsMap[TEnv];\n};\n\nconst { createMiniappApp } = VRenderCore as typeof VRenderCore & {\n createMiniappApp: (options?: IEntryOptions) => IApp;\n};\n\nfunction createMiniEnvVRenderApp<TEnv extends TAppScopedMiniEnv>(\n env: TEnv,\n options: TVRenderMiniAppEntryOptions<TEnv> = {}\n): IApp {\n const { envParams, ...entryOptions } = options;\n\n return bootstrapVRenderMiniApp(createMiniappApp(entryOptions), env, envParams);\n}\n\nexport function createTaroVRenderApp(options: TVRenderMiniAppEntryOptions<'taro'> = {}): IApp {\n return createMiniEnvVRenderApp('taro', options);\n}\n\nexport function createFeishuVRenderApp(options: TVRenderMiniAppEntryOptions<'feishu'> = {}): IApp {\n return createMiniEnvVRenderApp('feishu', options);\n}\n\nexport function createTTVRenderApp(options: TVRenderMiniAppEntryOptions<'tt'> = {}): IApp {\n return createMiniEnvVRenderApp('tt', options);\n}\n\nexport function createWxVRenderApp(options: TVRenderMiniAppEntryOptions<'wx'> = {}): IApp {\n return createMiniEnvVRenderApp('wx', options);\n}\n\nexport function createLynxVRenderApp(options: TVRenderMiniAppEntryOptions<'lynx'> = {}): IApp {\n return createMiniEnvVRenderApp('lynx', options);\n}\n\nexport function createHarmonyVRenderApp(options: TVRenderMiniAppEntryOptions<'harmony'> = {}): IApp {\n return createMiniEnvVRenderApp('harmony', options);\n}\n"]}
@@ -1,4 +1,5 @@
1
- import type { IApp, IEntryOptions } from '@visactor/vrender-core';
2
- type TVRenderAppEntryOptions = IEntryOptions;
3
- export declare function createNodeVRenderApp(options?: TVRenderAppEntryOptions): IApp;
4
- export {};
1
+ import type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';
2
+ export type TVRenderNodeAppEntryOptions = IEntryOptions & {
3
+ envParams?: IEnvParamsMap['node'];
4
+ };
5
+ export declare function createNodeVRenderApp(options?: TVRenderNodeAppEntryOptions): IApp;
@@ -23,6 +23,14 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
23
23
  var result = {};
24
24
  if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
25
25
  return __setModuleDefault(result, mod), result;
26
+ }, __rest = this && this.__rest || function(s, e) {
27
+ var t = {};
28
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
29
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
30
+ var i = 0;
31
+ 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]]);
32
+ }
33
+ return t;
26
34
  };
27
35
 
28
36
  Object.defineProperty(exports, "__esModule", {
@@ -32,7 +40,8 @@ Object.defineProperty(exports, "__esModule", {
32
40
  const VRenderCore = __importStar(require("@visactor/vrender-core")), bootstrap_1 = require("./bootstrap"), {createNodeApp: createNodeApp} = VRenderCore;
33
41
 
34
42
  function createNodeVRenderApp(options = {}) {
35
- return (0, bootstrap_1.bootstrapVRenderNodeApp)(createNodeApp(options));
43
+ const {envParams: envParams} = options, entryOptions = __rest(options, [ "envParams" ]);
44
+ return (0, bootstrap_1.bootstrapVRenderNodeApp)(createNodeApp(entryOptions), envParams);
36
45
  }
37
46
 
38
47
  exports.createNodeVRenderApp = createNodeVRenderApp;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/entries/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAsD;AAEtD,2CAAsD;AAItD,MAAM,EAAE,aAAa,EAAE,GAAG,WAEzB,CAAC;AAEF,SAAgB,oBAAoB,CAAC,UAAmC,EAAE;IACxE,OAAO,IAAA,mCAAuB,EAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAFD,oDAEC","file":"node.js","sourcesContent":["import * as VRenderCore from '@visactor/vrender-core';\nimport type { IApp, IEntryOptions } from '@visactor/vrender-core';\nimport { bootstrapVRenderNodeApp } from './bootstrap';\n\ntype TVRenderAppEntryOptions = IEntryOptions;\n\nconst { createNodeApp } = VRenderCore as typeof VRenderCore & {\n createNodeApp: (options?: TVRenderAppEntryOptions) => IApp;\n};\n\nexport function createNodeVRenderApp(options: TVRenderAppEntryOptions = {}): IApp {\n return bootstrapVRenderNodeApp(createNodeApp(options));\n}\n"]}
1
+ {"version":3,"sources":["../src/entries/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAsD;AAEtD,2CAAsD;AAUtD,MAAM,EAAE,aAAa,EAAE,GAAG,WAEzB,CAAC;AAEF,SAAgB,oBAAoB,CAAC,UAAuC,EAAE;IAC5E,MAAM,EAAE,SAAS,KAAsB,OAAO,EAAxB,YAAY,UAAK,OAAO,EAAxC,aAA8B,CAAU,CAAC;IAE/C,OAAO,IAAA,mCAAuB,EAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;AACzE,CAAC;AAJD,oDAIC","file":"node.js","sourcesContent":["import * as VRenderCore from '@visactor/vrender-core';\nimport type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';\nimport { bootstrapVRenderNodeApp } from './bootstrap';\n\nexport type TVRenderNodeAppEntryOptions = IEntryOptions & {\n /**\n * Node runtime parameters. In normal Node rendering this should be the\n * node-canvas package object, matching `vglobal.setEnv('node', CanvasPkg)`.\n */\n envParams?: IEnvParamsMap['node'];\n};\n\nconst { createNodeApp } = VRenderCore as typeof VRenderCore & {\n createNodeApp: (options?: IEntryOptions) => IApp;\n};\n\nexport function createNodeVRenderApp(options: TVRenderNodeAppEntryOptions = {}): IApp {\n const { envParams, ...entryOptions } = options;\n\n return bootstrapVRenderNodeApp(createNodeApp(entryOptions), envParams);\n}\n"]}
@@ -0,0 +1,30 @@
1
+ import type { IApp } from '@visactor/vrender-core';
2
+ import { type TVRenderBrowserAppEntryOptions } from './browser';
3
+ import { type TVRenderMiniAppEntryOptions } from './miniapp';
4
+ import { type TVRenderNodeAppEntryOptions } from './node';
5
+ export type TVRenderSharedAppEnv = 'browser' | 'node' | 'taro' | 'feishu' | 'tt' | 'wx' | 'lynx' | 'harmony';
6
+ export type TVRenderSharedAppKey = string | symbol;
7
+ type TVRenderSharedAppEntryOptionsMap = {
8
+ browser: TVRenderBrowserAppEntryOptions;
9
+ node: TVRenderNodeAppEntryOptions;
10
+ taro: TVRenderMiniAppEntryOptions<'taro'>;
11
+ feishu: TVRenderMiniAppEntryOptions<'feishu'>;
12
+ tt: TVRenderMiniAppEntryOptions<'tt'>;
13
+ wx: TVRenderMiniAppEntryOptions<'wx'>;
14
+ lynx: TVRenderMiniAppEntryOptions<'lynx'>;
15
+ harmony: TVRenderMiniAppEntryOptions<'harmony'>;
16
+ };
17
+ export type TVRenderSharedAppOptions<TEnv extends TVRenderSharedAppEnv = TVRenderSharedAppEnv> = TVRenderSharedAppEntryOptionsMap[TEnv] & {
18
+ env: TEnv;
19
+ key?: TVRenderSharedAppKey;
20
+ };
21
+ export type TVRenderSharedAppHandle<TEnv extends TVRenderSharedAppEnv = TVRenderSharedAppEnv> = {
22
+ readonly app: IApp;
23
+ readonly env: TEnv;
24
+ readonly key: TVRenderSharedAppKey;
25
+ release: () => void;
26
+ };
27
+ export declare function acquireSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(options: TVRenderSharedAppOptions<TEnv>): TVRenderSharedAppHandle<TEnv>;
28
+ export declare function getSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(env: TEnv, key?: TVRenderSharedAppKey): IApp | null;
29
+ export declare function releaseSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(env: TEnv, key?: TVRenderSharedAppKey): void;
30
+ export {};
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.releaseSharedVRenderApp = exports.getSharedVRenderApp = exports.acquireSharedVRenderApp = void 0;
6
+
7
+ const browser_1 = require("./browser"), miniapp_1 = require("./miniapp"), node_1 = require("./node"), SHARED_APP_REGISTRY_KEY = Symbol.for("visactor.vrender.sharedAppRegistry"), DEFAULT_SHARED_APP_KEY = "default";
8
+
9
+ function getSharedAppRegistry() {
10
+ var _a;
11
+ const target = globalThis, registry = null !== (_a = target[SHARED_APP_REGISTRY_KEY]) && void 0 !== _a ? _a : new Map;
12
+ return target[SHARED_APP_REGISTRY_KEY] = registry, registry;
13
+ }
14
+
15
+ function getSharedAppEnvRegistry(env, create) {
16
+ const registry = getSharedAppRegistry(), envRegistry = registry.get(env);
17
+ if (envRegistry || !create) return envRegistry;
18
+ const nextEnvRegistry = new Map;
19
+ return registry.set(env, nextEnvRegistry), nextEnvRegistry;
20
+ }
21
+
22
+ function getOrCreateSharedAppEnvRegistry(env) {
23
+ return getSharedAppEnvRegistry(env, !0);
24
+ }
25
+
26
+ function removeSharedAppRecord(env, key, record) {
27
+ const registry = getSharedAppRegistry(), envRegistry = registry.get(env);
28
+ (null == envRegistry ? void 0 : envRegistry.get(key)) === record && (envRegistry.delete(key),
29
+ envRegistry.size || registry.delete(env));
30
+ }
31
+
32
+ function releaseSharedAppRecord(env, key, record) {
33
+ record.released || (record.released = !0, record.refCount = 0, removeSharedAppRecord(env, key, record),
34
+ record.releaseApp());
35
+ }
36
+
37
+ function createAppForSharedEnv(options) {
38
+ const {env: env} = options, entryOptions = Object.assign({}, options);
39
+ return delete entryOptions.env, delete entryOptions.key, "browser" === env ? (0,
40
+ browser_1.createBrowserVRenderApp)(entryOptions) : "node" === env ? (0, node_1.createNodeVRenderApp)(entryOptions) : "taro" === env ? (0,
41
+ miniapp_1.createTaroVRenderApp)(entryOptions) : "feishu" === env ? (0, miniapp_1.createFeishuVRenderApp)(entryOptions) : "tt" === env ? (0,
42
+ miniapp_1.createTTVRenderApp)(entryOptions) : "wx" === env ? (0, miniapp_1.createWxVRenderApp)(entryOptions) : "lynx" === env ? (0,
43
+ miniapp_1.createLynxVRenderApp)(entryOptions) : (0, miniapp_1.createHarmonyVRenderApp)(entryOptions);
44
+ }
45
+
46
+ function createSharedAppRecord(env, key, options) {
47
+ const app = createAppForSharedEnv(options), originalRelease = app.release.bind(app), record = {
48
+ app: app,
49
+ refCount: 0,
50
+ released: !1,
51
+ releaseApp: originalRelease
52
+ };
53
+ return app.release = () => releaseSharedAppRecord(env, key, record), record;
54
+ }
55
+
56
+ function createSharedAppHandle(env, key, record) {
57
+ let released = !1;
58
+ return {
59
+ app: record.app,
60
+ env: env,
61
+ key: key,
62
+ release() {
63
+ if (released) return;
64
+ released = !0;
65
+ const envRegistry = getSharedAppEnvRegistry(env, !1);
66
+ (null == envRegistry ? void 0 : envRegistry.get(key)) !== record || record.released || (record.refCount -= 1,
67
+ record.refCount <= 0 && releaseSharedAppRecord(env, key, record));
68
+ }
69
+ };
70
+ }
71
+
72
+ function acquireSharedVRenderApp(options) {
73
+ var _a;
74
+ const key = null !== (_a = options.key) && void 0 !== _a ? _a : DEFAULT_SHARED_APP_KEY, envRegistry = getOrCreateSharedAppEnvRegistry(options.env);
75
+ let record = envRegistry.get(key);
76
+ return (null == record ? void 0 : record.app.released) && (releaseSharedAppRecord(options.env, key, record),
77
+ record = void 0), record || (record = createSharedAppRecord(options.env, key, options),
78
+ envRegistry.set(key, record)), record.refCount += 1, createSharedAppHandle(options.env, key, record);
79
+ }
80
+
81
+ function getSharedVRenderApp(env, key = DEFAULT_SHARED_APP_KEY) {
82
+ var _a;
83
+ const record = null === (_a = getSharedAppEnvRegistry(env, !1)) || void 0 === _a ? void 0 : _a.get(key);
84
+ return !record || record.released || record.app.released ? null : record.app;
85
+ }
86
+
87
+ function releaseSharedVRenderApp(env, key = DEFAULT_SHARED_APP_KEY) {
88
+ var _a;
89
+ const record = null === (_a = getSharedAppEnvRegistry(env, !1)) || void 0 === _a ? void 0 : _a.get(key);
90
+ record && releaseSharedAppRecord(env, key, record);
91
+ }
92
+
93
+ exports.acquireSharedVRenderApp = acquireSharedVRenderApp, exports.getSharedVRenderApp = getSharedVRenderApp,
94
+ exports.releaseSharedVRenderApp = releaseSharedVRenderApp;
95
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/entries/shared.ts"],"names":[],"mappings":";;;AACA,uCAAyF;AACzF,uCAQmB;AACnB,iCAAgF;AA2ChF,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AACjF,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAEzC,SAAS,oBAAoB;;IAC3B,MAAM,MAAM,GAAG,UAAsC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,uBAAuB,CAAC,mCAAI,IAAI,GAAG,EAAE,CAAC;IAC9D,MAAM,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAS,EACT,MAAe;IAEf,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE;QAC1B,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0C,CAAC;IAC1E,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACnC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,+BAA+B,CACtC,GAAS;IAET,OAAO,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAgD,CAAC;AAC3F,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAS,EACT,GAAyB,EACzB,MAAwB;IAExB,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,GAAG,CAAC,MAAK,MAAM,EAAE;QACpC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACtB;KACF;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,GAAS,EACT,GAAyB,EACzB,MAAwB;IAExB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,OAAO;KACR;IAED,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB,CAAoC,OAAuC;IACvG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,MAAM,YAAY,GAAG,kBAAK,OAAO,CAA6B,CAAC;IAC/D,OAAO,YAAY,CAAC,GAAG,CAAC;IACxB,OAAO,YAAY,CAAC,GAAG,CAAC;IAExB,IAAI,GAAG,KAAK,SAAS,EAAE;QACrB,OAAO,IAAA,iCAAuB,EAAC,YAA8C,CAAC,CAAC;KAChF;IACD,IAAI,GAAG,KAAK,MAAM,EAAE;QAClB,OAAO,IAAA,2BAAoB,EAAC,YAA2C,CAAC,CAAC;KAC1E;IACD,IAAI,GAAG,KAAK,MAAM,EAAE;QAClB,OAAO,IAAA,8BAAoB,EAAC,YAAmD,CAAC,CAAC;KAClF;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE;QACpB,OAAO,IAAA,gCAAsB,EAAC,YAAqD,CAAC,CAAC;KACtF;IACD,IAAI,GAAG,KAAK,IAAI,EAAE;QAChB,OAAO,IAAA,4BAAkB,EAAC,YAAiD,CAAC,CAAC;KAC9E;IACD,IAAI,GAAG,KAAK,IAAI,EAAE;QAChB,OAAO,IAAA,4BAAkB,EAAC,YAAiD,CAAC,CAAC;KAC9E;IACD,IAAI,GAAG,KAAK,MAAM,EAAE;QAClB,OAAO,IAAA,8BAAoB,EAAC,YAAmD,CAAC,CAAC;KAClF;IACD,OAAO,IAAA,iCAAuB,EAAC,YAAsD,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAS,EACT,GAAyB,EACzB,OAAuC;IAEvC,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAqB;QAC/B,GAAG;QACH,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,eAAe;KAC5B,CAAC;IAEF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAS,EACT,GAAyB,EACzB,MAAwB;IAExB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG;QACH,GAAG;QACH,OAAO;YACL,IAAI,QAAQ,EAAE;gBACZ,OAAO;aACR;YACD,QAAQ,GAAG,IAAI,CAAC;YAEhB,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,GAAG,CAAC,MAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACvD,OAAO;aACR;YAED,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;YACrB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE;gBACxB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aAC1C;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAuC;;IAEvC,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,GAAG,mCAAI,sBAAsB,CAAC;IAClD,MAAM,WAAW,GAAG,+BAA+B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,QAAQ,EAAE;QACxB,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,GAAG,SAAS,CAAC;KACpB;IAED,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC9B;IAED,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACrB,OAAO,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAnBD,0DAmBC;AAED,SAAgB,mBAAmB,CACjC,GAAS,EACT,MAA4B,sBAAsB;;IAElD,MAAM,MAAM,GAAG,MAAA,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,0CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;QACrD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,MAAM,CAAC,GAAG,CAAC;AACpB,CAAC;AATD,kDASC;AAED,SAAgB,uBAAuB,CACrC,GAAS,EACT,MAA4B,sBAAsB;;IAElD,MAAM,MAAM,GAAG,MAAA,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,0CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE;QACV,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;KAC1C;AACH,CAAC;AARD,0DAQC","file":"shared.js","sourcesContent":["import type { IApp } from '@visactor/vrender-core';\nimport { createBrowserVRenderApp, type TVRenderBrowserAppEntryOptions } from './browser';\nimport {\n createFeishuVRenderApp,\n createHarmonyVRenderApp,\n createLynxVRenderApp,\n createTaroVRenderApp,\n createTTVRenderApp,\n createWxVRenderApp,\n type TVRenderMiniAppEntryOptions\n} from './miniapp';\nimport { createNodeVRenderApp, type TVRenderNodeAppEntryOptions } from './node';\n\nexport type TVRenderSharedAppEnv = 'browser' | 'node' | 'taro' | 'feishu' | 'tt' | 'wx' | 'lynx' | 'harmony';\nexport type TVRenderSharedAppKey = string | symbol;\n\ntype TVRenderSharedAppEntryOptionsMap = {\n browser: TVRenderBrowserAppEntryOptions;\n node: TVRenderNodeAppEntryOptions;\n taro: TVRenderMiniAppEntryOptions<'taro'>;\n feishu: TVRenderMiniAppEntryOptions<'feishu'>;\n tt: TVRenderMiniAppEntryOptions<'tt'>;\n wx: TVRenderMiniAppEntryOptions<'wx'>;\n lynx: TVRenderMiniAppEntryOptions<'lynx'>;\n harmony: TVRenderMiniAppEntryOptions<'harmony'>;\n};\n\nexport type TVRenderSharedAppOptions<TEnv extends TVRenderSharedAppEnv = TVRenderSharedAppEnv> =\n TVRenderSharedAppEntryOptionsMap[TEnv] & {\n env: TEnv;\n /**\n * Shared identity inside the current JS runtime. Use a stable app/page/container key\n * when multiple products, such as VChart and VTable, should share one VRender app.\n */\n key?: TVRenderSharedAppKey;\n };\n\nexport type TVRenderSharedAppHandle<TEnv extends TVRenderSharedAppEnv = TVRenderSharedAppEnv> = {\n readonly app: IApp;\n readonly env: TEnv;\n readonly key: TVRenderSharedAppKey;\n release: () => void;\n};\n\ntype TSharedAppRecord = {\n app: IApp;\n refCount: number;\n released: boolean;\n releaseApp: () => void;\n};\n\ntype TSharedAppRegistry = Map<TVRenderSharedAppEnv, Map<TVRenderSharedAppKey, TSharedAppRecord>>;\ntype TGlobalSharedAppRegistry = typeof globalThis & Record<symbol, TSharedAppRegistry | undefined>;\n\nconst SHARED_APP_REGISTRY_KEY = Symbol.for('visactor.vrender.sharedAppRegistry');\nconst DEFAULT_SHARED_APP_KEY = 'default';\n\nfunction getSharedAppRegistry(): TSharedAppRegistry {\n const target = globalThis as TGlobalSharedAppRegistry;\n const registry = target[SHARED_APP_REGISTRY_KEY] ?? new Map();\n target[SHARED_APP_REGISTRY_KEY] = registry;\n return registry;\n}\n\nfunction getSharedAppEnvRegistry<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n create: boolean\n): Map<TVRenderSharedAppKey, TSharedAppRecord> | undefined {\n const registry = getSharedAppRegistry();\n const envRegistry = registry.get(env);\n\n if (envRegistry || !create) {\n return envRegistry;\n }\n\n const nextEnvRegistry = new Map<TVRenderSharedAppKey, TSharedAppRecord>();\n registry.set(env, nextEnvRegistry);\n return nextEnvRegistry;\n}\n\nfunction getOrCreateSharedAppEnvRegistry<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv\n): Map<TVRenderSharedAppKey, TSharedAppRecord> {\n return getSharedAppEnvRegistry(env, true) as Map<TVRenderSharedAppKey, TSharedAppRecord>;\n}\n\nfunction removeSharedAppRecord<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n key: TVRenderSharedAppKey,\n record: TSharedAppRecord\n) {\n const registry = getSharedAppRegistry();\n const envRegistry = registry.get(env);\n\n if (envRegistry?.get(key) === record) {\n envRegistry.delete(key);\n if (!envRegistry.size) {\n registry.delete(env);\n }\n }\n}\n\nfunction releaseSharedAppRecord<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n key: TVRenderSharedAppKey,\n record: TSharedAppRecord\n) {\n if (record.released) {\n return;\n }\n\n record.released = true;\n record.refCount = 0;\n removeSharedAppRecord(env, key, record);\n record.releaseApp();\n}\n\nfunction createAppForSharedEnv<TEnv extends TVRenderSharedAppEnv>(options: TVRenderSharedAppOptions<TEnv>): IApp {\n const { env } = options;\n const entryOptions = { ...options } as Record<string, unknown>;\n delete entryOptions.env;\n delete entryOptions.key;\n\n if (env === 'browser') {\n return createBrowserVRenderApp(entryOptions as TVRenderBrowserAppEntryOptions);\n }\n if (env === 'node') {\n return createNodeVRenderApp(entryOptions as TVRenderNodeAppEntryOptions);\n }\n if (env === 'taro') {\n return createTaroVRenderApp(entryOptions as TVRenderMiniAppEntryOptions<'taro'>);\n }\n if (env === 'feishu') {\n return createFeishuVRenderApp(entryOptions as TVRenderMiniAppEntryOptions<'feishu'>);\n }\n if (env === 'tt') {\n return createTTVRenderApp(entryOptions as TVRenderMiniAppEntryOptions<'tt'>);\n }\n if (env === 'wx') {\n return createWxVRenderApp(entryOptions as TVRenderMiniAppEntryOptions<'wx'>);\n }\n if (env === 'lynx') {\n return createLynxVRenderApp(entryOptions as TVRenderMiniAppEntryOptions<'lynx'>);\n }\n return createHarmonyVRenderApp(entryOptions as TVRenderMiniAppEntryOptions<'harmony'>);\n}\n\nfunction createSharedAppRecord<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n key: TVRenderSharedAppKey,\n options: TVRenderSharedAppOptions<TEnv>\n): TSharedAppRecord {\n const app = createAppForSharedEnv(options);\n const originalRelease = app.release.bind(app);\n const record: TSharedAppRecord = {\n app,\n refCount: 0,\n released: false,\n releaseApp: originalRelease\n };\n\n app.release = () => releaseSharedAppRecord(env, key, record);\n return record;\n}\n\nfunction createSharedAppHandle<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n key: TVRenderSharedAppKey,\n record: TSharedAppRecord\n): TVRenderSharedAppHandle<TEnv> {\n let released = false;\n\n return {\n app: record.app,\n env,\n key,\n release() {\n if (released) {\n return;\n }\n released = true;\n\n const envRegistry = getSharedAppEnvRegistry(env, false);\n if (envRegistry?.get(key) !== record || record.released) {\n return;\n }\n\n record.refCount -= 1;\n if (record.refCount <= 0) {\n releaseSharedAppRecord(env, key, record);\n }\n }\n };\n}\n\nexport function acquireSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(\n options: TVRenderSharedAppOptions<TEnv>\n): TVRenderSharedAppHandle<TEnv> {\n const key = options.key ?? DEFAULT_SHARED_APP_KEY;\n const envRegistry = getOrCreateSharedAppEnvRegistry(options.env);\n let record = envRegistry.get(key);\n\n if (record?.app.released) {\n releaseSharedAppRecord(options.env, key, record);\n record = undefined;\n }\n\n if (!record) {\n record = createSharedAppRecord(options.env, key, options);\n envRegistry.set(key, record);\n }\n\n record.refCount += 1;\n return createSharedAppHandle(options.env, key, record);\n}\n\nexport function getSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n key: TVRenderSharedAppKey = DEFAULT_SHARED_APP_KEY\n): IApp | null {\n const record = getSharedAppEnvRegistry(env, false)?.get(key);\n if (!record || record.released || record.app.released) {\n return null;\n }\n return record.app;\n}\n\nexport function releaseSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n key: TVRenderSharedAppKey = DEFAULT_SHARED_APP_KEY\n): void {\n const record = getSharedAppEnvRegistry(env, false)?.get(key);\n if (record) {\n releaseSharedAppRecord(env, key, record);\n }\n}\n"]}
package/cjs/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Direction } from '@visactor/vrender-core';
2
- export declare const version = "1.1.0-alpha.20";
2
+ export declare const version = "1.1.0-alpha.22";
3
3
  export * from '@visactor/vrender-core';
4
4
  export * from '@visactor/vrender-kits';
5
5
  export * from '@visactor/vrender-animate';
package/cjs/index.js CHANGED
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "Direction", {
26
26
  get: function() {
27
27
  return vrender_core_1.Direction;
28
28
  }
29
- }), exports.version = "1.1.0-alpha.20", __exportStar(require("@visactor/vrender-core"), exports),
29
+ }), exports.version = "1.1.0-alpha.22", __exportStar(require("@visactor/vrender-core"), exports),
30
30
  __exportStar(require("@visactor/vrender-kits"), exports), __exportStar(require("@visactor/vrender-animate"), exports),
31
31
  __exportStar(require("@visactor/vrender-components"), exports), __exportStar(require("./entries"), exports);
32
32
 
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAmD;AAa1C,0FAbA,wBAAS,OAaA;AAXL,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,yDAAuC;AACvC,yDAAuC;AACvC,4DAA0C;AAC1C,+DAA6C;AAC7C,4CAA0B;AAC1B,mCAAuC;AAA9B,qGAAA,WAAW,OAAA;AAGpB,6DAAkD;AAAzC,wGAAA,KAAK,OAAA","file":"index.js","sourcesContent":["import { Direction } from '@visactor/vrender-core';\n// 导出版本号\nexport const version = \"1.1.0-alpha.20\";\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-animate';\nexport * from '@visactor/vrender-components';\nexport * from './entries';\nexport { createStage } from './legacy';\n\n// avoid naming conflicts with 'State' & 'Direction' in '@visactor/vrender-components'\nexport { State } from '@visactor/vrender-animate';\nexport { Direction };\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAmD;AAa1C,0FAbA,wBAAS,OAaA;AAXL,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,yDAAuC;AACvC,yDAAuC;AACvC,4DAA0C;AAC1C,+DAA6C;AAC7C,4CAA0B;AAC1B,mCAAuC;AAA9B,qGAAA,WAAW,OAAA;AAGpB,6DAAkD;AAAzC,wGAAA,KAAK,OAAA","file":"index.js","sourcesContent":["import { Direction } from '@visactor/vrender-core';\n// 导出版本号\nexport const version = \"1.1.0-alpha.22\";\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-animate';\nexport * from '@visactor/vrender-components';\nexport * from './entries';\nexport { createStage } from './legacy';\n\n// avoid naming conflicts with 'State' & 'Direction' in '@visactor/vrender-components'\nexport { State } from '@visactor/vrender-animate';\nexport { Direction };\n"]}