@getpara/web-sdk 2.0.0-dev.1 → 2.0.0-dev.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.
@@ -3,4 +3,4 @@ export interface SyncWorker {
3
3
  postMessage: (message: any) => void;
4
4
  terminate: () => void;
5
5
  }
6
- export declare function setupWorker(ctx: Ctx, resFunction: (arg: any) => void): Promise<Worker | SyncWorker>;
6
+ export declare function setupWorker(ctx: Ctx, resFunction: (arg: any) => Promise<void>, errorFunction: (err: Error) => void, workId: string, errorContext?: object): Promise<Worker | SyncWorker>;
@@ -0,0 +1,85 @@
1
+ "use client";
2
+ import {
3
+ __async
4
+ } from "../chunk-WLGKV3EF.js";
5
+ import { getPortalBaseURL } from "@getpara/core-sdk";
6
+ import { handleMessage } from "./worker.js";
7
+ const CLEAR_WORKER_TIMEOUT_MS = 1e3 * 90;
8
+ let workerInstance;
9
+ const resFunctionMap = {};
10
+ function removeWorkId(workId, skipClearTimeout) {
11
+ const { timeoutId } = resFunctionMap[workId];
12
+ delete resFunctionMap[workId];
13
+ if (skipClearTimeout) {
14
+ return;
15
+ }
16
+ clearTimeout(timeoutId);
17
+ }
18
+ function setupWorker(ctx, resFunction, errorFunction, workId, errorContext) {
19
+ return __async(this, null, function* () {
20
+ if (ctx.disableWorkers) {
21
+ const syncWorker = {
22
+ postMessage: function(message) {
23
+ (function() {
24
+ return __async(this, null, function* () {
25
+ try {
26
+ const onmessage = (event) => {
27
+ resFunction(event.data);
28
+ };
29
+ yield handleMessage({ data: message }, (data) => onmessage({ data }), ctx.disableWorkers);
30
+ } catch (error) {
31
+ errorFunction(error);
32
+ }
33
+ });
34
+ })();
35
+ },
36
+ terminate: () => {
37
+ return;
38
+ }
39
+ };
40
+ return syncWorker;
41
+ }
42
+ const timeoutId = setTimeout(() => {
43
+ removeWorkId(workId, true);
44
+ }, CLEAR_WORKER_TIMEOUT_MS);
45
+ resFunctionMap[workId] = {
46
+ fn: resFunction,
47
+ timeoutId,
48
+ errorFn: errorFunction,
49
+ errorContext: errorContext || {}
50
+ };
51
+ if (ctx.useLocalFiles) {
52
+ throw new Error("useLocalFiles only supported locally");
53
+ } else if (!workerInstance) {
54
+ const workerRes = yield fetch(`${getPortalBaseURL(ctx)}/static/js/mpcWorker-bundle.js`);
55
+ const workerBlob = new Blob([yield workerRes.text()], { type: "application/javascript" });
56
+ const workerScriptURL = URL.createObjectURL(workerBlob);
57
+ workerInstance = new Worker(workerScriptURL);
58
+ const onmessage = (event) => __async(this, null, function* () {
59
+ const { workId: messageWorkId } = event.data;
60
+ delete event.data.workId;
61
+ if (messageWorkId && resFunctionMap[messageWorkId]) {
62
+ yield resFunctionMap[messageWorkId].fn(event.data);
63
+ removeWorkId(messageWorkId);
64
+ }
65
+ });
66
+ workerInstance.onmessage = onmessage;
67
+ workerInstance.onerror = (err) => {
68
+ console.error("worker error:", err);
69
+ Object.keys(resFunctionMap).forEach((id) => {
70
+ if (resFunctionMap[id]) {
71
+ const errorMsg = `worker error with workId ${id} and opts ${JSON.stringify(resFunctionMap[id].errorContext)}: ${err.message}`;
72
+ resFunctionMap[id].errorFn(new Error(errorMsg));
73
+ removeWorkId(id);
74
+ }
75
+ });
76
+ workerInstance == null ? void 0 : workerInstance.terminate();
77
+ workerInstance = void 0;
78
+ };
79
+ }
80
+ return workerInstance;
81
+ });
82
+ }
83
+ export {
84
+ setupWorker
85
+ };
package/package.json CHANGED
@@ -1,41 +1,46 @@
1
1
  {
2
2
  "name": "@getpara/web-sdk",
3
- "version": "2.0.0-dev.1",
4
- "type": "module",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "sideEffects": [
8
- "wasm_exec.js"
9
- ],
3
+ "version": "2.0.0-dev.3",
10
4
  "dependencies": {
11
- "@getpara/core-sdk": "2.0.0-dev.1",
12
- "@getpara/user-management-client": "2.0.0-dev.1",
5
+ "@getpara/core-sdk": "2.0.0-dev.3",
6
+ "@getpara/user-management-client": "2.0.0-dev.3",
13
7
  "@sentry/browser": "^9.1.0",
14
- "assert": "^2.1.0",
15
- "base64url": "3.0.1",
8
+ "base64url": "^3.0.1",
16
9
  "buffer": "6.0.3",
17
- "cbor-web": "8.1.0",
10
+ "cbor-web": "^9.0.2",
18
11
  "node-forge": "1.3.1",
19
12
  "ua-parser-js": "^2.0.2"
20
13
  },
21
- "scripts": {
22
- "build": "rm -rf dist && yarn typegen && node ./scripts/build.mjs && yarn post-build",
23
- "typegen": "tsc --emitDeclarationOnly",
24
- "old-build": "rm -rf dist && tsc && yarn post-build",
25
- "post-build": "./scripts/post-build.sh",
26
- "test": "vitest run --coverage"
27
- },
28
14
  "devDependencies": {
29
15
  "@types/node-forge": "1.3.1",
30
- "crypto-browserify": "3.12.0",
31
- "stream-browserify": "3.0.0",
32
- "typescript": "5.1.6",
33
- "webpack": "5.76.3",
34
- "webpack-cli": "5.0.1"
16
+ "crypto-browserify": "^3.12.0",
17
+ "stream-browserify": "^3.0.0",
18
+ "typescript": "^5.8.3"
19
+ },
20
+ "peerDependencies": {
21
+ "@farcaster/miniapp-sdk": "^0.1.2"
22
+ },
23
+ "peerDependenciesMeta": {
24
+ "@farcaster/miniapp-sdk": {
25
+ "optional": true
26
+ }
35
27
  },
36
28
  "files": [
37
29
  "dist",
38
30
  "package.json"
39
31
  ],
40
- "gitHead": "426e843bd6084fb2e5f30ab87b02c79fc2f52832"
32
+ "gitHead": "ffe34f7d8df2dd3c2327ca1f35bcc9764e0a68a2",
33
+ "main": "dist/index.js",
34
+ "scripts": {
35
+ "build": "rm -rf dist && yarn typegen && node ./scripts/build.mjs && yarn post-build",
36
+ "old-build": "rm -rf dist && tsc && yarn post-build",
37
+ "post-build": "./scripts/post-build.sh",
38
+ "test": "vitest run --coverage",
39
+ "typegen": "tsc --emitDeclarationOnly"
40
+ },
41
+ "sideEffects": [
42
+ "wasm_exec.js"
43
+ ],
44
+ "type": "module",
45
+ "types": "dist/index.d.ts"
41
46
  }
package/dist/index.js.br DELETED
Binary file
package/dist/index.js.gz DELETED
Binary file
Binary file
Binary file