@tsed/schema 7.75.3 → 7.75.4

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 (39) hide show
  1. package/jest.config.js +1 -1
  2. package/lib/browser/schema.umd.min.js +1 -1
  3. package/lib/browser/schema.umd.min.js.map +1 -1
  4. package/lib/cjs/constants/jsonSchemaProperties.js +21 -0
  5. package/lib/cjs/constants/jsonSchemaProperties.js.map +1 -0
  6. package/lib/cjs/decorators/common/allow.js +1 -1
  7. package/lib/cjs/decorators/common/allow.js.map +1 -1
  8. package/lib/cjs/domain/JsonSchema.js +71 -45
  9. package/lib/cjs/domain/JsonSchema.js.map +1 -1
  10. package/lib/cjs/hooks/alterOneOf.js +41 -5
  11. package/lib/cjs/hooks/alterOneOf.js.map +1 -1
  12. package/lib/cjs/index.js +1 -0
  13. package/lib/cjs/index.js.map +1 -1
  14. package/lib/cjs/utils/getRequiredProperties.js +0 -18
  15. package/lib/cjs/utils/getRequiredProperties.js.map +1 -1
  16. package/lib/cjs/utils/mapNullableType.js +44 -21
  17. package/lib/cjs/utils/mapNullableType.js.map +1 -1
  18. package/lib/cjs/utils/ref.js +9 -19
  19. package/lib/cjs/utils/ref.js.map +1 -1
  20. package/lib/esm/constants/jsonSchemaProperties.js +18 -0
  21. package/lib/esm/constants/jsonSchemaProperties.js.map +1 -0
  22. package/lib/esm/decorators/common/allow.js +1 -1
  23. package/lib/esm/decorators/common/allow.js.map +1 -1
  24. package/lib/esm/domain/JsonSchema.js +71 -45
  25. package/lib/esm/domain/JsonSchema.js.map +1 -1
  26. package/lib/esm/hooks/alterOneOf.js +41 -5
  27. package/lib/esm/hooks/alterOneOf.js.map +1 -1
  28. package/lib/esm/index.js +1 -0
  29. package/lib/esm/index.js.map +1 -1
  30. package/lib/esm/utils/getRequiredProperties.js +0 -18
  31. package/lib/esm/utils/getRequiredProperties.js.map +1 -1
  32. package/lib/esm/utils/mapNullableType.js +45 -22
  33. package/lib/esm/utils/mapNullableType.js.map +1 -1
  34. package/lib/esm/utils/ref.js +9 -19
  35. package/lib/esm/utils/ref.js.map +1 -1
  36. package/lib/types/constants/jsonSchemaProperties.d.ts +7 -0
  37. package/lib/types/domain/JsonSchema.d.ts +1 -0
  38. package/lib/types/index.d.ts +1 -0
  39. package/package.json +8 -8
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COMMON_PROPERTIES = exports.OBJECT_PROPERTIES = exports.ARRAY_PROPERTIES = exports.NUMBER_PROPERTIES = exports.BOOLEAN_PROPERTIES = exports.STRING_PROPERTIES = exports.MANY_OF_PROPERTIES = void 0;
4
+ exports.MANY_OF_PROPERTIES = ["oneOf", "allOf", "anyOf"];
5
+ exports.STRING_PROPERTIES = ["minLength", "maxLength", "pattern", "format"];
6
+ exports.BOOLEAN_PROPERTIES = [];
7
+ exports.NUMBER_PROPERTIES = ["minimum", "maximum", "exclusiveMinimum", "exclusiveMaximum", "multipleOf"];
8
+ exports.ARRAY_PROPERTIES = ["maxItems", "minItems", "uniqueItems", "items", "contains", "maxContains", "minContains"];
9
+ exports.OBJECT_PROPERTIES = [
10
+ "maxItems",
11
+ "minItems",
12
+ "uniqueItems",
13
+ "items",
14
+ "contains",
15
+ "maxContains",
16
+ "minContains",
17
+ "patternProperties",
18
+ "dependencies"
19
+ ];
20
+ exports.COMMON_PROPERTIES = ["const", "enum"];
21
+ //# sourceMappingURL=jsonSchemaProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonSchemaProperties.js","sourceRoot":"","sources":["../../../src/constants/jsonSchemaProperties.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,QAAA,iBAAiB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpE,QAAA,kBAAkB,GAAG,EAAE,CAAC;AACxB,QAAA,iBAAiB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;AACjG,QAAA,gBAAgB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAC9G,QAAA,iBAAiB,GAAG;IAC/B,UAAU;IACV,UAAU;IACV,aAAa;IACb,OAAO;IACP,UAAU;IACV,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,cAAc;CACf,CAAC;AACW,QAAA,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC"}
@@ -34,13 +34,13 @@ const property_js_1 = require("./property.js");
34
34
  function Allow(...values) {
35
35
  const model = values.find((item) => (0, core_1.isClass)(item));
36
36
  return (0, core_1.useDecorators)(model && (0, property_js_1.Property)(model), (0, jsonEntityFn_js_1.JsonEntityFn)((store, args) => {
37
- store.schema.allow(...values);
38
37
  if (store.decoratorType === core_1.DecoratorTypes.PARAM) {
39
38
  store.required = true;
40
39
  }
41
40
  if (store.decoratorType === core_1.DecoratorTypes.PROP) {
42
41
  store.parentSchema.addRequired(store.propertyName);
43
42
  }
43
+ store.schema.allow(...values);
44
44
  }));
45
45
  }
