effect 3.13.3 → 3.13.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":"matcher.js","names":["Either","identity","Option","pipeArguments","TypeId","Symbol","for","TypeMatcherProto","_input","_filters","_remaining","_result","_return","_tag","add","_case","makeTypeMatcher","cases","pipe","arguments","matcher","Object","create","ValueMatcherProto","value","guard","provided","makeValueMatcher","right","evaluate","makeWhen","makeNot","makePredicate","pattern","Array","isArray","predicates","map","len","length","u","i","keysAndPredicates","entries","k","p","key","predicate","makeOrPredicate","patterns","makeAndPredicate","type","left","valueTags","fields","match","tagsExhaustive","input","typeTags","withReturnType","self","when","f","whenOr","args","onMatch","slice","whenAnd","discriminator","field","values","pred","_","includes","discriminatorStartsWith","startsWith","discriminators","data","discriminatorsExhaustive","addCases","exhaustive","tag","tagStartsWith","tags","not","nonEmptyString","is","literals","any","defined","undefined","instanceOf","constructor","instanceOfUnsafe","orElse","result","either","isEither","a","orElseAbsurd","Error","option","toEither","onLeft","none","onRight","some","getExhaustiveAbsurdErrorMessage"],"sources":["../../../src/internal/matcher.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"matcher.js","names":["Either","identity","Option","pipeArguments","TypeId","Symbol","for","TypeMatcherProto","_input","_filters","_remaining","_result","_return","_tag","add","_case","makeTypeMatcher","cases","pipe","arguments","matcher","Object","create","ValueMatcherProto","value","guard","provided","makeValueMatcher","right","evaluate","makeWhen","makeNot","makePredicate","pattern","Array","isArray","predicates","map","len","length","u","i","keysAndPredicates","entries","k","p","key","predicate","makeOrPredicate","patterns","makeAndPredicate","type","left","valueTags","fields","match","tagsExhaustive","input","typeTags","withReturnType","self","when","f","whenOr","args","onMatch","slice","whenAnd","discriminator","field","values","pred","_","includes","discriminatorStartsWith","startsWith","discriminators","data","discriminatorsExhaustive","addCases","exhaustive","tag","tagStartsWith","tags","not","nonEmptyString","is","literals","any","defined","undefined","instanceOf","constructor","instanceOfUnsafe","orElse","result","either","isEither","a","orElseAbsurd","Error","option","toEither","onLeft","none","onRight","some","getExhaustiveAbsurdErrorMessage"],"sources":["../../../src/internal/matcher.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.13.3";
1
+ let moduleVersion = "3.13.6";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.13.3",
3
+ "version": "3.13.6",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Match.ts CHANGED
@@ -511,15 +511,15 @@ export const whenAnd: <
511
511
  */
512
512
  export const discriminator: <D extends string>(
513
513
  field: D
514
- ) => <R, P extends Types.Tags<D, R> & string, Ret, B extends Ret>(
515
- ...pattern: [first: P, ...values: Array<P>, f: (_: Extract<R, Record<D, P>>) => B]
514
+ ) => <R, P extends Types.Tags<D, R> & string, Ret, Fn extends (_: Extract<R, Record<D, P>>) => Ret>(
515
+ ...pattern: [first: P, ...values: Array<P>, f: Fn]
516
516
  ) => <I, F, A, Pr>(
517
517
  self: Matcher<I, F, R, A, Pr, Ret>
518
518
  ) => Matcher<
519
519
  I,
520
520
  Types.AddWithout<F, Extract<R, Record<D, P>>>,
521
521
  Types.ApplyFilters<I, Types.AddWithout<F, Extract<R, Record<D, P>>>>,
522
- B | A,
522
+ A | ReturnType<Fn>,
523
523
  Pr,
524
524
  Ret
525
525
  > = internal.discriminator
@@ -560,19 +560,19 @@ export const discriminator: <D extends string>(
560
560
  */
561
561
  export const discriminatorStartsWith: <D extends string>(
562
562
  field: D
563
- ) => <R, P extends string, Ret, B extends Ret>(
563
+ ) => <R, P extends string, Ret, Fn extends (_: Extract<R, Record<D, `${P}${string}`>>) => Ret>(
564
564
  pattern: P,
565
- f: (_: Extract<R, Record<D, `${P}${string}`>>) => B
565
+ f: Fn
566
566
  ) => <I, F, A, Pr>(
567
567
  self: Matcher<I, F, R, A, Pr, Ret>
568
568
  ) => Matcher<
569
569
  I,
570
570
  Types.AddWithout<F, Extract<R, Record<D, `${P}${string}`>>>,
571
571
  Types.ApplyFilters<I, Types.AddWithout<F, Extract<R, Record<D, `${P}${string}`>>>>,
572
- B | A,
572
+ A | ReturnType<Fn>,
573
573
  Pr,
574
574
  Ret
575
- > = internal.discriminatorStartsWith as any
575
+ > = internal.discriminatorStartsWith
576
576
 
577
577
  /**
578
578
  * Matches values based on a field that serves as a discriminator, mapping each
@@ -716,15 +716,20 @@ export const discriminatorsExhaustive: <D extends string>(
716
716
  * @category Defining patterns
717
717
  * @since 1.0.0
718
718
  */
719
- export const tag: <R, P extends Types.Tags<"_tag", R> & string, Ret, B extends Ret>(
720
- ...pattern: [first: P, ...values: Array<P>, f: (_: Extract<T.NoInfer<R>, Record<"_tag", P>>) => B]
719
+ export const tag: <
720
+ R,
721
+ P extends Types.Tags<"_tag", R> & string,
722
+ Ret,
723
+ Fn extends (_: Extract<R, Record<"_tag", P>>) => Ret
724
+ >(
725
+ ...pattern: [first: P, ...values: Array<P>, f: Fn]
721
726
  ) => <I, F, A, Pr>(
722
727
  self: Matcher<I, F, R, A, Pr, Ret>
723
728
  ) => Matcher<
724
729
  I,
725
730
  Types.AddWithout<F, Extract<R, Record<"_tag", P>>>,
726
731
  Types.ApplyFilters<I, Types.AddWithout<F, Extract<R, Record<"_tag", P>>>>,
727
- B | A,
732
+ ReturnType<Fn> | A,
728
733
  Pr,
729
734
  Ret
730
735
  > = internal.tag
@@ -758,16 +763,21 @@ export const tag: <R, P extends Types.Tags<"_tag", R> & string, Ret, B extends R
758
763
  * @category Defining patterns
759
764
  * @since 1.0.0
760
765
  */
761
- export const tagStartsWith: <R, P extends string, Ret, B extends Ret>(
766
+ export const tagStartsWith: <
767
+ R,
768
+ P extends string,
769
+ Ret,
770
+ Fn extends (_: Extract<R, Record<"_tag", `${P}${string}`>>) => Ret
771
+ >(
762
772
  pattern: P,
763
- f: (_: Extract<T.NoInfer<R>, Record<"_tag", `${P}${string}`>>) => B
773
+ f: Fn
764
774
  ) => <I, F, A, Pr>(
765
775
  self: Matcher<I, F, R, A, Pr, Ret>
766
776
  ) => Matcher<
767
777
  I,
768
778
  Types.AddWithout<F, Extract<R, Record<"_tag", `${P}${string}`>>>,
769
779
  Types.ApplyFilters<I, Types.AddWithout<F, Extract<R, Record<"_tag", `${P}${string}`>>>>,
770
- B | A,
780
+ ReturnType<Fn> | A,
771
781
  Pr,
772
782
  Ret
773
783
  > = internal.tagStartsWith
package/src/Schema.ts CHANGED
@@ -3469,18 +3469,13 @@ const intersectTypeLiterals = (
3469
3469
  throw new Error(errors_.getSchemaExtendErrorMessage(x, y, path))
3470
3470
  }
3471
3471
 
3472
- const preserveRefinementAnnotations = AST.blackListAnnotations([
3473
- AST.IdentifierAnnotationId
3474
- ])
3472
+ const preserveRefinementAnnotations = AST.blackListAnnotations([AST.IdentifierAnnotationId])
3475
3473
 
3476
3474
  const addRefinementToMembers = (refinement: AST.Refinement, asts: ReadonlyArray<AST.AST>): Array<AST.Refinement> =>
3477
3475
  asts.map((ast) => new AST.Refinement(ast, refinement.filter, preserveRefinementAnnotations(refinement)))
3478
3476
 
3479
- const extendAST = (
3480
- x: AST.AST,
3481
- y: AST.AST,
3482
- path: ReadonlyArray<PropertyKey>
3483
- ): AST.AST => AST.Union.make(intersectUnionMembers([x], [y], path))
3477
+ const extendAST = (x: AST.AST, y: AST.AST, path: ReadonlyArray<PropertyKey>): AST.AST =>
3478
+ AST.Union.make(intersectUnionMembers([x], [y], path))
3484
3479
 
3485
3480
  const getTypes = (ast: AST.AST): ReadonlyArray<AST.AST> => AST.isUnion(ast) ? ast.types : [ast]
3486
3481
 
@@ -3555,59 +3550,63 @@ const intersectUnionMembers = (
3555
3550
  case "TypeLiteral":
3556
3551
  return [intersectTypeLiterals(x, y, path)]
3557
3552
  case "Transformation": {
3558
- if (AST.isTypeLiteralTransformation(x.transformation)) {
3559
- return [
3560
- new AST.Transformation(
3561
- intersectTypeLiterals(x.from, y, path),
3562
- intersectTypeLiterals(x.to, AST.typeAST(y), path),
3563
- new AST.TypeLiteralTransformation(
3564
- x.transformation.propertySignatureTransformations
3553
+ const transformation = x.transformation
3554
+ const from = intersectTypeLiterals(x.from, y, path)
3555
+ const to = intersectTypeLiterals(x.to, AST.typeAST(y), path)
3556
+ switch (transformation._tag) {
3557
+ case "TypeLiteralTransformation":
3558
+ return [
3559
+ new AST.Transformation(
3560
+ from,
3561
+ to,
3562
+ new AST.TypeLiteralTransformation(transformation.propertySignatureTransformations)
3565
3563
  )
3566
- )
3567
- ]
3564
+ ]
3565
+ case "ComposeTransformation":
3566
+ return [new AST.Transformation(from, to, AST.composeTransformation)]
3567
+ case "FinalTransformation":
3568
+ return [
3569
+ new AST.Transformation(
3570
+ from,
3571
+ to,
3572
+ new AST.FinalTransformation(
3573
+ (fromA, options, ast, fromI) =>
3574
+ ParseResult.map(
3575
+ transformation.decode(fromA, options, ast, fromI),
3576
+ (partial) => ({ ...fromA, ...partial })
3577
+ ),
3578
+ (toI, options, ast, toA) =>
3579
+ ParseResult.map(
3580
+ transformation.encode(toI, options, ast, toA),
3581
+ (partial) => ({ ...toI, ...partial })
3582
+ )
3583
+ )
3584
+ )
3585
+ ]
3568
3586
  }
3569
- break
3570
3587
  }
3571
3588
  }
3572
3589
  break
3573
3590
  }
3574
3591
  case "Transformation": {
3575
- if (AST.isTypeLiteralTransformation(y.transformation)) {
3576
- switch (x._tag) {
3577
- case "Union":
3578
- return intersectUnionMembers(x.types, [y], path)
3579
- case "Suspend":
3580
- return [new AST.Suspend(() => extendAST(x.f(), y, path))]
3581
- case "Refinement":
3582
- return addRefinementToMembers(x, intersectUnionMembers(getTypes(x.from), [y], path))
3583
- case "TypeLiteral":
3584
- return [
3585
- new AST.Transformation(
3586
- intersectTypeLiterals(x, y.from, path),
3587
- intersectTypeLiterals(AST.typeAST(x), y.to, path),
3588
- new AST.TypeLiteralTransformation(
3589
- y.transformation.propertySignatureTransformations
3592
+ if (AST.isTransformation(x)) {
3593
+ if (
3594
+ AST.isTypeLiteralTransformation(y.transformation) && AST.isTypeLiteralTransformation(x.transformation)
3595
+ ) {
3596
+ return [
3597
+ new AST.Transformation(
3598
+ intersectTypeLiterals(x.from, y.from, path),
3599
+ intersectTypeLiterals(x.to, y.to, path),
3600
+ new AST.TypeLiteralTransformation(
3601
+ y.transformation.propertySignatureTransformations.concat(
3602
+ x.transformation.propertySignatureTransformations
3590
3603
  )
3591
3604
  )
3592
- ]
3593
- case "Transformation":
3594
- {
3595
- if (AST.isTypeLiteralTransformation(x.transformation)) {
3596
- return [
3597
- new AST.Transformation(
3598
- intersectTypeLiterals(x.from, y.from, path),
3599
- intersectTypeLiterals(x.to, y.to, path),
3600
- new AST.TypeLiteralTransformation(
3601
- y.transformation.propertySignatureTransformations.concat(
3602
- x.transformation.propertySignatureTransformations
3603
- )
3604
- )
3605
- )
3606
- ]
3607
- }
3608
- }
3609
- break
3605
+ )
3606
+ ]
3610
3607
  }
3608
+ } else {
3609
+ return intersectUnionMembers([y], [x], path)
3611
3610
  }
3612
3611
  break
3613
3612
  }
@@ -9284,9 +9283,12 @@ const extendFields = (a: Struct.Fields, b: Struct.Fields): Struct.Fields => {
9284
9283
  return out
9285
9284
  }
9286
9285
 
9287
- /** @internal */
9286
+ /**
9287
+ * @category Constructor utils
9288
+ * @since 3.13.4
9289
+ */
9288
9290
  export type MakeOptions = boolean | {
9289
- readonly disableValidation?: boolean
9291
+ readonly disableValidation?: boolean | undefined
9290
9292
  }
9291
9293
 
9292
9294
  function getDisableValidationMakeOption(options: MakeOptions | undefined): boolean {
@@ -9382,7 +9384,7 @@ const makeClass = <Fields extends Struct.Fields>(
9382
9384
  }
9383
9385
 
9384
9386
  const declaration: Schema.Any = declare(
9385
- [typeSide],
9387
+ [schema],
9386
9388
  {
9387
9389
  decode: () => (input, _, ast) =>
9388
9390
  input instanceof this || fallbackInstanceOf(input)
package/src/Types.ts CHANGED
@@ -251,7 +251,7 @@ export type Mutable<T> = {
251
251
  */
252
252
  export type DeepMutable<T> = T extends ReadonlyMap<infer K, infer V> ? Map<DeepMutable<K>, DeepMutable<V>>
253
253
  : T extends ReadonlySet<infer V> ? Set<DeepMutable<V>>
254
- : [keyof T] extends [never] ? T
254
+ : T extends string | number | boolean | bigint | symbol ? T
255
255
  : { -readonly [K in keyof T]: DeepMutable<T[K]> }
256
256
 
257
257
  /**
@@ -321,38 +321,47 @@ export const whenAnd = <
321
321
  }
322
322
 
323
323
  /** @internal */
324
- export const discriminator =
325
- <D extends string>(field: D) =>
326
- <R, P extends Types.Tags<D, R> & string, Ret, B extends Ret>(
327
- ...pattern: [
328
- first: P,
329
- ...values: Array<P>,
330
- f: (_: Extract<R, Record<D, P>>) => B
331
- ]
332
- ) => {
333
- const f = pattern[pattern.length - 1]
334
- const values: Array<P> = pattern.slice(0, -1) as any
335
- const pred = values.length === 1
336
- ? (_: any) => _[field] === values[0]
337
- : (_: any) => values.includes(_[field])
338
-
339
- return <I, F, A, Pr>(
340
- self: Matcher<I, F, R, A, Pr, Ret>
341
- ): Matcher<
342
- I,
343
- Types.AddWithout<F, Extract<R, Record<D, P>>>,
344
- Types.ApplyFilters<I, Types.AddWithout<F, Extract<R, Record<D, P>>>>,
345
- A | B,
346
- Pr,
347
- Ret
348
- > => (self as any).add(makeWhen(pred, f as any)) as any
349
- }
324
+ export const discriminator = <D extends string>(field: D) =>
325
+ <
326
+ R,
327
+ P extends Types.Tags<D, R> & string,
328
+ Ret,
329
+ Fn extends (_: Extract<R, Record<D, P>>) => Ret
330
+ >(
331
+ ...pattern: [
332
+ first: P,
333
+ ...values: Array<P>,
334
+ f: Fn
335
+ ]
336
+ ) => {
337
+ const f = pattern[pattern.length - 1]
338
+ const values: Array<P> = pattern.slice(0, -1) as any
339
+ const pred = values.length === 1
340
+ ? (_: any) => _[field] === values[0]
341
+ : (_: any) => values.includes(_[field])
342
+
343
+ return <I, F, A, Pr>(
344
+ self: Matcher<I, F, R, A, Pr, Ret>
345
+ ): Matcher<
346
+ I,
347
+ Types.AddWithout<F, Extract<R, Record<D, P>>>,
348
+ Types.ApplyFilters<I, Types.AddWithout<F, Extract<R, Record<D, P>>>>,
349
+ A | ReturnType<Fn>,
350
+ Pr,
351
+ Ret
352
+ > => (self as any).add(makeWhen(pred, f as any)) as any
353
+ }
350
354
 
351
355
  /** @internal */
352
356
  export const discriminatorStartsWith = <D extends string>(field: D) =>
353
- <R, P extends string, Ret, B extends Ret>(
357
+ <
358
+ R,
359
+ P extends string,
360
+ Ret,
361
+ Fn extends (_: Extract<R, Record<D, `${P}${string}`>>) => Ret
362
+ >(
354
363
  pattern: P,
355
- f: (_: Extract<R, Record<D, `${P}${string}`>>) => B
364
+ f: Fn
356
365
  ) => {
357
366
  const pred = (_: any) => typeof _[field] === "string" && _[field].startsWith(pattern)
358
367
 
@@ -365,7 +374,7 @@ export const discriminatorStartsWith = <D extends string>(field: D) =>
365
374
  I,
366
375
  Types.AddWithout<F, Extract<R, Record<D, `${P}${string}`>>>
367
376
  >,
368
- A | B,
377
+ A | ReturnType<Fn>,
369
378
  Pr,
370
379
  Ret
371
380
  > => (self as any).add(makeWhen(pred, f as any)) as any
@@ -427,11 +436,16 @@ export const discriminatorsExhaustive: <D extends string>(
427
436
  }
428
437
 
429
438
  /** @internal */
430
- export const tag: <R, P extends Types.Tags<"_tag", R> & string, Ret, B extends Ret>(
439
+ export const tag: <
440
+ R,
441
+ P extends Types.Tags<"_tag", R> & string,
442
+ Ret,
443
+ Fn extends (_: Extract<R, Record<"_tag", P>>) => Ret
444
+ >(
431
445
  ...pattern: [
432
446
  first: P,
433
447
  ...values: Array<P>,
434
- f: (_: Extract<R, Record<"_tag", P>>) => B
448
+ f: Fn
435
449
  ]
436
450
  ) => <I, F, A, Pr>(
437
451
  self: Matcher<I, F, R, A, Pr, Ret>
@@ -439,7 +453,7 @@ export const tag: <R, P extends Types.Tags<"_tag", R> & string, Ret, B extends R
439
453
  I,
440
454
  Types.AddWithout<F, Extract<R, Record<"_tag", P>>>,
441
455
  Types.ApplyFilters<I, Types.AddWithout<F, Extract<R, Record<"_tag", P>>>>,
442
- B | A,
456
+ ReturnType<Fn> | A,
443
457
  Pr,
444
458
  Ret
445
459
  > = discriminator("_tag")
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.13.3"
1
+ let moduleVersion = "3.13.6"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4