@visactor/vrender 1.1.0-alpha.8 → 1.1.0

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 (88) hide show
  1. package/cjs/entries/bootstrap-browser-lite.d.ts +2 -0
  2. package/cjs/entries/bootstrap-browser-lite.js +27 -0
  3. package/cjs/entries/bootstrap-browser-lite.js.map +1 -0
  4. package/cjs/entries/bootstrap-browser.d.ts +2 -0
  5. package/cjs/entries/bootstrap-browser.js +19 -0
  6. package/cjs/entries/bootstrap-browser.js.map +1 -0
  7. package/cjs/entries/bootstrap-common.d.ts +3 -0
  8. package/cjs/entries/bootstrap-common.js +44 -0
  9. package/cjs/entries/bootstrap-common.js.map +1 -0
  10. package/cjs/entries/bootstrap-utils.d.ts +7 -0
  11. package/cjs/entries/bootstrap-utils.js +62 -0
  12. package/cjs/entries/bootstrap-utils.js.map +1 -0
  13. package/cjs/entries/bootstrap.d.ts +6 -2
  14. package/cjs/entries/bootstrap.js +57 -45
  15. package/cjs/entries/bootstrap.js.map +1 -1
  16. package/cjs/entries/browser.d.ts +5 -4
  17. package/cjs/entries/browser.js +11 -25
  18. package/cjs/entries/browser.js.map +1 -1
  19. package/cjs/entries/index.d.ts +2 -0
  20. package/cjs/entries/index.js +2 -1
  21. package/cjs/entries/index.js.map +1 -1
  22. package/cjs/entries/miniapp.d.ts +12 -0
  23. package/cjs/entries/miniapp.js +74 -0
  24. package/cjs/entries/miniapp.js.map +1 -0
  25. package/cjs/entries/node.d.ts +5 -4
  26. package/cjs/entries/node.js +10 -1
  27. package/cjs/entries/node.js.map +1 -1
  28. package/cjs/entries/shared-browser-lite.d.ts +12 -0
  29. package/cjs/entries/shared-browser-lite.js +31 -0
  30. package/cjs/entries/shared-browser-lite.js.map +1 -0
  31. package/cjs/entries/shared-browser.d.ts +12 -0
  32. package/cjs/entries/shared-browser.js +30 -0
  33. package/cjs/entries/shared-browser.js.map +1 -0
  34. package/cjs/entries/shared-registry.d.ts +16 -0
  35. package/cjs/entries/shared-registry.js +87 -0
  36. package/cjs/entries/shared-registry.js.map +1 -0
  37. package/cjs/entries/shared.d.ts +26 -0
  38. package/cjs/entries/shared.js +32 -0
  39. package/cjs/entries/shared.js.map +1 -0
  40. package/cjs/index.d.ts +1 -1
  41. package/cjs/index.js +1 -1
  42. package/cjs/index.js.map +1 -1
  43. package/dist/index.es.js +7407 -6541
  44. package/dist/index.js +7426 -6544
  45. package/dist/index.min.js +1 -1
  46. package/es/entries/bootstrap-browser-lite.d.ts +2 -0
  47. package/es/entries/bootstrap-browser-lite.js +51 -0
  48. package/es/entries/bootstrap-browser-lite.js.map +1 -0
  49. package/es/entries/bootstrap-browser.d.ts +2 -0
  50. package/es/entries/bootstrap-browser.js +15 -0
  51. package/es/entries/bootstrap-browser.js.map +1 -0
  52. package/es/entries/bootstrap-common.d.ts +3 -0
  53. package/es/entries/bootstrap-common.js +58 -0
  54. package/es/entries/bootstrap-common.js.map +1 -0
  55. package/es/entries/bootstrap-utils.d.ts +7 -0
  56. package/es/entries/bootstrap-utils.js +54 -0
  57. package/es/entries/bootstrap-utils.js.map +1 -0
  58. package/es/entries/bootstrap.d.ts +6 -2
  59. package/es/entries/bootstrap.js +111 -40
  60. package/es/entries/bootstrap.js.map +1 -1
  61. package/es/entries/browser.d.ts +5 -4
  62. package/es/entries/browser.js +13 -4
  63. package/es/entries/browser.js.map +1 -1
  64. package/es/entries/index.d.ts +2 -0
  65. package/es/entries/index.js +4 -0
  66. package/es/entries/index.js.map +1 -1
  67. package/es/entries/miniapp.d.ts +12 -0
  68. package/es/entries/miniapp.js +45 -0
  69. package/es/entries/miniapp.js.map +1 -0
  70. package/es/entries/node.d.ts +5 -4
  71. package/es/entries/node.js +12 -1
  72. package/es/entries/node.js.map +1 -1
  73. package/es/entries/shared-browser-lite.d.ts +12 -0
  74. package/es/entries/shared-browser-lite.js +28 -0
  75. package/es/entries/shared-browser-lite.js.map +1 -0
  76. package/es/entries/shared-browser.d.ts +12 -0
  77. package/es/entries/shared-browser.js +28 -0
  78. package/es/entries/shared-browser.js.map +1 -0
  79. package/es/entries/shared-registry.d.ts +16 -0
  80. package/es/entries/shared-registry.js +79 -0
  81. package/es/entries/shared-registry.js.map +1 -0
  82. package/es/entries/shared.d.ts +26 -0
  83. package/es/entries/shared.js +25 -0
  84. package/es/entries/shared.js.map +1 -0
  85. package/es/index.d.ts +1 -1
  86. package/es/index.js +1 -1
  87. package/es/index.js.map +1 -1
  88. package/package.json +56 -7
