@secrecy/lib 1.0.0 → 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.
- package/LICENSE +1 -1
- package/dist/BaseClient.d.ts +29 -177
- package/dist/BaseClient.js +114 -732
- package/dist/PopupTools.d.ts +4 -4
- package/dist/PopupTools.js +24 -41
- package/dist/ZeusThunder.js +3 -17
- package/dist/cache.js +1 -1
- package/dist/client/SecrecyAppClient.d.ts +17 -0
- package/dist/client/SecrecyAppClient.js +226 -0
- package/dist/client/SecrecyCloudClient.d.ts +89 -0
- package/dist/client/SecrecyCloudClient.js +1405 -0
- package/dist/client/SecrecyDbClient.d.ts +21 -0
- package/dist/client/SecrecyDbClient.js +177 -0
- package/dist/client/SecrecyMailClient.d.ts +42 -0
- package/dist/client/SecrecyMailClient.js +1022 -0
- package/dist/client/SecrecyPayClient.d.ts +28 -0
- package/dist/client/SecrecyPayClient.js +68 -0
- package/dist/client/SecrecyWalletClient.d.ts +30 -0
- package/dist/client/SecrecyWalletClient.js +73 -0
- package/dist/client/convert/file.js +2 -3
- package/dist/client/convert/mail.d.ts +2 -2
- package/dist/client/convert/mail.js +7 -11
- package/dist/client/convert/node.js +19 -33
- package/dist/client/helpers.d.ts +9 -4
- package/dist/client/helpers.js +30 -25
- package/dist/client/index.d.ts +15 -145
- package/dist/client/index.js +16 -3176
- package/dist/client/storage.js +4 -4
- package/dist/client/types/File.d.ts +3 -3
- package/dist/client/types/Inputs.d.ts +4 -4
- package/dist/client/types/Node.d.ts +21 -14
- package/dist/client/types/Node.js +1 -1
- package/dist/client/types/UserAppNotifications.d.ts +1 -1
- package/dist/client/types/UserAppSettings.d.ts +2 -3
- package/dist/client/types/UserAppSettings.js +1 -1
- package/dist/client/types/index.d.ts +23 -51
- package/dist/client/types/index.js +1 -1
- package/dist/client/types/selectors.d.ts +51 -127
- package/dist/client/types/selectors.js +21 -11
- package/dist/crypto/file.d.ts +2 -2
- package/dist/crypto/file.js +19 -34
- package/dist/crypto/index.js +1 -3
- package/dist/error.d.ts +5 -2
- package/dist/error.js +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.js +4 -4
- package/dist/minify/index.js +2 -7
- package/dist/minify/lz4.js +79 -167
- package/dist/sodium.js +1 -1
- package/dist/utils/store-buddy.d.ts +1 -1
- package/dist/utils/store-buddy.js +1 -8
- package/dist/utils/time.js +1 -3
- package/dist/utils/utils.js +1 -11
- package/dist/worker/md5.js +1 -2
- package/dist/worker/sodium.js +16 -18
- package/dist/worker/workerCodes.js +255 -3
- package/dist/zeus/const.js +587 -31
- package/dist/zeus/index.d.ts +5014 -631
- package/dist/zeus/index.js +213 -255
- package/package.json +64 -61
- package/dist/client/admin/index.d.ts +0 -11
- package/dist/client/admin/index.js +0 -110
- package/dist/worker/__mock__/sodium.worker.d.ts +0 -19
- package/dist/worker/__mock__/sodium.worker.js +0 -49
package/package.json
CHANGED
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
"name": "@secrecy/lib",
|
|
3
3
|
"author": "Anonymize <anonymize@gmail.com>",
|
|
4
4
|
"description": "Anonymize Secrecy Library",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.1.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "
|
|
8
|
+
"url": "https://github.com/anonymize-org/lib.git"
|
|
9
9
|
},
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/
|
|
12
|
+
"url": "https://github.com/anonymize-org/lib/issues"
|
|
13
13
|
},
|
|
14
|
-
"homepage": "https://github.com/
|
|
14
|
+
"homepage": "https://github.com/anonymize-org/lib#readme",
|
|
15
15
|
"keywords": [
|
|
16
16
|
"anonymize",
|
|
17
17
|
"lib",
|
|
18
|
-
"secrecy"
|
|
18
|
+
"secrecy",
|
|
19
|
+
"wallet",
|
|
20
|
+
"stripe"
|
|
19
21
|
],
|
|
20
22
|
"type": "module",
|
|
21
23
|
"exports": "./dist/index.js",
|
|
@@ -26,75 +28,76 @@
|
|
|
26
28
|
"engines": {
|
|
27
29
|
"node": ">=16.13.0"
|
|
28
30
|
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"clean": "rimraf dist",
|
|
33
|
+
"test": "cross-env NEXT_PUBLIC_SECRECY_API_URL=http://localhost:4000/graphql NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
|
|
34
|
+
"lint": "eslint \"./**/*.{ts,tsx}\"",
|
|
35
|
+
"format": "prettier --cache --write \"./**/*.{ts,tsx}\"",
|
|
36
|
+
"doc": "typedoc --out docs src",
|
|
37
|
+
"prepublish": "pnpm build",
|
|
38
|
+
"type-check": "tsc --noEmit",
|
|
39
|
+
"type-check:watch": "pnpm type-check --watch",
|
|
40
|
+
"build:types": "tsc --emitDeclarationOnly",
|
|
41
|
+
"build": "run-p -l clean build:types babel",
|
|
42
|
+
"babel": "babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline",
|
|
43
|
+
"watch": "pnpm build --watch",
|
|
44
|
+
"zeus": "zeus http://localhost:4000/graphql ./src --ts --es",
|
|
45
|
+
"prepare": "husky install",
|
|
46
|
+
"semantic-release": "semantic-release"
|
|
47
|
+
},
|
|
29
48
|
"devDependencies": {
|
|
30
|
-
"@babel/cli": "^7.
|
|
31
|
-
"@babel/core": "^7.
|
|
32
|
-
"@babel/plugin-proposal-class-properties": "^7.
|
|
33
|
-
"@babel/plugin-proposal-object-rest-spread": "^7.
|
|
49
|
+
"@babel/cli": "^7.20.7",
|
|
50
|
+
"@babel/core": "^7.20.7",
|
|
51
|
+
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
52
|
+
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
|
53
|
+
"@babel/plugin-proposal-private-methods": "^7.18.6",
|
|
34
54
|
"@babel/plugin-syntax-import-meta": "^7.10.4",
|
|
35
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
36
|
-
"@babel/plugin-transform-typescript": "^7.
|
|
37
|
-
"@babel/preset-env": "^7.
|
|
38
|
-
"@babel/preset-typescript": "^7.
|
|
39
|
-
"@commitlint/cli": "^17.0
|
|
40
|
-
"@commitlint/config-conventional": "^17.0
|
|
41
|
-
"@types/jest": "^
|
|
42
|
-
"@types/jsonwebtoken": "^
|
|
43
|
-
"@types/node": "^18.
|
|
55
|
+
"@babel/plugin-transform-runtime": "^7.19.1",
|
|
56
|
+
"@babel/plugin-transform-typescript": "^7.20.7",
|
|
57
|
+
"@babel/preset-env": "^7.20.2",
|
|
58
|
+
"@babel/preset-typescript": "^7.18.6",
|
|
59
|
+
"@commitlint/cli": "^17.4.0",
|
|
60
|
+
"@commitlint/config-conventional": "^17.4.0",
|
|
61
|
+
"@types/jest": "^29.2.5",
|
|
62
|
+
"@types/jsonwebtoken": "^9.0.0",
|
|
63
|
+
"@types/node": "^18.11.18",
|
|
44
64
|
"@types/shortid": "^0.0.29",
|
|
45
65
|
"@types/spark-md5": "^3.0.2",
|
|
46
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
47
|
-
"@typescript-eslint/parser": "^5.
|
|
48
|
-
"babel-loader": "^
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^5.47.1",
|
|
67
|
+
"@typescript-eslint/parser": "^5.47.1",
|
|
68
|
+
"babel-loader": "^9.1.0",
|
|
49
69
|
"babel-plugin-const-enum": "^1.2.0",
|
|
50
70
|
"cross-env": "^7.0.3",
|
|
51
|
-
"eslint": "^8.
|
|
71
|
+
"eslint": "^8.31.0",
|
|
52
72
|
"eslint-config-prettier": "^8.5.0",
|
|
53
|
-
"eslint-plugin-prettier": "^4.
|
|
54
|
-
"graphql-zeus": "^5.
|
|
55
|
-
"husky": "^8.0.
|
|
56
|
-
"jest": "^
|
|
73
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
74
|
+
"graphql-zeus": "^5.2.3",
|
|
75
|
+
"husky": "^8.0.3",
|
|
76
|
+
"jest": "^29.3.1",
|
|
77
|
+
"jest-environment-jsdom": "^29.3.1",
|
|
57
78
|
"jest-fetch-mock": "^3.0.3",
|
|
58
79
|
"npm-run-all": "^4.1.5",
|
|
59
|
-
"prettier": "^2.
|
|
80
|
+
"prettier": "^2.8.1",
|
|
60
81
|
"rimraf": "^3.0.2",
|
|
61
|
-
"
|
|
62
|
-
"ts-
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
82
|
+
"semantic-release": "^19.0.5",
|
|
83
|
+
"ts-jest": "^29.0.3",
|
|
84
|
+
"ts-node": "^10.9.1",
|
|
85
|
+
"tsup": "^6.5.0",
|
|
86
|
+
"typedoc": "^0.23.23",
|
|
87
|
+
"typedoc-plugin-missing-exports": "^1.0.0",
|
|
88
|
+
"typescript": "^4.9.4"
|
|
66
89
|
},
|
|
67
90
|
"dependencies": {
|
|
68
91
|
"@secrecy/lib-utils": "^1.0.18",
|
|
69
|
-
"@types/libsodium-wrappers": "^0.7.
|
|
70
|
-
"axios": "^
|
|
71
|
-
"bson": "^4.
|
|
72
|
-
"
|
|
73
|
-
"jsonwebtoken": "^
|
|
74
|
-
"ky": "^0.
|
|
92
|
+
"@types/libsodium-wrappers": "^0.7.10",
|
|
93
|
+
"axios": "^1.2.2",
|
|
94
|
+
"bson": "^4.7.0",
|
|
95
|
+
"ethers": "^5.7.2",
|
|
96
|
+
"jsonwebtoken": "^9.0.0",
|
|
97
|
+
"ky": "^0.33.1",
|
|
75
98
|
"libsodium-wrappers": "^0.7.10",
|
|
76
99
|
"shortid": "^2.2.16",
|
|
77
|
-
"spark-md5": "^3.0.2"
|
|
78
|
-
"webpack": "^5.73.0",
|
|
79
|
-
"@changesets/cli": "^2.22.0"
|
|
100
|
+
"spark-md5": "^3.0.2"
|
|
80
101
|
},
|
|
81
|
-
"packageManager": "pnpm@7.
|
|
82
|
-
|
|
83
|
-
"test": "cross-env NEXT_PUBLIC_SECRECY_API_URL=http://localhost:4000/graphql NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
|
|
84
|
-
"lint": "eslint \"./**/*.{ts,tsx}\"",
|
|
85
|
-
"format": "prettier --cache --write \"./**/*.{ts,tsx}\"",
|
|
86
|
-
"doc": "typedoc --out docs src",
|
|
87
|
-
"prepublish": "pnpm build",
|
|
88
|
-
"type-check": "tsc --noEmit",
|
|
89
|
-
"type-check:watch": "pnpm type-check --watch",
|
|
90
|
-
"build:types": "tsc --emitDeclarationOnly",
|
|
91
|
-
"clean": "rimraf dist",
|
|
92
|
-
"build": "run-p -l clean build:types babel",
|
|
93
|
-
"babel": "babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline",
|
|
94
|
-
"watch": "pnpm build --watch",
|
|
95
|
-
"zeus": "zeus http://localhost:4000/graphql ./src --ts --es",
|
|
96
|
-
"changeset": "changeset",
|
|
97
|
-
"changeset:version": "changeset version -r && pnpm i",
|
|
98
|
-
"changeset:release": "pnpm build && changeset publish"
|
|
99
|
-
}
|
|
100
|
-
}
|
|
102
|
+
"packageManager": "pnpm@7.22.0"
|
|
103
|
+
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { PlanKind, SecrecyEnv, SuccessResponse, User } from "../../index.js";
|
|
2
|
-
import { BaseClient } from "../../BaseClient.js";
|
|
3
|
-
import type { ErrorAccessDenied } from "../../error.js";
|
|
4
|
-
export declare type UserAdminPanel = User<{
|
|
5
|
-
withPublicKey: false;
|
|
6
|
-
}>;
|
|
7
|
-
export declare class AdminSecrecyClient extends BaseClient {
|
|
8
|
-
userList(search?: string | null | undefined): Promise<SuccessResponse<UserAdminPanel[]> | ErrorAccessDenied | null>;
|
|
9
|
-
changeUserPlan(userId: string, plan: PlanKind): Promise<SuccessResponse<UserAdminPanel> | ErrorAccessDenied | null>;
|
|
10
|
-
}
|
|
11
|
-
export declare function getSecrecyAdminClient(env: SecrecyEnv, session?: boolean | undefined): AdminSecrecyClient | null;
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
|
-
import { storeBuddy } from "../../utils/store-buddy.js";
|
|
3
|
-
import { BaseClient } from "../../BaseClient.js";
|
|
4
|
-
const userSelector = {
|
|
5
|
-
id: true,
|
|
6
|
-
firstname: true,
|
|
7
|
-
lastname: true,
|
|
8
|
-
lang: true,
|
|
9
|
-
email: true,
|
|
10
|
-
phone: true,
|
|
11
|
-
role: true,
|
|
12
|
-
deletedAt: true,
|
|
13
|
-
lastLogin: true
|
|
14
|
-
};
|
|
15
|
-
export class AdminSecrecyClient extends BaseClient {
|
|
16
|
-
async userList(search) {
|
|
17
|
-
const {
|
|
18
|
-
userList
|
|
19
|
-
} = await this.client("query", {
|
|
20
|
-
scalars: {
|
|
21
|
-
DateTime: {
|
|
22
|
-
decode: e => new Date(e),
|
|
23
|
-
encode: e => e.toISOString()
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
})({
|
|
27
|
-
userList: [{
|
|
28
|
-
search
|
|
29
|
-
}, {
|
|
30
|
-
"...on ErrorAccessDenied": {
|
|
31
|
-
__typename: true,
|
|
32
|
-
message: true
|
|
33
|
-
},
|
|
34
|
-
"...on UserListResponse": {
|
|
35
|
-
__typename: true,
|
|
36
|
-
userList: userSelector
|
|
37
|
-
}
|
|
38
|
-
}]
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
if (!userList) {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (userList.__typename === "ErrorAccessDenied") {
|
|
46
|
-
return userList;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
__typename: "SuccessResponse",
|
|
51
|
-
data: userList.userList
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
async changeUserPlan(userId, plan) {
|
|
56
|
-
const {
|
|
57
|
-
changeUserPlan
|
|
58
|
-
} = await this.client("mutation", {
|
|
59
|
-
scalars: {
|
|
60
|
-
DateTime: {
|
|
61
|
-
decode: e => new Date(e),
|
|
62
|
-
encode: e => e.toISOString()
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
})({
|
|
66
|
-
changeUserPlan: [{
|
|
67
|
-
userId,
|
|
68
|
-
plan
|
|
69
|
-
}, {
|
|
70
|
-
"...on ErrorAccessDenied": {
|
|
71
|
-
__typename: true,
|
|
72
|
-
message: true
|
|
73
|
-
},
|
|
74
|
-
"...on ChangeUserPlanResponse": {
|
|
75
|
-
__typename: true,
|
|
76
|
-
changeUserPlan: userSelector
|
|
77
|
-
}
|
|
78
|
-
}]
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
if (!changeUserPlan) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if (changeUserPlan.__typename === "ErrorAccessDenied") {
|
|
86
|
-
return changeUserPlan;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (!changeUserPlan.changeUserPlan) {
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return {
|
|
94
|
-
__typename: "SuccessResponse",
|
|
95
|
-
data: changeUserPlan.changeUserPlan
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
export function getSecrecyAdminClient(env, session) {
|
|
101
|
-
const userSession = storeBuddy("secrecy.user_session", session).init("");
|
|
102
|
-
const uaSession = userSession.load();
|
|
103
|
-
|
|
104
|
-
if (uaSession === "") {
|
|
105
|
-
return null;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return new AdminSecrecyClient(uaSession, env);
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiQmFzZUNsaWVudCIsInVzZXJTZWxlY3RvciIsImlkIiwiZmlyc3RuYW1lIiwibGFzdG5hbWUiLCJsYW5nIiwiZW1haWwiLCJwaG9uZSIsInJvbGUiLCJkZWxldGVkQXQiLCJsYXN0TG9naW4iLCJBZG1pblNlY3JlY3lDbGllbnQiLCJ1c2VyTGlzdCIsInNlYXJjaCIsImNsaWVudCIsInNjYWxhcnMiLCJEYXRlVGltZSIsImRlY29kZSIsImUiLCJEYXRlIiwiZW5jb2RlIiwidG9JU09TdHJpbmciLCJfX3R5cGVuYW1lIiwibWVzc2FnZSIsImRhdGEiLCJjaGFuZ2VVc2VyUGxhbiIsInVzZXJJZCIsInBsYW4iLCJnZXRTZWNyZWN5QWRtaW5DbGllbnQiLCJlbnYiLCJzZXNzaW9uIiwidXNlclNlc3Npb24iLCJpbml0IiwidWFTZXNzaW9uIiwibG9hZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvYWRtaW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgdHlwZSB7XG4gIFBsYW5LaW5kLFxuICBTZWNyZWN5RW52LFxuICBTdWNjZXNzUmVzcG9uc2UsXG4gIFVzZXJcbn0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBzdG9yZUJ1ZGR5IH0gZnJvbSBcIi4uLy4uL3V0aWxzL3N0b3JlLWJ1ZGR5LmpzXCI7XG5pbXBvcnQgeyBCYXNlQ2xpZW50IH0gZnJvbSBcIi4uLy4uL0Jhc2VDbGllbnQuanNcIjtcbmltcG9ydCB0eXBlIHsgRXJyb3JBY2Nlc3NEZW5pZWQgfSBmcm9tIFwiLi4vLi4vZXJyb3IuanNcIjtcblxuLyogVE9ET1xuLSBxdWVyeSBwb3VyIGxpc3RlciBsZXMgdXNlcnMgYXZlYyBwYWdpbmF0aW9uIGV0IGlucHV0IG9wdGlvbm5lbCBcInNlYXJjaFwiIGV0IGJvb2xlYW4gcG91ciBmaWx0cmVyIGxlcyBiYW5zXG4tIG11dGF0aW9uIGNoYW5nZXIgbGUgcGxhbiBkJ3VuIHVzZXIgKHNhbnMgcGF5ZXIgZHUgY291cClcbi0gcXVlcnkgcG91ciByZW52b3llciBsZXMgYXBwcyBkJ3VuIHVzZXJcbi0gcXVlcnkgcG91ciBkb25uZXIgbGVzIGxpbWl0ZXMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZG9ubmVyIGxlcyByZXBvcnRzIGQndW4gdXNlclxuLSBtdXRhdGlvbiBwb3VyIGJhbiB1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZ2V0IGxlcyBiYW5zIGQndW4gdXNlclxuLSBtdXRhdGlvbiBwb3VyIGRlbGV0ZSB1biB1c2VyIChkw6lqw6AgZXhpc3RhbnQ/KVxuLSBtdXRhdGlvbiBjaGFuZ2VyIGxlIHJvbGUgZHUgdXNlciAodXNlci9hZG1pbilcbi0gbXV0YXRpb24gcG91ciBkw6ljbyB1bmUgb3UgZGVzIHNlc3Npb25zIG1ldGEgb3UgYXBwIGQndW4gdXNlclxuLSBxdWVyeSBhZmZpY2hlciBsZXMgc2Vzc2lvbnMgbWV0YSBvdSBhcHAgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgZGVzIGluZm9zIHN1ciBsZSBjbG91ZCBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUsIHJlc3RvcmUsIGRlbGV0ZSB0cmFzaCwgZGFucyBsZSBjbG91ZCBkJ3VuIHVzZXJcbi0gcXVlcnkgcG91ciBhZmZpY2hlciBsZXMgaW5mb3Mgc3VyIGxlcyBtYWlscyBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUsIHJlc3RvcmUsIGRlbGV0ZSB0cmFzaCwgZGFucyBsZXMgbWFpbHMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgbGVzIGxpbWl0ZXMgbWF4IGV0IGFjdHVlbHMgZCd1biB1c2VyXG4tIHF1ZXJ5IGRlIHN0YXRzP1xuKi9cblxuZXhwb3J0IHR5cGUgVXNlckFkbWluUGFuZWwgPSBVc2VyPHsgd2l0aFB1YmxpY0tleTogZmFsc2UgfT47XG5jb25zdCB1c2VyU2VsZWN0b3IgPSB7XG4gIGlkOiB0cnVlLFxuICBmaXJzdG5hbWU6IHRydWUsXG4gIGxhc3RuYW1lOiB0cnVlLFxuICBsYW5nOiB0cnVlLFxuICBlbWFpbDogdHJ1ZSxcbiAgcGhvbmU6IHRydWUsXG4gIHJvbGU6IHRydWUsXG4gIGRlbGV0ZWRBdDogdHJ1ZSxcbiAgbGFzdExvZ2luOiB0cnVlXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY2xhc3MgQWRtaW5TZWNyZWN5Q2xpZW50IGV4dGVuZHMgQmFzZUNsaWVudCB7XG4gIGFzeW5jIHVzZXJMaXN0KFxuICAgIHNlYXJjaD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlckFkbWluUGFuZWxbXT4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGw+IHtcbiAgICBjb25zdCB7IHVzZXJMaXN0IH0gPSBhd2FpdCB0aGlzLmNsaWVudChcInF1ZXJ5XCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgdXNlckxpc3Q6IFtcbiAgICAgICAge1xuICAgICAgICAgIHNlYXJjaFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBVc2VyTGlzdFJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICB1c2VyTGlzdDogdXNlclNlbGVjdG9yXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXJMaXN0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodXNlckxpc3QuX190eXBlbmFtZSA9PT0gXCJFcnJvckFjY2Vzc0RlbmllZFwiKSB7XG4gICAgICByZXR1cm4gdXNlckxpc3Q7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiB1c2VyTGlzdC51c2VyTGlzdFxuICAgIH07XG4gIH1cblxuICBhc3luYyBjaGFuZ2VVc2VyUGxhbihcbiAgICB1c2VySWQ6IHN0cmluZyxcbiAgICBwbGFuOiBQbGFuS2luZFxuICApOiBQcm9taXNlPFN1Y2Nlc3NSZXNwb25zZTxVc2VyQWRtaW5QYW5lbD4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGw+IHtcbiAgICBjb25zdCB7IGNoYW5nZVVzZXJQbGFuIH0gPSBhd2FpdCB0aGlzLmNsaWVudChcIm11dGF0aW9uXCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgY2hhbmdlVXNlclBsYW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgICBwbGFuXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIENoYW5nZVVzZXJQbGFuUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGNoYW5nZVVzZXJQbGFuOiB1c2VyU2VsZWN0b3JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGlmICghY2hhbmdlVXNlclBsYW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VVc2VyUGxhbi5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VVc2VyUGxhbjtcbiAgICB9XG5cbiAgICBpZiAoIWNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IGNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VjcmVjeUFkbWluQ2xpZW50KFxuICBlbnY6IFNlY3JlY3lFbnYsXG4gIHNlc3Npb24/OiBib29sZWFuIHwgdW5kZWZpbmVkXG4pOiBBZG1pblNlY3JlY3lDbGllbnQgfCBudWxsIHtcbiAgY29uc3QgdXNlclNlc3Npb24gPSBzdG9yZUJ1ZGR5PHN0cmluZz4oYHNlY3JlY3kudXNlcl9zZXNzaW9uYCwgc2Vzc2lvbikuaW5pdChcbiAgICBcIlwiXG4gICk7XG4gIGNvbnN0IHVhU2Vzc2lvbiA9IHVzZXJTZXNzaW9uLmxvYWQoKTtcbiAgaWYgKHVhU2Vzc2lvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBBZG1pblNlY3JlY3lDbGllbnQodWFTZXNzaW9uLCBlbnYpO1xufVxuIl0sIm1hcHBp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
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
declare class Worker {
|
|
2
|
-
url: string | URL;
|
|
3
|
-
onconnect: () => void;
|
|
4
|
-
onmessageerror: () => void;
|
|
5
|
-
postMessage: () => void;
|
|
6
|
-
terminate: () => void;
|
|
7
|
-
onerror: () => void;
|
|
8
|
-
onmessage: () => void;
|
|
9
|
-
addEventListener: () => void;
|
|
10
|
-
removeEventListener: () => void;
|
|
11
|
-
dispatchEvent: () => boolean;
|
|
12
|
-
port: {
|
|
13
|
-
start: () => void;
|
|
14
|
-
postMessage: () => void;
|
|
15
|
-
onmessage: () => void;
|
|
16
|
-
};
|
|
17
|
-
constructor(stringUrl: string | URL);
|
|
18
|
-
}
|
|
19
|
-
export default Worker;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// ici tu ne devrais pas faire des void, tu devrais definir des function JEST
|
|
2
|
-
// ex: { addEventListener: jest.fn() }; jest.fn() -> ca te sers pour spy ( voir si tu la call etc )
|
|
3
|
-
class Worker {
|
|
4
|
-
constructor(stringUrl) {
|
|
5
|
-
// super();
|
|
6
|
-
this.url = stringUrl;
|
|
7
|
-
|
|
8
|
-
this.addEventListener = () => {//
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
this.removeEventListener = () => {//
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
this.dispatchEvent = () => {
|
|
15
|
-
return true;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
this.onconnect = () => {//
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
this.onmessageerror = () => {//
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
this.postMessage = () => {//
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
this.terminate = () => {//
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
this.onerror = () => {//
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
this.onmessage = () => {//
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
this.port = {
|
|
37
|
-
start: () => {//
|
|
38
|
-
},
|
|
39
|
-
postMessage: () => {//
|
|
40
|
-
},
|
|
41
|
-
onmessage: () => {//
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export default Worker;
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJXb3JrZXIiLCJjb25zdHJ1Y3RvciIsInN0cmluZ1VybCIsInVybCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlzcGF0Y2hFdmVudCIsIm9uY29ubmVjdCIsIm9ubWVzc2FnZWVycm9yIiwicG9zdE1lc3NhZ2UiLCJ0ZXJtaW5hdGUiLCJvbmVycm9yIiwib25tZXNzYWdlIiwicG9ydCIsInN0YXJ0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dvcmtlci9fX21vY2tfXy9zb2RpdW0ud29ya2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGljaSB0dSBuZSBkZXZyYWlzIHBhcyBmYWlyZSBkZXMgdm9pZCwgdHUgZGV2cmFpcyBkZWZpbmlyIGRlcyBmdW5jdGlvbiBKRVNUXG4vLyBleDogeyBhZGRFdmVudExpc3RlbmVyOiBqZXN0LmZuKCkgfTsgIGplc3QuZm4oKSAtPiBjYSB0ZSBzZXJzIHBvdXIgc3B5ICggdm9pciBzaSB0dSBsYSBjYWxsIGV0YyApXG5jbGFzcyBXb3JrZXIge1xuICB1cmw6IHN0cmluZyB8IFVSTDtcblxuICBvbmNvbm5lY3Q6ICgpID0+IHZvaWQ7XG5cbiAgb25tZXNzYWdlZXJyb3I6ICgpID0+IHZvaWQ7XG5cbiAgcG9zdE1lc3NhZ2U6ICgpID0+IHZvaWQ7XG5cbiAgdGVybWluYXRlOiAoKSA9PiB2b2lkO1xuXG4gIG9uZXJyb3I6ICgpID0+IHZvaWQ7XG5cbiAgb25tZXNzYWdlOiAoKSA9PiB2b2lkO1xuXG4gIGFkZEV2ZW50TGlzdGVuZXI6ICgpID0+IHZvaWQ7XG5cbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICBkaXNwYXRjaEV2ZW50OiAoKSA9PiBib29sZWFuO1xuXG4gIHBvcnQ6IHtcbiAgICBzdGFydDogKCkgPT4gdm9pZDtcbiAgICBwb3N0TWVzc2FnZTogKCkgPT4gdm9pZDtcbiAgICBvbm1lc3NhZ2U6ICgpID0+IHZvaWQ7XG4gIH07XG5cbiAgY29uc3RydWN0b3Ioc3RyaW5nVXJsOiBzdHJpbmcgfCBVUkwpIHtcbiAgICAvLyBzdXBlcigpO1xuICAgIHRoaXMudXJsID0gc3RyaW5nVXJsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lciA9ICgpOiB2b2lkID0+IHtcbiAgICAgIC8vXG4gICAgfTtcbiAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAvL1xuICAgIH07XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50ID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgICB0aGlzLm9uY29ubmVjdCA9ICgpOiB2b2lkID0+IHtcbiAgICAgIC8vXG4gICAgfTtcbiAgICB0aGlzLm9ubWVzc2FnZWVycm9yID0gKCk6IHZvaWQgPT4ge1xuICAgICAgLy9cbiAgICB9O1xuICAgIHRoaXMucG9zdE1lc3NhZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICAvL1xuICAgIH07XG4gICAgdGhpcy50ZXJtaW5hdGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAvL1xuICAgIH07XG4gICAgdGhpcy5vbmVycm9yID0gKCk6IHZvaWQgPT4ge1xuICAgICAgLy9cbiAgICB9O1xuICAgIHRoaXMub25tZXNzYWdlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgLy9cbiAgICB9O1xuXG4gICAgdGhpcy5wb3J0ID0ge1xuICAgICAgc3RhcnQ6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgLy9cbiAgICAgIH0sXG4gICAgICBwb3N0TWVzc2FnZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICAvL1xuICAgICAgfSxcbiAgICAgIG9ubWVzc2FnZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICAvL1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgV29ya2VyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsTUFBTUEsTUFBTixDQUFhO0VBMkJYQyxXQUFXLENBQUNDLFNBQUQsRUFBMEI7SUFDbkM7SUFDQSxLQUFLQyxHQUFMLEdBQVdELFNBQVg7O0lBQ0EsS0FBS0UsZ0JBQUwsR0FBd0IsTUFBWSxDQUNsQztJQUNELENBRkQ7O0lBR0EsS0FBS0MsbUJBQUwsR0FBMkIsTUFBWSxDQUNyQztJQUNELENBRkQ7O0lBR0EsS0FBS0MsYUFBTCxHQUFxQixNQUFlO01BQ2xDLE9BQU8sSUFBUDtJQUNELENBRkQ7O0lBR0EsS0FBS0MsU0FBTCxHQUFpQixNQUFZLENBQzNCO0lBQ0QsQ0FGRDs7SUFHQSxLQUFLQyxjQUFMLEdBQXNCLE1BQVksQ0FDaEM7SUFDRCxDQUZEOztJQUdBLEtBQUtDLFdBQUwsR0FBbUIsTUFBWSxDQUM3QjtJQUNELENBRkQ7O0lBR0EsS0FBS0MsU0FBTCxHQUFpQixNQUFZLENBQzNCO0lBQ0QsQ0FGRDs7SUFHQSxLQUFLQyxPQUFMLEdBQWUsTUFBWSxDQUN6QjtJQUNELENBRkQ7O0lBR0EsS0FBS0MsU0FBTCxHQUFpQixNQUFZLENBQzNCO0lBQ0QsQ0FGRDs7SUFJQSxLQUFLQyxJQUFMLEdBQVk7TUFDVkMsS0FBSyxFQUFFLE1BQVksQ0FDakI7TUFDRCxDQUhTO01BSVZMLFdBQVcsRUFBRSxNQUFZLENBQ3ZCO01BQ0QsQ0FOUztNQU9WRyxTQUFTLEVBQUUsTUFBWSxDQUNyQjtNQUNEO0lBVFMsQ0FBWjtFQVdEOztBQXJFVTs7QUF3RWIsZUFBZVosTUFBZiJ9
|