@authme/engine 2.2.0-rc.5 → 2.2.0-rc.8

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.
Binary file
Binary file
@@ -1 +1 @@
1
- 4.5.0
1
+ 4.7.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authme/engine",
3
- "version": "2.2.0-rc.5",
3
+ "version": "2.2.0-rc.8",
4
4
  "devDependencies": {
5
5
  "rxjs": "~7.4.0"
6
6
  },
@@ -8,8 +8,8 @@
8
8
  "typings": "./src/index.d.ts",
9
9
  "dependencies": {},
10
10
  "peerDependencies": {
11
- "@authme/core": "2.2.0-rc.5",
12
- "@authme/util": "2.2.0-rc.5",
11
+ "@authme/core": "2.2.0-rc.8",
12
+ "@authme/util": "2.2.0-rc.8",
13
13
  "three": "^0.136.0",
14
14
  "tslib": "^2.3.0"
15
15
  }
@@ -16,7 +16,7 @@ export declare class MlEngine {
16
16
  run(module: string, command: string, value?: any): Observable<any>;
17
17
  setConfig(config: MlEngineConfig): Promise<any>;
18
18
  getConfig(): MlEngineConfig;
19
- loadEngineWasm(): Promise<any>;
19
+ loadEngine(): Promise<any>;
20
20
  debug$(): Observable<string>;
21
21
  }
22
22
  export declare abstract class AuthmeEngineModuleBase<T = any> {
package/src/lib/engine.js CHANGED
@@ -7,6 +7,44 @@ const util_1 = require("@authme/util");
7
7
  const rxjs_1 = require("rxjs");
8
8
  const enum_1 = require("./enum");
9
9
  const interface_1 = require("./interface");
10
+ function isSimdSupported() {
11
+ try {
12
+ // Test for WebAssembly SIMD capability (for both browsers and Node.js)
13
+ // This typed array is a WebAssembly program containing SIMD instructions.
14
+ return WebAssembly.validate(new Uint8Array([
15
+ 0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 9, 1, 7,
16
+ 0, 65, 0, 253, 15, 26, 11,
17
+ ]));
18
+ }
19
+ catch (e) {
20
+ return false;
21
+ }
22
+ }
23
+ function getWasmContentAsync(url) {
24
+ return (0, core_1.sendRequest)(url, 'GET', {
25
+ expectedResponseContentTypes: ['application/wasm'],
26
+ accessToken: null,
27
+ baseUrl: null,
28
+ sdkInfo: null,
29
+ });
30
+ }
31
+ function getJsContentAsync(url) {
32
+ return (0, core_1.sendRequest)(url, 'GET', {
33
+ expectedResponseContentTypes: ['text/javascript', 'application/javascript'],
34
+ accessToken: null,
35
+ baseUrl: null,
36
+ sdkInfo: null,
37
+ });
38
+ }
39
+ function createWorkerWithObjectUrlAsync(url) {
40
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
41
+ const scriptContent = yield getJsContentAsync(url);
42
+ const objectUrl = URL.createObjectURL(new Blob([scriptContent], { type: 'text/javascript' }));
43
+ const worker = new Worker(objectUrl);
44
+ URL.revokeObjectURL(objectUrl);
45
+ return worker;
46
+ });
47
+ }
10
48
  class AuthmeFunctionModule {
11
49
  init(config) {
12
50
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -36,12 +74,17 @@ class MlEngine {
36
74
  MlEngine.instance = this;
37
75
  }
38
76
  init() {
77
+ var _a;
39
78
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
79
  if (typeof Worker === 'undefined' || typeof WebAssembly === 'undefined') {
41
80
  throw new core_1.AuthmeError(core_1.ErrorCode.BROWSER_NOT_SUPPORT);
42
81
  }
43
82
  try {
44
- this.worker = new Worker(`${this.config.scriptPath}engine-worker.js?t=${Date.now()}`);
83
+ // use blobUrl to fix cross-domain problem on worker creating.
84
+ // ref:
85
+ // * https://stackoverflow.com/questions/25458104/can-should-html5-web-workers-use-cors-for-cross-origin
86
+ // * https://web.dev/workers-basics/
87
+ this.worker = yield createWorkerWithObjectUrlAsync(`${(_a = this.config.scriptPath) !== null && _a !== void 0 ? _a : ''}engine-worker.js?t=${Date.now()}`);
45
88
  this.workerMessage$ = (0, rxjs_1.fromEvent)(this.worker, 'message').pipe((0, rxjs_1.map)((x) => x.data), (0, rxjs_1.shareReplay)(1));
46
89
  yield (0, rxjs_1.firstValueFrom)(this.run(enum_1.EngineModule.Core, 'setConfig', Object.assign(Object.assign({}, this.config), { isMobile: (0, util_1.isMobile)() })));
47
90
  }
@@ -69,9 +112,25 @@ class MlEngine {
69
112
  getConfig() {
70
113
  return this.config;
71
114
  }
72
- loadEngineWasm() {
115
+ loadEngine() {
116
+ var _a, _b, _c, _d;
73
117
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
74
- return yield (0, rxjs_1.firstValueFrom)(this.run(enum_1.EngineModule.Core, 'loadEngine'));
118
+ // load js/wasm outside the worker.
119
+ const simdSupported = isSimdSupported();
120
+ const jsUrl = simdSupported
121
+ ? `${(_a = this.config.scriptPath) !== null && _a !== void 0 ? _a : ''}ml_engine_web.simd.js`
122
+ : `${(_b = this.config.scriptPath) !== null && _b !== void 0 ? _b : ''}ml_engine_web.js`;
123
+ const wasmUrl = simdSupported
124
+ ? `${(_c = this.config.scriptPath) !== null && _c !== void 0 ? _c : ''}ml_engine_web.simd.wasm`
125
+ : `${(_d = this.config.scriptPath) !== null && _d !== void 0 ? _d : ''}ml_engine_web.wasm`;
126
+ const [engineJsContent, engineWasmContent] = yield Promise.all([
127
+ getJsContentAsync(`${jsUrl}?t=${Date.now()}`),
128
+ getWasmContentAsync(`${wasmUrl}?t=${Date.now()}`),
129
+ ]);
130
+ return yield (0, rxjs_1.firstValueFrom)(this.run(enum_1.EngineModule.Core, 'loadEngine', {
131
+ engineJsContent,
132
+ engineWasmContent,
133
+ }));
75
134
  });
76
135
  }
77
136
  debug$() {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../libs/engine/src/lib/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../libs/engine/src/lib/engine.ts"],"names":[],"mappings":"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"}