@igorjs/pure-ts 0.7.5 → 0.7.7

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 (142) hide show
  1. package/README.md +39 -745
  2. package/dist/async/cache.d.ts +1 -6
  3. package/dist/async/cache.d.ts.map +1 -1
  4. package/dist/async/cache.js.map +1 -1
  5. package/dist/async/circuit-breaker.d.ts +1 -6
  6. package/dist/async/circuit-breaker.d.ts.map +1 -1
  7. package/dist/async/circuit-breaker.js.map +1 -1
  8. package/dist/async/index.d.ts +21 -2
  9. package/dist/async/index.d.ts.map +1 -1
  10. package/dist/async/index.js +6 -2
  11. package/dist/async/index.js.map +1 -1
  12. package/dist/async/lazy.d.ts +6 -42
  13. package/dist/async/lazy.d.ts.map +1 -1
  14. package/dist/async/lazy.js.map +1 -1
  15. package/dist/async/pool.d.ts +1 -5
  16. package/dist/async/pool.d.ts.map +1 -1
  17. package/dist/async/pool.js +3 -3
  18. package/dist/async/pool.js.map +1 -1
  19. package/dist/async/rate-limiter.d.ts +1 -6
  20. package/dist/async/rate-limiter.d.ts.map +1 -1
  21. package/dist/async/rate-limiter.js.map +1 -1
  22. package/dist/async/retry.d.ts +7 -9
  23. package/dist/async/retry.d.ts.map +1 -1
  24. package/dist/async/retry.js.map +1 -1
  25. package/dist/async/semaphore.d.ts +2 -7
  26. package/dist/async/semaphore.d.ts.map +1 -1
  27. package/dist/async/semaphore.js.map +1 -1
  28. package/dist/async/stream.d.ts +1 -5
  29. package/dist/async/stream.d.ts.map +1 -1
  30. package/dist/async/stream.js +6 -6
  31. package/dist/async/stream.js.map +1 -1
  32. package/dist/async/task-like.d.ts +30 -0
  33. package/dist/async/task-like.d.ts.map +1 -0
  34. package/dist/async/task-like.js +13 -0
  35. package/dist/async/task-like.js.map +1 -0
  36. package/dist/async/task.d.ts +8 -62
  37. package/dist/async/task.d.ts.map +1 -1
  38. package/dist/async/task.js +1 -1
  39. package/dist/async/task.js.map +1 -1
  40. package/dist/async/timer.d.ts +1 -6
  41. package/dist/async/timer.d.ts.map +1 -1
  42. package/dist/async/timer.js +4 -4
  43. package/dist/async/timer.js.map +1 -1
  44. package/dist/client.d.ts +6 -7
  45. package/dist/client.d.ts.map +1 -1
  46. package/dist/client.js +2 -2
  47. package/dist/client.js.map +1 -1
  48. package/dist/core/index.d.ts +1 -1
  49. package/dist/core/index.d.ts.map +1 -1
  50. package/dist/core/index.js +1 -1
  51. package/dist/core/index.js.map +1 -1
  52. package/dist/core/option.d.ts +26 -68
  53. package/dist/core/option.d.ts.map +1 -1
  54. package/dist/core/option.js +7 -20
  55. package/dist/core/option.js.map +1 -1
  56. package/dist/core/pipe.d.ts +13 -0
  57. package/dist/core/pipe.d.ts.map +1 -1
  58. package/dist/core/pipe.js.map +1 -1
  59. package/dist/core/result.d.ts +45 -90
  60. package/dist/core/result.d.ts.map +1 -1
  61. package/dist/core/result.js +9 -65
  62. package/dist/core/result.js.map +1 -1
  63. package/dist/data/adt.d.ts +1 -2
  64. package/dist/data/adt.d.ts.map +1 -1
  65. package/dist/data/codec.d.ts +4 -3
  66. package/dist/data/codec.d.ts.map +1 -1
  67. package/dist/data/codec.js.map +1 -1
  68. package/dist/data/index.d.ts +12 -0
  69. package/dist/data/index.d.ts.map +1 -1
  70. package/dist/data/index.js +3 -0
  71. package/dist/data/index.js.map +1 -1
  72. package/dist/data/internals.d.ts +2 -2
  73. package/dist/data/internals.d.ts.map +1 -1
  74. package/dist/data/list.d.ts +1 -1
  75. package/dist/data/non-empty-list.d.ts +1 -1
  76. package/dist/data/record.d.ts +1 -2
  77. package/dist/data/record.d.ts.map +1 -1
  78. package/dist/data/record.js.map +1 -1
  79. package/dist/data/stable-vec.d.ts +116 -0
  80. package/dist/data/stable-vec.d.ts.map +1 -0
  81. package/dist/data/stable-vec.js +184 -0
  82. package/dist/data/stable-vec.js.map +1 -0
  83. package/dist/index.d.ts +26 -9
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +6 -4
  86. package/dist/index.js.map +1 -1
  87. package/dist/io/compression.d.ts +1 -6
  88. package/dist/io/compression.d.ts.map +1 -1
  89. package/dist/io/compression.js +3 -3
  90. package/dist/io/compression.js.map +1 -1
  91. package/dist/io/crypto.d.ts +1 -5
  92. package/dist/io/crypto.d.ts.map +1 -1
  93. package/dist/io/crypto.js +2 -2
  94. package/dist/io/crypto.js.map +1 -1
  95. package/dist/io/dns.d.ts +3 -7
  96. package/dist/io/dns.d.ts.map +1 -1
  97. package/dist/io/dns.js +3 -3
  98. package/dist/io/dns.js.map +1 -1
  99. package/dist/io/file.d.ts +1 -5
  100. package/dist/io/file.d.ts.map +1 -1
  101. package/dist/io/file.js +13 -13
  102. package/dist/io/file.js.map +1 -1
  103. package/dist/io/index.d.ts +11 -1
  104. package/dist/io/index.d.ts.map +1 -1
  105. package/dist/io/index.js +1 -0
  106. package/dist/io/index.js.map +1 -1
  107. package/dist/io/net.d.ts +1 -6
  108. package/dist/io/net.d.ts.map +1 -1
  109. package/dist/io/net.js +6 -6
  110. package/dist/io/net.js.map +1 -1
  111. package/dist/io/subprocess.d.ts +1 -6
  112. package/dist/io/subprocess.d.ts.map +1 -1
  113. package/dist/io/subprocess.js +4 -4
  114. package/dist/io/subprocess.js.map +1 -1
  115. package/dist/program.d.ts +137 -25
  116. package/dist/program.d.ts.map +1 -1
  117. package/dist/program.js +23 -5
  118. package/dist/program.js.map +1 -1
  119. package/dist/runtime/config.d.ts +4 -5
  120. package/dist/runtime/config.d.ts.map +1 -1
  121. package/dist/runtime/index.d.ts +17 -0
  122. package/dist/runtime/index.d.ts.map +1 -1
  123. package/dist/runtime/index.js +1 -0
  124. package/dist/runtime/index.js.map +1 -1
  125. package/dist/runtime/logger.d.ts +22 -6
  126. package/dist/runtime/logger.d.ts.map +1 -1
  127. package/dist/runtime/logger.js.map +1 -1
  128. package/dist/runtime/platform.d.ts +2 -2
  129. package/dist/runtime/platform.d.ts.map +1 -1
  130. package/dist/runtime/platform.js.map +1 -1
  131. package/dist/runtime/process.d.ts +4 -2
  132. package/dist/runtime/process.d.ts.map +1 -1
  133. package/dist/runtime/process.js.map +1 -1
  134. package/dist/types/error.d.ts +34 -61
  135. package/dist/types/error.d.ts.map +1 -1
  136. package/dist/types/error.js.map +1 -1
  137. package/dist/types/index.d.ts +11 -0
  138. package/dist/types/index.d.ts.map +1 -1
  139. package/dist/types/index.js.map +1 -1
  140. package/dist/types/nominal.d.ts +1 -3
  141. package/dist/types/nominal.d.ts.map +1 -1
  142. package/package.json +1 -1
