@e280/stz 0.0.0-8 → 0.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/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 +13 -6
- 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 +8 -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 +9 -3
- package/x/data/bytename/bytename.js +13 -6
- 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} +2 -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 +4 -3
- package/x/pipe.js +6 -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 -53
- 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 -45
- 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,9 @@
|
|
|
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
|
|
5
|
+
static with: typeof pipe;
|
|
5
6
|
constructor(input: I);
|
|
6
|
-
to<O>(
|
|
7
|
+
to<O>(fn: Piper<I, O>): Pipe<O>;
|
|
7
8
|
done(): I;
|
|
8
9
|
}
|
package/x/pipe.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
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
|
+
static with = pipe;
|
|
6
7
|
constructor(input) {
|
|
7
8
|
this.#input = input;
|
|
8
9
|
}
|
|
9
|
-
to(
|
|
10
|
-
return new Pipe(
|
|
10
|
+
to(fn) {
|
|
11
|
+
return new Pipe(fn(this.#input));
|
|
11
12
|
}
|
|
12
13
|
done() {
|
|
13
14
|
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;IACT,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;IAElB,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"}
|
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
|
}
|