@netless/fastboard 1.0.0-canary.2 → 1.0.0-canary.3

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.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import * as _netless_fastboard_core from '@netless/fastboard-core';
2
- import { FastboardOptions, FastboardReplayOptions } from '@netless/fastboard-core';
1
+ import { FastboardOptions, FastboardApp, FastboardReplayOptions, FastboardPlayer } from '@netless/fastboard-core';
3
2
  export * from '@netless/fastboard-core';
4
3
  export * from '@netless/fastboard-ui';
5
4
  export { Attributes as NetlessAppSlideAttributes, Slide, SlideState, SlideViewer, SlideViewerOptions, previewSlide } from '@netless/app-slide';
@@ -19,7 +18,7 @@ export { Attributes as NetlessAppSlideAttributes, Slide, SlideState, SlideViewer
19
18
  * },
20
19
  * })
21
20
  */
22
- declare function createFastboard<TEventData = any>(options: FastboardOptions): Promise<_netless_fastboard_core.FastboardApp<TEventData>>;
21
+ declare function createFastboard<TEventData = any>(options: FastboardOptions): Promise<FastboardApp<TEventData>>;
23
22
 
24
23
  /**
25
24
  * Create a FastboardPlayer instance.
@@ -37,6 +36,6 @@ declare function createFastboard<TEventData = any>(options: FastboardOptions): P
37
36
  * },
38
37
  * })
39
38
  */
40
- declare function replayFastboard<TEventData = any>(options: FastboardReplayOptions): Promise<_netless_fastboard_core.FastboardPlayer<TEventData>>;
39
+ declare function replayFastboard<TEventData = any>(options: FastboardReplayOptions): Promise<FastboardPlayer<TEventData>>;
41
40
 
42
41
  export { createFastboard, replayFastboard };
package/dist/index.js CHANGED
@@ -44,12 +44,25 @@ function registerDefaultApps() {
44
44
  windowManager.WindowManager.register({ kind, ...DefaultApps[kind] });
45
45
  });
46
46
  }
47
+ var injected = false;
48
+ function ensureNetlessUA() {
49
+ if (typeof window !== "undefined" && !injected) {
50
+ injected = true;
51
+ let str = window.__netlessUA || "";
52
+ str += ` ${fastboardCore.name}/${fastboardCore.version} `;
53
+ window.__netlessUA = str;
54
+ }
55
+ }
56
+
57
+ // src/create.ts
47
58
  async function createFastboard(options) {
59
+ ensureNetlessUA();
48
60
  registerSlide();
49
61
  registerDefaultApps();
50
62
  return fastboardCore.createFastboardCore(options);
51
63
  }
