effect 3.12.12 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/cjs/DateTime.js +17 -1
  2. package/dist/cjs/DateTime.js.map +1 -1
  3. package/dist/cjs/Differ.js.map +1 -1
  4. package/dist/cjs/Duration.js +128 -1
  5. package/dist/cjs/Duration.js.map +1 -1
  6. package/dist/cjs/Effect.js +151 -17
  7. package/dist/cjs/Effect.js.map +1 -1
  8. package/dist/cjs/Either.js +2 -1
  9. package/dist/cjs/Either.js.map +1 -1
  10. package/dist/cjs/FiberHandle.js +54 -21
  11. package/dist/cjs/FiberHandle.js.map +1 -1
  12. package/dist/cjs/FiberMap.js +51 -24
  13. package/dist/cjs/FiberMap.js.map +1 -1
  14. package/dist/cjs/FiberSet.js +50 -17
  15. package/dist/cjs/FiberSet.js.map +1 -1
  16. package/dist/cjs/HashMap.js +19 -1
  17. package/dist/cjs/HashMap.js.map +1 -1
  18. package/dist/cjs/HashSet.js +9 -1
  19. package/dist/cjs/HashSet.js.map +1 -1
  20. package/dist/cjs/Layer.js +21 -1
  21. package/dist/cjs/Layer.js.map +1 -1
  22. package/dist/cjs/RcMap.js +11 -1
  23. package/dist/cjs/RcMap.js.map +1 -1
  24. package/dist/cjs/Schema.js +73 -1
  25. package/dist/cjs/Schema.js.map +1 -1
  26. package/dist/cjs/internal/core.js +27 -3
  27. package/dist/cjs/internal/core.js.map +1 -1
  28. package/dist/cjs/internal/dateTime.js +4 -1
  29. package/dist/cjs/internal/dateTime.js.map +1 -1
  30. package/dist/cjs/internal/differ.js +4 -0
  31. package/dist/cjs/internal/differ.js.map +1 -1
  32. package/dist/cjs/internal/fiberRuntime.js +15 -2
  33. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  34. package/dist/cjs/internal/hashMap.js +10 -1
  35. package/dist/cjs/internal/hashMap.js.map +1 -1
  36. package/dist/cjs/internal/keyedPool.js +1 -1
  37. package/dist/cjs/internal/keyedPool.js.map +1 -1
  38. package/dist/cjs/internal/rcMap.js +86 -56
  39. package/dist/cjs/internal/rcMap.js.map +1 -1
  40. package/dist/cjs/internal/version.js +1 -1
  41. package/dist/cjs/internal/version.js.map +1 -1
  42. package/dist/dts/DateTime.d.ts +16 -0
  43. package/dist/dts/DateTime.d.ts.map +1 -1
  44. package/dist/dts/Differ.d.ts +2 -1
  45. package/dist/dts/Differ.d.ts.map +1 -1
  46. package/dist/dts/Duration.d.ts +64 -0
  47. package/dist/dts/Duration.d.ts.map +1 -1
  48. package/dist/dts/Effect.d.ts +396 -24
  49. package/dist/dts/Effect.d.ts.map +1 -1
  50. package/dist/dts/Either.d.ts +7 -0
  51. package/dist/dts/Either.d.ts.map +1 -1
  52. package/dist/dts/FiberHandle.d.ts +26 -0
  53. package/dist/dts/FiberHandle.d.ts.map +1 -1
  54. package/dist/dts/FiberMap.d.ts +26 -0
  55. package/dist/dts/FiberMap.d.ts.map +1 -1
  56. package/dist/dts/FiberSet.d.ts +25 -0
  57. package/dist/dts/FiberSet.d.ts.map +1 -1
  58. package/dist/dts/HashMap.d.ts +38 -0
  59. package/dist/dts/HashMap.d.ts.map +1 -1
  60. package/dist/dts/HashSet.d.ts +7 -0
  61. package/dist/dts/HashSet.d.ts.map +1 -1
  62. package/dist/dts/Layer.d.ts +20 -1
  63. package/dist/dts/Layer.d.ts.map +1 -1
  64. package/dist/dts/RcMap.d.ts +32 -0
  65. package/dist/dts/RcMap.d.ts.map +1 -1
  66. package/dist/dts/Schema.d.ts +30 -0
  67. package/dist/dts/Schema.d.ts.map +1 -1
  68. package/dist/dts/Trie.d.ts +7 -7
  69. package/dist/dts/Trie.d.ts.map +1 -1
  70. package/dist/esm/DateTime.js +16 -0
  71. package/dist/esm/DateTime.js.map +1 -1
  72. package/dist/esm/Differ.js.map +1 -1
  73. package/dist/esm/Duration.js +124 -0
  74. package/dist/esm/Duration.js.map +1 -1
  75. package/dist/esm/Effect.js +146 -12
  76. package/dist/esm/Effect.js.map +1 -1
  77. package/dist/esm/Either.js +7 -0
  78. package/dist/esm/Either.js.map +1 -1
  79. package/dist/esm/FiberHandle.js +48 -18
  80. package/dist/esm/FiberHandle.js.map +1 -1
  81. package/dist/esm/FiberMap.js +46 -22
  82. package/dist/esm/FiberMap.js.map +1 -1
  83. package/dist/esm/FiberSet.js +45 -15
  84. package/dist/esm/FiberSet.js.map +1 -1
  85. package/dist/esm/HashMap.js +17 -0
  86. package/dist/esm/HashMap.js.map +1 -1
  87. package/dist/esm/HashSet.js +7 -0
  88. package/dist/esm/HashSet.js.map +1 -1
  89. package/dist/esm/Layer.js +20 -0
  90. package/dist/esm/Layer.js.map +1 -1
  91. package/dist/esm/RcMap.js +10 -0
  92. package/dist/esm/RcMap.js.map +1 -1
  93. package/dist/esm/Schema.js +71 -0
  94. package/dist/esm/Schema.js.map +1 -1
  95. package/dist/esm/internal/core.js +23 -0
  96. package/dist/esm/internal/core.js.map +1 -1
  97. package/dist/esm/internal/dateTime.js +2 -0
  98. package/dist/esm/internal/dateTime.js.map +1 -1
  99. package/dist/esm/internal/differ.js +4 -0
  100. package/dist/esm/internal/differ.js.map +1 -1
  101. package/dist/esm/internal/fiberRuntime.js +12 -0
  102. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  103. package/dist/esm/internal/hashMap.js +9 -0
  104. package/dist/esm/internal/hashMap.js.map +1 -1
  105. package/dist/esm/internal/keyedPool.js +1 -1
  106. package/dist/esm/internal/keyedPool.js.map +1 -1
  107. package/dist/esm/internal/rcMap.js +85 -55
  108. package/dist/esm/internal/rcMap.js.map +1 -1
  109. package/dist/esm/internal/version.js +1 -1
  110. package/dist/esm/internal/version.js.map +1 -1
  111. package/package.json +2 -1
  112. package/src/DateTime.ts +17 -8
  113. package/src/Differ.ts +2 -1
  114. package/src/Duration.ts +147 -0
  115. package/src/Effect.ts +498 -112
  116. package/src/Either.ts +9 -0
  117. package/src/FiberHandle.ts +95 -35
  118. package/src/FiberMap.ts +104 -39
  119. package/src/FiberSet.ts +93 -24
  120. package/src/HashMap.ts +40 -0
  121. package/src/HashSet.ts +8 -0
  122. package/src/Layer.ts +64 -1
  123. package/src/RcMap.ts +34 -0
  124. package/src/Schema.ts +77 -0
  125. package/src/Trie.ts +7 -7
  126. package/src/internal/core.ts +80 -0
  127. package/src/internal/dateTime.ts +3 -0
  128. package/src/internal/differ.ts +4 -0
  129. package/src/internal/fiberRuntime.ts +24 -0
  130. package/src/internal/hashMap.ts +16 -0
  131. package/src/internal/keyedPool.ts +1 -1
  132. package/src/internal/rcMap.ts +131 -89
  133. package/src/internal/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RcMap.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","make","keys"],"sources":["../../src/RcMap.ts"],"sourcesContent":[null],"mappings":";;;;;;AAMA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+C,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAK/C;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAkBvB,QAAQ,CAACuB,MAAM;AAgCpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCO,MAAME,IAAI,GAAAD,OAAA,CAAAC,IAAA,GAiFbzB,QAAQ,CAACyB,IAAI;AAEjB;;;;AAIO,MAAMd,GAAG,GAAAa,OAAA,CAAAb,GAAA,GAWZX,QAAQ,CAACW,GAAG;AAEhB;;;;AAIO,MAAMe,IAAI,GAAAF,OAAA,CAAAE,IAAA,GAAkE1B,QAAQ,CAAC0B,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"RcMap.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","make","keys","invalidate","touch"],"sources":["../../src/RcMap.ts"],"sourcesContent":[null],"mappings":";;;;;;AAMA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+C,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAK/C;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAkBvB,QAAQ,CAACuB,MAAM;AAgCpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCO,MAAME,IAAI,GAAAD,OAAA,CAAAC,IAAA,GAiFbzB,QAAQ,CAACyB,IAAI;AAEjB;;;;AAIO,MAAMd,GAAG,GAAAa,OAAA,CAAAb,GAAA,GAWZX,QAAQ,CAACW,GAAG;AAEhB;;;;AAIO,MAAMe,IAAI,GAAAF,OAAA,CAAAE,IAAA,GAAkE1B,QAAQ,CAAC0B,IAAI;AAEhG;;;;AAIO,MAAMC,UAAU,GAAAH,OAAA,CAAAG,UAAA,GAWnB3B,QAAQ,CAAC2B,UAAU;AAEvB;;;;AAIO,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAWd5B,QAAQ,CAAC4B,KAAK","ignoreList":[]}