46
46
  exports.Allow = Allow;
@@ -1 +1 @@
1
- {"version":3,"file":"allow.js","sourceRoot":"","sources":["../../../../src/decorators/common/allow.ts"],"names":[],"mappings":";;;AAAA,qCAAkE;AAClE,uDAA+C;AAC/C,+CAAuC;AAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,KAAK,CAAC,GAAG,MAAa;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC,CAAC;IACnD,OAAO,IAAA,oBAAa,EAClB,KAAK,IAAI,IAAA,sBAAQ,EAAC,KAAK,CAAC,EACxB,IAAA,8BAAY,EAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QAE9B,IAAI,KAAK,CAAC,aAAa,KAAK,qBAAc,CAAC,KAAK,EAAE;YAC/C,KAA4B,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC/C;QAED,IAAI,KAAK,CAAC,aAAa,KAAK,qBAAc,CAAC,IAAI,EAAE;YAC/C,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACpD;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAhBD,sBAgBC"}
1
+ {"version":3,"file":"allow.js","sourceRoot":"","sources":["../../../../src/decorators/common/allow.ts"],"names":[],"mappings":";;;AAAA,qCAAkE;AAClE,uDAA+C;AAC/C,+CAAuC;AAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,KAAK,CAAC,GAAG,MAAa;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC,CAAC;IACnD,OAAO,IAAA,oBAAa,EAClB,KAAK,IAAI,IAAA,sBAAQ,EAAC,KAAK,CAAC,EACxB,IAAA,8BAAY,EAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,aAAa,KAAK,qBAAc,CAAC,KAAK,EAAE;YAC/C,KAA4B,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC/C;QAED,IAAI,KAAK,CAAC,aAAa,KAAK,qBAAc,CAAC,IAAI,EAAE;YAC/C,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACpD;QAED,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAhBD,sBAgBC"}
@@ -116,7 +116,7 @@ class JsonSchema extends Map {
116
116
  return this.#ref;
117
117
  }
118
118
  get isNullable() {
119
- return this.#nullable || this.$allow.includes(null);
119
+ return this.#nullable;
120
120
  }