52
64
  async function replayFastboard(options) {
65
+ ensureNetlessUA();
53
66
  registerSlide();
54
67
  registerDefaultApps();
55
68
  return fastboardCore.replayFastboardCore(options);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/behaviors/netless-app.ts","../src/create.ts","../src/replay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,cAAc;AACd,cAAc;;;ACKd,SAAS,qBAAqB;AAE9B,OAAO,mBAAmB,UAAU,cAAc,OAAO,mBAAmB;AAKrE,SAAS,gBAAgB;AAC9B,MAAI,cAAc,WAAW,IAAI,gBAAgB,IAAI;AAAG;AACxD,gBAAc,SAAS;AAAA,IACrB,MAAM,gBAAgB;AAAA,IACtB,YAAY,EAAE,OAAO,MAAM;AAAA,IAC3B,KAAK;AAAA,IACL;AAAA,EACF,CAAC;AACH;AAEA,IAAM,cAEF,CAAC;AAEE,SAAS,sBAAsB;AACpC,SAAO,KAAK,WAAW,EAAE,QAAQ,UAAQ;AACvC,QAAI,cAAc,WAAW,IAAI,IAAI;AAAG;AACxC,kBAAc,SAAS,EAAE,MAAM,GAAG,YAAY,MAAM,CAAC;AAAA,EACvD,CAAC;AACH;;;AChCA,SAAS,2BAA2B;AAkBpC,eAAsB,gBAAkC,SAA2B;AACjF,gBAAc;AACd,sBAAoB;AACpB,SAAO,oBAAgC,OAAO;AAChD;;;ACtBA,SAAS,2BAA2B;AAmBpC,eAAsB,gBAAkC,SAAiC;AACvF,gBAAc;AACd,sBAAoB;AACpB,SAAO,oBAAgC,OAAO;AAChD","sourcesContent":["import \"./style.scss\";\n\nexport * from \"@netless/fastboard-core\";\nexport * from \"@netless/fastboard-ui\";\n\nexport * from \"./behaviors\";\nexport * from \"./create\";\nexport * from \"./replay\";\n","import type {\n AppOptions as NetlessAppSlideAppOptions,\n Attributes as NetlessAppSlideAttributes,\n SlideState,\n SlideViewerOptions,\n} from \"@netless/app-slide\";\nimport type { RegisterParams } from \"@netless/window-manager\";\n\nimport { WindowManager } from \"@netless/window-manager\";\n\nimport NetlessAppSlide, { addHooks, previewSlide, Slide, SlideViewer } from \"@netless/app-slide\";\n\nexport { Slide, SlideViewer, previewSlide };\nexport type { NetlessAppSlideAttributes, SlideState, SlideViewerOptions };\n\nexport function registerSlide() {\n if (WindowManager.registered.has(NetlessAppSlide.kind)) return;\n WindowManager.register({\n kind: NetlessAppSlide.kind,\n appOptions: { debug: false } as NetlessAppSlideAppOptions,\n src: NetlessAppSlide,\n addHooks,\n });\n}\n\nconst DefaultApps: {\n [kind: string]: Omit<RegisterParams, \"kind\">;\n} = {};\n\nexport function registerDefaultApps() {\n Object.keys(DefaultApps).forEach(kind => {\n if (WindowManager.registered.has(kind)) return;\n WindowManager.register({ kind, ...DefaultApps[kind] });\n });\n}\n","import type { FastboardOptions } from \"@netless/fastboard-core\";\n\nimport { createFastboardCore } from \"@netless/fastboard-core\";\nimport { registerDefaultApps, registerSlide } from \"./behaviors/netless-app\";\n\n/**\n * Create a FastboardApp instance.\n * @example\n * let app = await createFastboard({\n * sdkConfig: {\n * appIdentifier: import.meta.env.VITE_APPID,\n * region: 'cn-hz',\n * },\n * joinRoom: {\n * uid: unique_id,\n * uuid: import.meta.env.VITE_ROOM_UUID,\n * roomToken: import.meta.env.VITE_ROOM_TOKEN,\n * },\n * })\n */\nexport async function createFastboard<TEventData = any>(options: FastboardOptions) {\n registerSlide();\n registerDefaultApps();\n return createFastboardCore<TEventData>(options);\n}\n","import type { FastboardReplayOptions } from \"@netless/fastboard-core\";\n\nimport { replayFastboardCore } from \"@netless/fastboard-core\";\nimport { registerDefaultApps, registerSlide } from \"./behaviors/netless-app\";\n\n/**\n * Create a FastboardPlayer instance.\n * @example\n * let player = await replayFastboard({\n * sdkConfig: {\n * appIdentifier: import.meta.env.VITE_APPID,\n * region: 'cn-hz',\n * },\n * replayRoom: {\n * room: \"room uuid\",\n * roomToken: \"NETLESSROOM_...\",\n * beginTimestamp: 1646619090394,\n * duration: 70448,\n * },\n * })\n */\nexport async function replayFastboard<TEventData = any>(options: FastboardReplayOptions) {\n registerSlide();\n registerDefaultApps();\n return replayFastboardCore<TEventData>(options);\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/behaviors/netless-app.ts","../src/create.ts","../src/behaviors/netless-ua.ts","../src/replay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,cAAc;AACd,cAAc;;;ACKd,SAAS,qBAAqB;AAE9B,OAAO,mBAAmB,UAAU,cAAc,OAAO,mBAAmB;AAKrE,SAAS,gBAAgB;AAC9B,MAAI,cAAc,WAAW,IAAI,gBAAgB,IAAI;AAAG;AACxD,gBAAc,SAAS;AAAA,IACrB,MAAM,gBAAgB;AAAA,IACtB,YAAY,EAAE,OAAO,MAAM;AAAA,IAC3B,KAAK;AAAA,IACL;AAAA,EACF,CAAC;AACH;AAEA,IAAM,cAEF,CAAC;AAEE,SAAS,sBAAsB;AACpC,SAAO,KAAK,WAAW,EAAE,QAAQ,UAAQ;AACvC,QAAI,cAAc,WAAW,IAAI,IAAI;AAAG;AACxC,kBAAc,SAAS,EAAE,MAAM,GAAG,YAAY,MAAM,CAAC;AAAA,EACvD,CAAC;AACH;;;AChCA,SAAS,2BAA2B;;;ACFpC,SAAS,MAAM,eAAe;AAM9B,IAAI,WAAW;AACR,SAAS,kBAAkB;AAChC,MAAI,OAAO,WAAW,eAAe,CAAC,UAAU;AAC9C,eAAW;AACX,QAAI,MAAO,OAAwB,eAAe;AAClD,WAAO,IAAI,QAAQ;AACnB,IAAC,OAAwB,cAAc;AAAA,EACzC;AACF;;;ADOA,eAAsB,gBACpB,SACmC;AACnC,kBAAgB;AAChB,gBAAc;AACd,sBAAoB;AACpB,SAAO,oBAAgC,OAAO;AAChD;;;AE1BA,SAAS,2BAA2B;AAoBpC,eAAsB,gBACpB,SACsC;AACtC,kBAAgB;AAChB,gBAAc;AACd,sBAAoB;AACpB,SAAO,oBAAgC,OAAO;AAChD","sourcesContent":["import \"./style.scss\";\n\nexport * from \"@netless/fastboard-core\";\nexport * from \"@netless/fastboard-ui\";\n\nexport * from \"./behaviors\";\nexport * from \"./create\";\nexport * from \"./replay\";\n","import type {\n AppOptions as NetlessAppSlideAppOptions,\n Attributes as NetlessAppSlideAttributes,\n SlideState,\n SlideViewerOptions,\n} from \"@netless/app-slide\";\nimport type { RegisterParams } from \"@netless/window-manager\";\n\nimport { WindowManager } from \"@netless/window-manager\";\n\nimport NetlessAppSlide, { addHooks, previewSlide, Slide, SlideViewer } from \"@netless/app-slide\";\n\nexport { Slide, SlideViewer, previewSlide };\nexport type { NetlessAppSlideAttributes, SlideState, SlideViewerOptions };\n\nexport function registerSlide() {\n if (WindowManager.registered.has(NetlessAppSlide.kind)) return;\n WindowManager.register({\n kind: NetlessAppSlide.kind,\n appOptions: { debug: false } as NetlessAppSlideAppOptions,\n src: NetlessAppSlide,\n addHooks,\n });\n}\n\nconst DefaultApps: {\n [kind: string]: Omit<RegisterParams, \"kind\">;\n} = {};\n\nexport function registerDefaultApps() {\n Object.keys(DefaultApps).forEach(kind => {\n if (WindowManager.registered.has(kind)) return;\n WindowManager.register({ kind, ...DefaultApps[kind] });\n });\n}\n","import type { FastboardApp, FastboardOptions } from \"@netless/fastboard-core\";\n\nimport { createFastboardCore } from \"@netless/fastboard-core\";\nimport { registerDefaultApps, registerSlide } from \"./behaviors/netless-app\";\nimport { ensureNetlessUA } from \"./behaviors/netless-ua\";\n\n/**\n * Create a FastboardApp instance.\n * @example\n * let app = await createFastboard({\n * sdkConfig: {\n * appIdentifier: import.meta.env.VITE_APPID,\n * region: 'cn-hz',\n * },\n * joinRoom: {\n * uid: unique_id,\n * uuid: import.meta.env.VITE_ROOM_UUID,\n * roomToken: import.meta.env.VITE_ROOM_TOKEN,\n * },\n * })\n */\nexport async function createFastboard<TEventData = any>(\n options: FastboardOptions\n): Promise<FastboardApp<TEventData>> {\n ensureNetlessUA();\n registerSlide();\n registerDefaultApps();\n return createFastboardCore<TEventData>(options);\n}\n","import { name, version } from \"@netless/fastboard-core\";\n\ninterface InjectTarget {\n __netlessUA?: string;\n}\n\nlet injected = false;\nexport function ensureNetlessUA() {\n if (typeof window !== \"undefined\" && !injected) {\n injected = true;\n let str = (window as InjectTarget).__netlessUA || \"\";\n str += ` ${name}/${version} `;\n (window as InjectTarget).__netlessUA = str;\n }\n}\n","import type { FastboardPlayer, FastboardReplayOptions } from \"@netless/fastboard-core\";\n\nimport { replayFastboardCore } from \"@netless/fastboard-core\";\nimport { registerDefaultApps, registerSlide } from \"./behaviors/netless-app\";\nimport { ensureNetlessUA } from \"./behaviors/netless-ua\";\n\n/**\n * Create a FastboardPlayer instance.\n * @example\n * let player = await replayFastboard({\n * sdkConfig: {\n * appIdentifier: import.meta.env.VITE_APPID,\n * region: 'cn-hz',\n * },\n * replayRoom: {\n * room: \"room uuid\",\n * roomToken: \"NETLESSROOM_...\",\n * beginTimestamp: 1646619090394,\n * duration: 70448,\n * },\n * })\n */\nexport async function replayFastboard<TEventData = any>(\n options: FastboardReplayOptions\n): Promise<FastboardPlayer<TEventData>> {\n ensureNetlessUA();\n registerSlide();\n registerDefaultApps();\n return replayFastboardCore<TEventData>(options);\n}\n"]}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { createFastboardCore, replayFastboardCore } from '@netless/fastboard-core';
