@e280/stz 0.0.0-7 → 0.0.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/README.md +275 -24
- package/package.json +13 -9
- package/s/coalesce.ts +1 -0
- package/s/constructor.ts +15 -0
- package/s/data/base-x.ts +170 -0
- package/s/data/base58.ts +15 -5
- package/s/data/base64.ts +15 -6
- package/s/data/base64url.ts +15 -6
- package/s/data/bytename/bytename.test.ts +12 -12
- package/s/data/bytename/bytename.ts +21 -5
- package/s/data/bytename/index.ts +1 -1
- package/s/data/bytename/thumbprint.test.ts +53 -0
- package/s/data/bytename/thumbprint.ts +112 -0
- package/s/data/bytes.ts +2 -2
- package/s/data/data.test.ts +98 -0
- package/s/data/hex.ts +15 -5
- package/s/data/txt.ts +14 -4
- package/s/deadline.ts +5 -6
- package/s/{defer-promise.ts → defer.ts} +2 -2
- package/s/drill.ts +2 -4
- package/s/ev.ts +20 -0
- package/s/id-counter.ts +9 -0
- package/s/index.ts +12 -1
- package/s/is.ts +10 -4
- package/s/map-g.ts +9 -10
- package/s/nap.ts +1 -0
- package/s/once.ts +14 -0
- package/s/pipe.ts +7 -8
- package/s/pubsub.ts +24 -6
- package/s/queue/queue.test.ts +67 -0
- package/s/queue/queue.ts +21 -0
- package/s/repeat.ts +25 -0
- package/s/scope.ts +108 -0
- package/s/templating.ts +22 -0
- package/s/tests.test.ts +14 -10
- package/s/time.ts +22 -0
- package/x/coalesce.d.ts +1 -0
- package/x/coalesce.js +1 -0
- package/x/coalesce.js.map +1 -1
- package/x/constructor.d.ts +3 -0
- package/x/constructor.js +4 -0
- package/x/constructor.js.map +1 -0
- package/x/data/base-x.d.ts +47 -0
- package/x/data/base-x.js +147 -0
- package/x/data/base-x.js.map +1 -0
- package/x/data/base58.d.ts +5 -1
- package/x/data/base58.js +13 -5
- package/x/data/base58.js.map +1 -1
- package/x/data/base64.d.ts +7 -3
- package/x/data/base64.js +13 -5
- package/x/data/base64.js.map +1 -1
- package/x/data/base64url.d.ts +5 -1
- package/x/data/base64url.js +13 -5
- package/x/data/base64url.js.map +1 -1
- package/x/data/bytename/bytename.d.ts +10 -2
- package/x/data/bytename/bytename.js +19 -5
- package/x/data/bytename/bytename.js.map +1 -1
- package/x/data/bytename/bytename.test.js +12 -12
- package/x/data/bytename/bytename.test.js.map +1 -1
- package/x/data/bytename/index.d.ts +1 -1
- package/x/data/bytename/index.js +1 -1
- package/x/data/bytename/index.js.map +1 -1
- package/x/data/bytename/thumbprint.d.ts +36 -0
- package/x/data/bytename/thumbprint.js +79 -0
- package/x/data/bytename/thumbprint.js.map +1 -0
- package/x/data/bytename/{badge.test.d.ts → thumbprint.test.d.ts} +3 -2
- package/x/data/bytename/thumbprint.test.js +45 -0
- package/x/data/bytename/thumbprint.test.js.map +1 -0
- package/x/data/bytes.d.ts +2 -2
- package/x/data/bytes.js +2 -2
- package/x/data/bytes.js.map +1 -1
- package/x/data/data.test.d.ts +69 -0
- package/x/data/data.test.js +77 -0
- package/x/data/data.test.js.map +1 -0
- package/x/data/hex.d.ts +8 -4
- package/x/data/hex.js +13 -5
- package/x/data/hex.js.map +1 -1
- package/x/data/txt.d.ts +6 -2
- package/x/data/txt.js +12 -4
- package/x/data/txt.js.map +1 -1
- package/x/deadline.d.ts +2 -2
- package/x/deadline.js +4 -4
- package/x/deadline.js.map +1 -1
- package/x/{defer-promise.d.ts → defer.d.ts} +2 -2
- package/x/{defer-promise.js → defer.js} +2 -2
- package/x/defer.js.map +1 -0
- package/x/drill.d.ts +1 -3
- package/x/drill.js +2 -4
- package/x/drill.js.map +1 -1
- package/x/ev.d.ts +6 -0
- package/x/ev.js +10 -0
- package/x/ev.js.map +1 -0
- package/x/id-counter.d.ts +5 -0
- package/x/id-counter.js +10 -0
- package/x/id-counter.js.map +1 -0
- package/x/index.d.ts +11 -1
- package/x/index.js +11 -1
- package/x/index.js.map +1 -1
- package/x/is.d.ts +6 -4
- package/x/is.js +6 -4
- package/x/is.js.map +1 -1
- package/x/map-g.d.ts +3 -3
- package/x/map-g.js +9 -8
- package/x/map-g.js.map +1 -1
- package/x/nap.d.ts +1 -0
- package/x/nap.js +1 -0
- package/x/nap.js.map +1 -1
- package/x/once.d.ts +1 -0
- package/x/once.js +12 -0
- package/x/once.js.map +1 -0
- package/x/pipe.d.ts +3 -3
- package/x/pipe.js +5 -5
- package/x/pipe.js.map +1 -1
- package/x/pubsub.d.ts +12 -1
- package/x/pubsub.js +7 -5
- package/x/pubsub.js.map +1 -1
- package/x/queue/queue.d.ts +4 -0
- package/x/queue/queue.js +14 -0
- package/x/queue/queue.js.map +1 -0
- package/x/queue/queue.test.d.ts +8 -0
- package/x/queue/queue.test.js +57 -0
- package/x/queue/queue.test.js.map +1 -0
- package/x/repeat.d.ts +5 -0
- package/x/repeat.js +23 -0
- package/x/repeat.js.map +1 -0
- package/x/scope.d.ts +37 -0
- package/x/scope.js +82 -0
- package/x/scope.js.map +1 -0
- package/x/templating.d.ts +6 -0
- package/x/templating.js +11 -0
- package/x/templating.js.map +1 -0
- package/x/tests.test.js +14 -10
- package/x/tests.test.js.map +1 -1
- package/x/time.d.ts +18 -0
- package/x/time.js +19 -0
- package/x/time.js.map +1 -0
- package/s/data/anka.ts +0 -66
- package/s/data/bytename/badge.test.ts +0 -52
- package/s/data/bytename/badge.ts +0 -81
- package/x/data/anka.d.ts +0 -5
- package/x/data/anka.js +0 -53
- package/x/data/anka.js.map +0 -1
- package/x/data/bytename/badge.d.ts +0 -27
- package/x/data/bytename/badge.js +0 -57
- package/x/data/bytename/badge.js.map +0 -1
- package/x/data/bytename/badge.test.js +0 -44
- package/x/data/bytename/badge.test.js.map +0 -1
- package/x/defer-promise.js.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Science, test, expect } from "@e280/science";
|
|
2
|
+
import { ob } from "../ob.js";
|
|
3
|
+
import { Txt } from "./txt.js";
|
|
4
|
+
import { Hex } from "./hex.js";
|
|
5
|
+
import { Bytes } from "./bytes.js";
|
|
6
|
+
import { BaseX } from "./base-x.js";
|
|
7
|
+
import { Base58 } from "./base58.js";
|
|
8
|
+
import { Base64 } from "./base64.js";
|
|
9
|
+
import { Base64url } from "./base64url.js";
|
|
10
|
+
const sampleBytes = Hex.toBytes("9960cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b");
|
|
11
|
+
function testBytes(util) {
|
|
12
|
+
return async () => {
|
|
13
|
+
const string = util.fromBytes(sampleBytes);
|
|
14
|
+
const recreated = util.toBytes(string);
|
|
15
|
+
expect(Bytes.eq(sampleBytes, recreated)).ok();
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function testNumbers(util) {
|
|
19
|
+
return {
|
|
20
|
+
positive: async () => {
|
|
21
|
+
const original = 123456789;
|
|
22
|
+
const string = util.fromInteger(original);
|
|
23
|
+
const recreated = util.toInteger(string);
|
|
24
|
+
expect(original).is(recreated);
|
|
25
|
+
expect(util.toInteger("")).is(0);
|
|
26
|
+
},
|
|
27
|
+
negative: async () => {
|
|
28
|
+
const original = -123456789;
|
|
29
|
+
const string = util.fromInteger(original);
|
|
30
|
+
const recreated = util.toInteger(string);
|
|
31
|
+
expect(original).is(recreated);
|
|
32
|
+
expect(util.toInteger("")).is(0);
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function testBoth(util) {
|
|
37
|
+
return {
|
|
38
|
+
bytes: testBytes(util),
|
|
39
|
+
numbers: testNumbers(util),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function testCompat(alpha, bravo) {
|
|
43
|
+
return async () => {
|
|
44
|
+
expect(alpha.fromBytes(sampleBytes))
|
|
45
|
+
.is(bravo.fromBytes(sampleBytes));
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export default Science.suite({
|
|
49
|
+
"Base58": testBytes(Base58),
|
|
50
|
+
"Base64": testBytes(Base64),
|
|
51
|
+
"Base64url": testBytes(Base64url),
|
|
52
|
+
"Hex": testBytes(Hex),
|
|
53
|
+
"Txt": test(async () => {
|
|
54
|
+
const original = `build or die. 💻>☠️ 命火工`;
|
|
55
|
+
const bytes = Txt.toBytes(original);
|
|
56
|
+
const recreated = Txt.fromBytes(bytes);
|
|
57
|
+
expect(original).is(recreated);
|
|
58
|
+
}),
|
|
59
|
+
"BaseX": Science.suite({
|
|
60
|
+
lexicons: Science.suite(ob(BaseX.lexicons).map(lex => testBoth(new BaseX(lex)))),
|
|
61
|
+
compat: Science.suite({
|
|
62
|
+
"Hex": testCompat(Hex, new BaseX(BaseX.lexicons.hex)),
|
|
63
|
+
"Base64": testCompat(Base64, new BaseX(BaseX.lexicons.base64)),
|
|
64
|
+
"Base64url": testCompat(Base64url, new BaseX(BaseX.lexicons.base64url)),
|
|
65
|
+
}),
|
|
66
|
+
"base64 has padding": test(async () => {
|
|
67
|
+
const s = new BaseX(BaseX.lexicons.base64).fromBytes(sampleBytes);
|
|
68
|
+
expect(s.endsWith("=")).ok();
|
|
69
|
+
}),
|
|
70
|
+
"antagonistic base64 positive integer": test(async () => {
|
|
71
|
+
const base64url = new BaseX(BaseX.lexicons.base64url);
|
|
72
|
+
expect(base64url.toInteger(base64url.fromInteger(62))).is(62);
|
|
73
|
+
expect(base64url.toInteger(base64url.fromInteger(4030))).is(4030);
|
|
74
|
+
}),
|
|
75
|
+
}),
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=data.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../s/data/data.test.ts"],"names":[],"mappings":"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"}
|
package/x/data/hex.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export declare const Hex: {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const Hex: Readonly<{
|
|
2
|
+
fromBytes(bytes: Uint8Array): string;
|
|
3
|
+
toBytes(string: string): Uint8Array<ArrayBuffer>;
|
|
4
4
|
/** generate a random hex string. byteCount defaults to 32. */
|
|
5
5
|
random(byteCount?: number): string;
|
|
6
|
-
|
|
6
|
+
/** @deprecated renamed to `fromBytes` */
|
|
7
|
+
string(bytes: Uint8Array): string;
|
|
8
|
+
/** @deprecated renamed to `toBytes` */
|
|
9
|
+
bytes(string: string): Uint8Array<ArrayBuffer>;
|
|
10
|
+
}>;
|
package/x/data/hex.js
CHANGED
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
*/
|
|
10
10
|
import { Bytes } from "./bytes.js";
|
|
11
|
-
export const Hex = {
|
|
12
|
-
|
|
11
|
+
export const Hex = Object.freeze({
|
|
12
|
+
fromBytes(bytes) {
|
|
13
13
|
return [...bytes]
|
|
14
14
|
.map(byte => byte.toString(16).padStart(2, "0"))
|
|
15
15
|
.join("");
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
toBytes(string) {
|
|
18
18
|
if (string.length % 2 !== 0)
|
|
19
19
|
throw new Error("must have even number of hex characters");
|
|
20
20
|
const bytes = new Uint8Array(string.length / 2);
|
|
@@ -24,7 +24,15 @@ export const Hex = {
|
|
|
24
24
|
},
|
|
25
25
|
/** generate a random hex string. byteCount defaults to 32. */
|
|
26
26
|
random(byteCount = 32) {
|
|
27
|
-
return this.
|
|
27
|
+
return this.fromBytes(Bytes.random(byteCount));
|
|
28
|
+
},
|
|
29
|
+
/** @deprecated renamed to `fromBytes` */
|
|
30
|
+
string(bytes) {
|
|
31
|
+
return Hex.fromBytes(bytes);
|
|
32
|
+
},
|
|
33
|
+
/** @deprecated renamed to `toBytes` */
|
|
34
|
+
bytes(string) {
|
|
35
|
+
return Hex.toBytes(string);
|
|
28
36
|
},
|
|
29
|
-
};
|
|
37
|
+
});
|
|
30
38
|
//# sourceMappingURL=hex.js.map
|
package/x/data/hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../s/data/hex.ts"],"names":[],"mappings":"AACA;;;;;;;;EAQE;AAEF,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAEhC,MAAM,CAAC,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../s/data/hex.ts"],"names":[],"mappings":"AACA;;;;;;;;EAQE;AAEF,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAEhC,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,SAAS,CAAC,KAAiB;QAC1B,OAAO,CAAC,GAAG,KAAK,CAAC;aACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aAC/C,IAAI,CAAC,EAAE,CAAC,CAAA;IACX,CAAC;IAED,OAAO,CAAC,MAAc;QACrB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YACxC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACpD,OAAO,KAAK,CAAA;IACb,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,SAAS,GAAG,EAAE;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,KAAiB;QACvB,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,MAAc;QACnB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;CACD,CAAC,CAAA"}
|
package/x/data/txt.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
export declare const Txt: {
|
|
1
|
+
export declare const Txt: Readonly<{
|
|
2
|
+
fromBytes(bytes: Uint8Array): string;
|
|
3
|
+
toBytes(string: string): Uint8Array<ArrayBufferLike>;
|
|
4
|
+
/** @deprecated renamed to `fromBytes` */
|
|
2
5
|
string(bytes: Uint8Array): string;
|
|
6
|
+
/** @deprecated renamed to `toBytes` */
|
|
3
7
|
bytes(string: string): Uint8Array<ArrayBufferLike>;
|
|
4
|
-
}
|
|
8
|
+
}>;
|
package/x/data/txt.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
export const Txt = {
|
|
2
|
-
|
|
1
|
+
export const Txt = Object.freeze({
|
|
2
|
+
fromBytes(bytes) {
|
|
3
3
|
return new TextDecoder().decode(bytes);
|
|
4
4
|
},
|
|
5
|
-
|
|
5
|
+
toBytes(string) {
|
|
6
6
|
return new TextEncoder().encode(string);
|
|
7
7
|
},
|
|
8
|
-
|
|
8
|
+
/** @deprecated renamed to `fromBytes` */
|
|
9
|
+
string(bytes) {
|
|
10
|
+
return Txt.fromBytes(bytes);
|
|
11
|
+
},
|
|
12
|
+
/** @deprecated renamed to `toBytes` */
|
|
13
|
+
bytes(string) {
|
|
14
|
+
return Txt.toBytes(string);
|
|
15
|
+
},
|
|
16
|
+
});
|
|
9
17
|
//# sourceMappingURL=txt.js.map
|
package/x/data/txt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txt.js","sourceRoot":"","sources":["../../s/data/txt.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"txt.js","sourceRoot":"","sources":["../../s/data/txt.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,SAAS,CAAC,KAAiB;QAC1B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,CAAC,MAAc;QACrB,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,KAAiB;QACvB,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,MAAc;QACnB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;CACD,CAAC,CAAA"}
|
package/x/deadline.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare class DeadlineError extends Error {
|
|
2
2
|
milliseconds: number;
|
|
3
3
|
name: string;
|
|
4
|
-
constructor(milliseconds: number
|
|
4
|
+
constructor(milliseconds: number);
|
|
5
5
|
}
|
|
6
6
|
/** set a deadline for a fn to do something, will reject with a `DeadlineError` if it takes too long */
|
|
7
|
-
export declare function deadline<R>(milliseconds: number,
|
|
7
|
+
export declare function deadline<R>(milliseconds: number, fn: () => Promise<R>): Promise<R>;
|
package/x/deadline.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export class DeadlineError extends Error {
|
|
2
2
|
milliseconds;
|
|
3
3
|
name = this.constructor.name;
|
|
4
|
-
constructor(milliseconds
|
|
5
|
-
super(
|
|
4
|
+
constructor(milliseconds) {
|
|
5
|
+
super(`deadline exceeded (${(milliseconds / 1000).toFixed(1)} seconds)`);
|
|
6
6
|
this.milliseconds = milliseconds;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
/** set a deadline for a fn to do something, will reject with a `DeadlineError` if it takes too long */
|
|
10
|
-
export function deadline(milliseconds,
|
|
10
|
+
export function deadline(milliseconds, fn) {
|
|
11
11
|
if (milliseconds <= 0 || milliseconds === Infinity)
|
|
12
12
|
return fn();
|
|
13
13
|
return new Promise((resolve, reject) => {
|
|
14
|
-
const id = setTimeout(() => reject(new DeadlineError(milliseconds
|
|
14
|
+
const id = setTimeout(() => reject(new DeadlineError(milliseconds)), milliseconds);
|
|
15
15
|
fn()
|
|
16
16
|
.then(resolve)
|
|
17
17
|
.catch(reject)
|
package/x/deadline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deadline.js","sourceRoot":"","sources":["../s/deadline.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEpB;IADnB,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC5B,YAAmB,YAAoB
|
|
1
|
+
{"version":3,"file":"deadline.js","sourceRoot":"","sources":["../s/deadline.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEpB;IADnB,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC5B,YAAmB,YAAoB;QACtC,KAAK,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;QADtD,iBAAY,GAAZ,YAAY,CAAQ;IAEvC,CAAC;CACD;AAED,uGAAuG;AACvG,MAAM,UAAU,QAAQ,CAAI,YAAoB,EAAE,EAAoB;IACrE,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,KAAK,QAAQ;QACjD,OAAO,EAAE,EAAE,CAAA;IAEZ,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,MAAM,EAAE,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,EAC7C,YAAY,CACZ,CAAA;QACD,EAAE,EAAE;aACF,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,MAAM,CAAC;aACb,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** a promise which can be resolved from the outside */
|
|
2
|
-
export type
|
|
2
|
+
export type Deferred<R = void> = {
|
|
3
3
|
promise: Promise<R>;
|
|
4
4
|
resolve: (result: R) => void;
|
|
5
5
|
reject: (reason: any) => void;
|
|
@@ -7,4 +7,4 @@ export type DeferredPromise<R> = {
|
|
|
7
7
|
entangle: (outsidePromise: Promise<R>) => Promise<R>;
|
|
8
8
|
};
|
|
9
9
|
/** returns a deferred promise with exposed resolve and reject fns */
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function defer<R = void>(): Deferred<R>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** returns a deferred promise with exposed resolve and reject fns */
|
|
2
|
-
export function
|
|
2
|
+
export function defer() {
|
|
3
3
|
let resolve;
|
|
4
4
|
let reject;
|
|
5
5
|
const promise = new Promise((res, rej) => {
|
|
@@ -12,4 +12,4 @@ export function deferPromise() {
|
|
|
12
12
|
}
|
|
13
13
|
return { promise, resolve, reject, entangle };
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=defer
|
|
15
|
+
//# sourceMappingURL=defer.js.map
|
package/x/defer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defer.js","sourceRoot":"","sources":["../s/defer.ts"],"names":[],"mappings":"AAWA,qEAAqE;AACrE,MAAM,UAAU,KAAK;IACpB,IAAI,OAA6B,CAAA;IACjC,IAAI,MAA8B,CAAA;IAElC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,OAAO,GAAG,GAAG,CAAA;QACb,MAAM,GAAG,GAAG,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,SAAS,QAAQ,CAAC,OAAmB;QACpC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,OAAO,CAAA;IACf,CAAC;IAED,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAA;AAC5C,CAAC"}
|
package/x/drill.d.ts
CHANGED
package/x/drill.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { is } from "./is.js";
|
|
2
|
-
/**
|
|
3
|
-
* return a value within an object tree, found at the given path.
|
|
4
|
-
*/
|
|
2
|
+
/** return a value within an object tree, found at the given path. */
|
|
5
3
|
export function drill(object, path) {
|
|
6
4
|
let current = object;
|
|
7
5
|
for (const key of path) {
|
|
8
6
|
current = current[key];
|
|
9
|
-
if (is.
|
|
7
|
+
if (is.unset(current))
|
|
10
8
|
break;
|
|
11
9
|
}
|
|
12
10
|
return current;
|
package/x/drill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drill.js","sourceRoot":"","sources":["../s/drill.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,SAAS,CAAA;AAE1B
|
|
1
|
+
{"version":3,"file":"drill.js","sourceRoot":"","sources":["../s/drill.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,SAAS,CAAA;AAE1B,qEAAqE;AACrE,MAAM,UAAU,KAAK,CACnB,MAA4B,EAC5B,IAAc;IAGf,IAAI,OAAO,GAAQ,MAAM,CAAA;IAEzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;YACpB,MAAK;IACP,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
|
package/x/ev.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type EvFn = (...a: any[]) => void;
|
|
2
|
+
export type EvTarget<N extends string> = {
|
|
3
|
+
addEventListener(name: N, fn: EvFn): void;
|
|
4
|
+
removeEventListener(name: N, fn: EvFn): void;
|
|
5
|
+
};
|
|
6
|
+
export declare function ev<N extends string>(target: EvTarget<N>, fns: Record<N, EvFn>): () => void;
|
package/x/ev.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function ev(target, fns) {
|
|
2
|
+
const entries = Object.entries(fns);
|
|
3
|
+
for (const [name, fn] of entries)
|
|
4
|
+
target.addEventListener(name, fn);
|
|
5
|
+
return () => {
|
|
6
|
+
for (const [name, fn] of entries)
|
|
7
|
+
target.removeEventListener(name, fn);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ev.js.map
|
package/x/ev.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ev.js","sourceRoot":"","sources":["../s/ev.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,EAAE,CAAmB,MAAmB,EAAE,GAAoB;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAgB,CAAA;IAElD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO;QAC/B,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAElC,OAAO,GAAG,EAAE;QACX,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO;YAC/B,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACtC,CAAC,CAAA;AACF,CAAC"}
|
package/x/id-counter.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-counter.js","sourceRoot":"","sources":["../s/id-counter.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,SAAS;IACF;IAAnB,YAAmB,QAAQ,CAAC;QAAT,UAAK,GAAL,KAAK,CAAI;IAAG,CAAC;IAEhC,IAAI;QACH,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACD"}
|
package/x/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./data/bytename/index.js";
|
|
2
|
+
export * from "./data/base-x.js";
|
|
2
3
|
export * from "./data/base58.js";
|
|
3
4
|
export * from "./data/base64.js";
|
|
4
5
|
export * from "./data/base64url.js";
|
|
@@ -8,19 +9,28 @@ export * from "./data/txt.js";
|
|
|
8
9
|
export * from "./debounce/debounce.js";
|
|
9
10
|
export * from "./debounce/types.js";
|
|
10
11
|
export * from "./deep/deep.js";
|
|
12
|
+
export * from "./queue/queue.js";
|
|
11
13
|
export * from "./coalesce.js";
|
|
12
14
|
export * from "./concurrent.js";
|
|
15
|
+
export * from "./constructor.js";
|
|
13
16
|
export * from "./deadline.js";
|
|
14
17
|
export * from "./dedupe.js";
|
|
15
|
-
export * from "./defer
|
|
18
|
+
export * from "./defer.js";
|
|
16
19
|
export * from "./drill.js";
|
|
17
20
|
export * from "./escape-regex.js";
|
|
21
|
+
export * from "./ev.js";
|
|
18
22
|
export * from "./hat.js";
|
|
23
|
+
export * from "./id-counter.js";
|
|
19
24
|
export * from "./is.js";
|
|
20
25
|
export * from "./loopy.js";
|
|
21
26
|
export * from "./map-g.js";
|
|
22
27
|
export * from "./nap.js";
|
|
23
28
|
export * from "./ob.js";
|
|
29
|
+
export * from "./once.js";
|
|
24
30
|
export * from "./pipe.js";
|
|
25
31
|
export * from "./pubsub.js";
|
|
32
|
+
export * from "./repeat.js";
|
|
33
|
+
export * from "./scope.js";
|
|
34
|
+
export * from "./templating.js";
|
|
35
|
+
export * from "./time.js";
|
|
26
36
|
export * from "./trash.js";
|
package/x/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./data/bytename/index.js";
|
|
2
|
+
export * from "./data/base-x.js";
|
|
2
3
|
export * from "./data/base58.js";
|
|
3
4
|
export * from "./data/base64.js";
|
|
4
5
|
export * from "./data/base64url.js";
|
|
@@ -8,20 +9,29 @@ export * from "./data/txt.js";
|
|
|
8
9
|
export * from "./debounce/debounce.js";
|
|
9
10
|
export * from "./debounce/types.js";
|
|
10
11
|
export * from "./deep/deep.js";
|
|
12
|
+
export * from "./queue/queue.js";
|
|
11
13
|
export * from "./coalesce.js";
|
|
12
14
|
export * from "./concurrent.js";
|
|
15
|
+
export * from "./constructor.js";
|
|
13
16
|
export * from "./deadline.js";
|
|
14
17
|
export * from "./dedupe.js";
|
|
15
|
-
export * from "./defer
|
|
18
|
+
export * from "./defer.js";
|
|
16
19
|
export * from "./drill.js";
|
|
17
20
|
export * from "./escape-regex.js";
|
|
21
|
+
export * from "./ev.js";
|
|
18
22
|
export * from "./hat.js";
|
|
23
|
+
export * from "./id-counter.js";
|
|
19
24
|
export * from "./is.js";
|
|
20
25
|
export * from "./loopy.js";
|
|
21
26
|
export * from "./map-g.js";
|
|
22
27
|
export * from "./nap.js";
|
|
23
28
|
export * from "./ob.js";
|
|
29
|
+
export * from "./once.js";
|
|
24
30
|
export * from "./pipe.js";
|
|
25
31
|
export * from "./pubsub.js";
|
|
32
|
+
export * from "./repeat.js";
|
|
33
|
+
export * from "./scope.js";
|
|
34
|
+
export * from "./templating.js";
|
|
35
|
+
export * from "./time.js";
|
|
26
36
|
export * from "./trash.js";
|
|
27
37
|
//# sourceMappingURL=index.js.map
|
package/x/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,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,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
|
package/x/is.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
export declare const is: {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const is: Readonly<{
|
|
2
|
+
set: <X>(x: X) => x is NonNullable<X>;
|
|
3
|
+
unset: (x: any) => x is (undefined | null);
|
|
4
4
|
boolean: (x: any) => x is boolean;
|
|
5
5
|
number: (x: any) => x is number;
|
|
6
6
|
string: (x: any) => x is string;
|
|
7
7
|
bigint: (x: any) => x is bigint;
|
|
8
8
|
object: <X>(x: X) => x is object & NonNullable<X>;
|
|
9
9
|
array: (x: any | any[]) => x is any[];
|
|
10
|
-
|
|
10
|
+
fn: (x: any) => x is (...a: any[]) => any;
|
|
11
|
+
symbol: (x: any) => x is symbol;
|
|
12
|
+
}>;
|
package/x/is.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
export const is = {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export const is = Object.freeze({
|
|
2
|
+
set: (x) => x !== undefined && x !== null,
|
|
3
|
+
unset: (x) => x === undefined || x === null,
|
|
4
4
|
boolean: (x) => typeof x === "boolean",
|
|
5
5
|
number: (x) => typeof x === "number",
|
|
6
6
|
string: (x) => typeof x === "string",
|
|
7
7
|
bigint: (x) => typeof x === "bigint",
|
|
8
8
|
object: (x) => typeof x === "object" && x !== null,
|
|
9
9
|
array: (x) => Array.isArray(x),
|
|
10
|
-
|
|
10
|
+
fn: (x) => typeof x === "function",
|
|
11
|
+
symbol: (x) => typeof x === "symbol",
|
|
12
|
+
});
|
|
11
13
|
//# sourceMappingURL=is.js.map
|
package/x/is.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.js","sourceRoot":"","sources":["../s/is.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"is.js","sourceRoot":"","sources":["../s/is.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,GAAG,EAAE,CAAI,CAAI,EAAuB,EAAE,CACrC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;IAE9B,KAAK,EAAE,CAAC,CAAM,EAA2B,EAAE,CAC1C,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;IAE9B,OAAO,EAAE,CAAC,CAAM,EAAgB,EAAE,CACjC,OAAO,CAAC,KAAK,SAAS;IAEvB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAI,CAAI,EAAgC,EAAE,CACjD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;IAEpC,KAAK,EAAE,CAAC,CAAc,EAAc,EAAE,CACrC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjB,EAAE,EAAE,CAAC,CAAM,EAA6B,EAAE,CACzC,OAAO,CAAC,KAAK,UAAU;IAExB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;CACtB,CAAC,CAAA"}
|
package/x/map-g.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/** js map
|
|
1
|
+
/** extended js map with handy methods like `require` and `guarantee` */
|
|
2
2
|
export declare class MapG<K, V> extends Map<K, V> {
|
|
3
|
-
static require<K, V>(map: Map<K, V>, key: K): V
|
|
3
|
+
static require<K, V>(map: Map<K, V>, key: K): NonNullable<V>;
|
|
4
4
|
static guarantee<K, V>(map: Map<K, V>, key: K, make: () => V): V;
|
|
5
5
|
array(): [K, V][];
|
|
6
|
-
require(key: K): V
|
|
6
|
+
require(key: K): NonNullable<V>;
|
|
7
7
|
guarantee(key: K, make: () => V): V;
|
|
8
8
|
}
|
|
9
9
|
export type Identifiable<Id = any> = {
|
package/x/map-g.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
/** js map
|
|
1
|
+
/** extended js map with handy methods like `require` and `guarantee` */
|
|
2
2
|
export class MapG extends Map {
|
|
3
3
|
static require(map, key) {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
if (map.has(key))
|
|
5
|
+
return map.get(key);
|
|
6
|
+
else
|
|
6
7
|
throw new Error(`required key not found: "${key}"`);
|
|
7
|
-
return value;
|
|
8
8
|
}
|
|
9
9
|
static guarantee(map, key, make) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
if (map.has(key))
|
|
11
|
+
return map.get(key);
|
|
12
|
+
else {
|
|
13
|
+
const value = make();
|
|
13
14
|
map.set(key, value);
|
|
15
|
+
return value;
|
|
14
16
|
}
|
|
15
|
-
return value;
|
|
16
17
|
}
|
|
17
18
|
array() {
|
|
18
19
|
return [...this];
|
package/x/map-g.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-g.js","sourceRoot":"","sources":["../s/map-g.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"map-g.js","sourceRoot":"","sources":["../s/map-g.ts"],"names":[],"mappings":"AACA,wEAAwE;AACxE,MAAM,OAAO,IAAW,SAAQ,GAAS;IACxC,MAAM,CAAC,OAAO,CAAO,GAAc,EAAE,GAAM;QAC1C,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;;YAEpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,CAAC,SAAS,CAAO,GAAc,EAAE,GAAM,EAAE,IAAa;QAC3D,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;aAChB,CAAC;YACL,MAAM,KAAK,GAAG,IAAI,EAAE,CAAA;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACnB,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IAED,KAAK;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,SAAS,CAAC,GAAM,EAAE,IAAa;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACvC,CAAC;CACD;AAID,oDAAoD;AACpD,MAAM,OAAO,KAA8B,SAAQ,IAAgB;IAClE,GAAG,CAAC,KAAQ;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,KAAQ;QACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACzB,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,CAAC,KAAQ;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;CACD"}
|
package/x/nap.d.ts
CHANGED
package/x/nap.js
CHANGED
package/x/nap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nap.js","sourceRoot":"","sources":["../s/nap.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,eAAuB,CAAC,EAAE,EAAE,CAAC,CAChD,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAC/D,CAAA"}
|
|
1
|
+
{"version":3,"file":"nap.js","sourceRoot":"","sources":["../s/nap.ts"],"names":[],"mappings":"AACA,gEAAgE;AAChE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,eAAuB,CAAC,EAAE,EAAE,CAAC,CAChD,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAC/D,CAAA"}
|
package/x/once.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function once<Fn extends (...a: any[]) => any>(fn: Fn): Fn;
|
package/x/once.js
ADDED
package/x/once.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"once.js","sourceRoot":"","sources":["../s/once.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,IAAI,CAAkC,EAAM;IAC3D,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,IAAI,GAAQ,CAAA;IAEZ,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;QAChB,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,GAAG,IAAI,CAAA;YACX,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QACf,CAAC;QACD,OAAO,GAAG,CAAA;IACX,CAAC,CAAO,CAAA;AACT,CAAC"}
|
package/x/pipe.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type Piper<I, O> = (input: I) => O;
|
|
2
|
+
export declare function pipe<I>(input: I): Pipe<I>;
|
|
2
3
|
export declare class Pipe<I> {
|
|
3
4
|
#private;
|
|
4
|
-
static with<I>(input: I): Pipe<I>;
|
|
5
5
|
constructor(input: I);
|
|
6
|
-
to<O>(
|
|
6
|
+
to<O>(fn: Piper<I, O>): Pipe<O>;
|
|
7
7
|
done(): I;
|
|
8
8
|
}
|
package/x/pipe.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
export function pipe(input) {
|
|
2
|
+
return new Pipe(input);
|
|
3
|
+
}
|
|
1
4
|
export class Pipe {
|
|
2
|
-
static with(input) {
|
|
3
|
-
return new this(input);
|
|
4
|
-
}
|
|
5
5
|
#input;
|
|
6
6
|
constructor(input) {
|
|
7
7
|
this.#input = input;
|
|
8
8
|
}
|
|
9
|
-
to(
|
|
10
|
-
return new Pipe(
|
|
9
|
+
to(fn) {
|
|
10
|
+
return new Pipe(fn(this.#input));
|
|
11
11
|
}
|
|
12
12
|
done() {
|
|
13
13
|
return this.#input;
|
package/x/pipe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipe.js","sourceRoot":"","sources":["../s/pipe.ts"],"names":[],"mappings":"AAGA,MAAM,
|
|
1
|
+
{"version":3,"file":"pipe.js","sourceRoot":"","sources":["../s/pipe.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,IAAI,CAAI,KAAQ;IAC/B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,OAAO,IAAI;IAChB,MAAM,CAAG;IAET,YAAY,KAAQ;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,EAAE,CAAI,EAAe;QACpB,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,IAAI;QACH,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;CACD"}
|
package/x/pubsub.d.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
export type Listener<A extends any[]> = (...a: A) => (void | Promise<void>);
|
|
2
2
|
export interface Xub<A extends any[] = []> {
|
|
3
|
+
/** publish to all subscribed listeners. */
|
|
3
4
|
pub(...a: A): Promise<void>;
|
|
5
|
+
/** subscribe a listener function. */
|
|
4
6
|
sub(fn: Listener<A>): () => void;
|
|
5
|
-
|
|
7
|
+
/**
|
|
8
|
+
* subscribe a listener function.
|
|
9
|
+
* @alias sub
|
|
10
|
+
*/
|
|
11
|
+
on(fn: Listener<A>): () => void;
|
|
12
|
+
/** wait for the next published value */
|
|
13
|
+
next(): Promise<A>;
|
|
14
|
+
/** wipe all listeners attached to this. */
|
|
6
15
|
clear(): void;
|
|
7
16
|
}
|
|
17
|
+
/** subscriber fn that can be published to. */
|
|
8
18
|
export interface Sub<A extends any[] = []> extends Xub<A> {
|
|
9
19
|
(fn: Listener<A>): () => void;
|
|
10
20
|
}
|
|
21
|
+
/** publisher fn that can be published to. */
|
|
11
22
|
export interface Pub<A extends any[] = []> extends Xub<A> {
|
|
12
23
|
(...a: A): Promise<void>;
|
|
13
24
|
}
|