@tsed/schema 7.75.3 → 7.75.5

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 +56 -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 +57 -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
@@ -1 +1 @@
1
- {"version":3,"file":"mapNullableType.js","sourceRoot":"","sources":["../../../src/utils/mapNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;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,MAAM,UAAU,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,SAAS,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,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;iBACrC;aACF;YACD,MAAM;QAER,KAAK,SAAS,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"}
1
+ {"version":3,"file":"mapNullableType.js","sourceRoot":"","sources":["../../../src/utils/mapNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAGjD,MAAM,UAAU,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,SAAS,CAAC,IAAI;YACjB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACtB,IAAI,GAAG,CAAC,IAAI,EAAE;oBACZ,GAAG,GAAG,WAAW,CAAC;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,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBAClC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE;4BAChB,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;4BAExE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gCAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;gCAE1B,GAAG,GAAG,WAAW,CAAC;oCAChB,GAAG,GAAG;oCACN,GAAG,IAAI,CAAC,CAAC,CAAC;oCACV,CAAC,OAAO,CAAC,EAAE,SAAS;oCACpB,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iCAC7B,CAAC,CAAC;6BACJ;iCAAM;gCACL,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gCACrD,OAAO,GAAG,CAAC,IAAI,CAAC;6BACjB;yBACF;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;YACD,MAAM;QAER,KAAK,SAAS,CAAC,OAAO;YACpB,IAAI,GAAG,CAAC,IAAI,EAAE;gBACZ,OAAO,WAAW,CAAC;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,WAAW,CAAC;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"}
@@ -26,27 +26,17 @@ export function createRef(name, schema, options) {
26
26
  const ref = {
27
27
  $ref: `${host}/${name}`
28
28
  };
29
- const nullable = schema.isNullable;
30
29
  const readOnly = schema.isReadOnly;
31
30
  const writeOnly = schema.isWriteOnly;
32
- if (nullable || readOnly || writeOnly) {
33
- switch (options.specType) {
34
- case SpecTypes.OPENAPI:
35
- return cleanObject({
36
- nullable: nullable ? true : undefined,
37
- readOnly: readOnly ? true : undefined,
38
- writeOnly: writeOnly ? true : undefined,
39
- oneOf: [ref]
40
- });
41
- case SpecTypes.JSON:
42
- return cleanObject({
43
- readOnly,
44
- writeOnly,
45
- oneOf: [ref]
46
- });
47
- }
48
- }
49
- return ref;
31
+ return cleanObject({
32
+ readOnly: readOnly ? true : undefined,
33
+ writeOnly: writeOnly ? true : undefined,
34
+ ...(readOnly || writeOnly
35
+ ? {
36
+ anyOf: [ref]
37
+ }
38
+ : ref)
39
+ });
50
40
  }
51
41
  /**
52
42
  * @ignore
@@ -1 +1 @@
1
- {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../src/utils/ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAGjD;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA0B;IACzC,MAAM,EAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,EAAC,GAC9H,OAAO,CAAC;IAEV,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAA0B;IACpE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3C,OAAO,UAAU,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAChF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAkB,EAAE,OAA0B;IACpF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;KACxB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;IAErC,IAAI,QAAQ,IAAI,QAAQ,IAAI,SAAS,EAAE;QACrC,QAAQ,OAAO,CAAC,QAAQ,EAAE;YACxB,KAAK,SAAS,CAAC,OAAO;gBACpB,OAAO,WAAW,CAAC;oBACjB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACrC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACrC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACvC,KAAK,EAAE,CAAC,GAAG,CAAC;iBACb,CAAC,CAAC;YACL,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,WAAW,CAAC;oBACjB,QAAQ;oBACR,SAAS;oBACT,KAAK,EAAE,CAAC,GAAG,CAAC;iBACb,CAAC,CAAC;SACN;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB,EAAE,MAAW,EAAE,OAA0B;IAC9E,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAErD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAExD,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../src/utils/ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAIjD;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA0B;IACzC,MAAM,EAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,EAAC,GAC9H,OAAO,CAAC;IAEV,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAA0B;IACpE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3C,OAAO,UAAU,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAChF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAkB,EAAE,OAA0B;IACpF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;KACxB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;IAErC,OAAO,WAAW,CAAC;QACjB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACrC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvC,GAAG,CAAC,QAAQ,IAAI,SAAS;YACvB,CAAC,CAAC;gBACE,KAAK,EAAE,CAAC,GAAG,CAAC;aACb;YACH,CAAC,CAAC,GAAG,CAAC;KACT,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB,EAAE,MAAW,EAAE,OAA0B;IAC9E,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAErD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAExD,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const MANY_OF_PROPERTIES: string[];
2
+ export declare const STRING_PROPERTIES: string[];
3
+ export declare const BOOLEAN_PROPERTIES: never[];
4
+ export declare const NUMBER_PROPERTIES: string[];
5
+ export declare const ARRAY_PROPERTIES: string[];
6
+ export declare const OBJECT_PROPERTIES: string[];
7
+ export declare const COMMON_PROPERTIES: string[];
@@ -336,4 +336,5 @@ export declare class JsonSchema extends Map<string, any> implements NestedGeneri
336
336
  */
337
337
  getName(): any;
338
338
  clone(): JsonSchema;
339
+ protected setManyOf(keyword: "oneOf" | "anyOf" | "allOf", value: AnyJsonSchema[]): this | undefined;
339
340
  }
@@ -29,6 +29,7 @@ export * from "./components/open-spec/operationRequestBodyMapper.js";
29
29
  export * from "./components/open-spec/operationResponseMapper.js";
30
30
  export * from "./components/open-spec/pathsMapper.js";
31
31
  export * from "./constants/httpStatusMessages.js";
32
+ export * from "./constants/jsonSchemaProperties.js";
32
33
  export * from "./constants/OperationVerbs.js";
33
34
  export * from "./decorators/class/children.js";
34
35
  export * from "./decorators/class/discriminatorValue.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsed/schema",
3
- "version": "7.75.3",
3
+ "version": "7.75.5",
4
4
  "description": "JsonSchema module for Ts.ED Framework",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/cjs/index.js",
@@ -33,7 +33,7 @@
33
33
  "tsed"
34
34
  ],