121
121
  get isReadOnly() {
122
122
  return this.get("readOnly");
@@ -339,6 +339,19 @@ class JsonSchema extends Map {
339
339
  return this;
340
340
  }
341
341
  allow(...allow) {
342
+ if ([].concat(this.getJsonType()).includes("string") && !this.has("minLength")) {
343
+ this.minLength(1);
344
+ }
345
+ allow.forEach((value) => {
346
+ switch (value) {
347
+ case "":
348
+ this.set("minLength", undefined);
349
+ break;
350
+ case null:
351
+ this.any(...["null"].concat(this.getJsonType(), this.$allow.map((v) => typeof v)));
352
+ break;
353
+ }
354
+ });
342
355
  this.$allow.push(...allow);
343
356
  return this;
344
357
  }
@@ -357,6 +370,9 @@ class JsonSchema extends Map {
357
370
  else {
358
371
  const schema = this.clone();
359
372
  schema.$selfRequired = required;
373
+ if ([].concat(schema.getJsonType()).includes("string")) {
374
+ schema.minLength(1);
375
+ }
360
376
  return schema;
361
377
  }
362
378
  return this;
@@ -454,7 +470,7 @@ class JsonSchema extends Map {
454
470
  super.set("enum", enumValue);
455
471
  }
456
472
  else {
457
- super.set("enum", enumValue.get("enum")).any(...enumValue.getJsonType());
473
+ super.set("enum", enumValue.get("enum")).any(...enumValue.get("enum").map((value) => typeof value));
458
474
  }
459
475
  }
460
476
  else {
@@ -474,40 +490,21 @@ class JsonSchema extends Map {
474
490
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.26
475
491
  */
476
492
  allOf(allOf) {
477
- super.set("allOf", allOf.map(mapToJsonSchema));
493
+ this.setManyOf("allOf", allOf);
478
494
  return this;
479
495
  }
480
496
  /**
481
497
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.27
482
498
  */
483
499
  anyOf(anyOf) {
484
- super.set("anyOf", anyOf.map(mapToJsonSchema));
500
+ this.setManyOf("anyOf", anyOf);
485
501
  return this;
486
502
  }
487
503
  /*
488
504
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.28
489
505
  */
490
506
  oneOf(oneOf) {
491
- let resolvedOneOf = oneOf.map(mapToJsonSchema);
492
- if (resolvedOneOf.length === 1 && !(oneOf[0] instanceof JsonSchema)) {
493
- if (!resolvedOneOf[0].hasDiscriminator) {
494
- return this.type(oneOf[0]);
495
- }
496
- const children = resolvedOneOf[0].discriminator().children();
497
- if (!children.length) {
498
- return this.type(oneOf[0]);
499
- }
500
- resolvedOneOf = children.map(mapToJsonSchema);
501
- }
502
- super.set("oneOf", resolvedOneOf);
503
- const jsonSchema = resolvedOneOf[0];
504
- if (jsonSchema.isDiscriminator) {
505
- const discriminator = jsonSchema.discriminatorAncestor.discriminator();
506
- const { propertyName } = discriminator;
507
- super.set("discriminator", { propertyName });
508
- this.isDiscriminator = true;
509
- this.#discriminator = discriminator;
510
- }
507
+ this.setManyOf("oneOf", oneOf);
511
508
  return this;
512
509
  }
513
510
  /**
@@ -602,6 +599,7 @@ class JsonSchema extends Map {
602
599
  */
603
600
  type(type) {
604
601
  switch (type) {
602
+ case "map":
605
603
  case Map:
606
604
  super.set("type", (0, getJsonType_js_1.getJsonType)(type));
607
605
  this.#target = type;
@@ -610,6 +608,7 @@ class JsonSchema extends Map {
610
608
  super.set("additionalProperties", this.itemSchema({}));
611
609
  }
612
610
  break;
611
+ case "array":
613
612
  case Array:
614
613
  super.set("type", (0, getJsonType_js_1.getJsonType)(type));
615
614
  this.#target = type;
@@ -618,6 +617,7 @@ class JsonSchema extends Map {
618
617
  super.set("items", this.itemSchema({}));
619
618
  }
620
619
  break;
620
+ case "set":
621
621
  case Set:
622
622
  super.set("type", (0, getJsonType_js_1.getJsonType)(type));
623
623
  this.#target = type;
@@ -631,6 +631,10 @@ class JsonSchema extends Map {
631
631
  super.set("type", (0, getJsonType_js_1.getJsonType)(type));
632
632
  this.integer();
633
633
  break;
634
+ case "number":
635
+ case "string":
636
+ case "boolean":
637
+ case "object":
634
638
  case Object:
635
639
  case Date:
636
640
  case Boolean:
@@ -664,29 +668,15 @@ class JsonSchema extends Map {
664
668
  return this;
665
669
  }
666
670
  any(...types) {
667
- const hasClasses = types.filter((type) => (0, core_1.isClass)(type));
668
- if (hasClasses.length >= 2) {
669
- this.oneOf(types.filter((value) => {
670
- if (value !== null) {
671
- this.nullable(true);
672
- return true;
673
- }
674
- return false;
675
- }));
671
+ types = types.length ? types : ["integer", "number", "string", "boolean", "array", "object", "null"];
672
+ types = (0, core_1.uniq)(types).map((o) => {
673
+ return (0, core_1.isClass)(o) ? o : { type: (0, getJsonType_js_1.getJsonType)(o) };
674
+ });
675
+ if (types.length > 1) {
676
+ this.anyOf(types);
676
677
  }
677
678
  else {
678
- if (types.length) {
679
- types = (0, core_1.uniq)(types).map(getJsonType_js_1.getJsonType);
680
- if (types.includes("null")) {
681
- this.nullable(true);
682
- types = types.filter((o) => o !== "null");
683
- }
684
- }
685
- else {
686
- types = ["integer", "number", "string", "boolean", "array", "object"];
687
- this.nullable(true);
688
- }
689
- this.type(types.length === 1 ? types[0] : types);
679
+ this.type(types[0]?.type || types[0]);
690
680
  }
691
681
  return this;
692
682
  }
@@ -744,6 +734,7 @@ class JsonSchema extends Map {
744
734
  this.#isGeneric = obj.#isGeneric;
745
735
  this.#isCollection = obj.#isCollection;
746
736
  this.#ref = obj.#ref;
737
+ this.#nullable = obj.#nullable;
747
738
  super.set("type", obj.get("type"));
748
739
  }
749
740
  return this;
@@ -772,6 +763,11 @@ class JsonSchema extends Map {
772
763
  * Return the Json type as string
773
764
  */
774
765
  getJsonType() {
766
+ if (this.get("anyOf")) {
767
+ return this.get("anyOf").map((o) => {
768
+ return o.getJsonType();
769
+ });
770
+ }
775
771
  return this.get("type") || (0, getJsonType_js_1.getJsonType)(this.getComputedType());
776
772
  }
777
773
  getTarget() {
@@ -786,6 +782,36 @@ class JsonSchema extends Map {
786
782
  clone() {
787
783
  return new JsonSchema(this);
788
784
  }
785
+ setManyOf(keyword, value) {
786
+ let resolved = value
787
+ .filter((o) => {
788
+ if (o?.type === "null") {
789
+ this.nullable(true);
790
+ return false;
791
+ }
792
+ return true;
793
+ })
794
+ .map(mapToJsonSchema);
795
+ if (resolved.length === 1 && !(value[0] instanceof JsonSchema) && !this.isNullable) {
796
+ if (!resolved[0].hasDiscriminator) {
797
+ return this.type(value[0]);
798
+ }
799
+ const children = resolved[0].discriminator().children();
800
+ if (!children.length) {
801
+ return this.type(value[0]);
802
+ }
803
+ resolved = children.map(mapToJsonSchema);
804
+ }
805
+ super.set(keyword, resolved);
806
+ const jsonSchema = resolved[0];
807
+ if (jsonSchema.isDiscriminator) {
808
+ const discriminator = jsonSchema.discriminatorAncestor.discriminator();
809
+ const { propertyName } = discriminator;
810
+ super.set("discriminator", { propertyName });
811
+ this.isDiscriminator = true;
812
+ this.#discriminator = discriminator;
813
+ }
814
+ }
789
815
  }
790
816
  exports.JsonSchema = JsonSchema;
791
817
  //# sourceMappingURL=JsonSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonSchema.js","sourceRoot":"","sources":["../../../src/domain/JsonSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonSchema.js","sourceRoot":"","sources":["../../../src/domain/JsonSchema.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.alterOneOf = void 0;
4
+ const core_1 = require("@tsed/core");
5
+ const jsonSchemaProperties_js_1 = require("../constants/jsonSchemaProperties.js");
6
+ function findManyOf(obj) {
7
+ return jsonSchemaProperties_js_1.MANY_OF_PROPERTIES.find((keyword) => obj[keyword]);
8
+ }
9
+ const RULES = {
10
+ string: { properties: jsonSchemaProperties_js_1.STRING_PROPERTIES, is: core_1.isString },
11
+ number: { properties: jsonSchemaProperties_js_1.NUMBER_PROPERTIES, is: core_1.isNumber },
12
+ boolean: { properties: jsonSchemaProperties_js_1.BOOLEAN_PROPERTIES, is: core_1.isBoolean },
13
+ array: { properties: jsonSchemaProperties_js_1.ARRAY_PROPERTIES, is: () => false },
14
+ object: { properties: jsonSchemaProperties_js_1.OBJECT_PROPERTIES, is: () => false }
15
+ };
16
+ function pickProperties(type, obj, item) {
17
+ const rule = RULES[type];
18
+ rule?.properties.concat(jsonSchemaProperties_js_1.COMMON_PROPERTIES).forEach((keyword) => {
19
+ if (obj[keyword] !== undefined) {
20
+ if (jsonSchemaProperties_js_1.COMMON_PROPERTIES.includes(keyword)) {
21
+ item[keyword] = obj[keyword].filter(rule.is);
22
+ }
23
+ else {
24
+ item[keyword] = obj[keyword];
25
+ delete obj[keyword];
26
+ }
27
+ }
28
+ });
29
+ }
4
30
  function alterOneOf(obj, schema, options) {
5
- if (obj.oneOf && options.groups !== false) {
6
- obj = { ...obj, oneOf: schema.$hooks.alter("oneOf", obj.oneOf, [options.groups]) };
7
- }
8
- if ((obj.oneOf || obj.allOf || obj.anyOf) && !(obj.items || obj.properties)) {
9
- delete obj.type;
31
+ const kind = findManyOf(obj);
32
+ if (kind) {
33
+ obj[kind].forEach((item) => {
34
+ pickProperties(item.type, obj, item);
35
+ });
36
+ jsonSchemaProperties_js_1.MANY_OF_PROPERTIES.forEach((keyword) => {
37
+ if (obj[keyword] && options.groups !== false && schema.$hooks.has(keyword)) {
38
+ obj = { ...obj, [keyword]: schema.$hooks.alter(keyword, obj[keyword], [options.groups]) };
39
+ }
40
+ });
41
+ delete obj.const;
42
+ delete obj.enum;
43
+ if (!(obj.items || obj.properties)) {
44
+ delete obj.type;
45
+ }
10
46
  }
11
47
  return obj;
12
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alterOneOf.js","sourceRoot":"","sources":["../../../src/hooks/alterOneOf.ts"],"names":[],"mappings":";;;AAGA,SAAgB,UAAU,CAAC,GAAQ,EAAE,MAAkB,EAAE,OAA0B;IACjF,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;QACzC,GAAG,GAAG,EAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC;KAClF;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE;QAC3E,OAAO,GAAG,CAAC,IAAI,CAAC;KACjB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAVD,gCAUC"}
1
+ {"version":3,"file":"alterOneOf.js","sourceRoot":"","sources":["../../../src/hooks/alterOneOf.ts"],"names":[],"mappings":";;;AAAA,qCAA4E;AAG5E,kFAQ8C;AAI9C,SAAS,UAAU,CAAC,GAAQ;IAC1B,OAAO,4CAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,KAAK,GAA2E;IACpF,MAAM,EAAE,EAAC,UAAU,EAAE,2CAAiB,EAAE,EAAE,EAAE,eAAQ,EAAC;IACrD,MAAM,EAAE,EAAC,UAAU,EAAE,2CAAiB,EAAE,EAAE,EAAE,eAAQ,EAAC;IACrD,OAAO,EAAE,EAAC,UAAU,EAAE,4CAAkB,EAAE,EAAE,EAAE,gBAAS,EAAC;IACxD,KAAK,EAAE,EAAC,UAAU,EAAE,0CAAgB,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAC;IACtD,MAAM,EAAE,EAAC,UAAU,EAAE,2CAAiB,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAC;CACzD,CAAC;AAEF,SAAS,cAAc,CAAC,IAAY,EAAE,GAAwC,EAAE,IAA2B;IACzG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,2CAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7D,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;YAC9B,IAAI,2CAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACvC,IAAI,CAAC,OAAO,CAAC,GAAI,GAAG,CAAC,OAAO,CAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAU,CAAC;aACpE;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAU,CAAC;gBACtC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;aACrB;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,UAAU,CAAC,GAAQ,EAAE,MAAkB,EAAE,OAA0B;IACjF,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAE7B,IAAI,IAAI,EAAE;QACR,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAA4C,EAAE,EAAE;YACjE,cAAc,CAAC,IAAI,CAAC,IAAc,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,4CAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBAC1E,GAAG,GAAG,EAAC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC;aACzF;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC,IAAI,CAAC;QAEhB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE;YAClC,OAAO,GAAG,CAAC,IAAI,CAAC;SACjB;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAvBD,gCAuBC"}
package/lib/cjs/index.js CHANGED
@@ -32,6 +32,7 @@ tslib_1.__exportStar(require("./components/open-spec/operationRequestBodyMapper.
32
32
  tslib_1.__exportStar(require("./components/open-spec/operationResponseMapper.js"), exports);
33
33
  tslib_1.__exportStar(require("./components/open-spec/pathsMapper.js"), exports);
34
34
  tslib_1.__exportStar(require("./constants/httpStatusMessages.js"), exports);
35
+ tslib_1.__exportStar(require("./constants/jsonSchemaProperties.js"), exports);
35
36
  tslib_1.__exportStar(require("./constants/OperationVerbs.js"), exports);
36
37
  tslib_1.__exportStar(require("./decorators/class/children.js"), exports);
37
38
  tslib_1.__exportStar(require("./decorators/class/discriminatorValue.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,30 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRequiredProperties = void 0;
4
4
  const core_1 = require("@tsed/core");
5
5
  const alterRequiredGroups_js_1 = require("../hooks/alterRequiredGroups.js");
6
- function applyStringRule(obj, propSchema) {
7
- if (!propSchema?.$allow.includes("")) {
8
- if ([].concat(propSchema?.get("type")).includes("string")) {
9
- const minLength = obj?.minLength;
10
- // Disallow empty string
11
- if (minLength === undefined) {
12
- return {
13
- ...obj,
14
- minLength: 1
15
- };
16
- }
17
- }
18
- }
19
- return obj;
20
- }
21
6
  function mapRequiredProps(obj, schema, options = {}) {
22
7
  const { useAlias } = options;
23
8
  const props = Object.keys(obj.properties || {});
24
9
  return (keys, key) => {
25
10
  const aliasedKey = useAlias ? schema.alias.get(key) || key : key;
26
11
  if (props.includes(aliasedKey)) {
27
- const propSchema = schema.get("properties")[key];
28
- const serializeSchema = obj.properties[aliasedKey];
29
- obj.properties[aliasedKey] = applyStringRule(serializeSchema, propSchema);
30
12
  return keys.concat(aliasedKey);
31
13
  }
32
14
  return keys;
@@ -1 +1 @@
1
- {"version":3,"file":"getRequiredProperties.js","sourceRoot":"","sources":["../../../src/utils/getRequiredProperties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getRequiredProperties.js","sourceRoot":"","sources":["../../../src/utils/getRequiredProperties.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,4EAAoE;AAGpE,SAAS,gBAAgB,CAAC,GAAQ,EAAE,MAAkB,EAAE,UAA6B,EAAE;IACrF,MAAM,EAAC,QAAQ,EAAC,GAAG,OAAO,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAEhD,OAAO,CAAC,IAAc,EAAE,GAAW,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAY,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAE7E,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAChC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAQ,EAAE,MAAkB,EAAE,OAA0B;IACpF,IAAI,QAAQ,GAAa,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IAE5C,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;QAC5B,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,CAAgB,EAAE,EAAE;YAClG,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;gBAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;aACtF;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,EAAE,QAAQ,CAAC,CAAC;KACd;IAED,OAAO,IAAA,4CAAmB,EAAC,IAAA,WAAI,EAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,GAAQ,EAAE,MAAkB,EAAE,OAA0B;IAC5F,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACxD,IAAI,GAAG,CAAC,aAAa,EAAE;YACrB,OAAO;gBACL,GAAG,GAAG;gBACN,QAAQ,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC;aAC3C,CAAC;SACH;QAED,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1D,QAAQ,GAAG,IAAA,WAAI,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7E,IAAI,GAAG,CAAC,aAAa,EAAE;QACrB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;KAC/C;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,OAAO;YACL,GAAG,GAAG;YACN,QAAQ;SACT,CAAC;KACH;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AA5BD,sDA4BC"}
@@ -2,43 +2,66 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapNullableType = void 0;
4
4
  const core_1 = require("@tsed/core");
5
+ const jsonSchemaProperties_js_1 = require("../constants/jsonSchemaProperties.js");
5
6
  const SpecTypes_js_1 = require("../domain/SpecTypes.js");
6
- function hasNullable(obj) {
7
- return obj.oneOf.find((o) => o.type === "null");
8
- }
9
7
  function mapNullableType(obj, schema, options) {
10
8
  if (!schema?.isNullable) {
11
9
  return obj;
12
10
  }
13
- let types = [].concat(obj.type).filter(Boolean);
14
11
  switch (options.specType) {
15
12
  default:
16
13
  case SpecTypes_js_1.SpecTypes.JSON:
17
14
  if (!obj.discriminator) {
18
- if (obj.oneOf) {
19
- if (!hasNullable(obj)) {
20
- obj.oneOf.unshift({
21
- type: "null"
22
- });
23
- }
15
+ if (obj.$ref) {
16
+ obj = (0, core_1.cleanObject)({
17
+ ...obj,
18
+ $ref: undefined,
19
+ anyOf: [
20
+ { type: "null" },
21
+ {
22
+ $ref: obj.$ref
23
+ }
24
+ ]
25
+ });
24
26
  }
25
27
  else {
26
- obj.type = (0, core_1.uniq)(["null", ...types]);
28
+ jsonSchemaProperties_js_1.MANY_OF_PROPERTIES.some((keyword) => {
29
+ if (obj[keyword]) {
30
+ obj[keyword] = [{ type: "null" }].concat(obj[keyword].filter((item) => item.type !== "null"));
31
+ }
32
+ });
33
+ delete obj.type;
27
34
  }
28
35
  }
29
36
  break;
30
37
  case SpecTypes_js_1.SpecTypes.OPENAPI:
31
- obj.nullable = true;
32
- if (!obj.oneOf) {
33
- if (types.length > 1) {
34
- obj.oneOf = types.map((type) => ({ type }));
35
- delete obj.type;
36
- }
37
- else {
38
- obj.type = types[0];
39
- }
38
+ if (obj.$ref) {
39
+ return (0, core_1.cleanObject)({
40
+ ...obj,
41
+ ...(obj.$ref && {
42
+ anyOf: [
43
+ {
44
+ $ref: obj.$ref
45
+ }
46
+ ],
47
+ type: undefined
48
+ }),
49
+ nullable: true,
50
+ $ref: undefined
51
+ });
40
52
  }
41
- break;
53
+ return (0, core_1.cleanObject)({
54
+ ...obj,
55
+ ...(obj.anyOf?.length === 1
56
+ ? {
57
+ ...obj.anyOf[0],
58
+ anyOf: undefined
59
+ }
60
+ : {
61
+ type: obj.anyOf?.length > 1 ? undefined : obj.type
62
+ }),
63
+ nullable: true
64
+ });
42
65
  }
43
66
  return obj;
44
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mapNullableType.js","sourceRoot":"","sources":["../../../src/utils/mapNullableType.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,yDAAiD;AAGjD,SAAS,WAAW,CAAC,GAAQ;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,eAAe,CAAC,GAAQ,EAAE,MAAyB,EAAE,OAA0B;IAC7F,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;QACvB,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,KAAK,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE1D,QAAQ,OAAO,CAAC,QAAQ,EAAE;QACxB,QAAQ;QACR,KAAK,wBAAS,CAAC,IAAI;YACjB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACtB,IAAI,GAAG,CAAC,KAAK,EAAE;oBACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;wBACrB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;4BAChB,IAAI,EAAE,MAAM;yBACb,CAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,GAAG,CAAC,IAAI,GAAG,IAAA,WAAI,EAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;iBACrC;aACF;YACD,MAAM;QAER,KAAK,wBAAS,CAAC,OAAO;YACpB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YAEpB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACd,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;oBAC1C,OAAO,GAAG,CAAC,IAAI,CAAC;iBACjB;qBAAM;oBACL,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;iBACrB;aACF;YACD,MAAM;KACT;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AArCD,0CAqCC"}
1
+ {"version":3,"file":"mapNullableType.js","sourceRoot":"","sources":["../../../src/utils/mapNullableType.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,kFAAwE;AAExE,yDAAiD;AAGjD,SAAgB,eAAe,CAAC,GAAQ,EAAE,MAAyB,EAAE,OAA0B;IAC7F,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;QACvB,OAAO,GAAG,CAAC;KACZ;IAED,QAAQ,OAAO,CAAC,QAAQ,EAAE;QACxB,QAAQ;QACR,KAAK,wBAAS,CAAC,IAAI;YACjB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACtB,IAAI,GAAG,CAAC,IAAI,EAAE;oBACZ,GAAG,GAAG,IAAA,kBAAW,EAAC;wBAChB,GAAG,GAAG;wBACN,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE;4BACL,EAAC,IAAI,EAAE,MAAM,EAAC;4BACd;gCACE,IAAI,EAAE,GAAG,CAAC,IAAI;6BACf;yBACF;qBACF,CAAC,CAAC;iBACJ;qBAAM;oBACL,4CAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBAClC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE;4BAChB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;yBAClG;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,GAAG,CAAC,IAAI,CAAC;iBACjB;aACF;YACD,MAAM;QAER,KAAK,wBAAS,CAAC,OAAO;YACpB,IAAI,GAAG,CAAC,IAAI,EAAE;gBACZ,OAAO,IAAA,kBAAW,EAAC;oBACjB,GAAG,GAAG;oBACN,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI;wBACd,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE,GAAG,CAAC,IAAI;6BACf;yBACF;wBACD,IAAI,EAAE,SAAS;qBAChB,CAAC;oBACF,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;aACJ;YACD,OAAO,IAAA,kBAAW,EAAC;gBACjB,GAAG,GAAG;gBACN,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC;oBACzB,CAAC,CAAC;wBACE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;wBACf,KAAK,EAAE,SAAS;qBACjB;oBACH,CAAC,CAAC;wBACE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;qBACnD,CAAC;gBACN,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;KACN;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AA9DD,0CA8DC"}
@@ -30,27 +30,17 @@ function createRef(name, schema, options) {
30
30
  const ref = {
31
31
  $ref: `${host}/${name}`
32
32
  };
33
- const nullable = schema.isNullable;
34
33
  const readOnly = schema.isReadOnly;
35
34
  const writeOnly = schema.isWriteOnly;
36
- if (nullable || readOnly || writeOnly) {
37
- switch (options.specType) {
38
- case SpecTypes_js_1.SpecTypes.OPENAPI:
39
- return (0, core_1.cleanObject)({
40
- nullable: nullable ? true : undefined,
41
- readOnly: readOnly ? true : undefined,
42
- writeOnly: writeOnly ? true : undefined,
43
- oneOf: [ref]
44
- });
45
- case SpecTypes_js_1.SpecTypes.JSON:
46
- return (0, core_1.cleanObject)({
47
- readOnly,
48
- writeOnly,
49
- oneOf: [ref]
50
- });
51
- }
52
- }
53
- return ref;
35
+ return (0, core_1.cleanObject)({
36
+ readOnly: readOnly ? true : undefined,
37
+ writeOnly: writeOnly ? true : undefined,
38
+ ...(readOnly || writeOnly
39
+ ? {
40
+ anyOf: [ref]
41
+ }
42
+ : ref)
43
+ });
54
44
  }
55
45
  exports.createRef = createRef;
56
46
  /**