@ac-kit/core 0.2.0 → 0.4.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.
Files changed (85) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +1 -1
  3. package/dist/big-int/from-bytes-be.d.ts +14 -0
  4. package/dist/big-int/from-bytes-be.d.ts.map +1 -0
  5. package/dist/big-int/from-bytes-be.js +20 -0
  6. package/dist/big-int/from-bytes-be.js.map +1 -0
  7. package/dist/big-int/from-bytes-le.d.ts +15 -0
  8. package/dist/big-int/from-bytes-le.d.ts.map +1 -0
  9. package/dist/big-int/from-bytes-le.js +21 -0
  10. package/dist/big-int/from-bytes-le.js.map +1 -0
  11. package/dist/big-int/to-bytes-be.d.ts +19 -0
  12. package/dist/big-int/to-bytes-be.d.ts.map +1 -0
  13. package/dist/big-int/to-bytes-be.js +60 -0
  14. package/dist/big-int/to-bytes-be.js.map +1 -0
  15. package/dist/big-int/to-bytes-le.d.ts +19 -0
  16. package/dist/big-int/to-bytes-le.d.ts.map +1 -0
  17. package/dist/big-int/to-bytes-le.js +22 -0
  18. package/dist/big-int/to-bytes-le.js.map +1 -0
  19. package/dist/buffer/bytes-combine.d.ts +18 -0
  20. package/dist/buffer/bytes-combine.d.ts.map +1 -0
  21. package/dist/buffer/bytes-combine.js +25 -0
  22. package/dist/buffer/bytes-combine.js.map +1 -0
  23. package/dist/buffer/bytes-map.d.ts +14 -0
  24. package/dist/buffer/bytes-map.d.ts.map +1 -0
  25. package/dist/buffer/bytes-map.js +21 -0
  26. package/dist/buffer/bytes-map.js.map +1 -0
  27. package/dist/buffer/text/decode-text.d.ts +13 -4
  28. package/dist/buffer/text/decode-text.d.ts.map +1 -1
  29. package/dist/buffer/text/decode-text.js +16 -13
  30. package/dist/buffer/text/decode-text.js.map +1 -1
  31. package/dist/buffer/text/is-valid-text.d.ts +25 -0
  32. package/dist/buffer/text/is-valid-text.d.ts.map +1 -0
  33. package/dist/buffer/text/is-valid-text.js +36 -0
  34. package/dist/buffer/text/is-valid-text.js.map +1 -0
  35. package/dist/buffer/text/next-utf8-boundary.d.ts +17 -0
  36. package/dist/buffer/text/next-utf8-boundary.d.ts.map +1 -0
  37. package/dist/buffer/text/next-utf8-boundary.js +27 -0
  38. package/dist/buffer/text/next-utf8-boundary.js.map +1 -0
  39. package/dist/buffer/text/text-encoding-name.d.ts +11 -0
  40. package/dist/buffer/text/text-encoding-name.d.ts.map +1 -1
  41. package/dist/index.d.ts +15 -3
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +15 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/object/flatten-record.d.ts +67 -0
  46. package/dist/object/flatten-record.d.ts.map +1 -0
  47. package/dist/object/flatten-record.js +81 -0
  48. package/dist/object/flatten-record.js.map +1 -0
  49. package/dist/object/unflatten-record.d.ts +63 -0
  50. package/dist/object/unflatten-record.d.ts.map +1 -0
  51. package/dist/object/unflatten-record.js +71 -0
  52. package/dist/object/unflatten-record.js.map +1 -0
  53. package/dist/string/ascii/is-ascii-blank.d.ts +8 -0
  54. package/dist/string/ascii/is-ascii-blank.d.ts.map +1 -0
  55. package/dist/string/ascii/is-ascii-blank.js +11 -0
  56. package/dist/string/ascii/is-ascii-blank.js.map +1 -0
  57. package/dist/string/ascii/is-ascii-control.d.ts +6 -0
  58. package/dist/string/ascii/is-ascii-control.d.ts.map +1 -0
  59. package/dist/string/ascii/is-ascii-control.js +9 -0
  60. package/dist/string/ascii/is-ascii-control.js.map +1 -0
  61. package/dist/string/ascii/is-ascii-graphic.d.ts +7 -0
  62. package/dist/string/ascii/is-ascii-graphic.d.ts.map +1 -0
  63. package/dist/string/ascii/is-ascii-graphic.js +10 -0
  64. package/dist/string/ascii/is-ascii-graphic.js.map +1 -0
  65. package/dist/string/ascii/is-ascii-printable.d.ts +7 -0
  66. package/dist/string/ascii/is-ascii-printable.d.ts.map +1 -0
  67. package/dist/string/ascii/is-ascii-printable.js +10 -0
  68. package/dist/string/ascii/is-ascii-printable.js.map +1 -0
  69. package/dist/string/ascii/is-ascii-punctuation.d.ts +6 -0
  70. package/dist/string/ascii/is-ascii-punctuation.d.ts.map +1 -0
  71. package/dist/string/ascii/is-ascii-punctuation.js +10 -0
  72. package/dist/string/ascii/is-ascii-punctuation.js.map +1 -0
  73. package/package.json +8 -8
  74. package/dist/system/net/ephemeral-port.d.ts +0 -13
  75. package/dist/system/net/ephemeral-port.d.ts.map +0 -1
  76. package/dist/system/net/ephemeral-port.js +0 -19
  77. package/dist/system/net/ephemeral-port.js.map +0 -1
  78. package/dist/system/net/inet-address.d.ts +0 -20
  79. package/dist/system/net/inet-address.d.ts.map +0 -1
  80. package/dist/system/net/inet-address.js +0 -42
  81. package/dist/system/net/inet-address.js.map +0 -1
  82. package/dist/system/net/inet-endpoint.d.ts +0 -7
  83. package/dist/system/net/inet-endpoint.d.ts.map +0 -1
  84. package/dist/system/net/inet-endpoint.js +0 -2
  85. package/dist/system/net/inet-endpoint.js.map +0 -1