@@ -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,12 @@
1
+ import type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';
2
+ import { type TVRenderSharedAppHandle, type TVRenderSharedAppKey } from './shared-registry';
3
+ export type TVRenderSharedBrowserLiteAppOptions = IEntryOptions & {
4
+ env?: 'browser';
5
+ envParams?: IEnvParamsMap['browser'];
6
+ key?: TVRenderSharedAppKey;
7
+ };
8
+ export type TVRenderSharedBrowserLiteAppHandle = TVRenderSharedAppHandle<'browser'>;
9
+ export declare function acquireSharedBrowserLiteVRenderApp(options?: TVRenderSharedBrowserLiteAppOptions): TVRenderSharedBrowserLiteAppHandle;
10
+ export declare function getSharedBrowserLiteVRenderApp(key?: TVRenderSharedAppKey): IApp | null;
11
+ export declare function releaseSharedBrowserLiteVRenderApp(key?: TVRenderSharedAppKey): void;
12
+ export { acquireSharedBrowserLiteVRenderApp as acquireSharedVRenderApp, getSharedBrowserLiteVRenderApp as getSharedVRenderApp, releaseSharedBrowserLiteVRenderApp as releaseSharedVRenderApp };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.releaseSharedVRenderApp = exports.getSharedVRenderApp = exports.acquireSharedVRenderApp = exports.releaseSharedBrowserLiteVRenderApp = exports.getSharedBrowserLiteVRenderApp = exports.acquireSharedBrowserLiteVRenderApp = void 0;
6
+
7
+ const browser_1 = require("@visactor/vrender-core/entries/browser"), bootstrap_browser_lite_1 = require("./bootstrap-browser-lite"), shared_registry_1 = require("./shared-registry"), SHARED_BROWSER_LITE_REGISTRY_ENV = "browser-lite-shared";
8
+
9
+ function createSharedBrowserLiteApp(options) {
10
+ const {envParams: envParams} = options, entryOptions = Object.assign({}, options);
11
+ return delete entryOptions.env, delete entryOptions.envParams, delete entryOptions.key,
12
+ (0, bootstrap_browser_lite_1.bootstrapVRenderSharedBrowserLiteApp)((0, browser_1.createBrowserApp)(entryOptions), envParams);
13
+ }
14
+
15
+ function acquireSharedBrowserLiteVRenderApp(options = {}) {
16
+ return (0, shared_registry_1.acquireSharedApp)(SHARED_BROWSER_LITE_REGISTRY_ENV, options, createSharedBrowserLiteApp, "browser");
17
+ }
18
+
19
+ function getSharedBrowserLiteVRenderApp(key) {
20
+ return (0, shared_registry_1.getSharedApp)(SHARED_BROWSER_LITE_REGISTRY_ENV, key);
21
+ }
22
+
23
+ function releaseSharedBrowserLiteVRenderApp(key) {
24
+ (0, shared_registry_1.releaseSharedApp)(SHARED_BROWSER_LITE_REGISTRY_ENV, key);
25
+ }
26
+
27
+ exports.acquireSharedBrowserLiteVRenderApp = acquireSharedBrowserLiteVRenderApp,
28
+ exports.acquireSharedVRenderApp = acquireSharedBrowserLiteVRenderApp, exports.getSharedBrowserLiteVRenderApp = getSharedBrowserLiteVRenderApp,
29
+ exports.getSharedVRenderApp = getSharedBrowserLiteVRenderApp, exports.releaseSharedBrowserLiteVRenderApp = releaseSharedBrowserLiteVRenderApp,
30
+ exports.releaseSharedVRenderApp = releaseSharedBrowserLiteVRenderApp;
31
+ //# sourceMappingURL=shared-browser-lite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/entries/shared-browser-lite.ts"],"names":[],"mappings":";;;AACA,oEAA0E;AAC1E,qEAAgF;AAChF,uDAM2B;AAE3B,MAAM,gCAAgC,GAAG,qBAAqB,CAAC;AAc/D,SAAS,0BAA0B,CAAC,OAA4C;IAC9E,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,YAAY,qBAAQ,OAAO,CAAE,CAAC;IACpC,OAAO,YAAY,CAAC,GAAG,CAAC;IACxB,OAAO,YAAY,CAAC,SAAS,CAAC;IAC9B,OAAO,YAAY,CAAC,GAAG,CAAC;IAExB,OAAO,IAAA,6DAAoC,EAAC,IAAA,0BAAgB,EAAC,YAAmB,CAAoB,EAAE,SAAS,CAAC,CAAC;AACnH,CAAC;AAED,SAAgB,kCAAkC,CAChD,UAA+C,EAAE;IAEjD,OAAO,IAAA,kCAAgB,EAAC,gCAAgC,EAAE,OAAO,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAC;AAC5G,CAAC;AAJD,gFAIC;AAWuC,qEAAuB;AAT/D,SAAgB,8BAA8B,CAAC,GAA0B;IACvE,OAAO,IAAA,8BAAY,EAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC;AAFD,wEAEC;AAQmC,6DAAmB;AANvD,SAAgB,kCAAkC,CAAC,GAA0B;IAC3E,IAAA,kCAAgB,EAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAFD,gFAEC;AAKuC,qEAAuB","file":"shared-browser-lite.js","sourcesContent":["import type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';\nimport { createBrowserApp } from '@visactor/vrender-core/entries/browser';\nimport { bootstrapVRenderSharedBrowserLiteApp } from './bootstrap-browser-lite';\nimport {\n acquireSharedApp,\n getSharedApp,\n releaseSharedApp,\n type TVRenderSharedAppHandle,\n type TVRenderSharedAppKey\n} from './shared-registry';\n\nconst SHARED_BROWSER_LITE_REGISTRY_ENV = 'browser-lite-shared';\n\nexport type TVRenderSharedBrowserLiteAppOptions = IEntryOptions & {\n env?: 'browser';\n envParams?: IEnvParamsMap['browser'];\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 TVRenderSharedBrowserLiteAppHandle = TVRenderSharedAppHandle<'browser'>;\n\nfunction createSharedBrowserLiteApp(options: TVRenderSharedBrowserLiteAppOptions): IApp {\n const { envParams } = options;\n const entryOptions = { ...options };\n delete entryOptions.env;\n delete entryOptions.envParams;\n delete entryOptions.key;\n\n return bootstrapVRenderSharedBrowserLiteApp(createBrowserApp(entryOptions as any) as unknown as IApp, envParams);\n}\n\nexport function acquireSharedBrowserLiteVRenderApp(\n options: TVRenderSharedBrowserLiteAppOptions = {}\n): TVRenderSharedBrowserLiteAppHandle {\n return acquireSharedApp(SHARED_BROWSER_LITE_REGISTRY_ENV, options, createSharedBrowserLiteApp, 'browser');\n}\n\nexport function getSharedBrowserLiteVRenderApp(key?: TVRenderSharedAppKey): IApp | null {\n return getSharedApp(SHARED_BROWSER_LITE_REGISTRY_ENV, key);\n}\n\nexport function releaseSharedBrowserLiteVRenderApp(key?: TVRenderSharedAppKey): void {\n releaseSharedApp(SHARED_BROWSER_LITE_REGISTRY_ENV, key);\n}\n\nexport {\n acquireSharedBrowserLiteVRenderApp as acquireSharedVRenderApp,\n getSharedBrowserLiteVRenderApp as getSharedVRenderApp,\n releaseSharedBrowserLiteVRenderApp as releaseSharedVRenderApp\n};\n"]}
@@ -0,0 +1,12 @@
1
+ import type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';
2
+ import { type TVRenderSharedAppHandle, type TVRenderSharedAppKey } from './shared-registry';
3
+ export type TVRenderSharedBrowserAppOptions = IEntryOptions & {
4
+ env?: 'browser';
5
+ envParams?: IEnvParamsMap['browser'];
6
+ key?: TVRenderSharedAppKey;
7
+ };
8
+ export type TVRenderSharedBrowserAppHandle = TVRenderSharedAppHandle<'browser'>;
9
+ export declare function acquireSharedBrowserVRenderApp(options?: TVRenderSharedBrowserAppOptions): TVRenderSharedBrowserAppHandle;
10
+ export declare function getSharedBrowserVRenderApp(key?: TVRenderSharedAppKey): IApp | null;
11
+ export declare function releaseSharedBrowserVRenderApp(key?: TVRenderSharedAppKey): void;
12
+ export { acquireSharedBrowserVRenderApp as acquireSharedVRenderApp, getSharedBrowserVRenderApp as getSharedVRenderApp, releaseSharedBrowserVRenderApp as releaseSharedVRenderApp };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.releaseSharedVRenderApp = exports.getSharedVRenderApp = exports.acquireSharedVRenderApp = exports.releaseSharedBrowserVRenderApp = exports.getSharedBrowserVRenderApp = exports.acquireSharedBrowserVRenderApp = void 0;
6
+
7
+ const browser_1 = require("@visactor/vrender-core/entries/browser"), bootstrap_browser_1 = require("./bootstrap-browser"), shared_registry_1 = require("./shared-registry"), SHARED_BROWSER_REGISTRY_ENV = "browser-shared";
8
+
9
+ function createSharedBrowserApp(options) {
10
+ const {envParams: envParams} = options, entryOptions = Object.assign({}, options);
11
+ return delete entryOptions.env, delete entryOptions.envParams, delete entryOptions.key,
12
+ (0, bootstrap_browser_1.bootstrapVRenderSharedBrowserApp)((0, browser_1.createBrowserApp)(entryOptions), envParams);
13
+ }
14
+
15
+ function acquireSharedBrowserVRenderApp(options = {}) {
16
+ return (0, shared_registry_1.acquireSharedApp)(SHARED_BROWSER_REGISTRY_ENV, options, createSharedBrowserApp, "browser");
17
+ }
18
+
19
+ function getSharedBrowserVRenderApp(key) {
20
+ return (0, shared_registry_1.getSharedApp)(SHARED_BROWSER_REGISTRY_ENV, key);
21
+ }
22
+
23
+ function releaseSharedBrowserVRenderApp(key) {
24
+ (0, shared_registry_1.releaseSharedApp)(SHARED_BROWSER_REGISTRY_ENV, key);
25
+ }
26
+
27
+ exports.acquireSharedBrowserVRenderApp = acquireSharedBrowserVRenderApp, exports.acquireSharedVRenderApp = acquireSharedBrowserVRenderApp,
28
+ exports.getSharedBrowserVRenderApp = getSharedBrowserVRenderApp, exports.getSharedVRenderApp = getSharedBrowserVRenderApp,
29
+ exports.releaseSharedBrowserVRenderApp = releaseSharedBrowserVRenderApp, exports.releaseSharedVRenderApp = releaseSharedBrowserVRenderApp;
30
+ //# sourceMappingURL=shared-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/entries/shared-browser.ts"],"names":[],"mappings":";;;AACA,oEAA0E;AAC1E,2DAAuE;AACvE,uDAM2B;AAE3B,MAAM,2BAA2B,GAAG,gBAAgB,CAAC;AAcrD,SAAS,sBAAsB,CAAC,OAAwC;IACtE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,YAAY,qBAAQ,OAAO,CAAE,CAAC;IACpC,OAAO,YAAY,CAAC,GAAG,CAAC;IACxB,OAAO,YAAY,CAAC,SAAS,CAAC;IAC9B,OAAO,YAAY,CAAC,GAAG,CAAC;IAExB,OAAO,IAAA,oDAAgC,EAAC,IAAA,0BAAgB,EAAC,YAAmB,CAAoB,EAAE,SAAS,CAAC,CAAC;AAC/G,CAAC;AAED,SAAgB,8BAA8B,CAC5C,UAA2C,EAAE;IAE7C,OAAO,IAAA,kCAAgB,EAAC,2BAA2B,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC;AACnG,CAAC;AAJD,wEAIC;AAWmC,iEAAuB;AAT3D,SAAgB,0BAA0B,CAAC,GAA0B;IACnE,OAAO,IAAA,8BAAY,EAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAFD,gEAEC;AAQ+B,yDAAmB;AANnD,SAAgB,8BAA8B,CAAC,GAA0B;IACvE,IAAA,kCAAgB,EAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAFD,wEAEC;AAKmC,iEAAuB","file":"shared-browser.js","sourcesContent":["import type { IApp, IEntryOptions, IEnvParamsMap } from '@visactor/vrender-core';\nimport { createBrowserApp } from '@visactor/vrender-core/entries/browser';\nimport { bootstrapVRenderSharedBrowserApp } from './bootstrap-browser';\nimport {\n acquireSharedApp,\n getSharedApp,\n releaseSharedApp,\n type TVRenderSharedAppHandle,\n type TVRenderSharedAppKey\n} from './shared-registry';\n\nconst SHARED_BROWSER_REGISTRY_ENV = 'browser-shared';\n\nexport type TVRenderSharedBrowserAppOptions = IEntryOptions & {\n env?: 'browser';\n envParams?: IEnvParamsMap['browser'];\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 TVRenderSharedBrowserAppHandle = TVRenderSharedAppHandle<'browser'>;\n\nfunction createSharedBrowserApp(options: TVRenderSharedBrowserAppOptions): IApp {\n const { envParams } = options;\n const entryOptions = { ...options };\n delete entryOptions.env;\n delete entryOptions.envParams;\n delete entryOptions.key;\n\n return bootstrapVRenderSharedBrowserApp(createBrowserApp(entryOptions as any) as unknown as IApp, envParams);\n}\n\nexport function acquireSharedBrowserVRenderApp(\n options: TVRenderSharedBrowserAppOptions = {}\n): TVRenderSharedBrowserAppHandle {\n return acquireSharedApp(SHARED_BROWSER_REGISTRY_ENV, options, createSharedBrowserApp, 'browser');\n}\n\nexport function getSharedBrowserVRenderApp(key?: TVRenderSharedAppKey): IApp | null {\n return getSharedApp(SHARED_BROWSER_REGISTRY_ENV, key);\n}\n\nexport function releaseSharedBrowserVRenderApp(key?: TVRenderSharedAppKey): void {\n releaseSharedApp(SHARED_BROWSER_REGISTRY_ENV, key);\n}\n\nexport {\n acquireSharedBrowserVRenderApp as acquireSharedVRenderApp,\n getSharedBrowserVRenderApp as getSharedVRenderApp,\n releaseSharedBrowserVRenderApp as releaseSharedVRenderApp\n};\n"]}
@@ -0,0 +1,16 @@
1
+ import type { IApp } from '@visactor/vrender-core';
2
+ export type TVRenderSharedAppKey = string | symbol;
3
+ export type TVRenderSharedAppHandle<TEnv extends string = string> = {
4
+ readonly app: IApp;
5
+ readonly env: TEnv;
6
+ readonly key: TVRenderSharedAppKey;
7
+ release: () => void;
8
+ };
9
+ export declare const DEFAULT_SHARED_APP_KEY = "default";
10
+ export declare function acquireSharedApp<TRegistryEnv extends string, THandleEnv extends string = TRegistryEnv, TOptions extends {
11
+ key?: TVRenderSharedAppKey;
12
+ } = {
13
+ key?: TVRenderSharedAppKey;
14
+ }>(registryEnv: TRegistryEnv, options: TOptions, createApp: (options: TOptions) => IApp, handleEnv?: THandleEnv): TVRenderSharedAppHandle<THandleEnv>;
15
+ export declare function getSharedApp<TEnv extends string>(env: TEnv, key?: TVRenderSharedAppKey): IApp | null;
16
+ export declare function releaseSharedApp<TEnv extends string>(env: TEnv, key?: TVRenderSharedAppKey): void;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.releaseSharedApp = exports.getSharedApp = exports.acquireSharedApp = exports.DEFAULT_SHARED_APP_KEY = void 0,
6
+ exports.DEFAULT_SHARED_APP_KEY = "default";
7
+
8
+ const SHARED_APP_REGISTRY_KEY = Symbol.for("visactor.vrender.sharedAppRegistry");
9
+
10
+ function getSharedAppRegistry() {
11
+ var _a;
12
+ const target = globalThis, registry = null !== (_a = target[SHARED_APP_REGISTRY_KEY]) && void 0 !== _a ? _a : new Map;
13
+ return target[SHARED_APP_REGISTRY_KEY] = registry, registry;
14
+ }
15
+
16
+ function getSharedAppEnvRegistry(env, create) {
17
+ const registry = getSharedAppRegistry(), envRegistry = registry.get(env);
18
+ if (envRegistry || !create) return envRegistry;
19
+ const nextEnvRegistry = new Map;
20
+ return registry.set(env, nextEnvRegistry), nextEnvRegistry;
21
+ }
22
+
23
+ function getOrCreateSharedAppEnvRegistry(env) {
24
+ return getSharedAppEnvRegistry(env, !0);
25
+ }
26
+
27
+ function removeSharedAppRecord(env, key, record) {
28
+ const registry = getSharedAppRegistry(), envRegistry = registry.get(env);
29
+ (null == envRegistry ? void 0 : envRegistry.get(key)) === record && (envRegistry.delete(key),
30
+ envRegistry.size || registry.delete(env));
31
+ }
32
+
33
+ function releaseSharedAppRecord(env, key, record) {
34
+ record.released || (record.released = !0, record.refCount = 0, removeSharedAppRecord(env, key, record),
35
+ record.releaseApp());
36
+ }
37
+
38
+ function createSharedAppRecord(env, key, options, createApp) {
39
+ const app = createApp(options), originalRelease = app.release.bind(app), record = {
40
+ app: app,
41
+ refCount: 0,
42
+ released: !1,
43
+ releaseApp: originalRelease
44
+ };
45
+ return app.release = () => releaseSharedAppRecord(env, key, record), record;
46
+ }
47
+
48
+ function createSharedAppHandle(registryEnv, handleEnv, key, record) {
49
+ let released = !1;
50
+ return {
51
+ app: record.app,
52
+ env: handleEnv,
53
+ key: key,
54
+ release() {
55
+ if (released) return;
56
+ released = !0;
57
+ const envRegistry = getSharedAppEnvRegistry(registryEnv, !1);
58
+ (null == envRegistry ? void 0 : envRegistry.get(key)) !== record || record.released || (record.refCount -= 1,
59
+ record.refCount <= 0 && releaseSharedAppRecord(registryEnv, key, record));
60
+ }
61
+ };
62
+ }
63
+
64
+ function acquireSharedApp(registryEnv, options, createApp, handleEnv = registryEnv) {
65
+ var _a;
66
+ const key = null !== (_a = options.key) && void 0 !== _a ? _a : exports.DEFAULT_SHARED_APP_KEY, envRegistry = getOrCreateSharedAppEnvRegistry(registryEnv);
67
+ let record = envRegistry.get(key);
68
+ return (null == record ? void 0 : record.app.released) && (releaseSharedAppRecord(registryEnv, key, record),
69
+ record = void 0), record || (record = createSharedAppRecord(registryEnv, key, options, createApp),
70
+ envRegistry.set(key, record)), record.refCount += 1, createSharedAppHandle(registryEnv, handleEnv, key, record);
71
+ }
72
+
73
+ function getSharedApp(env, key = exports.DEFAULT_SHARED_APP_KEY) {
74
+ var _a;
75
+ const record = null === (_a = getSharedAppEnvRegistry(env, !1)) || void 0 === _a ? void 0 : _a.get(key);
76
+ return !record || record.released || record.app.released ? null : record.app;
77
+ }
78
+
79
+ function releaseSharedApp(env, key = exports.DEFAULT_SHARED_APP_KEY) {
80
+ var _a;
81
+ const record = null === (_a = getSharedAppEnvRegistry(env, !1)) || void 0 === _a ? void 0 : _a.get(key);
82
+ record && releaseSharedAppRecord(env, key, record);
83
+ }
84
+
85
+ exports.acquireSharedApp = acquireSharedApp, exports.getSharedApp = getSharedApp,
86
+ exports.releaseSharedApp = releaseSharedApp;
87
+ //# sourceMappingURL=shared-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/entries/shared-registry.ts"],"names":[],"mappings":"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","file":"shared-registry.js","sourcesContent":["import type { IApp } from '@visactor/vrender-core';\n\nexport type TVRenderSharedAppKey = string | symbol;\n\nexport type TVRenderSharedAppHandle<TEnv extends string = string> = {\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<TEnv extends string = string> = Map<TEnv, Map<TVRenderSharedAppKey, TSharedAppRecord>>;\ntype TGlobalSharedAppRegistry = typeof globalThis & Record<symbol, TSharedAppRegistry | undefined>;\n\nexport const DEFAULT_SHARED_APP_KEY = 'default';\n\nconst SHARED_APP_REGISTRY_KEY = Symbol.for('visactor.vrender.sharedAppRegistry');\n\nfunction getSharedAppRegistry<TEnv extends string>(): TSharedAppRegistry<TEnv> {\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 as TSharedAppRegistry<TEnv>;\n}\n\nfunction getSharedAppEnvRegistry<TEnv extends string>(\n env: TEnv,\n create: boolean\n): Map<TVRenderSharedAppKey, TSharedAppRecord> | undefined {\n const registry = getSharedAppRegistry<TEnv>();\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 string>(env: TEnv): Map<TVRenderSharedAppKey, TSharedAppRecord> {\n return getSharedAppEnvRegistry(env, true) as Map<TVRenderSharedAppKey, TSharedAppRecord>;\n}\n\nfunction removeSharedAppRecord<TEnv extends string>(env: TEnv, key: TVRenderSharedAppKey, record: TSharedAppRecord) {\n const registry = getSharedAppRegistry<TEnv>();\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 string>(env: TEnv, key: TVRenderSharedAppKey, record: TSharedAppRecord) {\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 createSharedAppRecord<TEnv extends string, TOptions>(\n env: TEnv,\n key: TVRenderSharedAppKey,\n options: TOptions,\n createApp: (options: TOptions) => IApp\n): TSharedAppRecord {\n const app = createApp(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 string>(\n registryEnv: string,\n handleEnv: TEnv,\n key: TVRenderSharedAppKey,\n record: TSharedAppRecord\n): TVRenderSharedAppHandle<TEnv> {\n let released = false;\n\n return {\n app: record.app,\n env: handleEnv,\n key,\n release() {\n if (released) {\n return;\n }\n released = true;\n\n const envRegistry = getSharedAppEnvRegistry(registryEnv, false);\n if (envRegistry?.get(key) !== record || record.released) {\n return;\n }\n\n record.refCount -= 1;\n if (record.refCount <= 0) {\n releaseSharedAppRecord(registryEnv, key, record);\n }\n }\n };\n}\n\nexport function acquireSharedApp<\n TRegistryEnv extends string,\n THandleEnv extends string = TRegistryEnv,\n TOptions extends { key?: TVRenderSharedAppKey } = { key?: TVRenderSharedAppKey }\n>(\n registryEnv: TRegistryEnv,\n options: TOptions,\n createApp: (options: TOptions) => IApp,\n handleEnv: THandleEnv = registryEnv as unknown as THandleEnv\n): TVRenderSharedAppHandle<THandleEnv> {\n const key = options.key ?? DEFAULT_SHARED_APP_KEY;\n const envRegistry = getOrCreateSharedAppEnvRegistry(registryEnv);\n let record = envRegistry.get(key);\n\n if (record?.app.released) {\n releaseSharedAppRecord(registryEnv, key, record);\n record = undefined;\n }\n\n if (!record) {\n record = createSharedAppRecord(registryEnv, key, options, createApp);\n envRegistry.set(key, record);\n }\n\n record.refCount += 1;\n return createSharedAppHandle(registryEnv, handleEnv, key, record);\n}\n\nexport function getSharedApp<TEnv extends string>(\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 releaseSharedApp<TEnv extends string>(\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"]}
@@ -0,0 +1,26 @@
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
+ import { type TVRenderSharedAppHandle as TSharedAppHandle, type TVRenderSharedAppKey as TSharedAppKey } from './shared-registry';
6
+ export type TVRenderSharedAppEnv = 'browser' | 'node' | 'taro' | 'feishu' | 'tt' | 'wx' | 'lynx' | 'harmony';
7
+ export type TVRenderSharedAppKey = TSharedAppKey;
8
+ type TVRenderSharedAppEntryOptionsMap = {
9
+ browser: TVRenderBrowserAppEntryOptions;
10
+ node: TVRenderNodeAppEntryOptions;
11
+ taro: TVRenderMiniAppEntryOptions<'taro'>;
12
+ feishu: TVRenderMiniAppEntryOptions<'feishu'>;
13
+ tt: TVRenderMiniAppEntryOptions<'tt'>;
14
+ wx: TVRenderMiniAppEntryOptions<'wx'>;
15
+ lynx: TVRenderMiniAppEntryOptions<'lynx'>;
16
+ harmony: TVRenderMiniAppEntryOptions<'harmony'>;
17
+ };
18
+ export type TVRenderSharedAppOptions<TEnv extends TVRenderSharedAppEnv = TVRenderSharedAppEnv> = TVRenderSharedAppEntryOptionsMap[TEnv] & {
19
+ env: TEnv;
20
+ key?: TVRenderSharedAppKey;
21
+ };
22
+ export type TVRenderSharedAppHandle<TEnv extends TVRenderSharedAppEnv = TVRenderSharedAppEnv> = TSharedAppHandle<TEnv>;
23
+ export declare function acquireSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(options: TVRenderSharedAppOptions<TEnv>): TVRenderSharedAppHandle<TEnv>;
24
+ export declare function getSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(env: TEnv, key?: TVRenderSharedAppKey): IApp | null;
25
+ export declare function releaseSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(env: TEnv, key?: TVRenderSharedAppKey): void;
26
+ export {};
@@ -0,0 +1,32 @@
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_registry_1 = require("./shared-registry");
8
+
9
+ function createAppForSharedEnv(options) {
10
+ const {env: env} = options, entryOptions = Object.assign({}, options);
11
+ return delete entryOptions.env, delete entryOptions.key, "browser" === env ? (0,
12
+ browser_1.createBrowserVRenderApp)(entryOptions) : "node" === env ? (0, node_1.createNodeVRenderApp)(entryOptions) : "taro" === env ? (0,
13
+ miniapp_1.createTaroVRenderApp)(entryOptions) : "feishu" === env ? (0, miniapp_1.createFeishuVRenderApp)(entryOptions) : "tt" === env ? (0,
14
+ miniapp_1.createTTVRenderApp)(entryOptions) : "wx" === env ? (0, miniapp_1.createWxVRenderApp)(entryOptions) : "lynx" === env ? (0,
15
+ miniapp_1.createLynxVRenderApp)(entryOptions) : (0, miniapp_1.createHarmonyVRenderApp)(entryOptions);
16
+ }
17
+
18
+ function acquireSharedVRenderApp(options) {
19
+ return (0, shared_registry_1.acquireSharedApp)(options.env, options, createAppForSharedEnv, options.env);
20
+ }
21
+
22
+ function getSharedVRenderApp(env, key = shared_registry_1.DEFAULT_SHARED_APP_KEY) {
23
+ return (0, shared_registry_1.getSharedApp)(env, key);
24
+ }
25
+
26
+ function releaseSharedVRenderApp(env, key = shared_registry_1.DEFAULT_SHARED_APP_KEY) {
27
+ (0, shared_registry_1.releaseSharedApp)(env, key);
28
+ }
29
+
30
+ exports.acquireSharedVRenderApp = acquireSharedVRenderApp, exports.getSharedVRenderApp = getSharedVRenderApp,
31
+ exports.releaseSharedVRenderApp = releaseSharedVRenderApp;
32
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/entries/shared.ts"],"names":[],"mappings":";;;AACA,uCAAyF;AACzF,uCAQmB;AACnB,iCAAgF;AAChF,uDAO2B;AA4B3B,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,SAAgB,uBAAuB,CACrC,OAAuC;IAEvC,OAAO,IAAA,kCAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACpF,CAAC;AAJD,0DAIC;AAED,SAAgB,mBAAmB,CACjC,GAAS,EACT,MAA4B,wCAAsB;IAElD,OAAO,IAAA,8BAAY,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AALD,kDAKC;AAED,SAAgB,uBAAuB,CACrC,GAAS,EACT,MAA4B,wCAAsB;IAElD,IAAA,kCAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AALD,0DAKC","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';\nimport {\n acquireSharedApp,\n DEFAULT_SHARED_APP_KEY,\n getSharedApp,\n releaseSharedApp,\n type TVRenderSharedAppHandle as TSharedAppHandle,\n type TVRenderSharedAppKey as TSharedAppKey\n} from './shared-registry';\n\nexport type TVRenderSharedAppEnv = 'browser' | 'node' | 'taro' | 'feishu' | 'tt' | 'wx' | 'lynx' | 'harmony';\nexport type TVRenderSharedAppKey = TSharedAppKey;\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> = TSharedAppHandle<TEnv>;\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\nexport function acquireSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(\n options: TVRenderSharedAppOptions<TEnv>\n): TVRenderSharedAppHandle<TEnv> {\n return acquireSharedApp(options.env, options, createAppForSharedEnv, options.env);\n}\n\nexport function getSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n key: TVRenderSharedAppKey = DEFAULT_SHARED_APP_KEY\n): IApp | null {\n return getSharedApp(env, key);\n}\n\nexport function releaseSharedVRenderApp<TEnv extends TVRenderSharedAppEnv>(\n env: TEnv,\n key: TVRenderSharedAppKey = DEFAULT_SHARED_APP_KEY\n): void {\n releaseSharedApp(env, key);\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.8";
2
+ export declare const version = "1.1.0";
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.8", __exportStar(require("@visactor/vrender-core"), exports),
29
+ }), exports.version = "1.1.0", __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,eAAe,CAAC;AAEvC,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.8\";\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,OAAO,CAAC;AAE/B,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\";\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"]}