@@ -86,7 +86,7 @@ Object.defineProperty(exports, "is", {
86
86
  }
87
87
  });
88
88
  exports.keyof = exports.itemsCount = exports.isSchema = exports.isPropertySignature = void 0;
89
- exports.transformLiteral = exports.transform = exports.tag = exports.symbolWithResult = exports.symbolSerializable = exports.suspend = exports.successSchema = exports.startsWith = exports.split = exports.serializeSuccess = exports.serializeFailure = exports.serializeExit = exports.serialize = exports.serializableSchema = exports.requiredToOptional = exports.required = exports.rename = exports.propertySignature = exports.positiveBigInt = exports.positiveBigDecimal = exports.positive = exports.pluck = exports.pickLiteral = exports.pick = exports.pattern = exports.partialWith = exports.partial = exports.parseNumber = exports.parseJson = exports.optionalWith = exports.optionalToRequired = exports.optionalToOptional = exports.optionalElement = exports.optional = exports.omit = exports.nonPositiveBigInt = exports.nonPositiveBigDecimal = exports.nonPositive = exports.nonNegativeBigInt = exports.nonNegativeBigDecimal = exports.nonNegative = exports.nonNaN = exports.nonEmptyString = exports.negativeBigInt = exports.negativeBigDecimal = exports.negative = exports.mutable = exports.multipleOf = exports.minLength = exports.minItems = exports.maxLength = exports.maxItems = exports.makePropertySignature = exports.make = exports.lowercased = exports.lessThanOrEqualToDuration = exports.lessThanOrEqualToDate = exports.lessThanOrEqualToBigInt = exports.lessThanOrEqualToBigDecimal = exports.lessThanOrEqualTo = exports.lessThanDuration = exports.lessThanDate = exports.lessThanBigInt = exports.lessThanBigDecimal = exports.lessThan = exports.length = void 0;
89
+ exports.transformLiteral = exports.transform = exports.tag = exports.symbolWithResult = exports.symbolSerializable = exports.suspend = exports.successSchema = exports.startsWith = exports.standardSchemaV1 = exports.split = exports.serializeSuccess = exports.serializeFailure = exports.serializeExit = exports.serialize = exports.serializableSchema = exports.requiredToOptional = exports.required = exports.rename = exports.propertySignature = exports.positiveBigInt = exports.positiveBigDecimal = exports.positive = exports.pluck = exports.pickLiteral = exports.pick = exports.pattern = exports.partialWith = exports.partial = exports.parseNumber = exports.parseJson = exports.optionalWith = exports.optionalToRequired = exports.optionalToOptional = exports.optionalElement = exports.optional = exports.omit = exports.nonPositiveBigInt = exports.nonPositiveBigDecimal = exports.nonPositive = exports.nonNegativeBigInt = exports.nonNegativeBigDecimal = exports.nonNegative = exports.nonNaN = exports.nonEmptyString = exports.negativeBigInt = exports.negativeBigDecimal = exports.negative = exports.mutable = exports.multipleOf = exports.minLength = exports.minItems = exports.maxLength = exports.maxItems = exports.makePropertySignature = exports.make = exports.lowercased = exports.lessThanOrEqualToDuration = exports.lessThanOrEqualToDate = exports.lessThanOrEqualToBigInt = exports.lessThanOrEqualToBigDecimal = exports.lessThanOrEqualTo = exports.lessThanDuration = exports.lessThanDate = exports.lessThanBigInt = exports.lessThanBigDecimal = exports.lessThan = exports.length = void 0;
90
90
  exports.transformLiterals = transformLiterals;
