@e280/stz 0.2.13 → 0.2.15
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/README.md +44 -4
- package/package.json +3 -3
- package/s/all.ts +6 -0
- package/s/debounce/microbounce.test.ts +74 -0
- package/s/debounce/microbounce.ts +27 -0
- package/s/index.ts +2 -0
- package/s/tests.test.ts +2 -0
- package/x/all.d.ts +2 -0
- package/x/all.js +5 -0
- package/x/all.js.map +1 -0
- package/x/data/txt.d.ts +4 -4
- package/x/debounce/microbounce.d.ts +1 -0
- package/x/debounce/microbounce.js +21 -0
- package/x/debounce/microbounce.js.map +1 -0
- package/x/debounce/microbounce.test.d.ts +9 -0
- package/x/debounce/microbounce.test.js +68 -0
- package/x/debounce/microbounce.test.js.map +1 -0
- package/x/index.d.ts +2 -0
- package/x/index.js +2 -0
- package/x/index.js.map +1 -1
- package/x/tests.test.js +2 -0
- package/x/tests.test.js.map +1 -1
package/README.md
CHANGED
|
@@ -111,6 +111,32 @@ await nap(900)
|
|
|
111
111
|
// wait for 900 milliseconds
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
+
### 🍏 all
|
|
115
|
+
> it's just sugar for `Promise.all`
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
import {all} from "@e280/stz"
|
|
119
|
+
|
|
120
|
+
await all(
|
|
121
|
+
nap(500),
|
|
122
|
+
Promise.resolve("hello"),
|
|
123
|
+
fetch("whatever.json"),
|
|
124
|
+
)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 🍏 concurrent
|
|
128
|
+
> sugar for `Promise.all`, but returns named things as an object
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
import {concurrent} from "@e280/stz"
|
|
132
|
+
|
|
133
|
+
cons {slept, hello, whatever} = await concurrent({
|
|
134
|
+
slept: nap(500),
|
|
135
|
+
hello: Promise.resolve("hello"),
|
|
136
|
+
whatever: fetch("whatever.json"),
|
|
137
|
+
})
|
|
138
|
+
```
|
|
139
|
+
|
|
114
140
|
### 🍏 disposer
|
|
115
141
|
> easy trash management
|
|
116
142
|
|
|
@@ -153,9 +179,9 @@ import {disposer} from "@e280/stz"
|
|
|
153
179
|
> extended js Map
|
|
154
180
|
- many are saying it's *"The Deluxe Mapping Experience"*
|
|
155
181
|
```ts
|
|
156
|
-
import {
|
|
182
|
+
import {GMap} from "@e280/stz"
|
|
157
183
|
|
|
158
|
-
const map = new
|
|
184
|
+
const map = new GMap<number, string>([
|
|
159
185
|
[1, "hello"],
|
|
160
186
|
[2, "world"],
|
|
161
187
|
])
|
|
@@ -173,13 +199,13 @@ import {disposer} from "@e280/stz"
|
|
|
173
199
|
|
|
174
200
|
#### GSet
|
|
175
201
|
> extended js Set
|
|
176
|
-
- `new
|
|
202
|
+
- `new GSet<T>()`
|
|
177
203
|
- `set.adds(item1, item2, item3)` — add multiple items without a for-loop
|
|
178
204
|
- `set.deletes(item1, item2, item3)` — add multiple items without a for-loop
|
|
179
205
|
|
|
180
206
|
#### GWeakMap
|
|
181
207
|
> extended js WeakMap
|
|
182
|
-
- `new
|
|
208
|
+
- `new GWeakMap<K, V>()`
|
|
183
209
|
- `weakMap.require(key)` — returns value for key.. if missing, throw an error
|
|
184
210
|
- `weakMap.guarantee(key, makeFn)` — returns the value for key.. if missing, run `makeFn` to set and return the value
|
|
185
211
|
|
|
@@ -255,6 +281,20 @@ fn()
|
|
|
255
281
|
// coolAction is only called once here, other calls are redundant
|
|
256
282
|
```
|
|
257
283
|
|
|
284
|
+
### 🍏 `microbounce(fn)`
|
|
285
|
+
> collapse multiple calls into a single call (uses queueMicrotask under the hood)
|
|
286
|
+
|
|
287
|
+
it's like `debounce(0, fn)` but more efficient by using queueMicrotask instead of setTimeout
|
|
288
|
+
|
|
289
|
+
```ts
|
|
290
|
+
import {microbounce} from "@e280/stz"
|
|
291
|
+
|
|
292
|
+
const fn = microbounce(async() => coolAction())
|
|
293
|
+
fn()
|
|
294
|
+
fn()
|
|
295
|
+
fn() // previous calls are redundant
|
|
296
|
+
```
|
|
297
|
+
|
|
258
298
|
### 🍏 `cycle(fn)`
|
|
259
299
|
> execute a function over and over again, back to back
|
|
260
300
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e280/stz",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.15",
|
|
4
4
|
"description": "everyday ts fns for everything",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Chase Moskal <chasemoskal@gmail.com>",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"_tscw": "tsc -w"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@e280/science": "^0.1.
|
|
31
|
-
"@types/node": "^24.
|
|
30
|
+
"@e280/science": "^0.1.4",
|
|
31
|
+
"@types/node": "^24.10.1",
|
|
32
32
|
"npm-run-all": "^4.1.5",
|
|
33
33
|
"typescript": "^5.9.3"
|
|
34
34
|
},
|
package/s/all.ts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
|
|
2
|
+
import {nap} from "../nap.js"
|
|
3
|
+
import {microbounce} from "./microbounce.js"
|
|
4
|
+
import {Science, expect} from "@e280/science"
|
|
5
|
+
|
|
6
|
+
export default Science.suite({
|
|
7
|
+
"reduces many calls into one": Science.test(async() => {
|
|
8
|
+
let count = 0
|
|
9
|
+
const increment = microbounce(() => { count += 1 })
|
|
10
|
+
increment()
|
|
11
|
+
increment()
|
|
12
|
+
increment()
|
|
13
|
+
await nap(10)
|
|
14
|
+
expect(count).is(1)
|
|
15
|
+
}),
|
|
16
|
+
|
|
17
|
+
"uses last args": Science.test(async() => {
|
|
18
|
+
let count = 0
|
|
19
|
+
const add = microbounce((n: number) => { count += n })
|
|
20
|
+
add(1)
|
|
21
|
+
add(2)
|
|
22
|
+
add(3)
|
|
23
|
+
await nap(10)
|
|
24
|
+
expect(count).is(3)
|
|
25
|
+
}),
|
|
26
|
+
|
|
27
|
+
"last return is promised": Science.test(async() => {
|
|
28
|
+
let count = 0
|
|
29
|
+
const hit = microbounce((n: number) => {
|
|
30
|
+
count++
|
|
31
|
+
return n
|
|
32
|
+
})
|
|
33
|
+
hit(101)
|
|
34
|
+
hit(102)
|
|
35
|
+
const last = await hit(103)
|
|
36
|
+
expect(count).is(1)
|
|
37
|
+
expect(last).is(103)
|
|
38
|
+
}),
|
|
39
|
+
|
|
40
|
+
"last return type for async looks good": Science.test(async() => {
|
|
41
|
+
let count = 0
|
|
42
|
+
const hit = microbounce(async(n: number) => {
|
|
43
|
+
count++
|
|
44
|
+
return n
|
|
45
|
+
})
|
|
46
|
+
hit(101)
|
|
47
|
+
hit(102)
|
|
48
|
+
const last = await hit(103)
|
|
49
|
+
expect(count).is(1)
|
|
50
|
+
expect(last).is(103)
|
|
51
|
+
}),
|
|
52
|
+
|
|
53
|
+
"do it twice": Science.test(async() => {
|
|
54
|
+
{
|
|
55
|
+
let count = 0
|
|
56
|
+
const increment = microbounce(() => { count += 1 })
|
|
57
|
+
increment()
|
|
58
|
+
increment()
|
|
59
|
+
increment()
|
|
60
|
+
await nap(10)
|
|
61
|
+
expect(count).is(1)
|
|
62
|
+
}
|
|
63
|
+
{
|
|
64
|
+
let count = 0
|
|
65
|
+
const increment = microbounce(() => { count += 1 })
|
|
66
|
+
increment()
|
|
67
|
+
increment()
|
|
68
|
+
increment()
|
|
69
|
+
await nap(10)
|
|
70
|
+
expect(count).is(1)
|
|
71
|
+
}
|
|
72
|
+
}),
|
|
73
|
+
})
|
|
74
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
|
|
2
|
+
import {defer, Deferred} from "../defer.js"
|
|
3
|
+
|
|
4
|
+
export function microbounce<F extends (...params: any[]) => any>(fn: F) {
|
|
5
|
+
let scheduled: {
|
|
6
|
+
params: any[]
|
|
7
|
+
deferred: Deferred<any>
|
|
8
|
+
} | null = null
|
|
9
|
+
|
|
10
|
+
return ((...params: any[]) => {
|
|
11
|
+
if (scheduled) {
|
|
12
|
+
scheduled.params = params
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
scheduled = {params, deferred: defer()}
|
|
16
|
+
queueMicrotask(() => {
|
|
17
|
+
const {params, deferred} = scheduled!
|
|
18
|
+
scheduled = null
|
|
19
|
+
Promise.resolve(fn(...params))
|
|
20
|
+
.then(deferred.resolve)
|
|
21
|
+
.catch(deferred.reject)
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
return scheduled.deferred.promise
|
|
25
|
+
}) as ((...params: Parameters<F>) => Promise<Awaited<ReturnType<F>>>)
|
|
26
|
+
}
|
|
27
|
+
|
package/s/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from "./data/bytes.js"
|
|
|
11
11
|
export * from "./data/txt.js"
|
|
12
12
|
|
|
13
13
|
export * from "./debounce/debounce.js"
|
|
14
|
+
export * from "./debounce/microbounce.js"
|
|
14
15
|
export * from "./debounce/types.js"
|
|
15
16
|
|
|
16
17
|
export * from "./deep/index.js"
|
|
@@ -24,6 +25,7 @@ export * from "./queue/queue.js"
|
|
|
24
25
|
|
|
25
26
|
export * from "./toq/index.js"
|
|
26
27
|
|
|
28
|
+
export * from "./all.js"
|
|
27
29
|
export * from "./coalesce.js"
|
|
28
30
|
export * from "./collect.js"
|
|
29
31
|
export * from "./concurrent.js"
|
package/s/tests.test.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {Science} from "@e280/science"
|
|
|
3
3
|
|
|
4
4
|
import data from "./data/data.test.js"
|
|
5
5
|
import debounce from "./debounce/debounce.test.js"
|
|
6
|
+
import microbounce from "./debounce/microbounce.test.js"
|
|
6
7
|
import deep from "./deep/index.test.js"
|
|
7
8
|
import queue from "./queue/queue.test.js"
|
|
8
9
|
import toq from "./toq/toq.test.js"
|
|
@@ -10,6 +11,7 @@ import toq from "./toq/toq.test.js"
|
|
|
10
11
|
await Science.run({
|
|
11
12
|
data,
|
|
12
13
|
debounce,
|
|
14
|
+
microbounce,
|
|
13
15
|
deep,
|
|
14
16
|
queue,
|
|
15
17
|
toq,
|
package/x/all.d.ts
ADDED
package/x/all.js
ADDED
package/x/all.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"all.js","sourceRoot":"","sources":["../s/all.ts"],"names":[],"mappings":"AACA,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,GAAG,CAAkC,GAAG,QAAkB;IAC/E,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC"}
|
package/x/data/txt.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export declare const txt: Readonly<{
|
|
2
2
|
fromBytes(bytes: Uint8Array): string;
|
|
3
|
-
toBytes(string: string):
|
|
3
|
+
toBytes(string: string): NodeJS.NonSharedUint8Array;
|
|
4
4
|
/** @deprecated renamed to `fromBytes` */
|
|
5
5
|
string(bytes: Uint8Array): string;
|
|
6
6
|
/** @deprecated renamed to `toBytes` */
|
|
7
|
-
bytes(string: string):
|
|
7
|
+
bytes(string: string): NodeJS.NonSharedUint8Array;
|
|
8
8
|
}>;
|
|
9
9
|
/** @deprecated renamed to `txt` */
|
|
10
10
|
export declare const Txt: Readonly<{
|
|
11
11
|
fromBytes(bytes: Uint8Array): string;
|
|
12
|
-
toBytes(string: string):
|
|
12
|
+
toBytes(string: string): NodeJS.NonSharedUint8Array;
|
|
13
13
|
/** @deprecated renamed to `fromBytes` */
|
|
14
14
|
string(bytes: Uint8Array): string;
|
|
15
15
|
/** @deprecated renamed to `toBytes` */
|
|
16
|
-
bytes(string: string):
|
|
16
|
+
bytes(string: string): NodeJS.NonSharedUint8Array;
|
|
17
17
|
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function microbounce<F extends (...params: any[]) => any>(fn: F): ((...params: Parameters<F>) => Promise<Awaited<ReturnType<F>>>);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defer } from "../defer.js";
|
|
2
|
+
export function microbounce(fn) {
|
|
3
|
+
let scheduled = null;
|
|
4
|
+
return ((...params) => {
|
|
5
|
+
if (scheduled) {
|
|
6
|
+
scheduled.params = params;
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
scheduled = { params, deferred: defer() };
|
|
10
|
+
queueMicrotask(() => {
|
|
11
|
+
const { params, deferred } = scheduled;
|
|
12
|
+
scheduled = null;
|
|
13
|
+
Promise.resolve(fn(...params))
|
|
14
|
+
.then(deferred.resolve)
|
|
15
|
+
.catch(deferred.reject);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return scheduled.deferred.promise;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=microbounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microbounce.js","sourceRoot":"","sources":["../../s/debounce/microbounce.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAW,MAAM,aAAa,CAAA;AAE3C,MAAM,UAAU,WAAW,CAAsC,EAAK;IACrE,IAAI,SAAS,GAGF,IAAI,CAAA;IAEf,OAAO,CAAC,CAAC,GAAG,MAAa,EAAE,EAAE;QAC5B,IAAI,SAAS,EAAE,CAAC;YACf,SAAS,CAAC,MAAM,GAAG,MAAM,CAAA;QAC1B,CAAC;aACI,CAAC;YACL,SAAS,GAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAC,CAAA;YACvC,cAAc,CAAC,GAAG,EAAE;gBACnB,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,SAAU,CAAA;gBACrC,SAAS,GAAG,IAAI,CAAA;gBAChB,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;qBAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;qBACtB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC,CAAC,CAAA;QACH,CAAC;QACD,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAA;IAClC,CAAC,CAAoE,CAAA;AACtE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Science } from "@e280/science";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
"reduces many calls into one": Science.Test;
|
|
4
|
+
"uses last args": Science.Test;
|
|
5
|
+
"last return is promised": Science.Test;
|
|
6
|
+
"last return type for async looks good": Science.Test;
|
|
7
|
+
"do it twice": Science.Test;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { nap } from "../nap.js";
|
|
2
|
+
import { microbounce } from "./microbounce.js";
|
|
3
|
+
import { Science, expect } from "@e280/science";
|
|
4
|
+
export default Science.suite({
|
|
5
|
+
"reduces many calls into one": Science.test(async () => {
|
|
6
|
+
let count = 0;
|
|
7
|
+
const increment = microbounce(() => { count += 1; });
|
|
8
|
+
increment();
|
|
9
|
+
increment();
|
|
10
|
+
increment();
|
|
11
|
+
await nap(10);
|
|
12
|
+
expect(count).is(1);
|
|
13
|
+
}),
|
|
14
|
+
"uses last args": Science.test(async () => {
|
|
15
|
+
let count = 0;
|
|
16
|
+
const add = microbounce((n) => { count += n; });
|
|
17
|
+
add(1);
|
|
18
|
+
add(2);
|
|
19
|
+
add(3);
|
|
20
|
+
await nap(10);
|
|
21
|
+
expect(count).is(3);
|
|
22
|
+
}),
|
|
23
|
+
"last return is promised": Science.test(async () => {
|
|
24
|
+
let count = 0;
|
|
25
|
+
const hit = microbounce((n) => {
|
|
26
|
+
count++;
|
|
27
|
+
return n;
|
|
28
|
+
});
|
|
29
|
+
hit(101);
|
|
30
|
+
hit(102);
|
|
31
|
+
const last = await hit(103);
|
|
32
|
+
expect(count).is(1);
|
|
33
|
+
expect(last).is(103);
|
|
34
|
+
}),
|
|
35
|
+
"last return type for async looks good": Science.test(async () => {
|
|
36
|
+
let count = 0;
|
|
37
|
+
const hit = microbounce(async (n) => {
|
|
38
|
+
count++;
|
|
39
|
+
return n;
|
|
40
|
+
});
|
|
41
|
+
hit(101);
|
|
42
|
+
hit(102);
|
|
43
|
+
const last = await hit(103);
|
|
44
|
+
expect(count).is(1);
|
|
45
|
+
expect(last).is(103);
|
|
46
|
+
}),
|
|
47
|
+
"do it twice": Science.test(async () => {
|
|
48
|
+
{
|
|
49
|
+
let count = 0;
|
|
50
|
+
const increment = microbounce(() => { count += 1; });
|
|
51
|
+
increment();
|
|
52
|
+
increment();
|
|
53
|
+
increment();
|
|
54
|
+
await nap(10);
|
|
55
|
+
expect(count).is(1);
|
|
56
|
+
}
|
|
57
|
+
{
|
|
58
|
+
let count = 0;
|
|
59
|
+
const increment = microbounce(() => { count += 1; });
|
|
60
|
+
increment();
|
|
61
|
+
increment();
|
|
62
|
+
increment();
|
|
63
|
+
await nap(10);
|
|
64
|
+
expect(count).is(1);
|
|
65
|
+
}
|
|
66
|
+
}),
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=microbounce.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microbounce.test.js","sourceRoot":"","sources":["../../s/debounce/microbounce.test.ts"],"names":[],"mappings":"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"}
|
package/x/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from "./data/base-x.js";
|
|
|
9
9
|
export * from "./data/bytes.js";
|
|
10
10
|
export * from "./data/txt.js";
|
|
11
11
|
export * from "./debounce/debounce.js";
|
|
12
|
+
export * from "./debounce/microbounce.js";
|
|
12
13
|
export * from "./debounce/types.js";
|
|
13
14
|
export * from "./deep/index.js";
|
|
14
15
|
export * from "./g/map.js";
|
|
@@ -17,6 +18,7 @@ export * from "./g/set.js";
|
|
|
17
18
|
export * from "./g/weak-map.js";
|
|
18
19
|
export * from "./queue/queue.js";
|
|
19
20
|
export * from "./toq/index.js";
|
|
21
|
+
export * from "./all.js";
|
|
20
22
|
export * from "./coalesce.js";
|
|
21
23
|
export * from "./collect.js";
|
|
22
24
|
export * from "./concurrent.js";
|
package/x/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export * from "./data/base-x.js";
|
|
|
9
9
|
export * from "./data/bytes.js";
|
|
10
10
|
export * from "./data/txt.js";
|
|
11
11
|
export * from "./debounce/debounce.js";
|
|
12
|
+
export * from "./debounce/microbounce.js";
|
|
12
13
|
export * from "./debounce/types.js";
|
|
13
14
|
export * from "./deep/index.js";
|
|
14
15
|
export * from "./g/map.js";
|
|
@@ -17,6 +18,7 @@ export * from "./g/set.js";
|
|
|
17
18
|
export * from "./g/weak-map.js";
|
|
18
19
|
export * from "./queue/queue.js";
|
|
19
20
|
export * from "./toq/index.js";
|
|
21
|
+
export * from "./all.js";
|
|
20
22
|
export * from "./coalesce.js";
|
|
21
23
|
export * from "./collect.js";
|
|
22
24
|
export * from "./concurrent.js";
|
package/x/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAE/B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAE/B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|
package/x/tests.test.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Science } from "@e280/science";
|
|
2
2
|
import data from "./data/data.test.js";
|
|
3
3
|
import debounce from "./debounce/debounce.test.js";
|
|
4
|
+
import microbounce from "./debounce/microbounce.test.js";
|
|
4
5
|
import deep from "./deep/index.test.js";
|
|
5
6
|
import queue from "./queue/queue.test.js";
|
|
6
7
|
import toq from "./toq/toq.test.js";
|
|
7
8
|
await Science.run({
|
|
8
9
|
data,
|
|
9
10
|
debounce,
|
|
11
|
+
microbounce,
|
|
10
12
|
deep,
|
|
11
13
|
queue,
|
|
12
14
|
toq,
|
package/x/tests.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.test.js","sourceRoot":"","sources":["../s/tests.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAErC,OAAO,IAAI,MAAM,qBAAqB,CAAA;AACtC,OAAO,QAAQ,MAAM,6BAA6B,CAAA;AAClD,OAAO,IAAI,MAAM,sBAAsB,CAAA;AACvC,OAAO,KAAK,MAAM,uBAAuB,CAAA;AACzC,OAAO,GAAG,MAAM,mBAAmB,CAAA;AAEnC,MAAM,OAAO,CAAC,GAAG,CAAC;IACjB,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,GAAG;CACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"tests.test.js","sourceRoot":"","sources":["../s/tests.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAErC,OAAO,IAAI,MAAM,qBAAqB,CAAA;AACtC,OAAO,QAAQ,MAAM,6BAA6B,CAAA;AAClD,OAAO,WAAW,MAAM,gCAAgC,CAAA;AACxD,OAAO,IAAI,MAAM,sBAAsB,CAAA;AACvC,OAAO,KAAK,MAAM,uBAAuB,CAAA;AACzC,OAAO,GAAG,MAAM,mBAAmB,CAAA;AAEnC,MAAM,OAAO,CAAC,GAAG,CAAC;IACjB,IAAI;IACJ,QAAQ;IACR,WAAW;IACX,IAAI;IACJ,KAAK;IACL,GAAG;CACH,CAAC,CAAA"}
|