1
+ import { createFastboardCore, replayFastboardCore, name, version } from '@netless/fastboard-core';
2
2
  export * from '@netless/fastboard-core';
3
3
  export * from '@netless/fastboard-ui';
4
4
  import { WindowManager } from '@netless/window-manager';
@@ -38,12 +38,25 @@ function registerDefaultApps() {
38
38
  WindowManager.register({ kind, ...DefaultApps[kind] });
39
39
  });
40
40
  }
41
+ var injected = false;
42
+ function ensureNetlessUA() {
43
+ if (typeof window !== "undefined" && !injected) {
44
+ injected = true;
45
+ let str = window.__netlessUA || "";
46
+ str += ` ${name}/${version} `;
47
+ window.__netlessUA = str;
48
+ }
49
+ }
50
+
51
+ // src/create.ts
41
52
  async function createFastboard(options) {
53
+ ensureNetlessUA();
42
54
  registerSlide();
43
55
  registerDefaultApps();
44
56
  return createFastboardCore(options);
45
57
  }
46
58
  async function replayFastboard(options) {
59
+ ensureNetlessUA();
47
60
  registerSlide();
48
61
  registerDefaultApps();
49
62
  return replayFastboardCore(options);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/behaviors/netless-app.ts","../src/create.ts","../src/replay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,cAAc;AACd,cAAc;;;ACKd,SAAS,qBAAqB;AAE9B,OAAO,mBAAmB,UAAU,cAAc,OAAO,mBAAmB;AAKrE,SAAS,gBAAgB;AAC9B,MAAI,cAAc,WAAW,IAAI,gBAAgB,IAAI;AAAG;AACxD,gBAAc,SAAS;AAAA,IACrB,MAAM,gBAAgB;AAAA,IACtB,YAAY,EAAE,OAAO,MAAM;AAAA,IAC3B,KAAK;AAAA,IACL;AAAA,EACF,CAAC;AACH;AAEA,IAAM,cAEF,CAAC;AAEE,SAAS,sBAAsB;AACpC,SAAO,KAAK,WAAW,EAAE,QAAQ,UAAQ;AACvC,QAAI,cAAc,WAAW,IAAI,IAAI;AAAG;AACxC,kBAAc,SAAS,EAAE,MAAM,GAAG,YAAY,MAAM,CAAC;AAAA,EACvD,CAAC;AACH;;;AChCA,SAAS,2BAA2B;AAkBpC,eAAsB,gBAAkC,SAA2B;AACjF,gBAAc;AACd,sBAAoB;AACpB,SAAO,oBAAgC,OAAO;AAChD;;;ACtBA,SAAS,2BAA2B;AAmBpC,eAAsB,gBAAkC,SAAiC;AACvF,gBAAc;AACd,sBAAoB;AACpB,SAAO,oBAAgC,OAAO;AAChD","sourcesContent":["import \"./style.scss\";\n\nexport * from \"@netless/fastboard-core\";\nexport * from \"@netless/fastboard-ui\";\n\nexport * from \"./behaviors\";\nexport * from \"./create\";\nexport * from \"./replay\";\n","import type {\n AppOptions as NetlessAppSlideAppOptions,\n Attributes as NetlessAppSlideAttributes,\n SlideState,\n SlideViewerOptions,\n} from \"@netless/app-slide\";\nimport type { RegisterParams } from \"@netless/window-manager\";\n\nimport { WindowManager } from \"@netless/window-manager\";\n\nimport NetlessAppSlide, { addHooks, previewSlide, Slide, SlideViewer } from \"@netless/app-slide\";\n\nexport { Slide, SlideViewer, previewSlide };\nexport type { NetlessAppSlideAttributes, SlideState, SlideViewerOptions };\n\nexport function registerSlide() {\n if (WindowManager.registered.has(NetlessAppSlide.kind)) return;\n WindowManager.register({\n kind: NetlessAppSlide.kind,\n appOptions: { debug: false } as NetlessAppSlideAppOptions,\n src: NetlessAppSlide,\n addHooks,\n });\n}\n\nconst DefaultApps: {\n [kind: string]: Omit<RegisterParams, \"kind\">;\n} = {};\n\nexport function registerDefaultApps() {\n Object.keys(DefaultApps).forEach(kind => {\n if (WindowManager.registered.has(kind)) return;\n WindowManager.register({ kind, ...DefaultApps[kind] });\n });\n}\n","import type { FastboardOptions } from \"@netless/fastboard-core\";\n\nimport { createFastboardCore } from \"@netless/fastboard-core\";\nimport { registerDefaultApps, registerSlide } from \"./behaviors/netless-app\";\n\n/**\n * Create a FastboardApp instance.\n * @example\n * let app = await createFastboard({\n * sdkConfig: {\n * appIdentifier: import.meta.env.VITE_APPID,\n * region: 'cn-hz',\n * },\n * joinRoom: {\n * uid: unique_id,\n * uuid: import.meta.env.VITE_ROOM_UUID,\n * roomToken: import.meta.env.VITE_ROOM_TOKEN,\n * },\n * })\n */\nexport async function createFastboard<TEventData = any>(options: FastboardOptions) {\n registerSlide();\n registerDefaultApps();\n return createFastboardCore<TEventData>(options);\n}\n","import type { FastboardReplayOptions } from \"@netless/fastboard-core\";\n\nimport { replayFastboardCore } from \"@netless/fastboard-core\";\nimport { registerDefaultApps, registerSlide } from \"./behaviors/netless-app\";\n\n/**\n * Create a FastboardPlayer instance.\n * @example\n * let player = await replayFastboard({\n * sdkConfig: {\n * appIdentifier: import.meta.env.VITE_APPID,\n * region: 'cn-hz',\n * },\n * replayRoom: {\n * room: \"room uuid\",\n * roomToken: \"NETLESSROOM_...\",\n * beginTimestamp: 1646619090394,\n * duration: 70448,\n * },\n * })\n */\nexport async function replayFastboard<TEventData = any>(options: FastboardReplayOptions) {\n registerSlide();\n registerDefaultApps();\n return replayFastboardCore<TEventData>(options);\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/behaviors/netless-app.ts","../src/create.ts","../src/behaviors/netless-ua.ts","../src/replay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,cAAc;AACd,cAAc;;;ACKd,SAAS,qBAAqB;AAE9B,OAAO,mBAAmB,UAAU,cAAc,OAAO,mBAAmB;AAKrE,SAAS,gBAAgB;AAC9B,MAAI,cAAc,WAAW,IAAI,gBAAgB,IAAI;AAAG;AACxD,gBAAc,SAAS;AAAA,IACrB,MAAM,gBAAgB;AAAA,IACtB,YAAY,EAAE,OAAO,MAAM;AAAA,IAC3B,KAAK;AAAA,IACL;AAAA,EACF,CAAC;AACH;AAEA,IAAM,cAEF,CAAC;AAEE,SAAS,sBAAsB;AACpC,SAAO,KAAK,WAAW,EAAE,QAAQ,UAAQ;AACvC,QAAI,cAAc,WAAW,IAAI,IAAI;AAAG;AACxC,kBAAc,SAAS,EAAE,MAAM,GAAG,YAAY,MAAM,CAAC;AAAA,EACvD,CAAC;AACH;;;AChCA,SAAS,2BAA2B;;;ACFpC,SAAS,MAAM,eAAe;AAM9B,IAAI,WAAW;AACR,SAAS,kBAAkB;AAChC,MAAI,OAAO,WAAW,eAAe,CAAC,UAAU;AAC9C,eAAW;AACX,QAAI,MAAO,OAAwB,eAAe;AAClD,WAAO,IAAI,QAAQ;AACnB,IAAC,OAAwB,cAAc;AAAA,EACzC;AACF;;;ADOA,eAAsB,gBACpB,SACmC;AACnC,kBAAgB;AAChB,gBAAc;AACd,sBAAoB;AACpB,SAAO,oBAAgC,OAAO;AAChD;;;AE1BA,SAAS,2BAA2B;AAoBpC,eAAsB,gBACpB,SACsC;AACtC,kBAAgB;AAChB,gBAAc;AACd,sBAAoB;AACpB,SAAO,oBAAgC,OAAO;AAChD","sourcesContent":["import \"./style.scss\";\n\nexport * from \"@netless/fastboard-core\";\nexport * from \"@netless/fastboard-ui\";\n\nexport * from \"./behaviors\";\nexport * from \"./create\";\nexport * from \"./replay\";\n","import type {\n AppOptions as NetlessAppSlideAppOptions,\n Attributes as NetlessAppSlideAttributes,\n SlideState,\n SlideViewerOptions,\n} from \"@netless/app-slide\";\nimport type { RegisterParams } from \"@netless/window-manager\";\n\nimport { WindowManager } from \"@netless/window-manager\";\n\nimport NetlessAppSlide, { addHooks, previewSlide, Slide, SlideViewer } from \"@netless/app-slide\";\n\nexport { Slide, SlideViewer, previewSlide };\nexport type { NetlessAppSlideAttributes, SlideState, SlideViewerOptions };\n\nexport function registerSlide() {\n if (WindowManager.registered.has(NetlessAppSlide.kind)) return;\n WindowManager.register({\n kind: NetlessAppSlide.kind,\n appOptions: { debug: false } as NetlessAppSlideAppOptions,\n src: NetlessAppSlide,\n addHooks,\n });\n}\n\nconst DefaultApps: {\n [kind: string]: Omit<RegisterParams, \"kind\">;\n} = {};\n\nexport function registerDefaultApps() {\n Object.keys(DefaultApps).forEach(kind => {\n if (WindowManager.registered.has(kind)) return;\n WindowManager.register({ kind, ...DefaultApps[kind] });\n });\n}\n","import type { FastboardApp, FastboardOptions } from \"@netless/fastboard-core\";\n\nimport { createFastboardCore } from \"@netless/fastboard-core\";\nimport { registerDefaultApps, registerSlide } from \"./behaviors/netless-app\";\nimport { ensureNetlessUA } from \"./behaviors/netless-ua\";\n\n/**\n * Create a FastboardApp instance.\n * @example\n * let app = await createFastboard({\n * sdkConfig: {\n * appIdentifier: import.meta.env.VITE_APPID,\n * region: 'cn-hz',\n * },\n * joinRoom: {\n * uid: unique_id,\n * uuid: import.meta.env.VITE_ROOM_UUID,\n * roomToken: import.meta.env.VITE_ROOM_TOKEN,\n * },\n * })\n */\nexport async function createFastboard<TEventData = any>(\n options: FastboardOptions\n): Promise<FastboardApp<TEventData>> {\n ensureNetlessUA();\n registerSlide();\n registerDefaultApps();\n return createFastboardCore<TEventData>(options);\n}\n","import { name, version } from \"@netless/fastboard-core\";\n\ninterface InjectTarget {\n __netlessUA?: string;\n}\n\nlet injected = false;\nexport function ensureNetlessUA() {\n if (typeof window !== \"undefined\" && !injected) {\n injected = true;\n let str = (window as InjectTarget).__netlessUA || \"\";\n str += ` ${name}/${version} `;\n (window as InjectTarget).__netlessUA = str;\n }\n}\n","import type { FastboardPlayer, FastboardReplayOptions } from \"@netless/fastboard-core\";\n\nimport { replayFastboardCore } from \"@netless/fastboard-core\";\nimport { registerDefaultApps, registerSlide } from \"./behaviors/netless-app\";\nimport { ensureNetlessUA } from \"./behaviors/netless-ua\";\n\n/**\n * Create a FastboardPlayer instance.\n * @example\n * let player = await replayFastboard({\n * sdkConfig: {\n * appIdentifier: import.meta.env.VITE_APPID,\n * region: 'cn-hz',\n * },\n * replayRoom: {\n * room: \"room uuid\",\n * roomToken: \"NETLESSROOM_...\",\n * beginTimestamp: 1646619090394,\n * duration: 70448,\n * },\n * })\n */\nexport async function replayFastboard<TEventData = any>(\n options: FastboardReplayOptions\n): Promise<FastboardPlayer<TEventData>> {\n ensureNetlessUA();\n registerSlide();\n registerDefaultApps();\n return replayFastboardCore<TEventData>(options);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netless/fastboard",
3
- "version": "1.0.0-canary.2",
3
+ "version": "1.0.0-canary.3",
4
4
  "description": "A tiny wrapper of white-web-sdk and @netless/window-manager.",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -14,13 +14,11 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@netless/app-slide": "0.3.0-canary.7",
17
- "@netless/fastboard-core": "1.0.0-canary.2",
18
- "@netless/fastboard-ui": "1.0.0-canary.2",
19
- "@netless/synced-store": "^2.0.6"
17
+ "@netless/fastboard-core": "1.0.0-canary.3",
18
+ "@netless/fastboard-ui": "1.0.0-canary.3"
20
19
  },
21
20
  "devDependencies": {
22
- "@netless/esbuild-plugin-inline-sass": "0.1.0",
23
- "white-web-sdk": "^2.16.33"
21
+ "@netless/esbuild-plugin-inline-sass": "0.1.0"
24
22
  },
25
23
  "scripts": {
26
24
  "cleanup": "rimraf dist",
package/src/create.ts CHANGED
@@ -1,7 +1,8 @@
1
- import type { FastboardOptions } from "@netless/fastboard-core";
1
+ import type { FastboardApp, FastboardOptions } from "@netless/fastboard-core";
2
2
 
3
3
  import { createFastboardCore } from "@netless/fastboard-core";
4
4
  import { registerDefaultApps, registerSlide } from "./behaviors/netless-app";
5
+ import { ensureNetlessUA } from "./behaviors/netless-ua";
5
6
 
6
7
  /**
7
8
  * Create a FastboardApp instance.
@@ -18,7 +19,10 @@ import { registerDefaultApps, registerSlide } from "./behaviors/netless-app";
18
19
  * },
19
20
  * })
20
21
  */
21
- export async function createFastboard<TEventData = any>(options: FastboardOptions) {
22
+ export async function createFastboard<TEventData = any>(
23
+ options: FastboardOptions
24
+ ): Promise<FastboardApp<TEventData>> {
25
+ ensureNetlessUA();
22
26
  registerSlide();
23
27
  registerDefaultApps();
24
28
  return createFastboardCore<TEventData>(options);
package/src/replay.ts CHANGED
@@ -1,7 +1,8 @@
1
- import type { FastboardReplayOptions } from "@netless/fastboard-core";
1
+ import type { FastboardPlayer, FastboardReplayOptions } from "@netless/fastboard-core";
2
2
 
3
3
  import { replayFastboardCore } from "@netless/fastboard-core";
4
4
  import { registerDefaultApps, registerSlide } from "./behaviors/netless-app";
5
+ import { ensureNetlessUA } from "./behaviors/netless-ua";
5
6
 
6
7
  /**
7
8
  * Create a FastboardPlayer instance.
@@ -19,7 +20,10 @@ import { registerDefaultApps, registerSlide } from "./behaviors/netless-app";
19
20
  * },
20
21
  * })
21
22
  */
22
- export async function replayFastboard<TEventData = any>(options: FastboardReplayOptions) {
23
+ export async function replayFastboard<TEventData = any>(
24
+ options: FastboardReplayOptions
25
+ ): Promise<FastboardPlayer<TEventData>> {
26
+ ensureNetlessUA();
23
27
  registerSlide();
24
28
  registerDefaultApps();
25
29
  return replayFastboardCore<TEventData>(options);