91
91
  exports.validateEither = exports.validate = exports.validDate = exports.uppercased = exports.uncapitalized = exports.typeSchema = exports.trimmed = exports.transformOrFail = void 0;
92
92
  Object.defineProperty(exports, "validateOption", {
@@ -139,6 +139,7 @@ var Predicate = _interopRequireWildcard(require("./Predicate.js"));
139
139
  var record_ = _interopRequireWildcard(require("./Record.js"));
140
140
  var redacted_ = _interopRequireWildcard(require("./Redacted.js"));
141
141
  var Request = _interopRequireWildcard(require("./Request.js"));
142
+ var scheduler_ = _interopRequireWildcard(require("./Scheduler.js"));
142
143
  var AST = _interopRequireWildcard(require("./SchemaAST.js"));
143
144
  var sortedSet_ = _interopRequireWildcard(require("./SortedSet.js"));
144
145
  var string_ = _interopRequireWildcard(require("./String.js"));
@@ -184,6 +185,77 @@ const variance = {
184
185
  /* c8 ignore next */
185
186
  _R: _ => _
186
187
  };
188
+ const makeStandardResult = exit => exit_.isSuccess(exit) ? exit.value : makeStandardFailureResult(cause_.pretty(exit.cause));
189
+ const makeStandardFailureResult = message => ({
190
+ issues: [{
191
+ message
192
+ }]
193
+ });
194
+ const makeStandardFailureFromParseIssue = issue => Effect.map(ParseResult.ArrayFormatter.formatIssue(issue), issues => ({
195
+ issues: issues.map(issue => ({
196
+ path: issue.path,
197
+ message: issue.message
198
+ }))
199
+ }));
200
+ /**
201
+ * Returns a "Standard Schema" object conforming to the [Standard Schema
202
+ * v1](https://standardschema.dev/) specification.
203
+ *
204
+ * This function creates a schema whose `validate` method attempts to decode and
205
+ * validate the provided input synchronously. If the underlying `Schema`
206
+ * includes any asynchronous components (e.g., asynchronous message resolutions
207
+ * or checks), then validation will necessarily return a `Promise` instead.
208
+ *
209
+ * Any detected defects will be reported via a single issue containing no
210
+ * `path`.
211
+ *
212
+ * @example
213
+ * ```ts
214
+ * import { Schema } from "effect"
215
+ *
216
+ * const schema = Schema.Struct({
217
+ * name: Schema.String
218
+ * })
219
+ *
220
+ * // ┌─── StandardSchemaV1<{ readonly name: string; }>
221
+ * // ▼
222
+ * const standardSchema = Schema.standardSchemaV1(schema)
223
+ * ```
224
+ *
225
+ * @category Standard Schema
226
+ * @since 3.13.0
227
+ */
228
+ const standardSchemaV1 = schema => {
229
+ const decodeUnknown = ParseResult.decodeUnknown(schema);
230
+ return {
231
+ "~standard": {
232
+ version: 1,
233
+ vendor: "effect",
234
+ validate(value) {
235
+ const scheduler = new scheduler_.SyncScheduler();
236
+ const fiber = Effect.runFork(Effect.matchEffect(decodeUnknown(value), {
237
+ onFailure: makeStandardFailureFromParseIssue,
238
+ onSuccess: value => Effect.succeed({
239
+ value
240
+ })
241
+ }), {
242
+ scheduler
243
+ });
244
+ scheduler.flush();
245
+ const exit = fiber.unsafePoll();
246
+ if (exit) {
247
+ return makeStandardResult(exit);
248
+ }
249
+ return new Promise(resolve => {
250
+ fiber.addObserver(exit => {
251
+ resolve(makeStandardResult(exit));
252
+ });
253
+ });
254
+ }
255
+ }
256
+ };
257
+ };
258
+ exports.standardSchemaV1 = standardSchemaV1;
187
259
  const builtInAnnotations = {
188
260
  schemaId: AST.SchemaIdAnnotationId,
189
261
  message: AST.MessageAnnotationId,