effect 3.13.9 → 3.13.11

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 (119) hide show
  1. package/dist/cjs/Arbitrary.js +38 -22
  2. package/dist/cjs/Arbitrary.js.map +1 -1
  3. package/dist/cjs/Array.js +50 -50
  4. package/dist/cjs/Array.js.map +1 -1
  5. package/dist/cjs/Brand.js +9 -4
  6. package/dist/cjs/Brand.js.map +1 -1
  7. package/dist/cjs/Cause.js +1 -0
  8. package/dist/cjs/Cause.js.map +1 -1
  9. package/dist/cjs/Chunk.js +25 -23
  10. package/dist/cjs/Chunk.js.map +1 -1
  11. package/dist/cjs/Config.js +2 -1
  12. package/dist/cjs/Config.js.map +1 -1
  13. package/dist/cjs/Context.js +4 -4
  14. package/dist/cjs/Effect.js +823 -632
  15. package/dist/cjs/Effect.js.map +1 -1
  16. package/dist/cjs/Either.js +12 -12
  17. package/dist/cjs/Either.js.map +1 -1
  18. package/dist/cjs/LogLevel.js +1 -1
  19. package/dist/cjs/Logger.js +12 -12
  20. package/dist/cjs/Match.js +26 -26
  21. package/dist/cjs/Option.js +43 -43
  22. package/dist/cjs/Predicate.js +6 -2
  23. package/dist/cjs/Predicate.js.map +1 -1
  24. package/dist/cjs/Schema.js +21 -17
  25. package/dist/cjs/Schema.js.map +1 -1
  26. package/dist/cjs/SchemaAST.js +49 -25
  27. package/dist/cjs/SchemaAST.js.map +1 -1
  28. package/dist/cjs/Scope.js +2 -0
  29. package/dist/cjs/Scope.js.map +1 -1
  30. package/dist/cjs/Stream.js +93 -93
  31. package/dist/cjs/internal/core.js +1 -1
  32. package/dist/cjs/internal/core.js.map +1 -1
  33. package/dist/cjs/internal/schema/util.js +23 -14
  34. package/dist/cjs/internal/schema/util.js.map +1 -1
  35. package/dist/cjs/internal/version.js +1 -1
  36. package/dist/cjs/internal/version.js.map +1 -1
  37. package/dist/dts/Array.d.ts +47 -47
  38. package/dist/dts/Array.d.ts.map +1 -1
  39. package/dist/dts/Brand.d.ts +14 -6
  40. package/dist/dts/Brand.d.ts.map +1 -1
  41. package/dist/dts/Cause.d.ts +1 -0
  42. package/dist/dts/Cause.d.ts.map +1 -1
  43. package/dist/dts/Chunk.d.ts +91 -89
  44. package/dist/dts/Chunk.d.ts.map +1 -1
  45. package/dist/dts/Config.d.ts +2 -1
  46. package/dist/dts/Config.d.ts.map +1 -1
  47. package/dist/dts/Context.d.ts +4 -4
  48. package/dist/dts/Effect.d.ts +2107 -1621
  49. package/dist/dts/Effect.d.ts.map +1 -1
  50. package/dist/dts/Either.d.ts +33 -33
  51. package/dist/dts/LogLevel.d.ts +3 -3
  52. package/dist/dts/Logger.d.ts +16 -16
  53. package/dist/dts/Match.d.ts +26 -26
  54. package/dist/dts/Option.d.ts +84 -84
  55. package/dist/dts/Predicate.d.ts.map +1 -1
  56. package/dist/dts/Schema.d.ts +53 -21
  57. package/dist/dts/Schema.d.ts.map +1 -1
  58. package/dist/dts/SchemaAST.d.ts.map +1 -1
  59. package/dist/dts/Scope.d.ts +2 -0
  60. package/dist/dts/Scope.d.ts.map +1 -1
  61. package/dist/dts/Stream.d.ts +229 -229
  62. package/dist/esm/Arbitrary.js +38 -22
  63. package/dist/esm/Arbitrary.js.map +1 -1
  64. package/dist/esm/Array.js +50 -50
  65. package/dist/esm/Array.js.map +1 -1
  66. package/dist/esm/Brand.js +9 -4
  67. package/dist/esm/Brand.js.map +1 -1
  68. package/dist/esm/Cause.js +1 -0
  69. package/dist/esm/Cause.js.map +1 -1
  70. package/dist/esm/Chunk.js +25 -23
  71. package/dist/esm/Chunk.js.map +1 -1
  72. package/dist/esm/Config.js +2 -1
  73. package/dist/esm/Config.js.map +1 -1
  74. package/dist/esm/Context.js +4 -4
  75. package/dist/esm/Effect.js +845 -648
  76. package/dist/esm/Effect.js.map +1 -1
  77. package/dist/esm/Either.js +17 -17
  78. package/dist/esm/Either.js.map +1 -1
  79. package/dist/esm/LogLevel.js +1 -1
  80. package/dist/esm/Logger.js +12 -12
  81. package/dist/esm/Match.js +26 -26
  82. package/dist/esm/Option.js +48 -48
  83. package/dist/esm/Predicate.js +3 -0
  84. package/dist/esm/Predicate.js.map +1 -1
  85. package/dist/esm/Schema.js +21 -17
  86. package/dist/esm/Schema.js.map +1 -1
  87. package/dist/esm/SchemaAST.js +46 -22
  88. package/dist/esm/SchemaAST.js.map +1 -1
  89. package/dist/esm/Scope.js +2 -0
  90. package/dist/esm/Scope.js.map +1 -1
  91. package/dist/esm/Stream.js +101 -101
  92. package/dist/esm/internal/core.js +1 -1
  93. package/dist/esm/internal/core.js.map +1 -1
  94. package/dist/esm/internal/schema/util.js +23 -14
  95. package/dist/esm/internal/schema/util.js.map +1 -1
  96. package/dist/esm/internal/version.js +1 -1
  97. package/dist/esm/internal/version.js.map +1 -1
  98. package/package.json +1 -1
  99. package/src/Arbitrary.ts +39 -24
  100. package/src/Array.ts +116 -113
  101. package/src/Brand.ts +14 -6
  102. package/src/Cause.ts +1 -0
  103. package/src/Chunk.ts +97 -95
  104. package/src/Config.ts +2 -1
  105. package/src/Context.ts +4 -4
  106. package/src/Effect.ts +2107 -1621
  107. package/src/Either.ts +34 -34
  108. package/src/LogLevel.ts +3 -3
  109. package/src/Logger.ts +16 -16
  110. package/src/Match.ts +26 -26
  111. package/src/Option.ts +84 -84
  112. package/src/Predicate.ts +4 -0
  113. package/src/Schema.ts +87 -41
  114. package/src/SchemaAST.ts +47 -22
  115. package/src/Scope.ts +2 -0
  116. package/src/Stream.ts +229 -229
  117. package/src/internal/core.ts +2 -1
  118. package/src/internal/schema/util.ts +34 -25
  119. package/src/internal/version.ts +1 -1
