@e280/stz 0.2.28 → 0.2.30

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/stz",
3
- "version": "0.2.28",
3
+ "version": "0.2.30",
4
4
  "description": "everyday ts fns for everything",
5
5
  "license": "MIT",
6
6
  "author": "Chase Moskal <chasemoskal@gmail.com>",
@@ -22,8 +22,8 @@
22
22
  "count": "find s -path '*/_archive' -prune -o -name '*.ts' -exec wc -l {} +"
23
23
  },
24
24
  "devDependencies": {
25
- "@e280/science": "^0.1.9",
26
- "@types/node": "^25.5.0",
25
+ "@e280/science": "^0.1.10",
26
+ "@types/node": "^25.5.2",
27
27
  "typescript": "^6.0.2"
28
28
  },
29
29
  "keywords": [
package/s/assert.ts ADDED
@@ -0,0 +1,10 @@
1
+
2
+ export function assert<Value>(
3
+ value: Value,
4
+ message = "assert fail",
5
+ ): asserts value {
6
+
7
+ if (!value)
8
+ throw new Error(message)
9
+ }
10
+
package/s/data/base-x.ts CHANGED
@@ -75,22 +75,26 @@ export class BaseX {
75
75
  // Radix mode fallback
76
76
  let num = 0n
77
77
  const base = BigInt(this.lexicon.characters.length)
78
- let negative = false
79
78
  if (s.startsWith(this.negativePrefix)) {
80
79
  s = s.slice(this.negativePrefix.length)
81
- negative = true
82
80
  }
81
+ const zeroCharacter = this.lexicon.characters[0]
82
+ let leadingZeroBytes = 0
83
+ while (s[leadingZeroBytes] === zeroCharacter)
84
+ leadingZeroBytes++
85
+ s = s.slice(leadingZeroBytes)
83
86
  for (const char of s) {
84
87
  const val = this.lookup[char]
85
88
  if (val === undefined) throw new Error(`Invalid character: ${char}`)
86
89
  num = num * base + BigInt(val)
87
90
  }
88
- const out: number[] = []
91
+ const out = new Uint8Array(leadingZeroBytes + (num === 0n ? 0 : this.countBytes(num)))
92
+ let writeIndex = out.length
89
93
  while (num > 0n) {
90
- out.unshift(Number(num % 256n))
94
+ out[--writeIndex] = Number(num % 256n)
91
95
  num = num / 256n
92
96
  }
93
- return new Uint8Array(out)
97
+ return out
94
98
  }
95
99
 
96
100
  fromBytes(bytes: Uint8Array): string {
@@ -128,11 +132,16 @@ export class BaseX {
128
132
  }
129
133
 
130
134
  // Radix mode fallback
135
+ if (bytes.length === 0) return ""
136
+ const zeroCharacter = this.lexicon.characters[0]
137
+ let leadingZeroBytes = 0
138
+ while (bytes[leadingZeroBytes] === 0)
139
+ leadingZeroBytes++
131
140
  let num = 0n
132
- for (const byte of bytes)
141
+ for (const byte of bytes.slice(leadingZeroBytes))
133
142
  num = (num << 8n) + BigInt(byte)
134
143
 
135
- if (num === 0n) return this.lexicon.characters[0]
144
+ if (num === 0n) return zeroCharacter.repeat(leadingZeroBytes)
136
145
 
137
146
  const base = BigInt(this.lexicon.characters.length)
138
147
  let out = ""
@@ -140,7 +149,7 @@ export class BaseX {
140
149
  out = this.lexicon.characters[Number(num % base)] + out
141
150
  num = num / base
142
151
  }
143
- return out
152
+ return zeroCharacter.repeat(leadingZeroBytes) + out
144
153
  }
145
154
 
146
155
  toInteger(s: string) {
@@ -177,5 +186,13 @@ export class BaseX {
177
186
  random(count = 32) {
178
187
  return this.fromBytes(bytes.random(count))
179
188
  }
180
- }
181
189
 
190
+ private countBytes(num: bigint) {
191
+ let count = 0
192
+ while (num > 0n) {
193
+ count++
194
+ num = num / 256n
195
+ }
196
+ return count
197
+ }
198
+ }
@@ -9,6 +9,7 @@ import bytename from "./bytename/bytename.test.js"
9
9
  import thumbprint from "./bytename/thumbprint.test.js"
10
10
 
11
11
  const sampleBytes = hex.toBytes("9960cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b")
12
+ const sampleBytesWithLeadingZeros = hex.toBytes("0000cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b")
12
13
 
13
14
  type ByteUtil = {
14
15
  toBytes: (string: string) => Uint8Array
@@ -22,9 +23,10 @@ type NumberUtil = {
22
23
 
23
24
  function testBytes(util: ByteUtil) {
24
25
  return async() => {
25
- const string = util.fromBytes(sampleBytes)
26
- const recreated = util.toBytes(string)
27
- expect(bytes.eq(sampleBytes, recreated)).ok()
26
+ const roundtrip = (original: Uint8Array) => util.toBytes(util.fromBytes(original))
27
+ expect(bytes.eq(sampleBytes, roundtrip(sampleBytes))).ok()
28
+ expect(bytes.eq(sampleBytesWithLeadingZeros, roundtrip(sampleBytesWithLeadingZeros))).ok()
29
+ expect(bytes.eq(new Uint8Array([]), roundtrip(new Uint8Array([])))).ok()
28
30
  }
29
31
  }
30
32
 
@@ -111,4 +113,3 @@ export default Science.suite({
111
113
  }),
112
114
  }),
113
115
  })