35
35
  "dependencies": {
36
- "@tsed/openspec": "7.75.3",
36
+ "@tsed/openspec": "7.75.5",
37
37
  "change-case": "^4.1.2",
38
38
  "fs-extra": "^11.2.0",
39
39
  "json-schema": "0.4.0",
@@ -43,10 +43,10 @@
43
43
  },
44
44
  "devDependencies": {
45
45
  "@apidevtools/swagger-parser": "10.1.0",
46
- "@tsed/barrels": "7.75.3",
47
- "@tsed/core": "7.75.3",
48
- "@tsed/openspec": "7.75.3",
49
- "@tsed/typescript": "7.75.3",
46
+ "@tsed/barrels": "7.75.5",
47
+ "@tsed/core": "7.75.5",
48
+ "@tsed/openspec": "7.75.5",
49
+ "@tsed/typescript": "7.75.5",
50
50
  "@types/fs-extra": "11.0.4",
51
51
  "@types/json-schema": "7.0.15",
52
52
  "@types/picomatch": "2.3.3",
@@ -56,8 +56,8 @@
56
56
  "picomatch-browser": "^2.2.6"
57
57
  },
58
58
  "peerDependencies": {
59
- "@tsed/core": "7.75.3",
60
- "@tsed/openspec": "7.75.3"
59
+ "@tsed/core": "7.75.5",
60
+ "@tsed/openspec": "7.75.5"
61
61
  },
62
62
  "peerDependenciesMeta": {
63
63
  "@tsed/core": {