@@ -5,192 +5,136 @@
5
5
  * `Result<T, E>` instead of throwing. This eliminates invisible control
6
6
  * flow (try/catch) and makes error paths explicit in the type system.
7
7
  *
8
- * Two concrete classes (`OkImpl`, `ErrImpl`) share a common interface
9
- * (`ResultMethods`). Methods live on prototypes so instances carry only
10
- * their payload, keeping GC pressure low.
8
+ * Two public interfaces (`Ok`, `Err`) define the contract. Module-private
9
+ * classes (`OkImpl`, `ErrImpl`) provide the implementation. Methods live
10
+ * on prototypes so instances carry only their payload, keeping GC pressure
11
+ * low.
11
12
  *
12
13
  * The `Result` const/type merge lets callers use `Result.tryCatch()` in
13
14
  * value position and `Result<T, E>` in type position, mirroring Rust.
14
15
  */
15
16
  import { None, Some } from "./option.js";
16
- /**
17
- * The success variant of {@link Result}.
18
- *
19
- * Wraps a value of type `T` and provides monadic chaining (`map`, `flatMap`),
20
- * safe extraction (`unwrap`, `unwrapOr`), and pattern matching (`match`).
21
- *
22
- * Construct via the {@link Ok} factory rather than `new OkImpl(...)`.
23
- */
24
- export class OkImpl {
17
+ class OkImpl {
25
18
  value;
26
- /** Discriminant tag for pattern matching. */
27
19
  tag = "Ok";
28
- constructor(/** The wrapped success value. */ value) {
20
+ constructor(value) {
29
21
  this.value = value;
30
22
  }
31
- /** Whether this is an Ok variant. Always true. */
32
23
  get isOk() {
33
24
  return true;
34
25
  }
35
- /** Whether this is an Err variant. Always false. */
36
26
  get isErr() {
37
27
  return false;
38
28
  }
39
- /** Apply `fn` to the success value, returning a new `Ok`. */
40
29
  map(fn) {
41
30
  return new OkImpl(fn(this.value));
42
31
  }
43
- /** No-op on `Ok`: the error channel is empty. */
44
32
  mapErr(_fn) {
45
33
  return castOk(this);
46
34
  }
47
- /** Chain into a dependent computation that may fail. */
48
35
  flatMap(fn) {
49
36
  return fn(this.value);
50
37
  }
51
- /** Run a side-effect on the success value without altering the Result. */
52
38
  tap(fn) {
53
39
  fn(this.value);
54
40
  return this;
55
41
  }
56
- /** No-op on `Ok`: no error to tap. */
57
42
  tapErr(_fn) {
58
43
  return this;
59
44
  }
60
- /** Extract the success value. */
61
45
  unwrap() {
62
46
  return this.value;
63
47
  }
64
- /** Return the success value, ignoring the fallback. */
65
48
  unwrapOr(_fallback) {
66
49
  return this.value;
67
50
  }
68
- /** Return the success value, ignoring the recovery function. */
69
51
  unwrapOrElse(_fn) {
70
52
  return this.value;
71
53
  }
72
- /** Throws: there is no error to extract from `Ok`. */
73
54
  unwrapErr() {
74
55
  throw new TypeError(`unwrapErr called on Ok(${String(this.value)})`);
75
56
  }
76
- /** Exhaustively handle both variants. */
77
57
  match(m) {
78
58
  return m.Ok(this.value);
79
59
  }
80
- /** Convert to `Some(value)`. */
81
60
  toOption() {
82
61
  return Some(this.value);
83
62
  }
84
- /** Combine two `Ok` values into a tuple, short-circuiting on `Err`. */
85
63
  zip(other) {
86
64
  return other.isOk ? new OkImpl([this.value, other.value]) : castErr(other);
87
65
  }
88
- /**
89
- * Applicative apply: apply a wrapped function to this value.
90
- *
91
- * If `fnResult` is `Ok(fn)`, returns `Ok(fn(this.value))`.
92
- * If `fnResult` is `Err`, propagates the error.
93
- */
94
66
  ap(fnResult) {
95
67
  return fnResult.isOk ? new OkImpl(fnResult.value(this.value)) : castErr(fnResult);
96
68
  }
97
- /** Serialize as `{ tag: 'Ok', value: T }`. */
98
69
  toJSON() {
99
70
  return { tag: "Ok", value: this.value };
100
71
  }
101
- /** Human-readable string representation. */
102
72
  toString() {
103
73
  return `Ok(${String(this.value)})`;
104
74
  }
105
75
  }
106
- /**
107
- * The failure variant of {@link Result}.
108
- *
109
- * Wraps an error of type `E`. All value-channel operations (`map`, `flatMap`,
110
- * `unwrap`) short-circuit, preserving the error.
111
- *
112
- * Construct via the {@link Err} factory rather than `new ErrImpl(...)`.
113
- */
114
- export class ErrImpl {
76
+ class ErrImpl {
115
77
  error;
116
- /** Discriminant tag for pattern matching. */
117
78
  tag = "Err";
118
- constructor(/** The wrapped error value. */ error) {
79
+ constructor(error) {
119
80
  this.error = error;
120
81
  }
121
- /** Whether this is an Ok variant. Always false. */
122
82
  get isOk() {
123
83
  return false;
124
84
  }
125
- /** Whether this is an Err variant. Always true. */
126
85
  get isErr() {
127
86
  return true;
128
87
  }
129
- /** No-op on `Err`: the value channel is empty. */
130
88
  map(_fn) {
131
89
  return castErr(this);
132
90
  }
133
- /** Apply `fn` to the error, returning a new `Err`. */
134
91
  mapErr(fn) {
135
92
  return new ErrImpl(fn(this.error));
136
93
  }
137
- /** Short-circuit: propagate this `Err` without calling `fn`. */
138
94
  flatMap(_fn) {
139
95
  return castErr(this);
140
96
  }
141
- /** No-op on `Err`: no value to tap. */
142
97
  tap(_fn) {
143
98
  return this;
144
99
  }
145
- /** Run a side-effect on the error without altering the Result. */
146
100
  tapErr(fn) {
147
101
  fn(this.error);
148
102
  return this;
149
103
  }
150
- /** Throws: there is no success value to extract from `Err`. */
151
104
  unwrap() {
152
105
  throw new TypeError(`unwrap called on Err(${String(this.error)})`);
153
106
  }
154
- /** Return the fallback since this is an `Err`. */
155
107
  unwrapOr(fallback) {
156
108
  return fallback;
157
109
  }
158
- /** Recover from the error by calling `fn`. */
159
110
  unwrapOrElse(fn) {
160
111
  return fn(this.error);
161
112
  }
162
- /** Extract the error value. */
163
113
  unwrapErr() {
164
114
  return this.error;
165
115
  }
166
- /** Exhaustively handle both variants. */
167
116
  match(m) {
168
117
  return m.Err(this.error);
169
118
  }
170
- /** Convert to `None` (the success value is absent). */
171
119
  toOption() {
172
120
  return None;
173
121
  }
174
- /** Short-circuit: propagate this `Err`. */
175
122
  zip(_other) {
176
123
  return castErr(this);
177
124
  }
178
- /** Short-circuit: propagate this `Err`. */
179
125
  ap(_fnResult) {
180
126
  return castErr(this);
181
127
  }
182
- /** Serialize as `{ tag: 'Err', error: E }`. */
183
128
  toJSON() {
184
129
  return { tag: "Err", error: this.error };
185
130
  }
186
- /** Human-readable string representation. */
187
131
  toString() {
188
132
  return `Err(${String(this.error)})`;
189
133
  }
190
134
  }
191
135
  // ── Variance helpers ─────────────────────────────────────────────────────────
192
136
  //
193
- // Result<T, E> is invariant in both T and E because OkImpl and ErrImpl carry
137
+ // Result<T, E> is invariant in both T and E because Ok and Err carry
194
138
  // both type parameters in their method signatures. When propagating an Err
195
139
  // through a map/flatMap that changes T, or an Ok through a mapErr that changes
196
140
  // E, we need to widen the unused parameter.
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"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"}
@@ -96,8 +96,7 @@ export declare namespace ADT {
96
96
  /** Helper: extracts the return type of a constructor function. */
97
97
  type ConstructorReturn<T> = T extends (...args: never[]) => infer R ? R : never;
98
98
  /** Extract the full discriminated union type from an ADT value. */
99
- export type Infer<T> = ConstructorReturn<T[keyof Omit<T, "is"> & string]>;
100
- export {};
99
+ type Infer<T> = ConstructorReturn<T[keyof Omit<T, "is"> & string]>;
101
100
  }
102
101
  export {};
103
102
  //# sourceMappingURL=adt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adt.d.ts","sourceRoot":"","sources":["../../src/data/adt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH;;;GAGG;AACH,KAAK,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,GACtD;IAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;CAAE,GACnB,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GACrC;IAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GACjC,KAAK,CAAC;AAIZ;;;;;;;;;GASG;AACH,KAAK,SAAS,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI;IAC1D,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GACzD,MAAM;QAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;KAAE,GACzB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GAC7C,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK;QAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;KAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GACjD,KAAK;CACZ,GAAG;IACF,QAAQ,CAAC,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,GAAG,CACrC,KAAK,EAAE,OAAO,KACX,KAAK,IAAI,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC;CACH,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,GAAG,GAAI,MAAM,yEA2BzB,CAAC;AAIF,qDAAqD;AACrD,yBAAiB,GAAG,CAAC,CAAC;IACpB,kEAAkE;IAClE,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAEhF,mEAAmE;IACnE,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;;CAC3E"}
1
+ {"version":3,"file":"adt.d.ts","sourceRoot":"","sources":["../../src/data/adt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH;;;GAGG;AACH,KAAK,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,GACtD;IAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;CAAE,GACnB,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GACrC;IAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GACjC,KAAK,CAAC;AAIZ;;;;;;;;;GASG;AACH,KAAK,SAAS,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI;IAC1D,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GACzD,MAAM;QAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;KAAE,GACzB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GAC7C,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK;QAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;KAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GACjD,KAAK;CACZ,GAAG;IACF,QAAQ,CAAC,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,GAAG,CACrC,KAAK,EAAE,OAAO,KACX,KAAK,IAAI,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC;CACH,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,GAAG,GAAI,MAAM,yEA2BzB,CAAC;AAIF,qDAAqD;AACrD,yBAAiB,GAAG,CAAC,CAAC;IACpB,kEAAkE;IAClE,KAAY,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAEvF,mEAAmE;IACnE,KAAY,KAAK,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;CAC3E"}
@@ -42,8 +42,10 @@ export interface CodecType<I, O> {
42
42
  /** Chain this codec with another: decode goes this then other, encode reverses. */
43
43
  readonly pipe: <O2>(other: CodecType<O, O2>) => CodecType<I, O2>;
44
44
  }
45
- type CodecShape = Record<string, CodecType<unknown, unknown>>;
46
- type DecodedShape<T extends CodecShape> = {
45
+ /** @internal A record of codecs keyed by field name, used to define object codec shapes. */
46
+ export type CodecShape = Record<string, CodecType<unknown, unknown>>;
47
+ /** @internal Infer the decoded output type from a {@link CodecShape} definition. */
48
+ export type DecodedShape<T extends CodecShape> = {
47
49
  [K in keyof T]: T[K] extends CodecType<unknown, infer O> ? O : never;
48
50
  };
49
51
  /**
@@ -81,5 +83,4 @@ export declare const Codec: {
81
83
  /** Wrap a codec to also accept and produce null values. */
82
84
  readonly nullable: <I, O>(codec: CodecType<I, O>) => CodecType<I | null, O | null>;
83
85
  };
84
- export {};
85
86
  //# sourceMappingURL=codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/data/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI3D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACtD,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CAClE;AAgFD,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9D,KAAK,YAAY,CAAC,CAAC,SAAS,UAAU,IAAI;KACvC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACrE,CAAC;AA6DF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,EAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KACrB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,EACrB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EACrB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,KAC1B,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACxF,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;CAWpF,CAAC"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/data/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI3D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACtD,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CAClE;AAgFD,4FAA4F;AAC5F,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAErE,oFAAoF;AACpF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,UAAU,IAAI;KAC9C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACrE,CAAC;AA6DF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,EAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KACrB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,EACrB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EACrB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,KAC1B,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACxF,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;CAWpF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/data/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/data/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAgCrD,+EAA+E;AAE/E,MAAM,SAAS,GAAG,CAChB,IAAuB,EACvB,QAAgB,EAChB,QAAiB,EACW,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,QAAQ,EAAE,CAAC,CAAC;AAEpF,uCAAuC;AACvC,MAAM,WAAW,GAAG,CAAC,CAAc,EAAE,GAAW,EAAe,EAAE,CAAC,CAAC;IACjE,GAAG,CAAC;IACJ,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;CACvB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,QAAQ,GAAG,CAAI,MAAkD,EAAiB,EAAE,CAAC,CAAC;IAC1F,KAAK,EAAE,MAAM;IACb,EAAE,EAAE,CAAC,KAAc,EAAc,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI;IACtD,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC;QACtB,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC;IACJ,SAAS,EAAE,CAAI,EAAe,EAAE,EAAE,CAChC,QAAQ,CAAI,KAAK,CAAC,EAAE;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IACJ,QAAQ,EAAE,GAAG,EAAE,CACb,QAAQ,CAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzF,OAAO,EAAE,CAAC,QAAW,EAAE,EAAE,CACvB,QAAQ,CAAI,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;CAC/F,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,WAAW,GAAG,CAClB,MAA4C,EAC5C,MAAwB,EACP,EAAE,CACnB,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM;IACN,MAAM;IACN,MAAM,EAAE,QAAQ,CAAC,MAAoD,CAAC;IACtE,IAAI,EAAE,CAAK,KAAuB,EAAoB,EAAE,CACtD,WAAW,CACT,CAAC,KAAQ,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,EAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CACrC;CACJ,CAAC,CAAC;AAEL,+EAA+E;AAE/E,MAAM,WAAW,GAA+B,WAAW,CACzD,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EACjE,CAAC,CAAC,EAAE,CAAC,CAAC,CACP,CAAC;AAEF,MAAM,WAAW,GAA+B,WAAW,CACzD,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EACrF,CAAC,CAAC,EAAE,CAAC,CAAC,CACP,CAAC;AAEF,MAAM,YAAY,GAAgC,WAAW,CAC3D,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EACnE,CAAC,CAAC,EAAE,CAAC,CAAC,CACP,CAAC;AAYF,MAAM,WAAW,GAAG,CAAuB,KAAQ,EAAuC,EAAE;IAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,WAAW,CAChB,CAAC,KAAc,EAAE,EAAE;QACjB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,gEAAgE;QAChE,oDAAoD;QACpD,OAAO,EAAE,CAAC,MAAM,CAAoD,CAAC;IACvE,CAAC,EACD,CAAC,MAAuB,EAAE,EAAE;QAC1B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAE,MAAkC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAAiB,CAAC;IAC3B,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAI,OAA8B,EAAoC,EAAE,CACzF,WAAW,CACT,CAAC,KAAc,EAAE,EAAE;IACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,CAAC,OAAuB,CAAC,CAAC;AACrC,CAAC,EACD,CAAC,MAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAY,CAC9E,CAAC;AAEJ,MAAM,aAAa,GAAG,CAAO,KAAsB,EAAiC,EAAE,CACpF,WAAW,CACT,CAAC,KAAe,EAAE,EAAE;IAClB,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC,EACD,CAAC,MAAgB,EAAE,EAAE;IACnB,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC,CACF,CAAC;AAEJ,+EAA+E;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,KAAK,GAuBd;IACF,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,CAAI,MAAqB,EAAE,MAA6B,EAAyB,EAAE,CAC7F,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;IACnC,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,aAAa;CACxB,CAAC"}
@@ -14,6 +14,15 @@
14
14
  * ```
15
15
  */
16
16
  /** Algebraic data type constructor with exhaustive matching. */
17
+ /** Re-exported so public signatures that reference Eq are visible from this entrypoint. */
18
+ export type { Eq } from "../core/eq.js";
19
+ /** Re-exported so public signatures that reference Option are visible from this entrypoint. */
20
+ export type { NoneVariant, Option, OptionMatcher, SomeVariant } from "../core/option.js";
21
+ /** Re-exported so public signatures that reference Ord are visible from this entrypoint. */
22
+ export type { Ord } from "../core/ord.js";
23
+ /** Re-exported so public signatures that reference Result are visible from this entrypoint. */
24
+ /** Re-exported so public signatures that reference Ok / Err are visible from this entrypoint. */
25
+ export type { Err, Ok, Result, ResultMatcher } from "../core/result.js";
17
26
  export { ADT } from "./adt.js";
18
27
  /** Bidirectional codec namespace for encoding and decoding values. */
19
28
  /** Interface describing a bidirectional codec that can decode and encode. */
@@ -36,4 +45,7 @@ export type { ImmutableRecord, RecordMethods } from "./record.js";
36
45
  /** Describes a validation error at a specific path. */
37
46
  /** Interface for a composable validation schema that parses unknown into T. */
38
47
  export { Schema, type SchemaError, type SchemaType } from "./schema.js";
48
+ /** Dense, index-stable collection with O(1) insert, remove, and access. */
49
+ /** Opaque reference to an element in a StableVec. */
50
+ export { type Handle, StableVec } from "./stable-vec.js";
39
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,gEAAgE;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,sEAAsE;AACtE,6EAA6E;AAC7E,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,oEAAoE;AACpE,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC9D,oDAAoD;AACpD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,mEAAmE;AACnE,yDAAyD;AACzD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,oEAAoE;AACpE,2DAA2D;AAC3D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,iEAAiE;AACjE,uDAAuD;AACvD,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,gEAAgE;AAEhE,2FAA2F;AAC3F,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,+FAA+F;AAC/F,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzF,4FAA4F;AAC5F,YAAY,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,+FAA+F;AAC/F,iGAAiG;AACjG,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,sEAAsE;AACtE,6EAA6E;AAC7E,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,oEAAoE;AACpE,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC9D,oDAAoD;AACpD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,mEAAmE;AACnE,yDAAyD;AACzD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,oEAAoE;AACpE,2DAA2D;AAC3D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,iEAAiE;AACjE,uDAAuD;AACvD,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,2EAA2E;AAC3E,qDAAqD;AACrD,OAAO,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -28,4 +28,7 @@ export { NonEmptyList } from "./non-empty-list.js";
28
28
  /** Describes a validation error at a specific path. */
29
29
  /** Interface for a composable validation schema that parses unknown into T. */
30
30
  export { Schema } from "./schema.js";
31
+ /** Dense, index-stable collection with O(1) insert, remove, and access. */
32
+ /** Opaque reference to an element in a StableVec. */
33
+ export { StableVec } from "./stable-vec.js";
31
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,gEAAgE;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,sEAAsE;AACtE,6EAA6E;AAC7E,OAAO,EAAE,KAAK,EAAkB,MAAM,YAAY,CAAC;AACnD,oEAAoE;AACpE,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM9D,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,iEAAiE;AACjE,uDAAuD;AACvD,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAqC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,gEAAgE;AAYhE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,sEAAsE;AACtE,6EAA6E;AAC7E,OAAO,EAAE,KAAK,EAAkB,MAAM,YAAY,CAAC;AACnD,oEAAoE;AACpE,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM9D,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,iEAAiE;AACjE,uDAAuD;AACvD,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAqC,MAAM,aAAa,CAAC;AACxE,2EAA2E;AAC3E,qDAAqD;AACrD,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * - **Draft proxy** (`createDraft`, `applyMutations`) powering `Record.produce()`
14
14
  * - **Deep equality** (`deepEqual`) for `Record.equals()` / `List.equals()`
15
15
  */
16
- /** JavaScript primitive types (non-object, non-function). */
16
+ /** @internal JavaScript primitive types (non-object, non-function). */
17
17
  export type Primitive = string | number | boolean | bigint | symbol | undefined | null;
18
18
  /**
19
19
  * Recursively marks all properties as `readonly`.
@@ -25,7 +25,7 @@ export type DeepReadonly<T> = T extends Primitive ? T : T extends ReadonlyArray<
25
25
  readonly [K in keyof T]: DeepReadonly<T[K]>;
26
26
  };
27
27
  /**
28
- * Draft type for `produce()` recipes.
28
+ * @internal Draft type for `produce()` recipes.
29
29
  *
30
30
  * Properties are writable (for reassignment) but arrays become
31
31
  * `ReadonlyArray` so mutating methods like `.push()` are blocked
@@ -1 +1 @@
1
- {"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../../src/data/internals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAC7C,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC9B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAC7C,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC5B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GACtC,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACvB,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAC/B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEtD,yEAAyE;AACzE,eAAO,MAAM,YAAY,2DAC4C,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,wBASzB,CAAC;AAuBF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,4CAS3B,CAAC;AAkBF,4EAA4E;AAC5E,eAAO,MAAM,SAAS,oDAQrB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,SAAS,GAAI,CAAC,uEAc1B,CAAC;AAQF,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAiDD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,6EA0C5B,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,cAAc,GAAI,CAAC,+CAM/B,CAAC;AAWF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,qCAYrB,CAAC"}
1
+ {"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../../src/data/internals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAC7C,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC9B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAC7C,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC5B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GACtC,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACvB,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAC/B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEtD,yEAAyE;AACzE,eAAO,MAAM,YAAY,2DAC4C,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,wBASzB,CAAC;AAuBF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,4CAS3B,CAAC;AAkBF,4EAA4E;AAC5E,eAAO,MAAM,SAAS,oDAQrB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,SAAS,GAAI,CAAC,uEAc1B,CAAC;AAQF,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAiDD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,6EA0C5B,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,cAAc,GAAI,CAAC,+CAM/B,CAAC;AAWF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,qCAYrB,CAAC"}
@@ -81,7 +81,7 @@ export interface ListMethods<T> {
81
81
  readonly $immutable: true;
82
82
  }
83
83
  /**
84
- * Base array type with conflicting methods removed.
84
+ * @internal Base array type with conflicting methods removed.
85
85
  *
86
86
  * `ReadonlyArray` defines `find`, `map`, `filter`, etc. with signatures that
87
87
  * return raw values. `ListMethods` overrides them to return `Option` or
@@ -20,7 +20,7 @@ import type { Ord } from "../core/ord.js";
20
20
  import type { DeepReadonly } from "./internals.js";
21
21
  import { type ImmutableList, type ListBase } from "./list.js";
22
22
  /**
23
- * Methods specific to non-empty lists where the non-empty guarantee
23
+ * @internal Methods specific to non-empty lists where the non-empty guarantee
24
24
  * enables stronger return types.
25
25
  */
26
26
  export interface NonEmptyListMethods<T> {
@@ -51,7 +51,7 @@ export interface RecordMethods<T> {
51
51
  readonly $immutable: true;
52
52
  }
53
53
  /**
54
- * Recursively types nested properties:
54
+ * @internal Recursively types nested properties:
55
55
  * - Primitives stay as-is
56
56
  * - Arrays become ReadonlyArray of recursed elements
57
57
  * - Plain objects become ImmutableRecord (with methods)
@@ -63,7 +63,6 @@ export interface RecordMethods<T> {
63
63
  * Exported because {@link ImmutableRecord} references it in its mapped
64
64
  * type definition. TypeScript's declaration emit requires referenced types
65
65
  * to be exported for `.d.ts` generation (JSR slow-types constraint).
66
- * Not re-exported from `index.ts`: consumers should not use this directly.
67
66
  */
68
67
  export type RecordProp<T> = T extends Primitive ? T : T extends ReadonlyArray<infer U> ? ReadonlyArray<RecordProp<U>> : T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<RecordProp<K>, RecordProp<V>> : T extends ReadonlySet<infer U> ? ReadonlySet<RecordProp<U>> : T extends (...args: any[]) => any ? T : ImmutableRecord<T>;
69
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/data/record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,KAAK,EAMV,KAAK,SAAS,EAGf,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,qEAAqE;IACrE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC9D,yCAAyC;IACzC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC9E,iEAAiE;IACjE,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/D,sCAAsC;IACtC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,4CAA4C;IAC5C,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,gCAAgC;IAChC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC3C,oDAAoD;IACpD,SAAS,IAAI,CAAC,CAAC;IACf,qCAAqC;IACrC,MAAM,IAAI,OAAO,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAC3C,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAC5B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GACzC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAC1B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAC/B,CAAC,GACD,eAAe,CAAC,CAAC,CAAC,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAkJlG;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,8CAW7B,CAAC"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/data/record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,KAAK,EAMV,KAAK,SAAS,EAGf,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,qEAAqE;IACrE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC9D,yCAAyC;IACzC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC9E,iEAAiE;IACjE,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/D,sCAAsC;IACtC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,4CAA4C;IAC5C,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,gCAAgC;IAChC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC3C,oDAAoD;IACpD,SAAS,IAAI,CAAC,CAAC;IACf,qCAAqC;IACrC,MAAM,IAAI,OAAO,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAC3C,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAC5B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GACzC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAC1B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAC/B,CAAC,GACD,eAAe,CAAC,CAAC,CAAC,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAkJlG;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,8CAW7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/data/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/data/record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * @module stable-vec
3
+ *
4
+ * A dense, index-stable collection backed by typed arrays.
5
+ *
6
+ * Standard arrays invalidate indices when elements are removed (splice
7
+ * shifts everything after the gap). StableVec solves this by assigning
8
+ * each element a **handle** — a (index, generation) pair that remains
9
+ * valid even after other elements are inserted or removed.
10
+ *
11
+ * Internally, data is kept contiguous: removal swaps the target with the
12
+ * last element, keeping the backing store dense for cache-friendly iteration.
13
+ * A generation counter per slot detects stale handles (use-after-free).
14
+ * Freed slots are reused via an implicit free list.
15
+ *
16
+ * **Time complexities:**
17
+ * - `insert`: O(1) amortized
18
+ * - `remove`: O(1) — swap-with-last
19
+ * - `get` by handle: O(1) — one indirection + generation check
20
+ * - `iterate`: O(n) over dense data, no gaps
21
+ *
22
+ * **When to use:**
23
+ * - Long-lived collections with frequent insert/remove
24
+ * - External code holds handles that must survive mutations
25
+ * - Cache-friendly iteration matters (game loops, simulations, ECS)
26
+ *
27
+ * **When NOT to use:**
28
+ * - Short-lived, process-once arrays (just use a plain array)
29
+ * - Ordered collections (removal reorders via swap)
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const vec = StableVec.create<{ x: number; y: number }>();
34
+ * const h1 = vec.insert({ x: 1, y: 2 });
35
+ * const h2 = vec.insert({ x: 3, y: 4 });
36
+ *
37
+ * vec.get(h1); // Some({ x: 1, y: 2 })
38
+ * vec.remove(h1); // true
39
+ * vec.get(h1); // None (handle invalidated)
40
+ * vec.isValid(h1); // false
41
+ *
42
+ * // Dense iteration — no gaps
43
+ * for (const item of vec) {
44
+ * console.log(item.x, item.y);
45
+ * }
46
+ * ```
47
+ */
48
+ import type { Option } from "../core/option.js";
49
+ /**
50
+ * An opaque reference to an element in a {@link StableVec}.
51
+ *
52
+ * Handles are cheap to copy (two numbers) and safe to hold long-term.
53
+ * A handle becomes invalid when the element it points to is removed;
54
+ * subsequent `get`/`remove` calls return `None`/`false`.
55
+ */
56
+ export interface Handle {
57
+ /** Slot index in the indirection table. */
58
+ readonly index: number;
59
+ /** Generation at the time of insertion. Mismatches mean the slot was reused. */
60
+ readonly generation: number;
61
+ }
62
+ /**
63
+ * A dense, index-stable collection.
64
+ *
65
+ * Elements are stored contiguously for cache-friendly iteration. Handles
66
+ * (index + generation) provide O(1) access that survives mutations.
67
+ */
68
+ export interface StableVec<T> extends Iterable<T> {
69
+ /** Number of live elements. */
70
+ readonly length: number;
71
+ /** Number of allocated slots (including free slots available for reuse). */
72
+ readonly capacity: number;
73
+ /** Insert an element and return its stable handle. O(1) amortized. */
74
+ insert(value: T): Handle;
75
+ /**
76
+ * Remove the element referenced by `handle`. O(1).
77
+ *
78
+ * Returns `true` if the element was removed, `false` if the handle
79
+ * was already invalid (stale generation or out of range).
80
+ */
81
+ remove(handle: Handle): boolean;
82
+ /** Retrieve the element by handle. O(1). Returns `None` for stale handles. */
83
+ get(handle: Handle): Option<T>;
84
+ /** Check whether a handle still points to a live element. O(1). */
85
+ isValid(handle: Handle): boolean;
86
+ /** Remove all elements. Slots are freed for reuse. */
87
+ clear(): void;
88
+ /** Iterate over all live elements in dense order (no gaps). */
89
+ [Symbol.iterator](): Iterator<T>;
90
+ /** Iterate over (handle, value) pairs. */
91
+ entries(): Iterable<[Handle, T]>;
92
+ /**
93
+ * Apply `fn` to each live element. Faster than `for..of` because it
94
+ * avoids iterator protocol overhead.
95
+ */
96
+ forEach(fn: (value: T, handle: Handle) => void): void;
97
+ /** Return all live elements as a plain array (snapshot, not a view). */
98
+ toArray(): T[];
99
+ }
100
+ /**
101
+ * Dense, index-stable collection with O(1) insert, remove, and access.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * const vec = StableVec.create<string>();
106
+ * const h = vec.insert("hello");
107
+ * vec.get(h); // Some("hello")
108
+ * vec.remove(h);
109
+ * vec.get(h); // None
110
+ * ```
111
+ */
112
+ export declare const StableVec: {
113
+ /** Create an empty StableVec. */
114
+ readonly create: <T>() => StableVec<T>;
115
+ };
116
+ //# sourceMappingURL=stable-vec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stable-vec.d.ts","sourceRoot":"","sources":["../../src/data/stable-vec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAoBD;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAC/C,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,sEAAsE;IACtE,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhC,8EAA8E;IAC9E,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/B,mEAAmE;IACnE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjC,sDAAsD;IACtD,KAAK,IAAI,IAAI,CAAC;IAEd,+DAA+D;IAC/D,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC,0CAA0C;IAC1C,OAAO,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEtD,wEAAwE;IACxE,OAAO,IAAI,CAAC,EAAE,CAAC;CAChB;AAgJD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAGxC,CAAC"}