@typed/guard 1.0.0-beta.4 → 1.0.0-beta.6

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.
@@ -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
@@ -6,34 +6,158 @@ import { dual } from "effect/Function";
6
6
  import * as Option from "effect/Option";
7
7
  import * as Schema from "effect/Schema";
8
8
  /**
9
+ * Returns a callable Guard unchanged or obtains one from an own callable
10
+ * `asGuard` property. Invalid adapter objects throw `TypeError` immediately.
11
+ *
12
+ * @remarks
13
+ * ## Why
14
+ * Central normalization makes invalid adapter shapes fail at construction instead of later during Effect execution.
15
+ *
16
+ * ## Ownership and lifetime
17
+ * Normalization acquires no resources and returns the existing Guard function or the adapter's result.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { getGuard, liftPredicate } from "@typed/guard"
22
+ * const guard = getGuard(liftPredicate((value: unknown): value is string => typeof value === "string"))
23
+ * ```
24
+ *
25
+ * @category Constructors
9
26
  * @since 1.0.0
10
27
  */
11
- export const getGuard = (guard) => ("asGuard" in guard ? guard.asGuard() : guard);
28
+ export const getGuard = (guard) => {
29
+ if (typeof guard === "function") {
30
+ return guard;
31
+ }
32
+ if (typeof guard !== "object" || guard === null || !Object.hasOwn(guard, "asGuard")) {
33
+ throw new TypeError("Expected a Guard function or an object with an own callable asGuard property");
34
+ }
35
+ const asGuard = guard.asGuard;
36
+ if (typeof asGuard !== "function") {
37
+ throw new TypeError("Expected a Guard function or an object with an own callable asGuard property");
38
+ }
39
+ const normalized = asGuard.call(guard);
40
+ if (typeof normalized !== "function") {
41
+ throw new TypeError("Expected asGuard() to return a Guard function");
42
+ }
43
+ return normalized;
44
+ };
45
+ const invokeGuard = (guard, input) => Effect.suspend(() => guard(input));
46
+ const isObjectRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
47
+ const assertObjectRecord = (value) => {
48
+ if (!isObjectRecord(value)) {
49
+ throw new TypeError("Expected a guard object output");
50
+ }
51
+ return value;
52
+ };
53
+ const copyEnumerableRecord = (source) => {
54
+ const output = {};
55
+ for (const key of Reflect.ownKeys(source)) {
56
+ if (!Object.prototype.propertyIsEnumerable.call(source, key))
57
+ continue;
58
+ output[key] = source[key];
59
+ }
60
+ return output;
61
+ };
62
+ const extendEnumerableRecord = (source, key, value) => {
63
+ if (Object.prototype.propertyIsEnumerable.call(source, key)) {
64
+ throw new TypeError(`Guard output already contains key: ${String(key)}`);
65
+ }
66
+ const output = copyEnumerableRecord(source);
67
+ output[key] = value;
68
+ return output;
69
+ };
70
+ const mergeEnumerableRecords = (base, extension) => {
71
+ const output = copyEnumerableRecord(base);
72
+ for (const key of Reflect.ownKeys(extension)) {
73
+ if (!Object.prototype.propertyIsEnumerable.call(extension, key))
74
+ continue;
75
+ if (Object.prototype.propertyIsEnumerable.call(output, key)) {
76
+ throw new TypeError(`Guard output already contains key: ${String(key)}`);
77
+ }
78
+ output[key] = extension[key];
79
+ }
80
+ return output;
81
+ };
12
82
  /**
83
+ * Runs `output` only when `input` matches. `None` short-circuits successfully,
84
+ * while failures and service requirements are preserved from both Guards.
85
+ *
86
+ * @remarks
87
+ * ## Why
88
+ * Sequential Guard composition must preserve ordinary non-match while unioning the typed error and service channels of both stages.
89
+ *
90
+ * ## Ownership and lifetime
91
+ * Construction acquires no resources; each invocation runs the first Effect and only starts the second after `Some`.
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * import { liftPredicate, pipe } from "@typed/guard"
96
+ * const nonEmpty = pipe(liftPredicate((u: unknown): u is string => typeof u === "string"), liftPredicate((s) => s.length > 0))
97
+ * ```
98
+ *
99
+ * @category Composition
13
100
  * @since 1.0.0
14
101
  */