@@ -0,0 +1,27 @@
1
+ // A UTF-8 continuation byte is `0b10xxxxxx`; every other byte starts a character.
2
+ const CONTINUATION_MASK_ = 192;
3
+ const CONTINUATION_BITS_ = 128;
4
+ /**
5
+ * Index of the first UTF-8 character boundary at or after `index`.
6
+ *
7
+ * Slicing a UTF-8 buffer at an arbitrary offset can land inside a multi-byte
8
+ * sequence, whose orphaned tail decodes to a leading U+FFFD. Moving the offset
9
+ * forward to a boundary drops the partial character instead.
10
+ *
11
+ * Runs in O(1) on valid input — a sequence is at most four bytes long, so at
12
+ * most three continuation bytes are skipped — and in O(n) on the length of a
13
+ * malformed continuation run. Allocates nothing.
14
+ *
15
+ * @param bytes - UTF-8 encoded bytes.
16
+ * @param index - Offset to align. Negative values align to `0`.
17
+ * @returns The aligned offset, within `[0, bytes.length]`.
18
+ */
19
+ export function nextUtf8Boundary(bytes, index) {
20
+ let boundary = Math.max(0, index);
21
+ while (boundary < bytes.length &&
22
+ (bytes[boundary] & CONTINUATION_MASK_) === CONTINUATION_BITS_) {
23
+ boundary++;
24
+ }
25
+ return Math.min(boundary, bytes.length);
26
+ }
27
+ //# sourceMappingURL=next-utf8-boundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-utf8-boundary.js","sourceRoot":"","sources":["../../../src/buffer/text/next-utf8-boundary.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,GAAW,CAAC;AACvC,MAAM,kBAAkB,GAAG,GAAW,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB,EAAE,KAAa;IAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAElC,OACC,QAAQ,GAAG,KAAK,CAAC,MAAM;QACvB,CAAC,KAAK,CAAC,QAAQ,CAAE,GAAG,kBAAkB,CAAC,KAAK,kBAAkB,EAC7D,CAAC;QACF,QAAQ,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC"}
@@ -17,4 +17,15 @@
17
17
  * excludes UTF-32 entirely.
18
18
  */
19
19
  export type TextEncodingName = "utf-8" | "latin1" | "ascii" | "utf-16be" | "utf-32be";
20
+ /**
21
+ * Text encodings {@link decodeText} reads: every {@link TextEncodingName}, plus
22
+ * two legacy encodings it can decode but {@link encodeText} cannot write.
23
+ *
24
+ * `"windows-1252"` is the Western European code page that the WHATWG Encoding
25
+ * Standard decodes every Latin-1 label as. `"shift_jis"` is the Japanese
26
+ * double-byte encoding; decoding it needs a `TextDecoder` with ICU's legacy
27
+ * encodings, which browsers, Deno, Bun and Node's default full-ICU builds have,
28
+ * and a `small-icu` Node build lacks.
29
+ */
30
+ export type TextDecodingName = TextEncodingName | "windows-1252" | "shift_jis";
20
31
  //# sourceMappingURL=text-encoding-name.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-encoding-name.d.ts","sourceRoot":"","sources":["../../../src/buffer/text/text-encoding-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,gBAAgB,GACzB,OAAO,GACP,QAAQ,GACR,OAAO,GACP,UAAU,GACV,UAAU,CAAC"}