114
-
package/s/dig/dig.ts ADDED
@@ -0,0 +1,25 @@
1
+
2
+ import {is} from "../is.js"
3
+ import {ok, err} from "../ok/index.js"
4
+
5
+ /** drill into an object/array tree and return the value at the given path */
6
+ export function dig<Value>(
7
+ target: any,
8
+ path: (string | number)[],
9
+ ) {
10
+
11
+ let current: any = target
12
+
13
+ for (const key of path) {
14
+ if (!(is.object(current) || is.array(current)))
15
+ return err("not traversable" as const)
16
+
17
+ if (!Object.hasOwn(current, key))
18
+ return err("not found" as const)
19
+
20
+ current = current[key]
21
+ }
22
+
23
+ return ok(current as Value)
24
+ }
25
+
package/s/dig/test.ts ADDED
@@ -0,0 +1,52 @@
1
+
2
+ import {suite, expect, assert} from "@e280/science"
3
+ import {dig} from "./dig.js"
4
+ import {need} from "../ok/index.js"
5
+
6
+ const check = (t: any, path: (string | number)[]) => ({
7
+ ok: (value: any) => async() => {
8
+ const result = dig(t, path)
9
+ expect(need(result)).is(value)
10
+ },
11
+ err: (e: any) => async() => {
12
+ const result = dig(t, path)
13
+ assert(!result.ok)
14
+ expect(result.error).is(e)
15
+ },
16
+ })
17
+
18
+ export default suite({
19
+ "get value": check({a: 2}, ["a"])
20
+ .ok(2),
21
+
22
+ "get undefined": check({a: undefined}, ["a"])
23
+ .ok(undefined),
24
+
25
+ "get null": check({a: null}, ["a"])
26
+ .ok(null),
27
+
28
+ "nested get value": check({a: {b: 2}}, ["a", "b"])
29
+ .ok(2),
30
+
31
+ "array get value": check(["a", "b"], [1])
32
+ .ok("b"),
33
+
34
+ "null not traversable": check(null, ["a"])
35
+ .err("not traversable"),
36
+
37
+ "undefined not traversable": check(undefined, ["a"])
38
+ .err("not traversable"),
39
+
40
+ "missing key not found": check({a: 2}, ["b"])
41
+ .err("not found"),
42
+
43
+ "array index not found": check(["a", "b"], [2])
44
+ .err("not found"),
45
+
46
+ "midway not traversable": check({a: 5}, ["a", "b"])
47
+ .err("not traversable"),
48
+
49
+ "midway not found": check({a: {}}, ["a", "b"])
50
+ .err("not found"),
51
+ })
52
+
package/s/drill.ts CHANGED
@@ -1,7 +1,10 @@
1
1
 
