@kirill.konshin/core 0.0.1 → 0.0.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/.ctirc +19 -10
- package/.turbo/turbo-build.log +15 -19
- package/.turbo/turbo-test.log +25 -91
- package/CHANGELOG.md +14 -0
- package/README.md +1 -91
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -22
- package/dist/index.js.map +1 -1
- package/dist/mutex.d.ts +2 -2
- package/dist/mutex.d.ts.map +1 -1
- package/dist/mutex.js.map +1 -1
- package/package.json +9 -5
- package/src/index.ts +0 -6
- package/src/mutex.ts +2 -2
- package/dist/files.d.ts +0 -4
- package/dist/files.d.ts.map +0 -1
- package/dist/files.js +0 -28
- package/dist/files.js.map +0 -1
- package/dist/ls.d.ts +0 -6
- package/dist/ls.d.ts.map +0 -1
- package/dist/ls.js +0 -12
- package/dist/ls.js.map +0 -1
- package/dist/measure.d.ts +0 -35
- package/dist/measure.d.ts.map +0 -1
- package/dist/measure.js +0 -60
- package/dist/measure.js.map +0 -1
- package/dist/worker.d.ts +0 -98
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js +0 -226
- package/dist/worker.js.map +0 -1
- package/dist/worker.test.d.ts +0 -2
- package/dist/worker.test.d.ts.map +0 -1
- package/dist/workerUtils.d.ts +0 -3
- package/dist/workerUtils.d.ts.map +0 -1
- package/dist/workerUtils.js +0 -31
- package/dist/workerUtils.js.map +0 -1
- package/dist/wrpc.d.ts +0 -45
- package/dist/wrpc.d.ts.map +0 -1
- package/dist/wrpc.fixture.d.ts +0 -26
- package/dist/wrpc.fixture.d.ts.map +0 -1
- package/dist/wrpc.js +0 -241
- package/dist/wrpc.js.map +0 -1
- package/dist/wrpc.test.d.ts +0 -1
- package/dist/wrpc.test.d.ts.map +0 -1
- package/src/files.ts +0 -29
- package/src/ls.ts +0 -15
- package/src/measure.ts +0 -109
- package/src/worker.test.ts +0 -197
- package/src/worker.ts +0 -347
- package/src/workerUtils.ts +0 -32
- package/src/wrpc.fixture.ts +0 -106
- package/src/wrpc.test.ts +0 -225
- package/src/wrpc.ts +0 -377
package/.ctirc
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
"options": [
|
|
3
|
+
{
|
|
4
|
+
"mode": "create",
|
|
5
|
+
"project": "tsconfig.json",
|
|
6
|
+
"include": "src/**/*.{ts,tsx}",
|
|
7
|
+
"exclude": [
|
|
8
|
+
"**/*.stories.*",
|
|
9
|
+
"**/*.test.*",
|
|
10
|
+
"**/*.fixture.*"
|
|
11
|
+
],
|
|
12
|
+
"startFrom": "src",
|
|
13
|
+
"backup": false,
|
|
14
|
+
"overwrite": true,
|
|
15
|
+
"generationStyle": "default-alias-named-star",
|
|
16
|
+
"output": "src",
|
|
17
|
+
"verbose": true
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,26 +1,22 @@
|
|
|
1
1
|
[36mvite v7.0.6 [32mbuilding SSR bundle for production...[36m[39m
|
|
2
|
-
create
|
|
2
|
+
- ctix 'create' mode start, ...
|
|
3
|
+
✔ /home/runner/work/utils/utils/packages/core/tsconfig.json loading complete!
|
|
4
|
+
✔ analysis export statements completed!
|
|
5
|
+
- build "index.ts" file start
|
|
6
|
+
- output file exists check, ...
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
✔ ctix 'create' mode complete!
|
|
3
10
|
transforming...
|
|
4
|
-
[32m✓[39m
|
|
11
|
+
[32m✓[39m 4 modules transformed.
|
|
5
12
|
rendering chunks...
|
|
6
13
|
|
|
7
14
|
[vite:dts] Start generate declaration files...
|
|
8
|
-
[
|
|
9
|
-
|
|
10
|
-
[
|
|
11
|
-
[
|
|
12
|
-
|
|
13
|
-
[2mdist/[22m[36merrors.js [39m[1m[2m0.33 kB[22m[1m[22m[2m │ map: 0.90 kB[22m
|
|
14
|
-
[2mdist/[22m[36mmutex.js [39m[1m[2m0.40 kB[22m[1m[22m[2m │ map: 1.18 kB[22m
|
|
15
|
-
[2mdist/[22m[36mls.js [39m[1m[2m0.44 kB[22m[1m[22m[2m │ map: 1.05 kB[22m
|
|
16
|
-
[2mdist/[22m[36mfiles.js [39m[1m[2m0.84 kB[22m[1m[22m[2m │ map: 1.89 kB[22m
|
|
17
|
-
[2mdist/[22m[36mindex.js [39m[1m[2m0.92 kB[22m[1m[22m[2m │ map: 0.10 kB[22m
|
|
18
|
-
[2mdist/[22m[36mworkerUtils.js [39m[1m[2m0.97 kB[22m[1m[22m[2m │ map: 1.82 kB[22m
|
|
19
|
-
[2mdist/[22m[36mmeasure.js [39m[1m[2m1.44 kB[22m[1m[22m[2m │ map: 4.08 kB[22m
|
|
20
|
-
[2mdist/[22m[36mcache.js [39m[1m[2m2.92 kB[22m[1m[22m[2m │ map: 10.21 kB[22m
|
|
21
|
-
[2mdist/[22m[36mworker.js [39m[1m[2m7.06 kB[22m[1m[22m[2m │ map: 16.69 kB[22m
|
|
22
|
-
[2mdist/[22m[36mwrpc.js [39m[1m[2m8.73 kB[22m[1m[22m[2m │ map: 20.98 kB[22m
|
|
23
|
-
[vite:dts] Declaration files built in 1945ms.
|
|
15
|
+
[2mdist/[22m[36mindex.js [39m[1m[2m0.32 kB[22m[1m[22m[2m │ map: 0.09 kB[22m
|
|
16
|
+
[2mdist/[22m[36merrors.js [39m[1m[2m0.33 kB[22m[1m[22m[2m │ map: 0.90 kB[22m
|
|
17
|
+
[2mdist/[22m[36mmutex.js [39m[1m[2m0.40 kB[22m[1m[22m[2m │ map: 1.21 kB[22m
|
|
18
|
+
[2mdist/[22m[36mcache.js [39m[1m[2m2.92 kB[22m[1m[22m[2m │ map: 10.21 kB[22m
|
|
19
|
+
[vite:dts] Declaration files built in 1584ms.
|
|
24
20
|
|
|
25
|
-
[32m✓ built in
|
|
21
|
+
[32m✓ built in 4.67s[39m
|
|
26
22
|
Updated package.json with exports
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,103 +1,37 @@
|
|
|
1
|
-
create
|
|
1
|
+
- ctix 'create' mode start, ...
|
|
2
|
+
✔ /home/runner/work/utils/utils/packages/core/tsconfig.json loading complete!
|
|
3
|
+
✔ analysis export statements completed!
|
|
4
|
+
- build "index.ts" file start
|
|
5
|
+
- output file exists check, ...
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
✔ ctix 'create' mode complete!
|
|
2
9
|
|
|
3
10
|
[1m[46m RUN [49m[22m [36mv3.2.4 [39m[90m/home/runner/work/utils/utils/packages/core[39m
|
|
4
11
|
[2mCoverage enabled with [22m[33mv8[39m
|
|
5
12
|
|
|
6
|
-
[90mstderr[2m | src/wrpc.test.ts
|
|
7
|
-
[22m[39mUsing an object as a third argument is deprecated. Vitest 4 will throw an error if the third argument is not a timeout number. Please use the second argument for options. See more at https://vitest.dev/guide/migration
|
|
8
|
-
|
|
9
13
|
[90mstdout[2m | src/cache.test.ts[2m > [22m[2mTransformerMap[2m > [22m[2mkey transform
|
|
10
14
|
[22m[39mCLEAR cache test
|
|
11
15
|
|
|
12
|
-
[
|
|
13
|
-
[22m[39mDATA [33m1[39m
|
|
14
|
-
|
|
15
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of return yield
|
|
16
|
-
[22m[39mDATA [33m2[39m
|
|
17
|
-
|
|
18
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of return yield
|
|
19
|
-
[22m[39mDATA [33m3[39m
|
|
20
|
-
|
|
21
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of return yield
|
|
22
|
-
[22m[39mDATA { value: [33m1[39m, done: [33mfalse[39m }
|
|
23
|
-
|
|
24
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of return yield
|
|
25
|
-
[22m[39mDATA { value: [33m2[39m, done: [33mfalse[39m }
|
|
26
|
-
|
|
27
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of return yield
|
|
28
|
-
[22m[39mDATA { value: [33m3[39m, done: [33mfalse[39m }
|
|
29
|
-
|
|
30
|
-
[32m✓[39m src/cache.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 13[2mms[22m[39m
|
|
31
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of return yield
|
|
32
|
-
[22m[39mDATA { value: [90mundefined[39m, done: [33mtrue[39m }
|
|
33
|
-
|
|
34
|
-
[32m✓[39m src/worker.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 13[2mms[22m[39m
|
|
35
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of separate return & yield
|
|
36
|
-
[22m[39mDATA { progress: [33m0[39m }
|
|
37
|
-
|
|
38
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of separate return & yield
|
|
39
|
-
[22m[39mDATA { progress: [33m0.5[39m }
|
|
40
|
-
|
|
41
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mfor await ... of separate return & yield
|
|
42
|
-
[22m[39mDATA { progress: [33m1[39m, aborted: [33mfalse[39m }
|
|
43
|
-
|
|
44
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mdo ... while
|
|
45
|
-
[22m[39mDATA { value: { progress: [33m0[39m }, done: [33mfalse[39m }
|
|
46
|
-
|
|
47
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mdo ... while
|
|
48
|
-
[22m[39mDATA { value: { progress: [33m0.5[39m }, done: [33mfalse[39m }
|
|
49
|
-
|
|
50
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mdo ... while
|
|
51
|
-
[22m[39mDATA { value: { progress: [33m1[39m, aborted: [33mfalse[39m }, done: [33mfalse[39m }
|
|
52
|
-
|
|
53
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mdo ... while
|
|
54
|
-
[22m[39mDATA { value: [32m'foo'[39m, done: [33mtrue[39m }
|
|
55
|
-
|
|
56
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mbreak
|
|
57
|
-
[22m[39mDATA { progress: [33m0[39m }
|
|
58
|
-
|
|
59
|
-
[90mstdout[2m | src/wrpc.test.ts[2m > [22m[2mWRPC[2m > [22m[2mabort
|
|
60
|
-
[22m[39mDATA { progress: [33m0[39m }
|
|
61
|
-
|
|
62
|
-
[32m✓[39m src/wrpc.test.ts [2m([22m[2m13 tests[22m[2m | [22m[33m1 skipped[39m[2m)[22m[33m 719[2mms[22m[39m
|
|
63
|
-
[33m[2m✓[22m[39m WRPC[2m > [22mstop [33m 503[2mms[22m[39m
|
|
64
|
-
Failed to convert coverage for file:///home/runner/work/utils/utils/packages/core/src/wrpc.ts.
|
|
65
|
-
TypeError: Cannot read properties of undefined (reading 'endCol')
|
|
66
|
-
at range.sliceRange (file:///home/runner/work/utils/utils/node_modules/@vitest/coverage-v8/dist/provider.js:556:55)
|
|
67
|
-
at CovSource.offsetToOriginalRelative (file:///home/runner/work/utils/utils/node_modules/@vitest/coverage-v8/dist/provider.js:1987:20)
|
|
68
|
-
at V8ToIstanbul._maybeRemapStartColEndCol (file:///home/runner/work/utils/utils/node_modules/@vitest/coverage-v8/dist/provider.js:2396:93)
|
|
69
|
-
at file:///home/runner/work/utils/utils/node_modules/@vitest/coverage-v8/dist/provider.js:2305:61
|
|
70
|
-
at Array.forEach (<anonymous>)
|
|
71
|
-
at file:///home/runner/work/utils/utils/node_modules/@vitest/coverage-v8/dist/provider.js:2303:21
|
|
72
|
-
at Array.forEach (<anonymous>)
|
|
73
|
-
at V8ToIstanbul.applyCoverage (file:///home/runner/work/utils/utils/node_modules/@vitest/coverage-v8/dist/provider.js:2302:13)
|
|
74
|
-
at V8CoverageProvider.v8ToIstanbul (file:///home/runner/work/utils/utils/node_modules/@vitest/coverage-v8/dist/provider.js:2732:14)
|
|
75
|
-
at async file:///home/runner/work/utils/utils/node_modules/@vitest/coverage-v8/dist/provider.js:2825:23
|
|
16
|
+
[32m✓[39m src/cache.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 11[2mms[22m[39m
|
|
76
17
|
|
|
77
|
-
[2m Test Files [22m [1m[
|
|
78
|
-
[2m Tests [22m [1m[
|
|
79
|
-
[2m Start at [22m
|
|
80
|
-
[2m Duration [22m
|
|
18
|
+
[2m Test Files [22m [1m[32m1 passed[39m[22m[90m (1)[39m
|
|
19
|
+
[2m Tests [22m [1m[32m4 passed[39m[22m[90m (4)[39m
|
|
20
|
+
[2m Start at [22m 08:45:48
|
|
21
|
+
[2m Duration [22m 438ms[2m (transform 47ms, setup 0ms, collect 42ms, tests 11ms, environment 0ms, prepare 81ms)[22m
|
|
81
22
|
|
|
82
23
|
[34m % [39m[2mCoverage report from [22m[33mv8[39m
|
|
83
|
-
|
|
84
|
-
File
|
|
85
|
-
|
|
86
|
-
All files
|
|
87
|
-
demo
|
|
88
|
-
worker-demo.ts
|
|
89
|
-
src
|
|
90
|
-
cache.ts
|
|
91
|
-
errors.ts
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
measure.ts | 0 | 0 | 0 | 0 | 1-109
|
|
96
|
-
mutex.ts | 0 | 100 | 100 | 0 | 3-22
|
|
97
|
-
worker.ts | 100 | 98.71 | 100 | 100 | 57
|
|
98
|
-
workerUtils.ts | 100 | 75 | 100 | 100 | 17,22,26,29
|
|
99
|
-
wrpc.fixture.ts | 81.81 | 78.57 | 75 | 81.81 | 70,73-76,95-99
|
|
100
|
-
wrpc.ts | 100 | 100 | 100 | 100 |
|
|
101
|
-
------------------|---------|----------|---------|---------|--------------------
|
|
24
|
+
-----------------|---------|----------|---------|---------|---------------------
|
|
25
|
+
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
|
|
26
|
+
-----------------|---------|----------|---------|---------|---------------------
|
|
27
|
+
All files | 42.85 | 84.84 | 55 | 42.85 |
|
|
28
|
+
demo | 0 | 0 | 0 | 0 |
|
|
29
|
+
worker-demo.ts | 0 | 0 | 0 | 0 | 1-73
|
|
30
|
+
src | 59.09 | 87.5 | 57.89 | 59.09 |
|
|
31
|
+
cache.ts | 81.25 | 89.65 | 56.25 | 81.25 | ...,200-201,224-225
|
|
32
|
+
errors.ts | 0 | 100 | 100 | 0 | 2-17
|
|
33
|
+
index.ts | 0 | 0 | 0 | 0 | 1-3
|
|
34
|
+
mutex.ts | 0 | 100 | 100 | 0 | 3-22
|
|
35
|
+
-----------------|---------|----------|---------|---------|---------------------
|
|
102
36
|
Updated package.json with exports
|
|
103
37
|
Updated package.json with exports
|
package/CHANGELOG.md
ADDED
package/README.md
CHANGED
|
@@ -1,91 +1 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
TODO
|
|
4
|
-
|
|
5
|
-
- [ ] Add to readme https://stackoverflow.com/questions/77727664/how-to-get-returned-value-from-async-generator-when-using-for-await
|
|
6
|
-
- [ ] Value passed to next are ignored https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator/next#sending_values_to_the_generator
|
|
7
|
-
|
|
8
|
-
```mermaid
|
|
9
|
-
sequenceDiagram
|
|
10
|
-
box Main
|
|
11
|
-
participant Code
|
|
12
|
-
participant Caller
|
|
13
|
-
end
|
|
14
|
-
box Worker
|
|
15
|
-
participant Worker
|
|
16
|
-
participant Resolver
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
%% autonumber
|
|
20
|
-
|
|
21
|
-
Code->>Caller: caller.generator(payload)
|
|
22
|
-
|
|
23
|
-
Caller-->>Code: iterator & promise
|
|
24
|
-
|
|
25
|
-
Code->>Code: Start main CONSUMER loop
|
|
26
|
-
|
|
27
|
-
Code->>Caller: iterator[Symbol]()
|
|
28
|
-
|
|
29
|
-
Caller->>Caller: Start replica GENERATOR loop
|
|
30
|
-
|
|
31
|
-
Code->>Caller: iterator.next()
|
|
32
|
-
|
|
33
|
-
Caller->>Worker: postMessage(payload)
|
|
34
|
-
|
|
35
|
-
Worker->>Resolver: resolver(payload)
|
|
36
|
-
|
|
37
|
-
Resolver-->>Worker: iterator
|
|
38
|
-
|
|
39
|
-
Worker->>Worker: Start replica CONSUMER loop
|
|
40
|
-
|
|
41
|
-
Worker->>Resolver: iterator[Symbol]()
|
|
42
|
-
|
|
43
|
-
Resolver->>Resolver: Start GENERATOR loop
|
|
44
|
-
|
|
45
|
-
rect rgb(232, 244, 248)
|
|
46
|
-
|
|
47
|
-
loop Synchronized iteration
|
|
48
|
-
Worker->>+Resolver: iterator.next(payload)
|
|
49
|
-
|
|
50
|
-
Resolver-->>-Worker: yield value
|
|
51
|
-
|
|
52
|
-
Worker-->>Caller: postMessage(value, done=false)
|
|
53
|
-
|
|
54
|
-
Note over Worker: Wait for ACK or ABORT
|
|
55
|
-
|
|
56
|
-
Caller-->>Code: yield value
|
|
57
|
-
|
|
58
|
-
Code->>Caller: iterator.next(nextPayload)
|
|
59
|
-
|
|
60
|
-
Caller->>Worker: postMessage(ack, nextPayload)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
break Break or AbortSignal (maybe)
|
|
66
|
-
Code-->>Code: Loop exits
|
|
67
|
-
Code->>Caller: signal.abort()
|
|
68
|
-
|
|
69
|
-
Caller-->>Caller: Loop exits
|
|
70
|
-
|
|
71
|
-
Caller->>Worker: postMessage(abort)
|
|
72
|
-
|
|
73
|
-
Worker-->>Worker: Loop exits via Break
|
|
74
|
-
|
|
75
|
-
Resolver-->>Resolver: Loop exits
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
opt Occurs on Error
|
|
79
|
-
Resolver-->>Worker: throw Error
|
|
80
|
-
|
|
81
|
-
Worker-->>Caller: postMessage(error, done=true)
|
|
82
|
-
|
|
83
|
-
Caller-->>Code: throw Error
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
Resolver-->>Worker: return value
|
|
87
|
-
|
|
88
|
-
Worker-->>Caller: postMessage(value, done=true)
|
|
89
|
-
|
|
90
|
-
Caller-->>Code: return value
|
|
91
|
-
```
|
|
1
|
+
# Core Utils
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
export * from './cache';
|
|
2
2
|
export * from './errors';
|
|
3
|
-
export * from './files';
|
|
4
|
-
export * from './ls';
|
|
5
|
-
export * from './measure';
|
|
6
3
|
export * from './mutex';
|
|
7
|
-
export * from './worker';
|
|
8
|
-
export * from './workerUtils';
|
|
9
|
-
export * from './wrpc';
|
|
10
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,35 +1,14 @@
|
|
|
1
1
|
import { ANY, TransformerMap, createTracker, equal, memo, shallowCompare } from "./cache.js";
|
|
2
2
|
import { catchErrors } from "./errors.js";
|
|
3
|
-
import { createFile, downloadFile, openFile } from "./files.js";
|
|
4
|
-
import { getStorage } from "./ls.js";
|
|
5
|
-
import { colored, createMeasurer, uncolored } from "./measure.js";
|
|
6
3
|
import { Mutex } from "./mutex.js";
|
|
7
|
-
import { RespondersBase, WorkerDialog } from "./worker.js";
|
|
8
|
-
import { getTransferrable, isTransferable } from "./workerUtils.js";
|
|
9
|
-
import { LogLevel, deriveController, rejectOnSignal, wrpc } from "./wrpc.js";
|
|
10
4
|
export {
|
|
11
5
|
ANY,
|
|
12
|
-
LogLevel,
|
|
13
6
|
Mutex,
|
|
14
|
-
RespondersBase,
|
|
15
7
|
TransformerMap,
|
|
16
|
-
WorkerDialog,
|
|
17
8
|
catchErrors,
|
|
18
|
-
colored,
|
|
19
|
-
createFile,
|
|
20
|
-
createMeasurer,
|
|
21
9
|
createTracker,
|
|
22
|
-
deriveController,
|
|
23
|
-
downloadFile,
|
|
24
10
|
equal,
|
|
25
|
-
getStorage,
|
|
26
|
-
getTransferrable,
|
|
27
|
-
isTransferable,
|
|
28
11
|
memo,
|
|
29
|
-
|
|
30
|
-
rejectOnSignal,
|
|
31
|
-
shallowCompare,
|
|
32
|
-
uncolored,
|
|
33
|
-
wrpc
|
|
12
|
+
shallowCompare
|
|
34
13
|
};
|
|
35
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/dist/mutex.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare class Mutex {
|
|
2
2
|
private promise;
|
|
3
|
-
exec
|
|
4
|
-
wrap
|
|
3
|
+
exec<T extends (...args: any) => any>(fn: T): Promise<ReturnType<T>>;
|
|
4
|
+
wrap<T extends (...args: any) => any>(fn: T): () => Promise<ReturnType<T>>;
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=mutex.d.ts.map
|
package/dist/mutex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutex.d.ts","sourceRoot":"","sources":["../src/mutex.ts"],"names":[],"mappings":"AAEA,qBAAa,KAAK;IACd,OAAO,CAAC,OAAO,CAAqB;IAE7B,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"mutex.d.ts","sourceRoot":"","sources":["../src/mutex.ts"],"names":[],"mappings":"AAEA,qBAAa,KAAK;IACd,OAAO,CAAC,OAAO,CAAqB;IAE7B,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAapE,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAGpF"}
|
package/dist/mutex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutex.js","sources":["../src/mutex.ts"],"sourcesContent":["//TODO Implement queue with ranking & sorting\n//TODO https://github.com/sindresorhus/p-queue\nexport class Mutex {\n private promise = Promise.resolve();\n\n public exec
|
|
1
|
+
{"version":3,"file":"mutex.js","sources":["../src/mutex.ts"],"sourcesContent":["//TODO Implement queue with ranking & sorting\n//TODO https://github.com/sindresorhus/p-queue\nexport class Mutex {\n private promise = Promise.resolve();\n\n public exec<T extends (...args: any) => any>(fn: T): Promise<ReturnType<T>> {\n return new Promise((resolve, reject) => {\n // wrap in always successful function\n this.promise = this.promise.then(async () => {\n try {\n resolve(await fn());\n } catch (e) {\n reject(e);\n }\n });\n });\n }\n\n public wrap<T extends (...args: any) => any>(fn: T): () => Promise<ReturnType<T>> {\n return (...args: any) => this.exec(() => fn(...args));\n }\n}\n"],"names":[],"mappings":"AAEO,MAAM,MAAM;AAAA,EACP,UAAU,QAAQ,QAAA;AAAA,EAEnB,KAAsC,IAA+B;AACxE,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAEpC,WAAK,UAAU,KAAK,QAAQ,KAAK,YAAY;AACzC,YAAI;AACA,kBAAQ,MAAM,IAAI;AAAA,QACtB,SAAS,GAAG;AACR,iBAAO,CAAC;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EAEO,KAAsC,IAAqC;AAC9E,WAAO,IAAI,SAAc,KAAK,KAAK,MAAM,GAAG,GAAG,IAAI,CAAC;AAAA,EACxD;AACJ;"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kirill.konshin/core",
|
|
3
3
|
"description": "Utilities",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"----- BUILD -----": "",
|
|
8
8
|
"clean": "rm -rf dist .tscache tsconfig.tsbuildinfo",
|
|
9
9
|
"build": "vite build",
|
|
10
|
-
"build:index": "
|
|
10
|
+
"build:index": "ctix build",
|
|
11
11
|
"build:check-types": "attw --pack .",
|
|
12
12
|
"start": "yarn build --watch",
|
|
13
13
|
"wait": "wait-on ./dist/index.js",
|
|
@@ -19,15 +19,14 @@
|
|
|
19
19
|
"storybook:build": "storybook build"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"colors": "^1.4.0",
|
|
23
|
-
"file-saver": "^2.0.5",
|
|
24
22
|
"many-keys-map": "^3.0.3"
|
|
25
23
|
},
|
|
26
24
|
"devDependencies": {
|
|
27
25
|
"@kirill.konshin/utils-private": "*"
|
|
28
26
|
},
|
|
29
27
|
"publishConfig": {
|
|
30
|
-
"access": "public"
|
|
28
|
+
"access": "public",
|
|
29
|
+
"provenance": true
|
|
31
30
|
},
|
|
32
31
|
"author": "Kirill Konshin <kirill@konshin.org> (https://konshin.org)",
|
|
33
32
|
"license": "MIT",
|
|
@@ -42,5 +41,10 @@
|
|
|
42
41
|
"main": "./dist/index.js",
|
|
43
42
|
"module": "./dist/index.js",
|
|
44
43
|
"types": "./dist/index.d.ts",
|
|
44
|
+
"repository": {
|
|
45
|
+
"type": "git",
|
|
46
|
+
"url": "https://github.com/kirill-konshin/utils.git",
|
|
47
|
+
"directory": "packages/core"
|
|
48
|
+
},
|
|
45
49
|
"peerDependenciesMeta": {}
|
|
46
50
|
}
|
package/src/index.ts
CHANGED
package/src/mutex.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
export class Mutex {
|
|
4
4
|
private promise = Promise.resolve();
|
|
5
5
|
|
|
6
|
-
public exec
|
|
6
|
+
public exec<T extends (...args: any) => any>(fn: T): Promise<ReturnType<T>> {
|
|
7
7
|
return new Promise((resolve, reject) => {
|
|
8
8
|
// wrap in always successful function
|
|
9
9
|
this.promise = this.promise.then(async () => {
|
|
@@ -16,7 +16,7 @@ export class Mutex {
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
public wrap
|
|
19
|
+
public wrap<T extends (...args: any) => any>(fn: T): () => Promise<ReturnType<T>> {
|
|
20
20
|
return (...args: any) => this.exec(() => fn(...args));
|
|
21
21
|
}
|
|
22
22
|
}
|
package/dist/files.d.ts
DELETED
package/dist/files.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAU,MAAM,IAAI,KAAG,OAAO,CAAC,IAAI,CAM3D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,MAAM,GAAG,EAAE,iBAAsB,EAAE,aAAyB,KAAG,OAAO,CAAC,IAAI,CAE3G,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAO,OAAO,CAAC,MAAM,CAgBpC,CAAC"}
|
package/dist/files.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const downloadFile = async (file) => {
|
|
2
|
-
const { saveAs } = require("file-saver");
|
|
3
|
-
return saveAs(file, file.name);
|
|
4
|
-
};
|
|
5
|
-
const createFile = async (text, filename = "file.json", type = "application/json") => {
|
|
6
|
-
return new File([new Blob([text], { type })], filename);
|
|
7
|
-
};
|
|
8
|
-
const openFile = () => new Promise((res, rej) => {
|
|
9
|
-
const input = document.createElement("input");
|
|
10
|
-
input.type = "file";
|
|
11
|
-
input.addEventListener("change", function readFile(e) {
|
|
12
|
-
input.removeEventListener("change", readFile);
|
|
13
|
-
const [file] = e.target.files;
|
|
14
|
-
if (!file) return;
|
|
15
|
-
const reader = new FileReader();
|
|
16
|
-
reader.onload = (e2) => res(e2.target?.result);
|
|
17
|
-
reader.onerror = rej;
|
|
18
|
-
reader.onabort = rej;
|
|
19
|
-
reader.readAsText(file);
|
|
20
|
-
});
|
|
21
|
-
input.click();
|
|
22
|
-
});
|
|
23
|
-
export {
|
|
24
|
-
createFile,
|
|
25
|
-
downloadFile,
|
|
26
|
-
openFile
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=files.js.map
|
package/dist/files.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sources":["../src/files.ts"],"sourcesContent":["export const downloadFile = async (file: File): Promise<void> => {\n //FIXME https://github.com/eligrey/FileSaver.js/issues/471\n const { saveAs } = require('file-saver');\n\n //FIXME https://github.com/eligrey/FileSaver.js/issues/731\n return saveAs(file, file.name);\n};\n\nexport const createFile = async (text: any, filename = 'file.json', type = 'application/json'): Promise<File> => {\n return new File([new Blob([text], { type })], filename);\n};\n\nexport const openFile = (): Promise<string> =>\n new Promise((res, rej) => {\n const input = document.createElement('input');\n input.type = 'file';\n input.addEventListener('change', function readFile(e) {\n input.removeEventListener('change', readFile);\n // @ts-expect-error file is always there\n const [file] = e.target.files;\n if (!file) return;\n const reader = new FileReader();\n reader.onload = (e) => res(e.target?.result as string);\n reader.onerror = rej;\n reader.onabort = rej;\n reader.readAsText(file);\n });\n input.click();\n });\n"],"names":["e"],"mappings":"AAAO,MAAM,eAAe,OAAO,SAA8B;AAE7D,QAAM,EAAE,OAAA,IAAW,QAAQ,YAAY;AAGvC,SAAO,OAAO,MAAM,KAAK,IAAI;AACjC;AAEO,MAAM,aAAa,OAAO,MAAW,WAAW,aAAa,OAAO,uBAAsC;AAC7G,SAAO,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,KAAA,CAAM,CAAC,GAAG,QAAQ;AAC1D;AAEO,MAAM,WAAW,MACpB,IAAI,QAAQ,CAAC,KAAK,QAAQ;AACtB,QAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,QAAM,OAAO;AACb,QAAM,iBAAiB,UAAU,SAAS,SAAS,GAAG;AAClD,UAAM,oBAAoB,UAAU,QAAQ;AAE5C,UAAM,CAAC,IAAI,IAAI,EAAE,OAAO;AACxB,QAAI,CAAC,KAAM;AACX,UAAM,SAAS,IAAI,WAAA;AACnB,WAAO,SAAS,CAACA,OAAM,IAAIA,GAAE,QAAQ,MAAgB;AACrD,WAAO,UAAU;AACjB,WAAO,UAAU;AACjB,WAAO,WAAW,IAAI;AAAA,EAC1B,CAAC;AACD,QAAM,MAAA;AACV,CAAC;"}
|
package/dist/ls.d.ts
DELETED
package/dist/ls.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../src/ls.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;IACtC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,GAAG,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAUA"}
|
package/dist/ls.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
function getStorage(pref) {
|
|
2
|
-
const prefix = (key) => `${pref}-${key}`;
|
|
3
|
-
const ls = typeof window !== "undefined" ? localStorage : null;
|
|
4
|
-
const read = (key) => JSON.parse(ls?.getItem(prefix(key)) || "null");
|
|
5
|
-
const write = (key, value) => ls?.setItem(prefix(key), JSON.stringify(value));
|
|
6
|
-
const remove = (key) => ls?.removeItem(prefix(key));
|
|
7
|
-
return { read, write, remove };
|
|
8
|
-
}
|
|
9
|
-
export {
|
|
10
|
-
getStorage
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=ls.js.map
|
package/dist/ls.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sources":["../src/ls.ts"],"sourcesContent":["export function getStorage(pref: string): {\n read: (key: string) => null | any;\n write: (key: string, value: any) => void;\n remove: (key: string) => void;\n} {\n const prefix = (key) => `${pref}-${key}`;\n\n const ls = (typeof window !== 'undefined' ? localStorage : null) as Storage;\n\n const read = (key: string): any => JSON.parse(ls?.getItem(prefix(key)) || 'null');\n const write = (key: string, value: any): void => ls?.setItem(prefix(key), JSON.stringify(value));\n const remove = (key: string): void => ls?.removeItem(prefix(key));\n\n return { read, write, remove };\n}\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,MAIzB;AACE,QAAM,SAAS,CAAC,QAAQ,GAAG,IAAI,IAAI,GAAG;AAEtC,QAAM,KAAM,OAAO,WAAW,cAAc,eAAe;AAE3D,QAAM,OAAO,CAAC,QAAqB,KAAK,MAAM,IAAI,QAAQ,OAAO,GAAG,CAAC,KAAK,MAAM;AAChF,QAAM,QAAQ,CAAC,KAAa,UAAqB,IAAI,QAAQ,OAAO,GAAG,GAAG,KAAK,UAAU,KAAK,CAAC;AAC/F,QAAM,SAAS,CAAC,QAAsB,IAAI,WAAW,OAAO,GAAG,CAAC;AAEhE,SAAO,EAAE,MAAM,OAAO,OAAA;AAC1B;"}
|
package/dist/measure.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { bold, magenta, cyan, yellow, red, green } from 'colors/safe';
|
|
2
|
-
export declare const colored: {
|
|
3
|
-
important: typeof bold;
|
|
4
|
-
subject: typeof magenta;
|
|
5
|
-
arg: typeof cyan;
|
|
6
|
-
sup: typeof yellow;
|
|
7
|
-
err: typeof red;
|
|
8
|
-
ok: typeof green;
|
|
9
|
-
};
|
|
10
|
-
export declare const uncolored: {
|
|
11
|
-
important: (str: any) => any;
|
|
12
|
-
subject: (str: any) => any;
|
|
13
|
-
arg: (str: any) => any;
|
|
14
|
-
sup: (str: any) => any;
|
|
15
|
-
err: (str: any) => any;
|
|
16
|
-
ok: (str: any) => any;
|
|
17
|
-
};
|
|
18
|
-
export declare function createMeasurer({ colors, prepend, padding, }: {
|
|
19
|
-
colors?: boolean;
|
|
20
|
-
prepend?: string;
|
|
21
|
-
padding?: number;
|
|
22
|
-
}): {
|
|
23
|
-
measure: (what: string, step: string, supplemental?: string, ...args: any[]) => {
|
|
24
|
-
done: (result?: string, ...args2: any[]) => void;
|
|
25
|
-
fail: (result?: string, ...args2: any[]) => void;
|
|
26
|
-
log: (...args2: any[]) => void;
|
|
27
|
-
};
|
|
28
|
-
important: (str: any) => any;
|
|
29
|
-
subject: (str: any) => any;
|
|
30
|
-
arg: (str: any) => any;
|
|
31
|
-
sup: (str: any) => any;
|
|
32
|
-
ok: (str: any) => any;
|
|
33
|
-
err: (str: any) => any;
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=measure.d.ts.map
|
package/dist/measure.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../src/measure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtE,eAAO,MAAM,OAAO,EAAE;IAClB,SAAS,EAAE,OAAO,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,GAAG,EAAE,OAAO,IAAI,CAAC;IACjB,GAAG,EAAE,OAAO,MAAM,CAAC;IACnB,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,EAAE,EAAE,OAAO,KAAK,CAAC;CAQpB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE;IACpB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACvB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACvB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACvB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;CAQzB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC3B,MAAa,EACb,OAAe,EACf,OAAY,GACf,EAAE;IACC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG;IACA,OAAO,EAAE,CACL,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,EACrB,GAAG,IAAI,EAAE,GAAG,EAAE,KACb;QACD,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QACjD,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QACjD,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;KAClC,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACvB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACvB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACtB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;CAC1B,CA+CA"}
|