effect 3.11.5 → 3.11.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Arbitrary.js","names":["Arr","FastCheck","errors_","filters_","util_","Option","Predicate","AST","makeLazy","schema","go","ast","maxDepth","make","getArbitraryAnnotation","getAnnotation","ArbitraryAnnotationId","getRefinementFromArbitrary","ctx","path","constraints","combineConstraints","getConstraints","from","getSuspendedContext","depthIdentifier","undefined","getIdentifierAnnotation","pipe","orElse","f","getOrElse","getSuspendedArray","fc","item","minLength","maxLength","oneof","constant","array","hook","isSome","_tag","value","typeParameters","map","p","Error","getArbitraryMissingAnnotationErrorMessage","literal","symbol","getArbitraryUnsupportedErrorMessage","anything","string","float","integer","boolean","bigInt","s","Symbol","for","object","number","noDefaultInfinity","filter","n","Number","isNaN","components","head","addArb","push","String","types","forEach","spans","span","type","tuple","join","elements","hasOptionals","i","element","concat","isOptional","rest","annotatedAST","output","arb","indexes","chain","booleans","b","reverse","entries","splice","length","isNonEmptyReadonlyArray","tail","as","j","a","propertySignaturesTypes","propertySignatures","ps","name","indexSignatures","is","parameter","arbs","requiredKeys","record","key","o","arr","tuples","Object","fromEntries","member","enums","getArbitraryEmptyEnumErrorMessage","_","isNone","defaultParseOption","get","memoizeThunk","to","NumberConstraints","constructor","options","isNumber","min","Math","fround","max","isBoolean","noNaN","StringConstraints","IntegerConstraints","ArrayConstraints","BigIntConstraints","isBigInt","TypeAnnotationId","annotations","SchemaIdAnnotationId","jsonSchema","JSONSchemaAnnotationId","IntSchemaId","GreaterThanSchemaId","GreaterThanOrEqualToSchemaId","LessThanSchemaId","LessThanOrEqualToSchemaId","BetweenSchemaId","exclusiveMinimum","minimum","exclusiveMaximum","maximum","GreaterThanBigintSchemaId","GreaterThanOrEqualToBigIntSchemaId","LessThanBigIntSchemaId","LessThanOrEqualToBigIntSchemaId","BetweenBigintSchemaId","MinLengthSchemaId","MaxLengthSchemaId","LengthSchemaId","MinItemsSchemaId","MaxItemsSchemaId","ItemsCountSchemaId","minItems","maxItems","c1","c2","getMax","getMin","getOr","n1","n2"],"sources":["../../src/Arbitrary.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Arbitrary.js","names":["Arr","FastCheck","errors_","filters_","util_","Option","Predicate","AST","makeLazy","schema","go","ast","maxDepth","make","getArbitraryAnnotation","getAnnotation","ArbitraryAnnotationId","Succeed","lazyArbitrary","filters","_tag","constructor","toLazyArbitrary","fc","out","f","filter","Deferred","config","ctx","path","pattern","undefined","stringMatching","RegExp","string","constraints","isInteger","integer","float","bigInt","goTupleType","makeStringConstraints","options","isNumber","minLength","maxLength","isString","makeNumberConstraints","min","Math","fround","isBoolean","minExcluded","max","maxExcluded","noNaN","noDefaultInfinity","makeBigIntConstraints","isBigInt","makeArrayConstraints","makeArrayConfig","hook","isSome","value","typeParameters","map","p","op","toOp","from","isDeclaration","Error","getArbitraryMissingAnnotationErrorMessage","constStringConstraints","constNumberConstraints","constBigIntConstraints","constant","literal","symbol","anything","boolean","s","Symbol","for","oneof","object","array","enums","length","getArbitraryEmptyEnumErrorMessage","_","number","n","Number","isNaN","components","head","addArb","push","String","types","forEach","spans","span","type","tuple","join","a","isNone","defaultParseOption","merge","getConstraints","propertySignaturesTypes","propertySignatures","ps","concat","name","indexSignatures","is","parameter","arbs","requiredKeys","i","isOptional","output","record","key","chain","o","item","arr","depthIdentifier","getSuspendedArray","tuples","Object","fromEntries","member","arb","get","memoizeThunk","getSuspendedContext","to","elements","hasOptionals","element","rest","annotatedAST","indexes","booleans","b","reverse","entries","splice","isNonEmptyReadonlyArray","tail","as","j","TypeAnnotationId","annotations","SchemaIdAnnotationId","jsonSchema","getOrElse","getJSONSchemaAnnotation","NonNaNSchemaId","exclusiveMinimum","minimum","exclusiveMaximum","maximum","minItems","maxItems","getMax","n1","n2","getMin","getOr","c1","c2","getIdentifierAnnotation","pipe","orElse"],"sources":["../../src/Arbitrary.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -15,11 +15,17 @@ export const make = schema => {
15
15
  const ast = AST.isTransformation(schema.ast) && isParseJsonTransformation(schema.ast.from)
16
16
  // Special case top level `parseJson` transformations
17
17
  ? schema.ast.to : schema.ast;
18
- const out = fromAST(ast, {
18
+ const jsonSchema = fromAST(ast, {
19
19
  definitions
20
20
  });
21
- out.$schema = $schema;
22
- if (!Record.isEmptyRecord(definitions)) {
21
+ const out = {
22
+ $schema,
23
+ $defs: {},
24
+ ...jsonSchema
25
+ };
26
+ if (Record.isEmptyRecord(definitions)) {
27
+ delete out.$defs;
28
+ } else {
23
29
  out.$defs = definitions;
24
30
  }
25
31
  return out;
@@ -153,9 +159,27 @@ const isParseJsonTransformation = ast => ast.annotations[AST.SchemaIdAnnotationI
153
159
  const isOverrideAnnotation = jsonSchema => {
154
160
  return "type" in jsonSchema || "oneOf" in jsonSchema || "anyOf" in jsonSchema || "const" in jsonSchema || "enum" in jsonSchema || "$ref" in jsonSchema;
155
161
  };
156
- // Returns true if the schema is an enum with no other properties.
157
- // This is used to merge enums together.
158
- const isEnumOnly = schema => "enum" in schema && Object.keys(schema).length === 1;
162
+ // Returns true if the schema is an enum with no other properties other than the
163
+ // optional "type". This is used to merge enums together.
164
+ const isMergeableEnum = jsonSchema => {
165
+ const len = Object.keys(jsonSchema).length;
166
+ return "enum" in jsonSchema && (len === 1 || "type" in jsonSchema && len === 2);
167
+ };
168
+ // Some validators do not support enums without a type keyword. This function
169
+ // adds a type keyword to the schema if it is missing and the enum values are
170
+ // homogeneous.
171
+ const addEnumType = jsonSchema => {
172
+ if ("enum" in jsonSchema && !("type" in jsonSchema)) {
173
+ const type = jsonSchema.enum.every(Predicate.isString) ? "string" : jsonSchema.enum.every(Predicate.isNumber) ? "number" : jsonSchema.enum.every(Predicate.isBoolean) ? "boolean" : undefined;
174
+ if (type !== undefined) {
175
+ return {
176
+ type,
177
+ ...jsonSchema
178
+ };
179
+ }
180
+ }
181
+ return jsonSchema;
182
+ };
159
183
  const mergeRefinements = (from, jsonSchema, annotations) => {
160
184
  const out = {
161
185
  ...from,
@@ -186,6 +210,29 @@ const mergeRefinements = (from, jsonSchema, annotations) => {
186
210
  }
187
211
  return out;
188
212
  };
213
+ const isContentSchemaSupported = options => options.target !== "jsonSchema7";
214
+ const isNullTypeKeywordSupported = options => options.target !== "openApi3.1";
215
+ // https://swagger.io/docs/specification/v3_0/data-models/data-types/#null
216
+ const isNullableKeywordSupported = options => options.target === "openApi3.1";
217
+ const isNeverJSONSchema = jsonSchema => "$id" in jsonSchema && jsonSchema.$id === "/schemas/never";
218
+ const isAnyJSONSchema = jsonSchema => "$id" in jsonSchema && jsonSchema.$id === "/schemas/any";
219
+ const isUnknownJSONSchema = jsonSchema => "$id" in jsonSchema && jsonSchema.$id === "/schemas/unknown";
220
+ const isVoidJSONSchema = jsonSchema => "$id" in jsonSchema && jsonSchema.$id === "/schemas/void";
221
+ const shrink = members => {
222
+ let i = members.findIndex(isAnyJSONSchema);
223
+ if (i !== -1) {
224
+ members = [members[i]];
225
+ }
226
+ i = members.findIndex(isUnknownJSONSchema);
227
+ if (i !== -1) {
228
+ members = [members[i]];
229
+ }
230
+ i = members.findIndex(isVoidJSONSchema);
231
+ if (i !== -1) {
232
+ members = [members[i]];
233
+ }
234
+ return members;
235
+ };
189
236
  const go = (ast, $defs, handleIdentifier, path, options) => {
190
237
  if (handleIdentifier) {
191
238
  const identifier = AST.getJSONIdentifier(ast);
@@ -225,12 +272,37 @@ const go = (ast, $defs, handleIdentifier, path, options) => {
225
272
  {
226
273
  const literal = ast.literal;
227
274
  if (literal === null) {
275
+ if (isNullTypeKeywordSupported(options)) {
276
+ // https://json-schema.org/draft-07/draft-handrews-json-schema-validation-00.pdf
277
+ // Section 6.1.1
278
+ return {
279
+ type: "null",
280
+ ...getJsonSchemaAnnotations(ast)
281
+ };
282
+ } else {
283
+ // OpenAPI 3.1 does not support the "null" type keyword
284
+ // https://swagger.io/docs/specification/v3_0/data-models/data-types/#null
285
+ return {
286
+ // @ts-expect-error
287
+ enum: [null],
288
+ ...getJsonSchemaAnnotations(ast)
289
+ };
290
+ }
291
+ } else if (Predicate.isString(literal)) {
228
292
  return {
229
- enum: [null],
293
+ type: "string",
294
+ enum: [literal],
230
295
  ...getJsonSchemaAnnotations(ast)
231
296
  };
232
- } else if (Predicate.isString(literal) || Predicate.isNumber(literal) || Predicate.isBoolean(literal)) {
297
+ } else if (Predicate.isNumber(literal)) {
233
298
  return {
299
+ type: "number",
300
+ enum: [literal],
301
+ ...getJsonSchemaAnnotations(ast)
302
+ };
303
+ } else if (Predicate.isBoolean(literal)) {
304
+ return {
305
+ type: "boolean",
234
306
  enum: [literal],
235
307
  ...getJsonSchemaAnnotations(ast)
236
308
  };
@@ -420,46 +492,93 @@ const go = (ast, $defs, handleIdentifier, path, options) => {
420
492
  }
421
493
  case "Union":
422
494
  {
423
- const anyOf = [];
495
+ const members = [];
424
496
  for (const type of ast.types) {
425
- const schema = go(type, $defs, true, path, options);
426
- if ("enum" in schema) {
427
- if (Object.keys(schema).length > 1) {
428
- anyOf.push(schema);
497
+ const jsonSchema = go(type, $defs, true, path, options);
498
+ if (!isNeverJSONSchema(jsonSchema)) {
499
+ const last = members[members.length - 1];
500
+ if (isMergeableEnum(jsonSchema) && last !== undefined && isMergeableEnum(last)) {
501
+ members[members.length - 1] = {
502
+ enum: last.enum.concat(jsonSchema.enum)
503
+ };
429
504
  } else {
430
- const last = anyOf[anyOf.length - 1];
431
- if (last !== undefined && isEnumOnly(last)) {
432
- for (const e of schema.enum) {
433
- last.enum.push(e);
505
+ members.push(jsonSchema);
506
+ }
507
+ }
508
+ }
509
+ const anyOf = shrink(members);
510
+ const finalize = anyOf => {
511
+ switch (anyOf.length) {
512
+ case 0:
513
+ return {
514
+ ...constNever,
515
+ ...getJsonSchemaAnnotations(ast)
516
+ };
517
+ case 1:
518
+ {
519
+ return {
520
+ ...addEnumType(anyOf[0]),
521
+ ...getJsonSchemaAnnotations(ast)
522
+ };
523
+ }
524
+ default:
525
+ return {
526
+ anyOf: anyOf.map(addEnumType),
527
+ ...getJsonSchemaAnnotations(ast)
528
+ };
529
+ }
530
+ };
531
+ if (isNullableKeywordSupported(options)) {
532
+ let nullable = false;
533
+ const nonNullables = [];
534
+ for (const s of anyOf) {
535
+ if ("nullable" in s) {
536
+ nullable = true;
537
+ const nn = {
538
+ ...s
539
+ };
540
+ delete nn.nullable;
541
+ nonNullables.push(nn);
542
+ } else if (isMergeableEnum(s)) {
543
+ const nnes = s.enum.filter(e => e !== null);
544
+ if (nnes.length < s.enum.length) {
545
+ nullable = true;
546
+ if (nnes.length === 0) {
547
+ continue;
434
548
  }
435
- } else {
436
- anyOf.push(schema);
549
+ const nn = {
550
+ ...s
551
+ };
552
+ nn.enum = nnes;
553
+ nonNullables.push(nn);
437
554
  }
555
+ } else {
556
+ nonNullables.push(s);
438
557
  }
439
- } else {
440
- anyOf.push(schema);
558
+ }
559
+ if (nullable) {
560
+ const out = finalize(nonNullables);
561
+ if (!isAnyJSONSchema(out) && !isUnknownJSONSchema(out)) {
562
+ // @ts-expect-error
563
+ out.nullable = nullable;
564
+ }
565
+ return out;
441
566
  }
442
567
  }
443
- if (anyOf.length === 1 && isEnumOnly(anyOf[0])) {
444
- return {
445
- enum: anyOf[0].enum,
446
- ...getJsonSchemaAnnotations(ast)
447
- };
448
- } else {
449
- return {
450
- anyOf,
451
- ...getJsonSchemaAnnotations(ast)
452
- };
453
- }
568
+ return finalize(anyOf);
454
569
  }
455
570
  case "Enums":
456
571
  {
457
- return {
572
+ const anyOf = ast.enums.map(e => addEnumType({
573
+ title: e[0],
574
+ enum: [e[1]]
575
+ }));
576
+ return anyOf.length >= 1 ? {
458
577
  $comment: "/schemas/enums",
459
- anyOf: ast.enums.map(e => ({
460
- title: e[0],
461
- enum: [e[1]]
462
- })),
578
+ anyOf,
579
+ ...getJsonSchemaAnnotations(ast)
580
+ } : {
581
+ ...constNever,
463
582
  ...getJsonSchemaAnnotations(ast)
464
583
  };
465
584
  }
@@ -497,7 +616,7 @@ const go = (ast, $defs, handleIdentifier, path, options) => {
497
616
  "type": "string",
498
617
  "contentMediaType": "application/json"
499
618
  };
500
- if (options.target !== "jsonSchema7") {
619
+ if (isContentSchemaSupported(options)) {
501
620
  out["contentSchema"] = go(ast.to, $defs, handleIdentifier, path, options);
502
621
  }
503
622
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"JSONSchema.js","names":["errors_","Option","Predicate","Record","AST","make","schema","definitions","ast","isTransformation","isParseJsonTransformation","from","to","out","fromAST","$schema","isEmptyRecord","$defs","options","definitionPath","getRef","id","target","handleIdentifier","topLevelReferenceStrategy","go","constNever","constAny","constUnknown","constVoid","constAnyObject","constEmpty","getJsonSchemaAnnotations","annotated","getSomes","description","getDescriptionAnnotation","title","getTitleAnnotation","examples","getExamplesAnnotation","default","getDefaultAnnotation","removeDefaultJsonSchemaAnnotations","jsonSchemaAnnotations","annotations","TitleAnnotationId","DescriptionAnnotationId","getASTJsonSchemaAnnotations","_tag","stringKeyword","numberKeyword","booleanKeyword","pruneUndefinedFromPropertySignature","isNone","getJSONSchemaAnnotation","neverKeyword","types","hasUndefined","type","pruned","isNeverKeyword","push","Union","f","SchemaIdAnnotationId","ParseJsonSchemaId","isOverrideAnnotation","jsonSchema","isEnumOnly","Object","keys","length","mergeRefinements","allOf","handle","name","filter","unshift","i","minLength","maxLength","pattern","minItems","maxItems","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","path","identifier","getJSONIdentifier","isSome","value","$ref","has","hook","handler","isRefinement","t","getTransformationFrom","undefined","surrogate","getSurrogateAnnotation","Error","getJSONSchemaMissingAnnotationErrorMessage","literal","enum","isString","isNumber","isBoolean","elements","map","e","concat","rest","annotatedAST","output","len","element","isOptional","items","restLength","head","isHomogeneous","every","additionalItems","getJSONSchemaUnsupportedPostRestElementsErrorMessage","propertySignatures","indexSignatures","patternProperties","propertyNames","is","parameter","getTemplateLiteralRegExp","source","getJSONSchemaUnsupportedParameterErrorMessage","required","properties","additionalProperties","ps","getJSONSchemaUnsupportedKeyErrorMessage","anyOf","last","$comment","enums","regex","String","orElse","getJSONSchemaMissingIdentifierAnnotationErrorMessage","next","isTypeLiteralTransformation","transformation","getIdentifierAnnotation","IdentifierAnnotationId"],"sources":["../../src/JSONSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"JSONSchema.js","names":["errors_","Option","Predicate","Record","AST","make","schema","definitions","ast","isTransformation","isParseJsonTransformation","from","to","jsonSchema","fromAST","out","$schema","$defs","isEmptyRecord","options","definitionPath","getRef","id","target","handleIdentifier","topLevelReferenceStrategy","go","constNever","constAny","constUnknown","constVoid","constAnyObject","constEmpty","getJsonSchemaAnnotations","annotated","getSomes","description","getDescriptionAnnotation","title","getTitleAnnotation","examples","getExamplesAnnotation","default","getDefaultAnnotation","removeDefaultJsonSchemaAnnotations","jsonSchemaAnnotations","annotations","TitleAnnotationId","DescriptionAnnotationId","getASTJsonSchemaAnnotations","_tag","stringKeyword","numberKeyword","booleanKeyword","pruneUndefinedFromPropertySignature","isNone","getJSONSchemaAnnotation","neverKeyword","types","hasUndefined","type","pruned","isNeverKeyword","push","Union","f","SchemaIdAnnotationId","ParseJsonSchemaId","isOverrideAnnotation","isMergeableEnum","len","Object","keys","length","addEnumType","enum","every","isString","isNumber","isBoolean","undefined","mergeRefinements","allOf","handle","name","filter","unshift","i","minLength","maxLength","pattern","minItems","maxItems","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","isContentSchemaSupported","isNullTypeKeywordSupported","isNullableKeywordSupported","isNeverJSONSchema","$id","isAnyJSONSchema","isUnknownJSONSchema","isVoidJSONSchema","shrink","members","findIndex","path","identifier","getJSONIdentifier","isSome","value","$ref","has","hook","handler","isRefinement","t","getTransformationFrom","surrogate","getSurrogateAnnotation","Error","getJSONSchemaMissingAnnotationErrorMessage","literal","elements","map","e","concat","rest","annotatedAST","output","element","isOptional","items","restLength","head","isHomogeneous","additionalItems","getJSONSchemaUnsupportedPostRestElementsErrorMessage","propertySignatures","indexSignatures","patternProperties","propertyNames","is","parameter","getTemplateLiteralRegExp","source","getJSONSchemaUnsupportedParameterErrorMessage","required","properties","additionalProperties","ps","getJSONSchemaUnsupportedKeyErrorMessage","last","anyOf","finalize","nullable","nonNullables","s","nn","nnes","enums","$comment","regex","String","orElse","getJSONSchemaMissingIdentifierAnnotationErrorMessage","next","isTypeLiteralTransformation","transformation","getIdentifierAnnotation","IdentifierAnnotationId"],"sources":["../../src/JSONSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1798,7 +1798,6 @@ export const pattern = (regex, annotations) => self => {
1798
1798
  jsonSchema: {
1799
1799
  pattern
1800
1800
  },
1801
- arbitrary: () => fc => fc.stringMatching(regex),
1802
1801
  ...annotations
1803
1802
  }));
1804
1803
  };
@@ -2269,7 +2268,7 @@ URL$ as URL };
2269
2268
  * @category schema id
2270
2269
  * @since 3.10.0
2271
2270
  */
2272
- export const FiniteSchemaId = /*#__PURE__*/Symbol.for("effect/SchemaId/Finite");
2271
+ export const FiniteSchemaId = filters_.FiniteSchemaId;
2273
2272
  /**
2274
2273
  * Ensures that the provided value is a finite number.
2275
2274
  *
@@ -2278,9 +2277,12 @@ export const FiniteSchemaId = /*#__PURE__*/Symbol.for("effect/SchemaId/Finite");
2278
2277
  * @category number filters
2279
2278
  * @since 3.10.0
2280
2279
  */
2281
- export const finite = annotations => self => self.pipe(filter(a => Number.isFinite(a), {
2280
+ export const finite = annotations => self => self.pipe(filter(Number.isFinite, {
2282
2281
  schemaId: FiniteSchemaId,
2283
2282
  description: "a finite number",
2283
+ jsonSchema: {
2284
+ "type": "number"
2285
+ },
2284
2286
  ...annotations
2285
2287
  }));
2286
2288
  /**
@@ -2419,7 +2421,7 @@ export const between = (min, max, annotations) => self => self.pipe(filter(a =>
2419
2421
  * @category schema id
2420
2422
  * @since 3.10.0
2421
2423
  */
2422
- export const NonNaNSchemaId = /*#__PURE__*/Symbol.for("effect/SchemaId/NonNaN");
2424
+ export const NonNaNSchemaId = filters_.NonNaNSchemaId;
2423
2425
  /**
2424
2426
  * @category number filters
2425
2427
  * @since 3.10.0
@@ -2553,7 +2555,7 @@ export class NonNegative extends /*#__PURE__*/Number$.pipe( /*#__PURE__*/nonNega
2553
2555
  * @category schema id
2554
2556
  * @since 3.10.0
2555
2557
  */
2556
- export const JsonNumberSchemaId = /*#__PURE__*/Symbol.for("effect/SchemaId/JsonNumber");
2558
+ export const JsonNumberSchemaId = filters_.JsonNumberSchemaId;
2557
2559
  /**
2558
2560
  * The `JsonNumber` is a schema for representing JSON numbers. It ensures that the provided value is a valid
2559
2561
  * number by filtering out `NaN` and `(+/-) Infinity`. This is useful when you want to validate and represent numbers in JSON
@@ -2574,14 +2576,11 @@ export const JsonNumberSchemaId = /*#__PURE__*/Symbol.for("effect/SchemaId/JsonN
2574
2576
  * @category number constructors
2575
2577
  * @since 3.10.0
2576
2578
  */
2577
- export class JsonNumber extends /*#__PURE__*/Number$.pipe( /*#__PURE__*/filter(Number.isFinite, {
2579
+ export class JsonNumber extends /*#__PURE__*/Number$.pipe( /*#__PURE__*/finite({
2578
2580
  schemaId: JsonNumberSchemaId,
2579
2581
  identifier: "JsonNumber",
2580
2582
  title: "JSON-compatible number",
2581
- description: "a JSON-compatible number, excluding NaN, +Infinity, and -Infinity",
2582
- jsonSchema: {
2583
- type: "number"
2584
- }
2583
+ description: "a JSON-compatible number, excluding NaN, +Infinity, and -Infinity"
2585
2584
  })) {}
2586
2585
  /**
2587
2586
  * @category boolean transformations
@@ -4442,6 +4441,15 @@ const extendFields = (a, b) => {
4442
4441
  };
4443
4442
  const getDisableValidationMakeOption = options => Predicate.isBoolean(options) ? options : options?.disableValidation ?? false;
4444
4443
  const astCache = /*#__PURE__*/globalValue("effect/Schema/astCache", () => new WeakMap());
4444
+ const getClassAnnotations = annotations => {
4445
+ if (annotations === undefined) {
4446
+ return [];
4447
+ } else if (Array.isArray(annotations)) {
4448
+ return annotations;
4449
+ } else {
4450
+ return [annotations];
4451
+ }
4452
+ };
4445
4453
  const makeClass = ({
4446
4454
  Base,
4447
4455
  annotations,
@@ -4452,22 +4460,29 @@ const makeClass = ({
4452
4460
  schema
4453
4461
  }) => {
4454
4462
  const classSymbol = Symbol.for(`effect/Schema/${kind}/${identifier}`);
4455
- const ts = typeSchema(schema);
4456
- const declarationSurrogate = ts.annotations({
4463
+ const [typeAnnotations, transformationAnnotations, encodedAnnotations] = getClassAnnotations(annotations);
4464
+ const typeSchema_ = typeSchema(schema);
4465
+ const declarationSurrogate = typeSchema_.annotations({
4457
4466
  identifier,
4458
- ...annotations
4467
+ ...typeAnnotations
4459
4468
  });
4460
- const typeSide = ts.annotations({
4461
- [AST.AutoTitleAnnotationId]: `${identifier} (Type side)`
4469
+ const typeSide = typeSchema_.annotations({
4470
+ [AST.AutoTitleAnnotationId]: `${identifier} (Type side)`,
4471
+ ...typeAnnotations
4462
4472
  });
4463
- const transformationSurrogate = schema.annotations({
4464
- ...annotations
4465
- });
4466
- const validateSchema = schema.annotations({
4467
- [AST.AutoTitleAnnotationId]: `${identifier} (Constructor)`
4473
+ const constructorSchema = schema.annotations({
4474
+ [AST.AutoTitleAnnotationId]: `${identifier} (Constructor)`,
4475
+ ...typeAnnotations
4468
4476
  });
4469
4477
  const encodedSide = schema.annotations({
4470
- [AST.AutoTitleAnnotationId]: `${identifier} (Encoded side)`
4478
+ [AST.AutoTitleAnnotationId]: `${identifier} (Encoded side)`,
4479
+ ...encodedAnnotations
4480
+ });
4481
+ const transformationSurrogate = schema.annotations({
4482
+ [AST.JSONIdentifierAnnotationId]: identifier,
4483
+ ...encodedAnnotations,
4484
+ ...typeAnnotations,
4485
+ ...transformationAnnotations
4471
4486
  });
4472
4487
  const fallbackInstanceOf = u => Predicate.hasProperty(u, classSymbol) && ParseResult.is(typeSide)(u);
4473
4488
  const klass = class extends Base {
@@ -4480,7 +4495,7 @@ const makeClass = ({
4480
4495
  }
4481
4496
  props = lazilyMergeDefaults(fields, props);
4482
4497
  if (!getDisableValidationMakeOption(options)) {
4483
- props = ParseResult.validateSync(validateSchema)(props);
4498
+ props = ParseResult.validateSync(constructorSchema)(props);
4484
4499
  }
4485
4500
  super(props, true);
4486
4501
  }
@@ -4489,8 +4504,9 @@ const makeClass = ({
4489
4504
  // ----------------
4490
4505
  static [TypeId] = variance;
4491
4506
  static get ast() {
4492
- if (astCache.has(this)) {
4493
- return astCache.get(this);
4507
+ let out = astCache.get(this);
4508
+ if (out) {
4509
+ return out;
4494
4510
  }
4495
4511
  const declaration = declare([typeSide], {
4496
4512
  decode: () => (input, _, ast) => input instanceof this || fallbackInstanceOf(input) ? ParseResult.succeed(input) : ParseResult.fail(new ParseResult.Type(ast, input)),
@@ -4502,18 +4518,18 @@ const makeClass = ({
4502
4518
  arbitrary: arb => fc => arb(fc).map(props => new this(props)),
4503
4519
  equivalence: identity,
4504
4520
  [AST.SurrogateAnnotationId]: declarationSurrogate.ast,
4505
- ...annotations
4521
+ ...typeAnnotations
4506
4522
  });
4507
- const transformation = transform(encodedSide, declaration, {
4523
+ out = transform(encodedSide, declaration, {
4508
4524
  strict: true,
4509
4525
  decode: input => new this(input, true),
4510
4526
  encode: identity
4511
4527
  }).annotations({
4512
- [AST.JSONIdentifierAnnotationId]: identifier,
4513
- [AST.SurrogateAnnotationId]: transformationSurrogate.ast
4514
- });
4515
- astCache.set(this, transformation.ast);
4516
- return transformation.ast;
4528
+ [AST.SurrogateAnnotationId]: transformationSurrogate.ast,
4529
+ ...transformationAnnotations
4530
+ }).ast;
4531
+ astCache.set(this, out);
4532
+ return out;
4517
4533
  }
4518
4534
  static pipe() {
4519
4535
  return pipeArguments(this, arguments);
@@ -4550,8 +4566,8 @@ const makeClass = ({
4550
4566
  };
4551
4567
  }
4552
4568
  static transformOrFail(identifier) {
4553
- return (newFields, options, annotations) => {
4554
- const transformedFields = extendFields(fields, newFields);
4569
+ return (newFieldsOr, options, annotations) => {
4570
+ const transformedFields = extendFields(fields, newFieldsOr);
4555
4571
  return makeClass({
4556
4572
  kind,
4557
4573
  identifier,