@tsed/schema 7.75.4 → 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.
@@ -27,10 +27,22 @@ function mapNullableType(obj, schema, options) {
27
27
  else {
28
28
  jsonSchemaProperties_js_1.MANY_OF_PROPERTIES.some((keyword) => {
29
29
  if (obj[keyword]) {
30
- obj[keyword] = [{ type: "null" }].concat(obj[keyword].filter((item) => item.type !== "null"));
30
+ obj[keyword] = obj[keyword].filter((item) => item.type !== "null");
31
+ if (obj[keyword].length === 1) {
32
+ const base = obj[keyword];
33
+ obj = (0, core_1.cleanObject)({
34
+ ...obj,
35
+ ...base[0],
36
+ [keyword]: undefined,
37
+ type: ["null", base[0].type]
38
+ });
39
+ }
40
+ else {
41
+ obj[keyword] = [{ type: "null" }].concat(obj[keyword]);
42
+ delete obj.type;
43
+ }
31
44
  }
32
45
  });
33
- delete obj.type;
34
46
  }
35
47
  }
36
48
  break;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"mapNullableType.js","sourceRoot":"","sources":["../../../src/utils/mapNullableType.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,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,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,IAAA,kBAAW,EAAC;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,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;AA3ED,0CA2EC"}
@@ -24,10 +24,22 @@ export function mapNullableType(obj, schema, options) {
24
24
  else {
25
25
  MANY_OF_PROPERTIES.some((keyword) => {
26
26
  if (obj[keyword]) {
27
- obj[keyword] = [{ type: "null" }].concat(obj[keyword].filter((item) => item.type !== "null"));
27
+ obj[keyword] = obj[keyword].filter((item) => item.type !== "null");
28
+ if (obj[keyword].length === 1) {
29
+ const base = obj[keyword];
30
+ obj = cleanObject({
31
+ ...obj,
32
+ ...base[0],
33
+ [keyword]: undefined,
34
+ type: ["null", base[0].type]
35
+ });
36
+ }
37
+ else {
38
+ obj[keyword] = [{ type: "null" }].concat(obj[keyword]);
39
+ delete obj.type;
40
+ }
28
41
  }
29
42
  });
30
- delete obj.type;
31
43
  }
32
44
  }
33
45
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"mapNullableType.js","sourceRoot":"","sources":["../../../src/utils/mapNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,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,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,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsed/schema",
3
- "version": "7.75.4",
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.4",
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.4",
47
- "@tsed/core": "7.75.4",
48
- "@tsed/openspec": "7.75.4",
49
- "@tsed/typescript": "7.75.4",
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.4",
60
- "@tsed/openspec": "7.75.4"
59
+ "@tsed/core": "7.75.5",
60
+ "@tsed/openspec": "7.75.5"
61
61
  },
62
62
  "peerDependenciesMeta": {
63
63
  "@tsed/core": {