@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
package/x/data/anka.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
"anka" is an alternative to base64 that i totally made up.
|
|
4
|
-
- it looks cool because it features characters from the indian subcontinent.
|
|
5
|
-
- each byte is represented by one character, which makes a 256 bit id incomparably short at only 32 characters.
|
|
6
|
-
- however, it's probably a bad idea, for these negative reasons:
|
|
7
|
-
1. many of these characters are actually 2-or-3-byte sequences (so even though anka is visually more compact than base64 to the user, it's actually more data in terms of bytes).
|
|
8
|
-
2. it's horrible for url-encoding.
|
|
9
|
-
3. it's horrible for trying to manually copy by typing.
|
|
10
|
-
|
|
11
|
-
256-bit anka ids look like this:
|
|
12
|
-
|
|
13
|
-
ஒഐওଆઊসਅവஎଉखਬശயഘसചവਭଏரঊझഠடଓઐഴঠണവઞ
|
|
14
|
-
ठକநइஎਦਏஒഊটਹஜഴयભকயঙਪഉजकঝഐवઠসഏਓਡਟऋ
|
|
15
|
-
થঞठખஉધഫரਜऐફരਪਙਗഭਣഎफઇমએরଔડਉதਤஅदઘച
|
|
16
|
-
|
|
17
|
-
*/
|
|
18
|
-
import { Bytes } from "./bytes.js";
|
|
19
|
-
const characters = [...new Set([
|
|
20
|
-
// devanagari
|
|
21
|
-
..."अआइईउऊऋएऐओऔकखगघङचछजझञटठडढणतथदधनपफबभमयरलवशषसह",
|
|
22
|
-
// tamil
|
|
23
|
-
..."அஆஇஈஉஊஎஏஐஒஓகஙசஜஞடணதநபமயரலவழளறன",
|
|
24
|
-
// bengali
|
|
25
|
-
..."অআইঈউঊএঐওকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহ",
|
|
26
|
-
// gurmukhi
|
|
27
|
-
..."ਅਆਇਈਉਊਏਐਓਕਖਗਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯਰਲਵਸਹ",
|
|
28
|
-
// malayalam
|
|
29
|
-
..."അആഇഈഉഊഎഏഐഒഓകഖഗഘങചഛജഝഞടഠഡഢണതഥദധനപഫബഭമയരലവശസഹളഴറ",
|
|
30
|
-
// gujarati
|
|
31
|
-
..."અઆઇઈઉઊએઐઓકખગઘઙચછજઝઞટઠડઢણતથદધનપફબભમયરલવશષસહ",
|
|
32
|
-
// odia
|
|
33
|
-
..."ଅଆଇଈଉଊଏଐଓଔକଖଗଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନପଫବଭମଯରଲଶଷସହ",
|
|
34
|
-
])];
|
|
35
|
-
export const Anka = Object.freeze({
|
|
36
|
-
string(bytes) {
|
|
37
|
-
return [...bytes]
|
|
38
|
-
.map(int => characters.at(int))
|
|
39
|
-
.join("");
|
|
40
|
-
},
|
|
41
|
-
bytes(code) {
|
|
42
|
-
return new Uint8Array([...code].map(char => {
|
|
43
|
-
const index = characters.indexOf(char);
|
|
44
|
-
if (index === -1)
|
|
45
|
-
throw new Error(`invalid anka character "${char}"`);
|
|
46
|
-
return index;
|
|
47
|
-
}));
|
|
48
|
-
},
|
|
49
|
-
random(count = 32) {
|
|
50
|
-
return this.string(Bytes.random(count));
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
//# sourceMappingURL=anka.js.map
|
package/x/data/anka.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anka.js","sourceRoot":"","sources":["../../s/data/anka.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;EAgBE;AAEF,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAEhC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC9B,aAAa;QACb,GAAG,8CAA8C;QAEjD,QAAQ;QACR,GAAG,gCAAgC;QAEnC,UAAU;QACV,GAAG,2CAA2C;QAE9C,WAAW;QACX,GAAG,0CAA0C;QAE7C,YAAY;QACZ,GAAG,gDAAgD;QAEnD,WAAW;QACX,GAAG,4CAA4C;QAE/C,OAAO;QACP,GAAG,4CAA4C;KAC/C,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAEjC,MAAM,CAAC,KAAiB;QACvB,OAAO,CAAC,GAAG,KAAK,CAAC;aACf,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;aAC9B,IAAI,CAAC,EAAE,CAAC,CAAA;IACX,CAAC;IAED,KAAK,CAAC,IAAY;QACjB,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,KAAK,KAAK,CAAC,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAA;YACpD,OAAO,KAAK,CAAA;QACb,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,EAAE;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,CAAC;CACD,CAAC,CAAA"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export type BadgeOptions = {
|
|
2
|
-
leadBytes: number;
|
|
3
|
-
leadSeparator: string;
|
|
4
|
-
restSeparator: string;
|
|
5
|
-
};
|
|
6
|
-
export type ParsedBadge = {
|
|
7
|
-
lead: string;
|
|
8
|
-
rest: string;
|
|
9
|
-
bytes: Uint8Array;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Badge is a human-friendly presentation format for arbitrary binary data.
|
|
13
|
-
* - looks like "nodlyn.fasrep:39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"
|
|
14
|
-
* - the first lead bytes are shown in bytename format
|
|
15
|
-
* - the rest of the data is in base58
|
|
16
|
-
* - designed to be a nice way to present 256-bit passport thumbprints
|
|
17
|
-
* - can actually represent any number of bytes
|
|
18
|
-
* - "nodlyn.fasrep:39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"
|
|
19
|
-
*/
|
|
20
|
-
export declare const Badge: {
|
|
21
|
-
defaults: BadgeOptions;
|
|
22
|
-
string(bytes: Uint8Array, options?: Partial<BadgeOptions>): string;
|
|
23
|
-
parse(badge: string): ParsedBadge;
|
|
24
|
-
bytes(badge: string): Uint8Array<ArrayBufferLike>;
|
|
25
|
-
hex(badge: string): string;
|
|
26
|
-
fromHex(hex: string, options?: Partial<BadgeOptions>): string;
|
|
27
|
-
};
|
package/x/data/bytename/badge.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Hex } from "../hex.js";
|
|
2
|
-
import { Base58 } from "../base58.js";
|
|
3
|
-
import { Bytename } from "./bytename.js";
|
|
4
|
-
/**
|
|
5
|
-
* Badge is a human-friendly presentation format for arbitrary binary data.
|
|
6
|
-
* - looks like "nodlyn.fasrep:39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"
|
|
7
|
-
* - the first lead bytes are shown in bytename format
|
|
8
|
-
* - the rest of the data is in base58
|
|
9
|
-
* - designed to be a nice way to present 256-bit passport thumbprints
|
|
10
|
-
* - can actually represent any number of bytes
|
|
11
|
-
* - "nodlyn.fasrep:39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"
|
|
12
|
-
*/
|
|
13
|
-
export const Badge = {
|
|
14
|
-
defaults: {
|
|
15
|
-
leadBytes: 4,
|
|
16
|
-
leadSeparator: ".",
|
|
17
|
-
restSeparator: ":",
|
|
18
|
-
},
|
|
19
|
-
string(bytes, options = {}) {
|
|
20
|
-
const { leadBytes, leadSeparator, restSeparator } = { ...Badge.defaults, ...options };
|
|
21
|
-
const appetizer = Bytename.string(bytes.slice(0, leadBytes), {
|
|
22
|
-
wordSeparator: leadSeparator,
|
|
23
|
-
groupSeparator: leadSeparator,
|
|
24
|
-
});
|
|
25
|
-
return (bytes.length > leadBytes)
|
|
26
|
-
? `${appetizer}${restSeparator}${Base58.string(bytes.slice(leadBytes))}`
|
|
27
|
-
: appetizer;
|
|
28
|
-
},
|
|
29
|
-
parse(badge) {
|
|
30
|
-
badge = badge.trim();
|
|
31
|
-
const parts = badge.split(/[^a-zA-Z0-9]+/m)
|
|
32
|
-
.filter(Boolean)
|
|
33
|
-
.map(s => s.trim());
|
|
34
|
-
if (parts.length < 2) {
|
|
35
|
-
const lead = parts.join(".");
|
|
36
|
-
const bytes = Bytename.bytes(lead);
|
|
37
|
-
return { lead, rest: "", bytes };
|
|
38
|
-
}
|
|
39
|
-
const rest = parts.pop();
|
|
40
|
-
const lead = parts.join(".");
|
|
41
|
-
const bytes = new Uint8Array([
|
|
42
|
-
...Bytename.bytes(lead),
|
|
43
|
-
...Base58.bytes(rest),
|
|
44
|
-
]);
|
|
45
|
-
return { lead, rest, bytes };
|
|
46
|
-
},
|
|
47
|
-
bytes(badge) {
|
|
48
|
-
return Badge.parse(badge).bytes;
|
|
49
|
-
},
|
|
50
|
-
hex(badge) {
|
|
51
|
-
return Hex.string(Badge.bytes(badge));
|
|
52
|
-
},
|
|
53
|
-
fromHex(hex, options) {
|
|
54
|
-
return Badge.string(Hex.bytes(hex), options);
|
|
55
|
-
},
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=badge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../s/data/bytename/badge.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,WAAW,CAAA;AAC7B,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AACnC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AActC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,QAAQ,EAAiB;QACxB,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,GAAG;KACjB;IAEF,MAAM,CAAC,KAAiB,EAAE,UAAiC,EAAE;QAC5D,MAAM,EAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAC,GAC5C,EAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAC,CAAA;QAElC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE;YAC5D,aAAa,EAAE,aAAa;YAC5B,cAAc,EAAE,aAAa;SAC7B,CAAC,CAAA;QAEF,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YAChC,CAAC,CAAC,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;YACxE,CAAC,CAAC,SAAS,CAAA;IACb,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;aACzC,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAEpB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAClC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,CAAA;QAC/B,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;YAC5B,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YACvB,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;SACrB,CAAC,CAAA;QACF,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA;IAChC,CAAC;IAED,GAAG,CAAC,KAAa;QAChB,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,OAA+B;QACnD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;CACD,CAAA"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Hex } from "../hex.js";
|
|
2
|
-
import { Badge } from "./badge.js";
|
|
3
|
-
import { Bytes } from "../bytes.js";
|
|
4
|
-
import { Science, test, expect } from "@e280/science";
|
|
5
|
-
const sampleBadge = "nodlyn.fasrep:39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k";
|
|
6
|
-
const sampleHex = "88e8c3fad1028fcf6ce5ac491578850f4d833336feca03b608265501c3019d59";
|
|
7
|
-
const sampleBytes = Hex.bytes(sampleHex);
|
|
8
|
-
function good(bytes) {
|
|
9
|
-
expect(Bytes.eq(bytes, sampleBytes)).ok();
|
|
10
|
-
}
|
|
11
|
-
export default Science.suite({
|
|
12
|
-
"bytes->string->bytes": test(async () => {
|
|
13
|
-
const text = Badge.string(sampleBytes);
|
|
14
|
-
expect(text).is(sampleBadge);
|
|
15
|
-
good(Badge.bytes(text));
|
|
16
|
-
}),
|
|
17
|
-
"zero bytes": test(async () => {
|
|
18
|
-
const text = Badge.string(new Uint8Array([]));
|
|
19
|
-
expect(text).is("");
|
|
20
|
-
expect(Bytes.eq(Badge.bytes(text), new Uint8Array([]))).ok();
|
|
21
|
-
}),
|
|
22
|
-
"one byte": test(async () => {
|
|
23
|
-
const text = Badge.string(new Uint8Array([0x00]));
|
|
24
|
-
expect(text).is("doz");
|
|
25
|
-
expect(Bytes.eq(Badge.bytes(text), new Uint8Array([0x00]))).ok();
|
|
26
|
-
}),
|
|
27
|
-
"partially": Science.suite({
|
|
28
|
-
"normal": test(async () => expect(Badge.bytes("nodlyn.fasrep:39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k").length).ok()),
|
|
29
|
-
"nothing": test(async () => expect(Badge.bytes("").length).is(0)),
|
|
30
|
-
"no-rest": test(async () => expect(Badge.bytes("nodlyn.fasrep").length).ok()),
|
|
31
|
-
"one-byte": test(async () => expect(Badge.bytes("nod").length).is(1)),
|
|
32
|
-
"three-byte": test(async () => expect(Badge.bytes("nodlynfas").length).is(3)),
|
|
33
|
-
"one-byte-lead": test(async () => expect(Badge.bytes("nod:39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k").length).ok()),
|
|
34
|
-
}),
|
|
35
|
-
"tolerance": Science.suite({
|
|
36
|
-
"normal": test(async () => good(Badge.bytes("nodlyn.fasrep:39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
37
|
-
"coolio": test(async () => good(Badge.bytes("nodlyn.fasrep..39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
38
|
-
"spaces": test(async () => good(Badge.bytes("nodlyn fasrep 39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
39
|
-
"dots": test(async () => good(Badge.bytes("nodlyn.fasrep.39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
40
|
-
"one-space": test(async () => good(Badge.bytes("nodlynfasrep 39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
41
|
-
"one-newline": test(async () => good(Badge.bytes("nodlynfasrep\n39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k"))),
|
|
42
|
-
"whitespace": test(async () => good(Badge.bytes("\t\n nodlyn\n fasrep \n\n\t\n 39gfeGFAAnBzH5pkT7EdoETMUMAekG9h1iymk6k\n\t"))),
|
|
43
|
-
}),
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=badge.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge.test.js","sourceRoot":"","sources":["../../../s/data/bytename/badge.test.ts"],"names":[],"mappings":"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"}
|
package/x/defer-promise.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defer-promise.js","sourceRoot":"","sources":["../s/defer-promise.ts"],"names":[],"mappings":"AAWA,qEAAqE;AACrE,MAAM,UAAU,YAAY;IAC3B,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"}
|