1
+ {"version":3,"file":"text-encoding-name.d.ts","sourceRoot":"","sources":["../../../src/buffer/text/text-encoding-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,gBAAgB,GACzB,OAAO,GACP,QAAQ,GACR,OAAO,GACP,UAAU,GACV,UAAU,CAAC;AAEd;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,GAAG,WAAW,CAAC"}
package/dist/index.d.ts CHANGED
@@ -18,6 +18,8 @@ export * from "./big-int/clamp.js";
18
18
  export * from "./big-int/div-euclid.js";
19
19
  export * from "./big-int/div-floor.js";
20
20
  export * from "./big-int/div-trunc.js";
21
+ export * from "./big-int/from-bytes-be.js";
22
+ export * from "./big-int/from-bytes-le.js";
21
23
  export * from "./big-int/is-safe-number.js";
22
24
  export * from "./big-int/log10.js";
23
25
  export * from "./big-int/log2.js";
@@ -31,7 +33,11 @@ export * from "./big-int/power-of-two.js";
31
33
  export * from "./big-int/sign.js";
32
34
  export * from "./big-int/sqrt-exact.js";
33
35
  export * from "./big-int/sqrt.js";
36
+ export * from "./big-int/to-bytes-be.js";
37
+ export * from "./big-int/to-bytes-le.js";
38
+ export * from "./buffer/bytes-combine.js";
34
39
  export * from "./buffer/bytes-is-equal.js";
40
+ export * from "./buffer/bytes-map.js";
35
41
  export * from "./buffer/chunk-bytes.js";
36
42
  export * from "./buffer/codec/get-big-uint64-be.js";
37
43
  export * from "./buffer/codec/get-big-uint64-le.js";
@@ -65,6 +71,8 @@ export * from "./buffer/stream/byte-builder.js";
65
71
  export * from "./buffer/stream/byte-reader.js";
66
72
  export * from "./buffer/text/decode-text.js";
67
73
  export * from "./buffer/text/encode-text.js";
74
+ export * from "./buffer/text/is-valid-text.js";
75
+ export * from "./buffer/text/next-utf8-boundary.js";
68
76
  export * from "./buffer/text/text-encoding-name.js";
69
77
  export * from "./constants/ascii.js";
70
78
  export * from "./constants/float.js";
@@ -254,6 +262,7 @@ export * from "./number/ulp-distance.js";
254
262
  export * from "./number/ulp.js";
255
263
  export * from "./object/clone.js";
256
264
  export * from "./object/defaults.js";
265
+ export * from "./object/flatten-record.js";
257
266
  export * from "./object/get-at-path.js";
258
267
  export * from "./object/get-object-keys.js";
259
268
  export * from "./object/is-deep-equal.js";
@@ -266,6 +275,7 @@ export * from "./object/null-if-empty.js";
266
275
  export * from "./object/set-at-path.js";
267
276
  export * from "./object/set-record-entry.js";
268
277
  export * from "./object/traverse.js";
278
+ export * from "./object/unflatten-record.js";
269
279
  export * from "./pattern/pattern-trim.js";
270
280
  export * from "./pattern/pattern-util.js";
271
281
  export * from "./pattern/types.js";
@@ -277,10 +287,15 @@ export * from "./string/apply-text-edits.js";
277
287
  export * from "./string/ascii/is-ascii-alpha-numeric.js";
278
288
  export * from "./string/ascii/is-ascii-alpha.js";
279
289
  export * from "./string/ascii/is-ascii-base64-char.js";
290
+ export * from "./string/ascii/is-ascii-blank.js";
291
+ export * from "./string/ascii/is-ascii-control.js";
280
292
  export * from "./string/ascii/is-ascii-digit.js";
293
+ export * from "./string/ascii/is-ascii-graphic.js";
281
294
  export * from "./string/ascii/is-ascii-hex-digit.js";
282
295
  export * from "./string/ascii/is-ascii-lower-alpha.js";
283
296
  export * from "./string/ascii/is-ascii-octal-digit.js";
297
+ export * from "./string/ascii/is-ascii-printable.js";
298
+ export * from "./string/ascii/is-ascii-punctuation.js";
284
299
  export * from "./string/ascii/is-ascii-upper-alpha.js";
285
300
  export * from "./string/ascii/is-ascii-whitespace.js";
286
301
  export * from "./string/capitalize.js";
@@ -305,9 +320,6 @@ export * from "./string/truncate.js";
305
320
  export * from "./string/upper-first.js";
306
321
  export * from "./system/fs/escape-posix-path.js";
307
322
  export * from "./system/fs/escape-win32-path.js";
308
- export * from "./system/net/ephemeral-port.js";
309
- export * from "./system/net/inet-address.js";
310
- export * from "./system/net/inet-endpoint.js";
311
323
  export * from "./time/format-duration.js";
312
324
  export * from "./time/periodical-timer.js";
313
325
  export * from "./time/sleep.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,6 +18,8 @@ export * from "./big-int/clamp.js";
18
18
  export * from "./big-int/div-euclid.js";
19
19
  export * from "./big-int/div-floor.js";
20
20
  export * from "./big-int/div-trunc.js";
21
+ export * from "./big-int/from-bytes-be.js";
22
+ export * from "./big-int/from-bytes-le.js";
21
23
  export * from "./big-int/is-safe-number.js";
22
24
  export * from "./big-int/log10.js";
23
25
  export * from "./big-int/log2.js";
@@ -31,7 +33,11 @@ export * from "./big-int/power-of-two.js";
31
33
  export * from "./big-int/sign.js";
32
34
  export * from "./big-int/sqrt-exact.js";
33
35
  export * from "./big-int/sqrt.js";
36
+ export * from "./big-int/to-bytes-be.js";
37
+ export * from "./big-int/to-bytes-le.js";
38
+ export * from "./buffer/bytes-combine.js";
34
39
  export * from "./buffer/bytes-is-equal.js";
40
+ export * from "./buffer/bytes-map.js";
35
41
  export * from "./buffer/chunk-bytes.js";
36
42
  export * from "./buffer/codec/get-big-uint64-be.js";
37
43
  export * from "./buffer/codec/get-big-uint64-le.js";
@@ -65,6 +71,8 @@ export * from "./buffer/stream/byte-builder.js";
65
71
  export * from "./buffer/stream/byte-reader.js";
66
72
  export * from "./buffer/text/decode-text.js";
67
73
  export * from "./buffer/text/encode-text.js";
74
+ export * from "./buffer/text/is-valid-text.js";
75
+ export * from "./buffer/text/next-utf8-boundary.js";
68
76
  export * from "./buffer/text/text-encoding-name.js";
69
77
  export * from "./constants/ascii.js";
70
78
  export * from "./constants/float.js";
@@ -254,6 +262,7 @@ export * from "./number/ulp-distance.js";
254
262
  export * from "./number/ulp.js";
255
263
  export * from "./object/clone.js";
256
264
  export * from "./object/defaults.js";
265
+ export * from "./object/flatten-record.js";
257
266
  export * from "./object/get-at-path.js";
258
267
  export * from "./object/get-object-keys.js";
259
268
  export * from "./object/is-deep-equal.js";
@@ -266,6 +275,7 @@ export * from "./object/null-if-empty.js";
266
275
  export * from "./object/set-at-path.js";
267
276
  export * from "./object/set-record-entry.js";
268
277
  export * from "./object/traverse.js";
278
+ export * from "./object/unflatten-record.js";
269
279
  export * from "./pattern/pattern-trim.js";
270
280
  export * from "./pattern/pattern-util.js";
271
281
  export * from "./pattern/types.js";
@@ -277,10 +287,15 @@ export * from "./string/apply-text-edits.js";
277
287
  export * from "./string/ascii/is-ascii-alpha-numeric.js";
278
288
  export * from "./string/ascii/is-ascii-alpha.js";
279
289
  export * from "./string/ascii/is-ascii-base64-char.js";
290
+ export * from "./string/ascii/is-ascii-blank.js";
291
+ export * from "./string/ascii/is-ascii-control.js";
280
292
  export * from "./string/ascii/is-ascii-digit.js";
293
+ export * from "./string/ascii/is-ascii-graphic.js";
281
294
  export * from "./string/ascii/is-ascii-hex-digit.js";
282
295
  export * from "./string/ascii/is-ascii-lower-alpha.js";
283
296
  export * from "./string/ascii/is-ascii-octal-digit.js";
297
+ export * from "./string/ascii/is-ascii-printable.js";
298
+ export * from "./string/ascii/is-ascii-punctuation.js";
284
299
  export * from "./string/ascii/is-ascii-upper-alpha.js";
285
300
  export * from "./string/ascii/is-ascii-whitespace.js";
286
301
  export * from "./string/capitalize.js";
@@ -305,9 +320,6 @@ export * from "./string/truncate.js";
305
320
  export * from "./string/upper-first.js";
306
321
  export * from "./system/fs/escape-posix-path.js";
307
322
  export * from "./system/fs/escape-win32-path.js";
308
- export * from "./system/net/ephemeral-port.js";
309
- export * from "./system/net/inet-address.js";
310
- export * from "./system/net/inet-endpoint.js";
311
323
  export * from "./time/format-duration.js";
312
324
  export * from "./time/periodical-timer.js";
313
325
  export * from "./time/sleep.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ export type FlattenRecordOptions = {
2
+ /**
3
+ * Separator joining the segments of an output key. Default `"."`.
4
+ *
5
+ * Must not be empty: `unflattenRecord` splits on it, and splitting on `""`
6
+ * would take every key apart character by character.
7
+ */
8
+ readonly delimiter?: string | null;
9
+ /**
10
+ * Descends into arrays, numbering their elements. Default `false`, which
11
+ * leaves an array whole as a leaf value.
12
+ *
13
+ * Off by default because an index is the one segment a flattened key cannot
14
+ * tell apart from an ordinary key spelled `"0"`, so numbering costs the round
15
+ * trip its only ambiguity-free case.
16
+ */
17
+ readonly flattenArrays?: boolean | null;
18
+ /**
19
+ * Greatest number of segments an output key may have. Default: unbounded.
20
+ *
21
+ * A value below that depth is copied across whole, still nested. `1` copies
22
+ * the record's own entries without flattening anything.
23
+ */
24
+ readonly maxDepth?: number | null;
25
+ };
26
+ /**
27
+ * Collapse a nested record into a one-level one, naming each leaf by the
28
+ * delimiter-joined path that reached it.
29
+ *
30
+ * A leaf is anything that is not a plain object — a `Date`, a `Map`, a class
31
+ * instance and, by default, an array are all copied across whole. So is an
32
+ * empty plain object, which has no entry to name and would otherwise vanish.
33
+ *
34
+ * **A key that contains the delimiter is not escaped.** `{ "a.b": 1 }` flattens
35
+ * to `{ "a.b": 1 }`, exactly as `{ a: { b: 1 } }` does, and
36
+ * {@link unflattenRecord} reads both back as `{ a: { b: 1 } }` — the delimiter
37
+ * always wins over a literal occurrence of it. Two inputs colliding onto one
38
+ * output key leave the last one written, in `Object.keys` order. Pick a
39
+ * delimiter the keys cannot contain when the round trip has to hold.
40
+ *
41
+ * Keys are written with `setRecordEntry`, so an input key named `__proto__`
42
+ * becomes an own entry of the result instead of reaching the prototype setter.
43
+ *
44
+ * Time is linear in the number of nodes visited, plus the cost of building the
45
+ * keys, which is the total length of the output's keys. Memory is the output
46
+ * record plus one stack frame per level of nesting, so a record nested deeper
47
+ * than the engine's stack overflows rather than degrading.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * flattenRecord({ key1: { keyA: "v" }, key2: { a: { b: 2 } } });
52
+ * // { "key1.keyA": "v", "key2.a.b": 2 }
53
+ *
54
+ * flattenRecord({ host: { tags: ["a", "b"] } });
55
+ * // { "host.tags": ["a", "b"] } — an array is a leaf
56
+ *
57
+ * flattenRecord({ a: { b: { c: 1 } } }, { delimiter: "/", maxDepth: 2 });
58
+ * // { "a/b": { c: 1 } }
59
+ * ```;
60
+ *
61
+ * @param source The record to flatten; it is not modified.
62
+ * @param options Delimiter, array handling and depth cap.
63
+ * @returns A new one-level record.
64
+ * @throws RangeError If the delimiter is empty or `maxDepth` is below 1.
65
+ */
66
+ export declare function flattenRecord(source: Readonly<Record<string, unknown>>, options?: FlattenRecordOptions): Record<string, unknown>;
67
+ //# sourceMappingURL=flatten-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-record.d.ts","sourceRoot":"","sources":["../../src/object/flatten-record.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,GAAG;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AA4CF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBzB"}
@@ -0,0 +1,81 @@
1
+ import { isPojo } from "../guards/is-pojo.js";
2
+ import { setRecordEntry } from "./set-record-entry.js";
3
+ /** An empty container has no entry to name, so flattening it would lose the key. */
4
+ function isDescendable_(value, options) {
5
+ if (Array.isArray(value)) {
6
+ return options.flattenArrays && value.length > 0;
7
+ }
8
+ return isPojo(value) && Object.keys(value).length > 0;
9
+ }
10
+ function step_(source, prefix, depth, output, options) {
11
+ // Own keys only: `for...in` would walk a hostile source's prototype too.
12
+ for (const key of Object.keys(source)) {
13
+ const value = source[key];
14
+ // `null` rather than `""` for the root: a top-level key may itself be empty.
15
+ const outputKey = prefix === null ? key : prefix + options.delimiter + key;
16
+ if (depth < options.maxDepth && isDescendable_(value, options)) {
17
+ step_(value, outputKey, depth + 1, output, options);
18
+ }
19
+ else {
20
+ setRecordEntry(output, outputKey, value);
21
+ }
22
+ }
23
+ }
24
+ /**
25
+ * Collapse a nested record into a one-level one, naming each leaf by the
26
+ * delimiter-joined path that reached it.
27
+ *
28
+ * A leaf is anything that is not a plain object — a `Date`, a `Map`, a class
29
+ * instance and, by default, an array are all copied across whole. So is an
30
+ * empty plain object, which has no entry to name and would otherwise vanish.
31
+ *
32
+ * **A key that contains the delimiter is not escaped.** `{ "a.b": 1 }` flattens
33
+ * to `{ "a.b": 1 }`, exactly as `{ a: { b: 1 } }` does, and
34
+ * {@link unflattenRecord} reads both back as `{ a: { b: 1 } }` — the delimiter
35
+ * always wins over a literal occurrence of it. Two inputs colliding onto one
36
+ * output key leave the last one written, in `Object.keys` order. Pick a
37
+ * delimiter the keys cannot contain when the round trip has to hold.
38
+ *
39
+ * Keys are written with `setRecordEntry`, so an input key named `__proto__`
40
+ * becomes an own entry of the result instead of reaching the prototype setter.
41
+ *
42
+ * Time is linear in the number of nodes visited, plus the cost of building the
43
+ * keys, which is the total length of the output's keys. Memory is the output
44
+ * record plus one stack frame per level of nesting, so a record nested deeper
45
+ * than the engine's stack overflows rather than degrading.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * flattenRecord({ key1: { keyA: "v" }, key2: { a: { b: 2 } } });
50
+ * // { "key1.keyA": "v", "key2.a.b": 2 }
51
+ *
52
+ * flattenRecord({ host: { tags: ["a", "b"] } });
53
+ * // { "host.tags": ["a", "b"] } — an array is a leaf
54
+ *
55
+ * flattenRecord({ a: { b: { c: 1 } } }, { delimiter: "/", maxDepth: 2 });
56
+ * // { "a/b": { c: 1 } }
57
+ * ```;
58
+ *
59
+ * @param source The record to flatten; it is not modified.
60
+ * @param options Delimiter, array handling and depth cap.
61
+ * @returns A new one-level record.
62
+ * @throws RangeError If the delimiter is empty or `maxDepth` is below 1.
63
+ */
64
+ export function flattenRecord(source, options) {
65
+ const resolved = {
66
+ delimiter: options?.delimiter ?? ".",
67
+ flattenArrays: options?.flattenArrays ?? false,
68
+ maxDepth: options?.maxDepth ?? Number.POSITIVE_INFINITY,
69
+ };
70
+ if (resolved.delimiter.length === 0) {
71
+ throw new RangeError("flattenRecord: delimiter must not be empty");
72
+ }
73
+ // Negated so a `NaN` depth is rejected rather than silently flattening nothing.
74
+ if (!(resolved.maxDepth >= 1)) {
75
+ throw new RangeError("flattenRecord: maxDepth must be at least 1");
76
+ }
77
+ const output = {};
78
+ step_(source, null, 1, output, resolved);
79
+ return output;
80
+ }
81
+ //# sourceMappingURL=flatten-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-record.js","sourceRoot":"","sources":["../../src/object/flatten-record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAoCvD,oFAAoF;AACpF,SAAS,cAAc,CAAC,KAAc,EAAE,OAAkB;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,KAAK,CACb,MAAyC,EACzC,MAAqB,EACrB,KAAa,EACb,MAA+B,EAC/B,OAAkB;IAElB,yEAAyE;IACzE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,6EAA6E;QAC7E,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;QAE3E,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAChE,KAAK,CACJ,KAA0C,EAC1C,SAAS,EACT,KAAK,GAAG,CAAC,EACT,MAAM,EACN,OAAO,CACP,CAAC;QACH,CAAC;aAAM,CAAC;YACP,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,aAAa,CAC5B,MAAyC,EACzC,OAA8B;IAE9B,MAAM,QAAQ,GAAc;QAC3B,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG;QACpC,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,KAAK;QAC9C,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,iBAAiB;KACvD,CAAC;IAEF,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IACD,gFAAgF;IAChF,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,63 @@
1
+ export type UnflattenRecordOptions = {
2
+ /**
3
+ * Separator the input keys are split on. Default `"."`.
4
+ *
5
+ * Must not be empty, which would take every key apart character by character.
6
+ */
7
+ readonly delimiter?: string | null;
8
+ /**
9
+ * Rebuilds an array wherever a segment is a canonical decimal index. Default
10
+ * `false`, which keeps every segment an object key.
11
+ *
12
+ * Enable it only for keys produced by {@link flattenRecord} with
13
+ * `flattenArrays`. A key out of untrusted input can name an index of any
14
+ * size, and while the sparse array that creates is cheap to hold, its
15
+ * `length` is the index — enough to make a later `JSON.stringify` or
16
+ * iteration over it unbounded work.
17
+ */
18
+ readonly buildArrays?: boolean | null;
19
+ };
20
+ /**
21
+ * Rebuild a nested record from one whose keys are delimiter-joined paths — the
22
+ * inverse of {@link flattenRecord}.
23
+ *
24
+ * `unflattenRecord(flattenRecord(x))` deep-equals `x` for any `x` whose keys
25
+ * contain neither the delimiter nor, below the top level, one of the three
26
+ * prototype-reaching names named further down. A key that does contain the
27
+ * delimiter is indistinguishable from nesting and is split: `{ "a.b": 1 }`
28
+ * becomes `{ a: { b: 1 } }`, whatever the input meant by it.
29
+ *
30
+ * Where two keys disagree about a segment's shape — `"a"` holding `1` beside
31
+ * `"a.b"` holding `2` — the deeper key replaces the scalar with a container,
32
+ * and the entries are applied in `Object.keys` order, so the last one wins.
33
+ *
34
+ * A key with two or more segments is a path walk, and one whose segments
35
+ * include `__proto__`, `constructor` or `prototype` is dropped whole: the
36
+ * intermediate _reads_ of such a walk reach a prototype shared with every other
37
+ * object, before anything is assigned. A single-segment key is an ordinary leaf
38
+ * write and is kept, stored as an own entry by `setRecordEntry` — a record of
39
+ * environment variables should still be able to hold one named `constructor`.
40
+ *
41
+ * Time is linear in the total length of the input keys plus the number of
42
+ * segments walked. Memory is the rebuilt record plus one segment array per
43
+ * entry, which is released as each entry is written.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * unflattenRecord({ "key1.keyA": "v", "key2.a.b": 2 });
48
+ * // { key1: { keyA: "v" }, key2: { a: { b: 2 } } }
49
+ *
50
+ * unflattenRecord({ "hello.you.0": "x" });
51
+ * // { hello: { you: { "0": "x" } } }
52
+ *
53
+ * unflattenRecord({ "hello.you.0": "x" }, { buildArrays: true });
54
+ * // { hello: { you: ["x"] } }
55
+ * ```;
56
+ *
57
+ * @param source The one-level record to expand; it is not modified.
58
+ * @param options Delimiter and array rebuilding.
59
+ * @returns A new nested record.
60
+ * @throws RangeError If the delimiter is empty.
61
+ */
62
+ export declare function unflattenRecord(source: Readonly<Record<string, unknown>>, options?: UnflattenRecordOptions): Record<string, unknown>;
63
+ //# sourceMappingURL=unflatten-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unflatten-record.d.ts","sourceRoot":"","sources":["../../src/object/unflatten-record.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,sBAAsB,GAAG;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC,CAAC;AAkBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE,sBAAsB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBzB"}
@@ -0,0 +1,71 @@
1
+ import { setAtPath } from "./set-at-path.js";
2
+ import { setRecordEntry } from "./set-record-entry.js";
3
+ /** Canonical decimal, so `"01"` and `"1e2"` stay object keys. */
4
+ const INDEX_PATTERN_ = /^(?:0|[1-9]\d*)$/;
5
+ function toPath_(segments, buildArrays) {
6
+ if (!buildArrays) {
7
+ return segments;
8
+ }
9
+ return segments.map((segment) => INDEX_PATTERN_.test(segment) ? Number(segment) : segment);
10
+ }
11
+ /**
12
+ * Rebuild a nested record from one whose keys are delimiter-joined paths — the
13
+ * inverse of {@link flattenRecord}.
14
+ *
15
+ * `unflattenRecord(flattenRecord(x))` deep-equals `x` for any `x` whose keys
16
+ * contain neither the delimiter nor, below the top level, one of the three
17
+ * prototype-reaching names named further down. A key that does contain the
18
+ * delimiter is indistinguishable from nesting and is split: `{ "a.b": 1 }`
19
+ * becomes `{ a: { b: 1 } }`, whatever the input meant by it.
20
+ *
21
+ * Where two keys disagree about a segment's shape — `"a"` holding `1` beside
22
+ * `"a.b"` holding `2` — the deeper key replaces the scalar with a container,
23
+ * and the entries are applied in `Object.keys` order, so the last one wins.
24
+ *
25
+ * A key with two or more segments is a path walk, and one whose segments
26
+ * include `__proto__`, `constructor` or `prototype` is dropped whole: the
27
+ * intermediate _reads_ of such a walk reach a prototype shared with every other
28
+ * object, before anything is assigned. A single-segment key is an ordinary leaf
29
+ * write and is kept, stored as an own entry by `setRecordEntry` — a record of
30
+ * environment variables should still be able to hold one named `constructor`.
31
+ *
32
+ * Time is linear in the total length of the input keys plus the number of
33
+ * segments walked. Memory is the rebuilt record plus one segment array per
34
+ * entry, which is released as each entry is written.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * unflattenRecord({ "key1.keyA": "v", "key2.a.b": 2 });
39
+ * // { key1: { keyA: "v" }, key2: { a: { b: 2 } } }
40
+ *
41
+ * unflattenRecord({ "hello.you.0": "x" });
42
+ * // { hello: { you: { "0": "x" } } }
43
+ *
44
+ * unflattenRecord({ "hello.you.0": "x" }, { buildArrays: true });
45
+ * // { hello: { you: ["x"] } }
46
+ * ```;
47
+ *
48
+ * @param source The one-level record to expand; it is not modified.
49
+ * @param options Delimiter and array rebuilding.
50
+ * @returns A new nested record.
51
+ * @throws RangeError If the delimiter is empty.
52
+ */
53
+ export function unflattenRecord(source, options) {
54
+ const delimiter = options?.delimiter ?? ".";
55
+ const buildArrays = options?.buildArrays ?? false;
56
+ if (delimiter.length === 0) {
57
+ throw new RangeError("unflattenRecord: delimiter must not be empty");
58
+ }
59
+ const output = {};
60
+ // Own keys only: `for...in` would walk a hostile source's prototype too.
61
+ for (const key of Object.keys(source)) {
62
+ const segments = key.split(delimiter);
63
+ if (segments.length === 1) {
64
+ setRecordEntry(output, key, source[key]);
65
+ continue;
66
+ }
67
+ setAtPath(output, toPath_(segments, buildArrays), source[key]);
68
+ }
69
+ return output;
70
+ }
71
+ //# sourceMappingURL=unflatten-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unflatten-record.js","sourceRoot":"","sources":["../../src/object/unflatten-record.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAuBvD,iEAAiE;AACjE,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAE1C,SAAS,OAAO,CACf,QAA2B,EAC3B,WAAoB;IAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CACxD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAyC,EACzC,OAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC;IAC5C,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC;IAElD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,8CAA8C,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,yEAAyE;IACzE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,SAAS;QACV,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Equivalent to C's `isblank` — whether `code` is a space or a horizontal tab.
3
+ *
4
+ * The two characters that separate words on one line, as against
5
+ * {@link isAsciiWhitespace}, which also holds the line terminators.
6
+ */
7
+ export declare function isAsciiBlank(code: number): boolean;
8
+ //# sourceMappingURL=is-ascii-blank.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-ascii-blank.d.ts","sourceRoot":"","sources":["../../../src/string/ascii/is-ascii-blank.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD"}
@@ -0,0 +1,11 @@
1
+ import { HT, SPACE } from "../../constants/ascii.js";
2
+ /**
3
+ * Equivalent to C's `isblank` — whether `code` is a space or a horizontal tab.
4
+ *
5
+ * The two characters that separate words on one line, as against
6
+ * {@link isAsciiWhitespace}, which also holds the line terminators.
7
+ */
8
+ export function isAsciiBlank(code) {
9
+ return code === SPACE || code === HT;
10
+ }
11
+ //# sourceMappingURL=is-ascii-blank.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-ascii-blank.js","sourceRoot":"","sources":["../../../src/string/ascii/is-ascii-blank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACxC,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC;AACtC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Equivalent to C's `iscntrl` — whether `code` is an ASCII control character:
3
+ * `NUL` through `US`, plus `DEL`.
4
+ */
5
+ export declare function isAsciiControl(code: number): boolean;
6
+ //# sourceMappingURL=is-ascii-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-ascii-control.d.ts","sourceRoot":"","sources":["../../../src/string/ascii/is-ascii-control.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -0,0 +1,9 @@
1
+ import { DEL, NUL, US } from "../../constants/ascii.js";
2
+ /**
3
+ * Equivalent to C's `iscntrl` — whether `code` is an ASCII control character:
4
+ * `NUL` through `US`, plus `DEL`.
5
+ */
6
+ export function isAsciiControl(code) {
7
+ return (code >= NUL && code <= US) || code === DEL;
8
+ }
9
+ //# sourceMappingURL=is-ascii-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-ascii-control.js","sourceRoot":"","sources":["../../../src/string/ascii/is-ascii-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,OAAO,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC;AACpD,CAAC"}