@@ -2349,9 +2349,10 @@ export const TimeoutExceptionTypeId: Cause.TimeoutExceptionTypeId = Symbol.for(
2349
2349
  export const TimeoutException = makeException<Cause.TimeoutException>({
2350
2350
  [TimeoutExceptionTypeId]: TimeoutExceptionTypeId
2351
2351
  }, "TimeoutException")
2352
+
2352
2353
  /** @internal */
2353
2354
  export const timeoutExceptionFromDuration = (duration: Duration.DurationInput): Cause.TimeoutException =>
2354
- new TimeoutException(`Operation timed out before the specified duration of '${Duration.format(duration)}' elapsed`)
2355
+ new TimeoutException(`Operation timed out after '${Duration.format(duration)}'`)
2355
2356
 
2356
2357
  /** @internal */
2357
2358
  export const isTimeoutException = (u: unknown): u is Cause.TimeoutException => hasProperty(u, TimeoutExceptionTypeId)
@@ -1,4 +1,4 @@
1
- import * as array_ from "../../Array.js"
1
+ import type { NonEmptyReadonlyArray } from "../../Array.js"
2
2
  import type * as ParseResult from "../../ParseResult.js"
3
3
  import * as Predicate from "../../Predicate.js"
4
4
  import type * as AST from "../../SchemaAST.js"
@@ -53,41 +53,51 @@ export const formatDate = (date: Date): string => {
53
53
  }
54
54
 
55
55
  /** @internal */
56
- export const formatUnknown = (u: unknown): string => {
56
+ export const formatUnknown = (u: unknown, checkCircular: boolean = true): string => {
57
+ if (Array.isArray(u)) {
58
+ return `[${u.map((i) => formatUnknown(i, checkCircular)).join(",")}]`
59
+ }
60
+ if (Predicate.isDate(u)) {
61
+ return formatDate(u)
62
+ }
63
+ if (
64
+ Predicate.hasProperty(u, "toString")
65
+ && Predicate.isFunction(u["toString"])
66
+ && u["toString"] !== Object.prototype.toString
67
+ ) {
68
+ return u["toString"]()
69
+ }
57
70
  if (Predicate.isString(u)) {
58
71
  return JSON.stringify(u)
59
- } else if (
72
+ }
73
+ if (
60
74
  Predicate.isNumber(u)
61
75
  || u == null
62
76
  || Predicate.isBoolean(u)
63
77
  || Predicate.isSymbol(u)
64
78
  ) {
65
79
  return String(u)
66
- } else if (Predicate.isDate(u)) {
67
- return formatDate(u)
68
- } else if (Predicate.isBigInt(u)) {
80
+ }
81
+ if (Predicate.isBigInt(u)) {
69
82
  return String(u) + "n"
70
- } else if (
71
- !array_.isArray(u)
72
- && Predicate.hasProperty(u, "toString")
73
- && Predicate.isFunction(u["toString"])
74
- && u["toString"] !== Object.prototype.toString
75
- ) {
76
- return u["toString"]()
83
+ }
84
+ if (Predicate.isIterable(u)) {
85
+ return `${u.constructor.name}(${formatUnknown(Array.from(u), checkCircular)})`
77
86
  }
78
87
  try {
79
- JSON.stringify(u)
80
- if (array_.isArray(u)) {
81
- return `[${u.map(formatUnknown).join(",")}]`
82
- } else {
83
- return `{${
84
- ownKeys(u).map((k) =>
85
- `${Predicate.isString(k) ? JSON.stringify(k) : String(k)}:${formatUnknown((u as any)[k])}`
86
- ).join(",")
87
- }}`
88
+ if (checkCircular) {
89
+ JSON.stringify(u) // check for circular references
88
90
  }
91
+ const pojo = `{${
92
+ ownKeys(u).map((k) =>
93
+ `${Predicate.isString(k) ? JSON.stringify(k) : String(k)}:${formatUnknown((u as any)[k], false)}`
94
+ )
95
+ .join(",")
96
+ }}`
97
+ const name = u.constructor.name
98
+ return u.constructor !== Object.prototype.constructor ? `${name}(${pojo})` : pojo
89
99
  } catch (e) {
90
- return String(u)
100
+ return "<circular structure>"
91
101
  }
92
102
  }
93
103
 
@@ -99,8 +109,7 @@ export const formatPropertyKey = (name: PropertyKey): string =>
99
109
  export type SingleOrArray<A> = A | ReadonlyArray<A>
100
110
 
101
111
  /** @internal */
102
- export const isNonEmpty = <A>(x: ParseResult.SingleOrNonEmpty<A>): x is array_.NonEmptyReadonlyArray<A> =>
103
- Array.isArray(x)
112
+ export const isNonEmpty = <A>(x: ParseResult.SingleOrNonEmpty<A>): x is NonEmptyReadonlyArray<A> => Array.isArray(x)
104
113
 
105
114
  /** @internal */
106
115
  export const isSingle = <A>(x: A | ReadonlyArray<A>): x is A => !Array.isArray(x)
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.13.9"
1
+ let moduleVersion = "3.13.11"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4