2
2
  import {is} from "./is.js"
3
3
 
4
- /** return a value within an object tree, found at the given path. */
4
+ /**
5
+ * return a value within an object tree, found at the given path.
6
+ * @deprecated prefer `dig` instead
7
+ */
5
8
  export function drill<xResult>(
6
9
  object: {[key: string]: any},
7
10
  path: string[],
package/s/index.ts CHANGED
@@ -15,6 +15,7 @@ export * from "./debounce/microbounce.js"
15
15
  export * from "./debounce/types.js"
16
16
 
17
17
  export * from "./deep/index.js"
18
+ export * from "./dig/dig.js"
18
19
 
19
20
  export * from "./g/map.js"
20
21
  export * from "./g/pool.js"
@@ -28,6 +29,7 @@ export * from "./toq/index.js"
28
29
  export * from "./maybe/index.js"
29
30
 
30
31
  export * from "./all.js"
32
+ export * from "./assert.js"
31
33
  export * from "./coalesce.js"
32
34
  export * from "./collect.js"
33
35
  export * from "./concurrent.js"
package/s/tests.test.ts CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- import {Science} from "@e280/science"
2
+ 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"
@@ -8,9 +8,10 @@ import deep from "./deep/index.test.js"
8
8
  import queue from "./queue/queue.test.js"
9
9
  import toq from "./toq/toq.test.js"
10
10
  import maybe from "./maybe/test.js"
11
+ import dig from "./dig/test.js"
11
12
  import ok from "./ok/test.js"
12
13
 
13
- await Science.run({
14
+ await science.run({
14
15
  data,
15
16
  debounce,
16
17
  microbounce,
@@ -18,5 +19,7 @@ await Science.run({
18
19
  queue,
19
20
  toq,
20
21
  maybe,
22
+ dig,
21
23
  ok,
22
24
  })
25
+
package/x/assert.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function assert<Value>(value: Value, message?: string): asserts value;
package/x/assert.js ADDED
@@ -0,0 +1,5 @@
1
+ export function assert(value, message = "assert fail") {
2
+ if (!value)
3
+ throw new Error(message);
4
+ }
5
+ //# sourceMappingURL=assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../s/assert.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,MAAM,CACpB,KAAY,EACZ,OAAO,GAAG,aAAa;IAGxB,IAAI,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC"}
@@ -49,4 +49,5 @@ export declare class BaseX {
49
49
  toInteger(s: string): number;
50
50
  fromInteger(n: number): string;
51
51
  random(count?: number): string;
52
+ private countBytes;
52
53
  }
package/x/data/base-x.js CHANGED
@@ -54,23 +54,27 @@ export class BaseX {
54
54
  // Radix mode fallback
55
55
  let num = 0n;
56
56
  const base = BigInt(this.lexicon.characters.length);
57
- let negative = false;
58
57
  if (s.startsWith(this.negativePrefix)) {
59
58
  s = s.slice(this.negativePrefix.length);
60
- negative = true;
61
59
  }
60
+ const zeroCharacter = this.lexicon.characters[0];
61
+ let leadingZeroBytes = 0;
62
+ while (s[leadingZeroBytes] === zeroCharacter)
63
+ leadingZeroBytes++;
64
+ s = s.slice(leadingZeroBytes);
62
65
  for (const char of s) {
63
66
  const val = this.lookup[char];
64
67
  if (val === undefined)
65
68
  throw new Error(`Invalid character: ${char}`);
66
69
  num = num * base + BigInt(val);
67
70
  }
68
- const out = [];
71
+ const out = new Uint8Array(leadingZeroBytes + (num === 0n ? 0 : this.countBytes(num)));
72
+ let writeIndex = out.length;
69
73
  while (num > 0n) {
70
- out.unshift(Number(num % 256n));
74
+ out[--writeIndex] = Number(num % 256n);
71
75
  num = num / 256n;
72
76
  }
73
- return new Uint8Array(out);
77
+ return out;
74
78
  }
75
79
  fromBytes(bytes) {
76
80
  const bitsPerChar = Math.log2(this.lexicon.characters.length);
@@ -101,18 +105,24 @@ export class BaseX {
101
105
  return out;
102
106
  }
103
107
  // Radix mode fallback
108
+ if (bytes.length === 0)
109
+ return "";
110
+ const zeroCharacter = this.lexicon.characters[0];
111
+ let leadingZeroBytes = 0;
112
+ while (bytes[leadingZeroBytes] === 0)
113
+ leadingZeroBytes++;
104
114
  let num = 0n;
105
- for (const byte of bytes)
115
+ for (const byte of bytes.slice(leadingZeroBytes))
106
116
  num = (num << 8n) + BigInt(byte);
107
117
  if (num === 0n)
108
- return this.lexicon.characters[0];
118
+ return zeroCharacter.repeat(leadingZeroBytes);
109
119
  const base = BigInt(this.lexicon.characters.length);
110
120
  let out = "";
111
121
  while (num > 0n) {
112
122
  out = this.lexicon.characters[Number(num % base)] + out;
113
123
  num = num / base;
114
124
  }
115
- return out;
125
+ return zeroCharacter.repeat(leadingZeroBytes) + out;
116
126
  }
117
127
  toInteger(s) {
118
128
  if (!s)
@@ -149,5 +159,13 @@ export class BaseX {
149
159
  random(count = 32) {
150
160
  return this.fromBytes(bytes.random(count));
151
161
  }
162
+ countBytes(num) {
163
+ let count = 0;
164
+ while (num > 0n) {
165
+ count++;
166
+ num = num / 256n;
167
+ }
168
+ return count;
169
+ }
152
170
  }
153
171
  //# sourceMappingURL=base-x.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-x.js","sourceRoot":"","sources":["../../s/data/base-x.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAgBhC,MAAM,OAAO,KAAK;IAoBE;IAnBnB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/B,KAAK,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC;QACzB,GAAG,EAAE,EAAC,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,IAAI,EAAC;QAC5D,MAAM,EAAE,EAAC,UAAU,EAAE,sCAAsC,EAAC;QAC5D,MAAM,EAAE,EAAC,UAAU,EAAE,4DAA4D,EAAC;QAClF,MAAM,EAAE,EAAC,UAAU,EAAE,gEAAgE,EAAC;QACtF,SAAS,EAAE;YACV,cAAc,EAAE,GAAG;YACnB,UAAU,EAAE,kEAAkE;SAC9E;QACD,MAAM,EAAE;YACP,UAAU,EAAE,kEAAkE;YAC9E,OAAO,EAAE,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAC;SAClC;KACD,CAAC,CAAA;IAEM,MAAM,CAAwB;IAC9B,cAAc,CAAQ;IAE9B,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACnD,CAAA;QACD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAA;QAEnD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC/C,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACvB,OAAO,EAAW,CAAA;IACnB,CAAC;IAED,OAAO,CAAC,CAAS;QAChB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe;YAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,2CAA2C;YAC3C,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,MAAM,MAAM,GAAa,EAAE,CAAA;YAE3B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS;oBAAE,SAAQ;gBACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC7B,IAAI,GAAG,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAA;gBACpE,SAAS,GAAG,CAAC,SAAS,IAAI,WAAW,CAAC,GAAG,GAAG,CAAA;gBAC5C,QAAQ,IAAI,WAAW,CAAA;gBAEvB,OAAO,QAAQ,IAAI,CAAC,EAAE,CAAC;oBACtB,QAAQ,IAAI,CAAC,CAAA;oBACb,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC5C,CAAC;YACF,CAAC;YAED,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QAED,sBAAsB;QACtB,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;YACvC,QAAQ,GAAG,IAAI,CAAA;QAChB,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAA;YACpE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC;QACD,MAAM,GAAG,GAAa,EAAE,CAAA;QACxB,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAA;YAC/B,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,SAAS,CAAC,KAAiB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,2CAA2C;YAC3C,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,IAAI,GAAG,GAAG,EAAE,CAAA;YAEZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,SAAS,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;gBACnC,QAAQ,IAAI,CAAC,CAAA;gBAEb,OAAO,QAAQ,IAAI,WAAW,EAAE,CAAC;oBAChC,QAAQ,IAAI,WAAW,CAAA;oBACvB,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;oBAChE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACtC,CAAC;YACF,CAAC;YAED,0BAA0B;YAC1B,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;gBAChF,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACtC,CAAC;YAED,4BAA4B;YAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;oBAClD,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAA;YACvC,CAAC;YAED,OAAO,GAAG,CAAA;QACX,CAAC;QAED,sBAAsB;QACtB,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,KAAK,MAAM,IAAI,IAAI,KAAK;YACvB,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAEjC,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAEjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;YACjB,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA;YACvD,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,OAAO,GAAG,CAAA;IACX,CAAC;IAED,SAAS,CAAC,CAAS;QAClB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,IAAI,CAAC,GAAG,EAAE,CAAA;QACV,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;YACvC,QAAQ,GAAG,IAAI,CAAA;QAChB,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAA;YACtE,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,WAAW,CAAC,CAAS;QACpB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;YACjB,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA;YACvD,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,EAAE;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3C,CAAC"}
1
+ {"version":3,"file":"base-x.js","sourceRoot":"","sources":["../../s/data/base-x.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,13 @@ import { base58, base64, base64url, hex } from "./base-x-codecs.js";
7
7
  import bytename from "./bytename/bytename.test.js";
8
8
  import thumbprint from "./bytename/thumbprint.test.js";
9
9
  const sampleBytes = hex.toBytes("9960cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b");
10
+ const sampleBytesWithLeadingZeros = hex.toBytes("0000cd633a46acfe8307d8a400e842da0d930a75fb8188e0f5da264e4b6b4e5b");
10
11
  function testBytes(util) {
11
12
  return async () => {
12
- const string = util.fromBytes(sampleBytes);
13
- const recreated = util.toBytes(string);
14
- expect(bytes.eq(sampleBytes, recreated)).ok();
13
+ const roundtrip = (original) => util.toBytes(util.fromBytes(original));
14
+ expect(bytes.eq(sampleBytes, roundtrip(sampleBytes))).ok();
15
+ expect(bytes.eq(sampleBytesWithLeadingZeros, roundtrip(sampleBytesWithLeadingZeros))).ok();
16
+ expect(bytes.eq(new Uint8Array([]), roundtrip(new Uint8Array([])))).ok();
15
17
  };
16
18
  }
17
19
  function testNumbers(util) {
@@ -1 +1 @@
1
- {"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../s/data/data.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../s/data/data.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe,CAAA;AACnD,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAA;AAC3B,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAChC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAC,MAAM,oBAAoB,CAAA;AACjE,OAAO,QAAQ,MAAM,6BAA6B,CAAA;AAClD,OAAO,UAAU,MAAM,+BAA+B,CAAA;AAEtD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;AACnG,MAAM,2BAA2B,GAAG,GAAG,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;AAYnH,SAAS,SAAS,CAAC,IAAc;IAChC,OAAO,KAAK,IAAG,EAAE;QAChB,MAAM,SAAS,GAAG,CAAC,QAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC1D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC1F,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACzE,CAAC,CAAA;AACF,CAAC;AAED,SAAS,WAAW,CAAC,IAAgB;IACpC,OAAO;QACN,QAAQ,EAAE,KAAK,IAAG,EAAE;YACnB,MAAM,QAAQ,GAAG,SAAS,CAAA;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACxC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,QAAQ,EAAE,KAAK,IAAG,EAAE;YACnB,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAA;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACxC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;KACD,CAAA;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,IAA2B;IAC5C,OAAO;QACN,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;KAC1B,CAAA;AACF,CAAC;AAED,SAAS,UAAU,CAAC,KAAe,EAAE,KAAe;IACnD,OAAO,KAAK,IAAG,EAAE;QAChB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aAClC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;IACnC,CAAC,CAAA;AACF,CAAC;AAED,eAAe,OAAO,CAAC,KAAK,CAAC;IAC5B,QAAQ;IACR,UAAU;IAEV,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC;IAC3B,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC;IACjC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC;IAErB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;QACrB,MAAM,QAAQ,GAAG,yBAAyB,CAAA;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;QACtB,QAAQ,EAAE,OAAO,CAAC,KAAK,CACtB,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACvD;QAED,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;YACrB,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrD,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9D,WAAW,EAAE,UAAU,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACvE,CAAC;QAEF,oBAAoB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACpC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACjE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC7B,CAAC,CAAC;QAEF,sCAAsC,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACtD,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACrD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC7D,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC,CAAC;QAEF,uBAAuB,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACzB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC;QAEF,kCAAkC,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE;YAClD,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;YACpD,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,EAAE,EAAE,CAAA;QAClC,CAAC,CAAC;KACF,CAAC;CACF,CAAC,CAAA"}
package/x/dig/dig.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ /** drill into an object/array tree and return the value at the given path */
2
+ export declare function dig<Value>(target: any, path: (string | number)[]): import("../ok/index.js").Err<"not traversable"> | import("../ok/index.js").Err<"not found"> | import("../ok/index.js").Ok<Value>;
package/x/dig/dig.js ADDED
@@ -0,0 +1,15 @@
1
+ import { is } from "../is.js";
2
+ import { ok, err } from "../ok/index.js";
3
+ /** drill into an object/array tree and return the value at the given path */
4
+ export function dig(target, path) {
5
+ let current = target;
6
+ for (const key of path) {
7
+ if (!(is.object(current) || is.array(current)))
8
+ return err("not traversable");
9
+ if (!Object.hasOwn(current, key))
10
+ return err("not found");
11
+ current = current[key];
12
+ }
13
+ return ok(current);
14
+ }
15
+ //# sourceMappingURL=dig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dig.js","sourceRoot":"","sources":["../../s/dig/dig.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAA;AAC3B,OAAO,EAAC,EAAE,EAAE,GAAG,EAAC,MAAM,gBAAgB,CAAA;AAEtC,6EAA6E;AAC7E,MAAM,UAAU,GAAG,CACjB,MAAW,EACX,IAAyB;IAG1B,IAAI,OAAO,GAAQ,MAAM,CAAA;IAEzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC,iBAA0B,CAAC,CAAA;QAEvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;YAC/B,OAAO,GAAG,CAAC,WAAoB,CAAC,CAAA;QAEjC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,EAAE,CAAC,OAAgB,CAAC,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,14 @@
1
+ declare const _default: {
2
+ "get value": () => Promise<void>;
3
+ "get undefined": () => Promise<void>;
4
+ "get null": () => Promise<void>;
5
+ "nested get value": () => Promise<void>;
6
+ "array get value": () => Promise<void>;
7
+ "null not traversable": () => Promise<void>;
8
+ "undefined not traversable": () => Promise<void>;
9
+ "missing key not found": () => Promise<void>;
10
+ "array index not found": () => Promise<void>;
11
+ "midway not traversable": () => Promise<void>;
12
+ "midway not found": () => Promise<void>;
13
+ };
14
+ export default _default;
package/x/dig/test.js ADDED
@@ -0,0 +1,39 @@
1
+ import { suite, expect, assert } from "@e280/science";
2
+ import { dig } from "./dig.js";
3
+ import { need } from "../ok/index.js";
4
+ const check = (t, path) => ({
5
+ ok: (value) => async () => {
6
+ const result = dig(t, path);
7
+ expect(need(result)).is(value);
8
+ },
9
+ err: (e) => async () => {
10
+ const result = dig(t, path);
11
+ assert(!result.ok);
12
+ expect(result.error).is(e);
13
+ },
14
+ });
15
+ export default suite({
16
+ "get value": check({ a: 2 }, ["a"])
17
+ .ok(2),
18
+ "get undefined": check({ a: undefined }, ["a"])
19
+ .ok(undefined),
20
+ "get null": check({ a: null }, ["a"])
21
+ .ok(null),
22
+ "nested get value": check({ a: { b: 2 } }, ["a", "b"])
23
+ .ok(2),
24
+ "array get value": check(["a", "b"], [1])
25
+ .ok("b"),
26
+ "null not traversable": check(null, ["a"])
27
+ .err("not traversable"),
28
+ "undefined not traversable": check(undefined, ["a"])
29
+ .err("not traversable"),
30
+ "missing key not found": check({ a: 2 }, ["b"])
31
+ .err("not found"),
32
+ "array index not found": check(["a", "b"], [2])
33
+ .err("not found"),
34
+ "midway not traversable": check({ a: 5 }, ["a", "b"])
35
+ .err("not traversable"),
36
+ "midway not found": check({ a: {} }, ["a", "b"])
37
+ .err("not found"),
38
+ });
39
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../s/dig/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,MAAM,eAAe,CAAA;AACnD,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAEnC,MAAM,KAAK,GAAG,CAAC,CAAM,EAAE,IAAyB,EAAE,EAAE,CAAC,CAAC;IACrD,EAAE,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,IAAG,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IACD,GAAG,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,IAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;CACD,CAAC,CAAA;AAEF,eAAe,KAAK,CAAC;IACpB,WAAW,EAAE,KAAK,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC/B,EAAE,CAAC,CAAC,CAAC;IAEP,eAAe,EAAE,KAAK,CAAC,EAAC,CAAC,EAAE,SAAS,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC3C,EAAE,CAAC,SAAS,CAAC;IAEf,UAAU,EAAE,KAAK,CAAC,EAAC,CAAC,EAAE,IAAI,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SACjC,EAAE,CAAC,IAAI,CAAC;IAEV,kBAAkB,EAAE,KAAK,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,EAAC,EAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SAChD,EAAE,CAAC,CAAC,CAAC;IAEP,iBAAiB,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACvC,EAAE,CAAC,GAAG,CAAC;IAET,sBAAsB,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;SACxC,GAAG,CAAC,iBAAiB,CAAC;IAExB,2BAA2B,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;SAClD,GAAG,CAAC,iBAAiB,CAAC;IAExB,uBAAuB,EAAE,KAAK,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC3C,GAAG,CAAC,WAAW,CAAC;IAElB,uBAAuB,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC7C,GAAG,CAAC,WAAW,CAAC;IAElB,wBAAwB,EAAE,KAAK,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACjD,GAAG,CAAC,iBAAiB,CAAC;IAExB,kBAAkB,EAAE,KAAK,CAAC,EAAC,CAAC,EAAE,EAAE,EAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SAC5C,GAAG,CAAC,WAAW,CAAC;CAClB,CAAC,CAAA"}
package/x/drill.d.ts CHANGED
@@ -1,4 +1,7 @@
1
- /** return a value within an object tree, found at the given path. */
1
+ /**
2
+ * return a value within an object tree, found at the given path.
3
+ * @deprecated prefer `dig` instead
4
+ */
2
5
  export declare function drill<xResult>(object: {
3
6
  [key: string]: any;
4
7
  }, path: string[]): xResult;
package/x/drill.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { is } from "./is.js";
2
- /** return a value within an object tree, found at the given path. */
2
+ /**
3
+ * return a value within an object tree, found at the given path.
4
+ * @deprecated prefer `dig` instead
5
+ */
3
6
  export function drill(object, path) {
4
7
  let current = object;
5
8
  for (const key of path) {
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,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,GAAG,CAAC,OAAO,CAAC;YAClB,MAAK;IACP,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"drill.js","sourceRoot":"","sources":["../s/drill.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,SAAS,CAAA;AAE1B;;;GAGG;AACH,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,GAAG,CAAC,OAAO,CAAC;YAClB,MAAK;IACP,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
package/x/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export * from "./debounce/debounce.js";
12
12
  export * from "./debounce/microbounce.js";
13
13
  export * from "./debounce/types.js";
14
14
  export * from "./deep/index.js";
15
+ export * from "./dig/dig.js";
15
16
  export * from "./g/map.js";
16
17
  export * from "./g/pool.js";
17
18
  export * from "./g/set.js";
@@ -21,6 +22,7 @@ export * from "./ok/index.js";
21
22
  export * from "./toq/index.js";
22
23
  export * from "./maybe/index.js";
23
24
  export * from "./all.js";
25
+ export * from "./assert.js";
24
26
  export * from "./coalesce.js";
25
27
  export * from "./collect.js";
26
28
  export * from "./concurrent.js";
package/x/index.js CHANGED
@@ -12,6 +12,7 @@ export * from "./debounce/debounce.js";
12
12
  export * from "./debounce/microbounce.js";
13
13
  export * from "./debounce/types.js";
14
14
  export * from "./deep/index.js";
15
+ export * from "./dig/dig.js";
15
16
  export * from "./g/map.js";
16
17
  export * from "./g/pool.js";
17
18
  export * from "./g/set.js";
@@ -21,6 +22,7 @@ export * from "./ok/index.js";
21
22
  export * from "./toq/index.js";
22
23
  export * from "./maybe/index.js";
23
24
  export * from "./all.js";
25
+ export * from "./assert.js";
24
26
  export * from "./coalesce.js";
25
27
  export * from "./collect.js";
26
28
  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,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,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAEhC,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,aAAa,CAAA;AAC3B,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;AAC/B,cAAc,cAAc,CAAA;AAE5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAE/B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,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,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
package/x/tests.test.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Science } from "@e280/science";
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
4
  import microbounce from "./debounce/microbounce.test.js";
@@ -6,8 +6,9 @@ import deep from "./deep/index.test.js";
6
6
  import queue from "./queue/queue.test.js";
7
7
  import toq from "./toq/toq.test.js";
8
8
  import maybe from "./maybe/test.js";
9
+ import dig from "./dig/test.js";
9
10
  import ok from "./ok/test.js";
10
- await Science.run({
11
+ await science.run({
11
12
  data,
12
13
  debounce,
13
14
  microbounce,
@@ -15,6 +16,7 @@ await Science.run({
15
16
  queue,
16
17
  toq,
17
18
  maybe,
19
+ dig,
18
20
  ok,
19
21
  });
20
22
  //# sourceMappingURL=tests.test.js.map
@@ -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,WAAW,MAAM,gCAAgC,CAAA;AACxD,OAAO,IAAI,MAAM,sBAAsB,CAAA;AACvC,OAAO,KAAK,MAAM,uBAAuB,CAAA;AACzC,OAAO,GAAG,MAAM,mBAAmB,CAAA;AACnC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,EAAE,MAAM,cAAc,CAAA;AAE7B,MAAM,OAAO,CAAC,GAAG,CAAC;IACjB,IAAI;IACJ,QAAQ;IACR,WAAW;IACX,IAAI;IACJ,KAAK;IACL,GAAG;IACH,KAAK;IACL,EAAE;CACF,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;AACnC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,GAAG,MAAM,eAAe,CAAA;AAC/B,OAAO,EAAE,MAAM,cAAc,CAAA;AAE7B,MAAM,OAAO,CAAC,GAAG,CAAC;IACjB,IAAI;IACJ,QAAQ;IACR,WAAW;IACX,IAAI;IACJ,KAAK;IACL,GAAG;IACH,KAAK;IACL,GAAG;IACH,EAAE;CACF,CAAC,CAAA"}