15
102
  export const pipe = dual(2, function flatMap(input, output) {
16
103
  const g1 = getGuard(input);
17
104
  const g2 = getGuard(output);
18
- return (i) => Effect.flatMapEager(g1(i), Option.match({
105
+ return (i) => Effect.flatMapEager(invokeGuard(g1, i), Option.match({
19
106
  onNone: () => Effect.succeedNone,
20
- onSome: g2,
107
+ onSome: (value) => invokeGuard(g2, value),
21
108
  }));
22
109
  });
23
110
  /**
111
+ * Maps matched output with an Effect while preserving `None`.
112
+ * @remarks
113
+ * ## Why
114
+ * Effectful mapping can add typed errors and services without changing non-match into failure.
115
+ * ## Ownership and lifetime
116
+ * Construction acquires no resources; the mapping Effect starts only after the source Guard produces `Some`.
117
+ * @example
118
+ * ```ts
119
+ * import { liftPredicate, mapEffect } from "@typed/guard"
120
+ * import { Effect } from "effect"
121
+ * const length = mapEffect(liftPredicate((u: unknown): u is string => typeof u === "string"), (s) => Effect.succeed(s.length))
122
+ * ```
123
+ * @category Composition
24
124
  * @since 1.0.0
25
125
  */
26
126
  export const mapEffect = dual(2, function mapEffect(guard, f) {
27
127
  return pipe(guard, (o) => Effect.asSome(f(o)));
28
128
  });
29
129
  /**
130
+ * Maps matched output synchronously while preserving non-match and Effect channels.
131
+ * @remarks
132
+ * ## Why
133
+ * Pure output adaptation should not add errors or services and should never run for `None`.
134
+ * ## Ownership and lifetime
135
+ * Construction acquires no resources; the callback runs once for each `Some` during Effect execution.
136
+ * @example
137
+ * ```ts
138
+ * import { liftPredicate, map } from "@typed/guard"
139
+ * const length = map(liftPredicate((u: unknown): u is string => typeof u === "string"), (s) => s.length)
140
+ * ```
141
+ * @category Composition
30
142
  * @since 1.0.0
31
143
  */
32
144
  export const map = dual(2, function map(guard, f) {
33
145
  const g = getGuard(guard);
34
- return (i) => Effect.mapEager(g(i), Option.map(f));
146
+ return (i) => Effect.mapEager(invokeGuard(g, i), Option.map(f));
35
147
  });
36
148
  /**
149
+ * Runs a synchronous or Effectful observation for each matched value and returns the value unchanged.
150
+ * @remarks
151
+ * ## Why
152
+ * Observation composes without changing output, while Effect callbacks correctly contribute their errors and services.
153
+ * ## Ownership and lifetime
154
+ * Construction acquires no resources; callback lifetime is bounded by each matching Guard invocation.
155
+ * @example
156
+ * ```ts
157
+ * import { liftPredicate, tap } from "@typed/guard"
158
+ * const observed = tap(liftPredicate((u: unknown): u is string => typeof u === "string"), console.log)
159
+ * ```
160
+ * @category Composition
37
161
  * @since 1.0.0
38
162
  */
39
163
  export const tap = dual(2, function tap(guard, f) {
@@ -45,27 +169,73 @@ export const tap = dual(2, function tap(guard, f) {
45
169
  });
46
170
  });
47
171
  /**
172
+ * Refines and maps a matched value with an Option-returning function.
173
+ * @remarks
174
+ * ## Why
175
+ * `Option.none` provides a second ordinary non-match stage without introducing typed failure.
176
+ * ## Ownership and lifetime
177
+ * This combinator acquires no resources; the callback runs only for source matches.
178
+ * @example
179
+ * ```ts
180
+ * import { filterMap, liftPredicate } from "@typed/guard"
181
+ * import { Option } from "effect"
182
+ * const parsed = filterMap(liftPredicate((u: unknown): u is string => typeof u === "string"), (s) => s ? Option.some(Number(s)) : Option.none())
183
+ * ```
184
+ * @category Composition
48
185
  * @since 1.0.0
49
186
  */
50
187
  export const filterMap = dual(2, (guard, f) => {
51
188
  const g = getGuard(guard);
52
- return (i) => Effect.mapEager(g(i), Option.flatMap(f));
189
+ return (i) => Effect.mapEager(invokeGuard(g, i), Option.flatMap(f));
53
190
  });
54
191
  /**
192
+ * Keeps matched values that satisfy a predicate or refinement.
193
+ * @remarks
194
+ * ## Why
195
+ * Predicate failure remains successful `None`, preserving Guard dispatch semantics and type refinement.
196
+ * ## Ownership and lifetime
197
+ * This combinator acquires no resources; the predicate runs only for source matches.
198
+ * @example
199
+ * ```ts
200
+ * import { filter, liftPredicate } from "@typed/guard"
201
+ * const positive = filter(liftPredicate((u: unknown): u is number => typeof u === "number"), (n) => n > 0)
202
+ * ```
203
+ * @category Composition
55
204
  * @since 1.0.0
56
205
  */
57
206
  export const filter = dual(2, (guard, predicate) => {
58
207
  const g = getGuard(guard);
59
- return (i) => Effect.mapEager(g(i), Option.filter(predicate));
208
+ return (i) => Effect.mapEager(invokeGuard(g, i), Option.filter(predicate));
60
209
  });
61
210
  /**
211
+ * Runs candidates sequentially and returns the first match tagged with its key.
212
+ * Candidates are snapshotted from own enumerable keys when `any` is called.
213
+ * ECMAScript own-key order applies: integer-index strings, other strings, then
214
+ * symbols.
215
+ *
216
+ * @remarks
217
+ * ## Why
218
+ * Ordered first-match dispatch turns independently composable Guards into a deterministic tagged union without treating `None` as failure.
219
+ *
220
+ * ## Ownership and lifetime
221
+ * Construction snapshots own enumerable entries and acquires no resources; each run executes candidates sequentially until the first `Some`.
222
+ *
223
+ * @example
224
+ * ```ts
225
+ * import { any, liftPredicate } from "@typed/guard"
226
+ * const classify = any({ text: liftPredicate((u: unknown): u is string => typeof u === "string") })
227
+ * ```
228
+ *
229
+ * @category Dispatch
62
230
  * @since 1.0.0
63
231
  */
64
232
  export function any(guards) {
65
- const entries = Object.entries(guards).map(([k, v]) => [k, getGuard(v)]);
233
+ const entries = Reflect.ownKeys(guards)
234
+ .filter((key) => Object.prototype.propertyIsEnumerable.call(guards, key))
235
+ .map((key) => [key, getGuard(guards[key])]);
66
236
  return (i) => Effect.gen(function* () {
67
237
  for (const [_tag, guard] of entries) {
68
- const match = yield* guard(i);
238
+ const match = yield* invokeGuard(guard, i);
69
239
  if (Option.isSome(match)) {
70
240
  return Option.some({ _tag, value: match.value });
71
241
  }
@@ -74,53 +244,162 @@ export function any(guards) {
74
244
  });
75
245
  }
76
246
  export function liftPredicate(predicate) {
77
- return (a) => Effect.succeed(predicate(a) ? Option.some(a) : Option.none());
247
+ return (a) => Effect.sync(() => (predicate(a) ? Option.some(a) : Option.none()));
78
248
  }
79
249
  /**
250
+ * Recovers from the complete Effect Cause and lifts the recovery result into `Some`.
251
+ * @remarks
252
+ * ## Why
253
+ * Cause-aware recovery can deliberately handle typed failures, defects, and interruption; `None` remains an unrecovered non-match.
254
+ * ## Ownership and lifetime
255
+ * Construction acquires no resources; recovery starts only when the source Effect fails and follows that invocation's lifetime.
256
+ * @example
257
+ * ```ts
258
+ * import { catchCause } from "@typed/guard"
259
+ * import type { Guard } from "@typed/guard"
260
+ * import { Effect } from "effect"
261
+ * const source: Guard<string, string, string> = (input) => input ? Effect.succeedSome(input) : Effect.fail("empty")
262
+ * const recovered = catchCause(source, () => Effect.succeed("fallback"))
263
+ * ```
264
+ * @category Error recovery
80
265
  * @since 1.0.0
81
266
  */
82
267
  export const catchCause = dual(2, function catchCause(guard, f) {
83
268
  const g = getGuard(guard);
84
- return (i) => Effect.catchCause(g(i), (a) => Effect.asSome(f(a)));
269
+ return (i) => Effect.catchCause(invokeGuard(g, i), (a) => Effect.asSome(f(a)));
85
270
  });
86
271
  /**
272
+ * Recovers typed failures and lifts the recovery result into `Some`.
273
+ * @remarks
274
+ * ## Why
275
+ * Typed recovery leaves defects and interruption untouched and does not confuse successful `None` with failure. The exported `catch` name is an alias of this declaration.
276
+ * ## Ownership and lifetime
277
+ * Construction acquires no resources; recovery starts only for typed failure during the source invocation.
278
+ * @example
279
+ * ```ts
280
+ * import { catchAll } from "@typed/guard"
281
+ * import type { Guard } from "@typed/guard"
282
+ * import { Effect } from "effect"
283
+ * const source: Guard<string, string, string> = (input) => input ? Effect.succeedSome(input) : Effect.fail("empty")
284
+ * const recovered = catchAll(source, (error) => Effect.succeed(error.length))
285
+ * ```
286
+ * @category Error recovery
87
287
  * @since 1.0.0
88
288
  */
89
289
  export const catchAll = dual(2, function catchAll(guard, f) {
90
290
  const g = getGuard(guard);
91
- return (i) => Effect.catchEager(g(i), (a) => Effect.asSome(f(a)));
291
+ return (i) => Effect.catchEager(invokeGuard(g, i), (a) => Effect.asSome(f(a)));
92
292
  });
93
293
  export { catchAll as catch };
94
294
  /**
295
+ * Recovers selected tagged typed failures and leaves unmatched tags in the error channel.
296
+ * @remarks
297
+ * ## Why
298
+ * Tag-specific recovery preserves type-safe residual errors while lifting recovered output into `Some`; `None`, defects, and interruption are unchanged.
299
+ * ## Ownership and lifetime
300
+ * Construction acquires no resources; the handler runs only for matching tagged failures during an invocation.
301
+ * @example
302
+ * ```ts
303
+ * import { catchTag } from "@typed/guard"
304
+ * import type { Guard } from "@typed/guard"
305
+ * import { Effect } from "effect"
306
+ * type NotFound = { readonly _tag: "NotFound" }
307
+ * const source: Guard<string, string, NotFound> = (input) => input ? Effect.succeedSome(input) : Effect.fail({ _tag: "NotFound" })
308
+ * const recovered = catchTag(source, "NotFound", () => Effect.succeed("fallback"))
309
+ * ```
310
+ * @category Error recovery
95
311
  * @since 1.0.0
96
312
  */
97
- export const catchTag = dual(3, function catchTag(guard, tag, f) {
313
+ export const catchTag = dual(3, (guard, tag, f) => {
98
314
  const g = getGuard(guard);
99
- return (i) => Effect.catchTag(g(i), tag, (e) => Effect.asSome(f(e)));
315
+ return ((i) => Effect.catchTag(invokeGuard(g, i), tag, (e) => Effect.asSome(f(e))));
100
316
  });
101
317
  /**
318
+ * Provides a Context or Layer to a Guard's Effect.
319
+ * @remarks
320
+ * ## Why
321
+ * Provision removes supplied services from `R`; Layers may also contribute acquisition errors and their own requirements exactly as Effect does.
322
+ * ## Ownership and lifetime
323
+ * A Context acquires no resources here. Layer resources are acquired and released according to the Effect Scope that runs the Guard.
324
+ * @example
325
+ * ```ts
326
+ * import { provide } from "@typed/guard"
327
+ * import type { Guard } from "@typed/guard"
328
+ * import { Context, Effect, Option } from "effect"
329
+ * const Flag = Context.Service<{ readonly enabled: boolean }>("Flag")
330
+ * const requiresFlag: Guard<boolean, boolean, never, Context.Service.Identifier<typeof Flag>> = (input) => Effect.map(Effect.service(Flag), ({ enabled }) => enabled && input ? Option.some(input) : Option.none())
331
+ * const guard = provide(requiresFlag, Context.make(Flag, { enabled: true }))
332
+ * ```
333
+ * See [Effect services and Layers](https://effect.website/docs/requirements-management/layers/).
334
+ * @category Services
102
335
  * @since 1.0.0
103
336
  */
104
337
  export const provide = dual(2, function provide(guard, provided) {
105
338
  const g = getGuard(guard);
106
- return (i) => Effect.provide(g(i), provided);
339
+ return (i) => Effect.provide(invokeGuard(g, i), provided);
107
340
  });
108
341
  /**
342
+ * Provides one concrete service to a Guard.
343
+ * @remarks
344
+ * ## Why
345
+ * Targeted service provision removes only the selected identifier from the Guard environment.
346
+ * ## Ownership and lifetime
347
+ * This combinator acquires no resources and reuses the supplied service for each invocation.
348
+ * @example
349
+ * ```ts
350
+ * import { provideService } from "@typed/guard"
351
+ * import type { Guard } from "@typed/guard"
352
+ * import { Context, Effect, Option } from "effect"
353
+ * const Flag = Context.Service<{ readonly enabled: boolean }>("Flag")
354
+ * const requiresFlag: Guard<boolean, boolean, never, Context.Service.Identifier<typeof Flag>> = (input) => Effect.map(Effect.service(Flag), ({ enabled }) => enabled && input ? Option.some(input) : Option.none())
355
+ * const guard = provideService(requiresFlag, Flag, { enabled: true })
356
+ * ```
357
+ * @category Services
109
358
  * @since 1.0.0
110
359
  */
111
360
  export const provideService = dual(3, function provideService(guard, tag, service) {
112
361
  const g = getGuard(guard);
113
- return (i) => Effect.provideService(g(i), tag, service);
362
+ return (i) => Effect.provideService(invokeGuard(g, i), tag, service);
114
363
  });
115
364
  /**
365
+ * Provides a service produced by an Effect to a Guard.
366
+ * @remarks
367
+ * ## Why
368
+ * Effectful provision makes acquisition errors and required services explicit in the composed Guard channels.
369
+ * ## Ownership and lifetime
370
+ * The service Effect runs for each Guard invocation and is interrupted with that invocation; scoped resources follow the surrounding Scope.
371
+ * @example
372
+ * ```ts
373
+ * import { provideServiceEffect } from "@typed/guard"
374
+ * import type { Guard } from "@typed/guard"
375
+ * import { Context, Effect, Option } from "effect"
376
+ * const Flag = Context.Service<{ readonly enabled: boolean }>("Flag")
377
+ * const requiresFlag: Guard<boolean, boolean, never, Context.Service.Identifier<typeof Flag>> = (input) => Effect.map(Effect.service(Flag), ({ enabled }) => enabled && input ? Option.some(input) : Option.none())
378
+ * const guard = provideServiceEffect(requiresFlag, Flag, Effect.succeed({ enabled: true }))
379
+ * ```
380
+ * @category Services
116
381
  * @since 1.0.0
117
382
  */
118
383
  export const provideServiceEffect = dual(3, function provideServiceEffect(guard, tag, service) {
119
384
  const g = getGuard(guard);
120
- return (i) => Effect.provideServiceEffect(g(i), tag, service);
385
+ return (i) => Effect.provideServiceEffect(invokeGuard(g, i), tag, service);
121
386
  });
122
387
  const parseOptions = { errors: "all", onExcessProperty: "ignore" };
123
388
  /**
389
+ * Creates a Guard that decodes a schema's Encoded input to its Type.
390
+ * @remarks
391
+ * ## Why
392
+ * Schema decoding reports all issues, ignores excess properties, retains `SchemaError` in the typed channel, and carries decoding services in `R`.
393
+ * ## Ownership and lifetime
394
+ * Construction acquires no resources; schema services and any scoped work follow each returned Effect invocation.
395
+ * @example
396
+ * ```ts
397
+ * import { fromSchemaDecode } from "@typed/guard"
398
+ * import { Schema } from "effect"
399
+ * const number = fromSchemaDecode(Schema.NumberFromString)
400
+ * ```
401
+ * See [Effect Schema transformations](https://effect.website/docs/schema/transformations/).
402
+ * @category Schema
124
403
  * @since 1.0.0
125
404
  */
126
405
  export function fromSchemaDecode(schema) {
@@ -128,6 +407,19 @@ export function fromSchemaDecode(schema) {
128
407
  return (i) => Effect.asSome(decode_(i, parseOptions));
129
408
  }
130
409
  /**
410
+ * Creates a Guard that encodes a schema's Type to its Encoded representation.
411
+ * @remarks
412
+ * ## Why
413
+ * Schema encoding is the reverse direction of decoding and keeps encoding services and `SchemaError` visible in the Guard type.
414
+ * ## Ownership and lifetime
415
+ * Construction acquires no resources; schema services and any scoped work follow each returned Effect invocation.
416
+ * @example
417
+ * ```ts
418
+ * import { fromSchemaEncode } from "@typed/guard"
419
+ * import { Schema } from "effect"
420
+ * const encoded = fromSchemaEncode(Schema.NumberFromString)
421
+ * ```
422
+ * @category Schema
131
423
  * @since 1.0.0
132
424
  */
133
425
  export function fromSchemaEncode(schema) {
@@ -135,42 +427,139 @@ export function fromSchemaEncode(schema) {
135
427
  return (a) => Effect.asSome(encode_(a, parseOptions));
136
428
  }
137
429
  /**
430
+ * Decodes each matched encoded value through an Effect Schema.
431
+ * @remarks
432
+ * ## Why
433
+ * The composed Guard preserves source non-match and errors while adding schema failures and decoding service requirements.
434
+ * ## Ownership and lifetime
435
+ * Construction acquires no resources; decoding starts only for `Some` and follows that invocation's lifetime.
436
+ * @example
437
+ * ```ts
438
+ * import { decode, liftPredicate } from "@typed/guard"
439
+ * import { Schema } from "effect"
440
+ * const number = decode(liftPredicate((u: unknown): u is string => typeof u === "string"), Schema.NumberFromString)
441
+ * ```
442
+ * @category Schema
138
443
  * @since 1.0.0
139
444
  */
140
445
  export const decode = dual(2, function decode(guard, schema) {
141
446
  return pipe(guard, fromSchemaDecode(schema));
142
447
  });
143
448
  /**
449
+ * Encodes each matched schema Type to its Encoded representation.
450
+ * @remarks
451
+ * ## Why
452
+ * The composed Guard preserves source non-match and errors while adding schema failures and encoding service requirements.
453
+ * ## Ownership and lifetime
454
+ * Construction acquires no resources; encoding starts only for `Some` and follows that invocation's lifetime.
455
+ * @example
456
+ * ```ts
457
+ * import { encode, liftPredicate } from "@typed/guard"
458
+ * import { Schema } from "effect"
459
+ * const text = encode(liftPredicate((u: unknown): u is number => typeof u === "number"), Schema.NumberFromString)
460
+ * ```
461
+ * @category Schema
144
462
  * @since 1.0.0
145
463
  */
146
464
  export const encode = dual(2, function encode(guard, schema) {
147
465
  return pipe(guard, fromSchemaEncode(schema));
148
466
  });
149
467
  /**
468
+ * Adds a fixed property to every matched record output.
469
+ * @remarks
470
+ * ## Why
471
+ * Record construction does not mutate the input and rejects existing enumerable keys; it returns an unfrozen plain object containing own enumerable string and symbol properties while dropping prototypes and non-enumerables.
472
+ * ## Ownership and lifetime
473
+ * This pure combinator acquires no resources and creates a fresh plain object for every match.
474
+ * @example
475
+ * ```ts
476
+ * import { bindTo, let as letGuard, liftPredicate } from "@typed/guard"
477
+ * const named = letGuard(bindTo(liftPredicate(Boolean), "value"), "kind", "input")
478
+ * ```
479
+ * @category Record construction
150
480
  * @since 1.0.0
151
481
  */
152
482
  const let_ = dual(3, function attachProperty(guard, key, value) {
153
- return map(guard, (a) => ({ ...a, [key]: value }));
483
+ return map(guard, (a) => extendEnumerableRecord(assertObjectRecord(a), key, value));
154
484
  });
155
485
  export {
156
486
  /**
487
+ * Adds a fixed property to every matched object output. The key must not
488
+ * already exist; use `bindTo` first when the prior output is not an object.
489
+ *
490
+ * This alias shares the canonical documentation and behavior of `let_`.
491
+ *
157
492
  * @since 1.0.0
158
493
  */
159
494
  let_ as let, };
160
495
  /**
496
+ * Adds a readonly `_tag` to every matched object output. The output must not
497
+ * already have an `_tag` property.
498
+ *
499
+ * @remarks
500
+ * ## Why
501
+ * A typed discriminant turns matched record outputs into exhaustively narrowable tagged values while rejecting key collisions.
502
+ *
503
+ * ## Ownership and lifetime
504
+ * This pure combinator acquires no resources and creates a fresh plain object for every match.
505
+ *
506
+ * @example
507
+ * ```ts
508
+ * import { addTag, bindTo, liftPredicate } from "@typed/guard"
509
+ * const tagged = addTag(bindTo(liftPredicate(Boolean), "value"), "Input")
510
+ * ```
511
+ *
512
+ * @category Record construction
161
513
  * @since 1.0.0
162
514
  */
163
515
  export const addTag = dual(2, function attachProperty(guard, value) {
164
- return map(guard, (a) => ({ ...a, _tag: value }));
516
+ return map(guard, (a) => extendEnumerableRecord(assertObjectRecord(a), "_tag", value));
165
517
  });
166
518
  /**
519
+ * Wraps any matched output in a new object under `key`. This is the explicit
520
+ * transition from an arbitrary output to the record-building workflow.
521
+ *
522
+ * @remarks
523
+ * ## Why
524
+ * Explicit wrapping makes arbitrary values safe for record combinators without assuming their runtime shape.
525
+ *
526
+ * ## Ownership and lifetime
527
+ * This pure combinator acquires no resources and creates a fresh plain object for every match.
528
+ *
529
+ * @example
530
+ * ```ts
531
+ * import { bindTo, liftPredicate } from "@typed/guard"
532
+ * const named = bindTo(liftPredicate(Boolean), "value")
533
+ * ```
534
+ *
535
+ * @category Record construction
167
536
  * @since 1.0.0
168
537
  */
169
538
  export const bindTo = dual(2, (guard, key) => map(guard, (a) => ({ [key]: a })));
170
539
  /**
540
+ * Runs `f` on a matched object and adds its matched value under a new key. The
541
+ * key must not already exist. Enumerable getters and proxy traps may execute
542
+ * during the object spread.
543
+ *
544
+ * @remarks
545
+ * ## Why
546
+ * Dependent record construction runs the second Guard only after the base matches, preserves `None`, and unions both error and service channels.
547
+ *
548
+ * ## Ownership and lifetime
549
+ * Construction acquires no resources; each successful bind creates a fresh plain object and the dependent Effect follows the invocation lifetime.
550
+ *
551
+ * @example
552
+ * ```ts
553
+ * import { bind, bindTo, liftPredicate, map } from "@typed/guard"
554
+ * const base = bindTo(liftPredicate((u: unknown): u is string => typeof u === "string"), "text")
555
+ * const nonEmptyLength = map(liftPredicate((record: { readonly text: string }) => record.text.length > 0), (record) => record.text.length)
556
+ * const sized = bind(base, "length", nonEmptyLength)
557
+ * ```
558
+ *
559
+ * @category Record construction
171
560
  * @since 1.0.0
172
561
  */
173
562
  export const bind = dual(3, function bind(guard, key, f) {
174
563
  const f_ = bindTo(f, key);
175
- return pipe(guard, (o) => Effect.mapEager(f_(o), Option.map((b) => ({ ...o, ...b }))));
564
+ return pipe(guard, (o) => Effect.mapEager(invokeGuard(f_, o), Option.map((b) => mergeEnumerableRecords(assertObjectRecord(o), b))));
176
565
  });