ts-json-schema-generator 2.5.0-next.8 → 2.5.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.
- package/dist/factory/parser.js +3 -0
- package/dist/factory/parser.js.map +1 -1
- package/dist/factory/program.js +6 -3
- package/dist/factory/program.js.map +1 -1
- package/dist/package.json +28 -33
- package/dist/src/AnnotationsReader/BasicAnnotationsReader.js +6 -0
- package/dist/src/AnnotationsReader/BasicAnnotationsReader.js.map +1 -1
- package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.d.ts +4 -0
- package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js +7 -0
- package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js.map +1 -1
- package/dist/src/Config.d.ts +99 -0
- package/dist/src/Error/BaseError.d.ts +6 -1
- package/dist/src/Error/BaseError.js +8 -2
- package/dist/src/Error/BaseError.js.map +1 -1
- package/dist/src/Error/Errors.d.ts +3 -0
- package/dist/src/Error/Errors.js +5 -0
- package/dist/src/Error/Errors.js.map +1 -1
- package/dist/src/NodeParser/AnnotatedNodeParser.js +5 -0
- package/dist/src/NodeParser/AnnotatedNodeParser.js.map +1 -1
- package/dist/src/NodeParser/ArrayNodeParser.js +1 -0
- package/dist/src/NodeParser/ArrayNodeParser.js.map +1 -1
- package/dist/src/NodeParser/AsExpressionNodeParser.js +1 -0
- package/dist/src/NodeParser/AsExpressionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/BinaryExpressionNodeParser.d.ts +13 -0
- package/dist/src/NodeParser/BinaryExpressionNodeParser.js +84 -0
- package/dist/src/NodeParser/BinaryExpressionNodeParser.js.map +1 -0
- package/dist/src/NodeParser/CallExpressionParser.js +6 -0
- package/dist/src/NodeParser/CallExpressionParser.js.map +1 -1
- package/dist/src/NodeParser/ConditionalTypeNodeParser.d.ts +16 -0
- package/dist/src/NodeParser/ConditionalTypeNodeParser.js +22 -0
- package/dist/src/NodeParser/ConditionalTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/FunctionNodeParser.js +1 -0
- package/dist/src/NodeParser/FunctionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/IdentifierNodeParser.d.ts +3 -0
- package/dist/src/NodeParser/IdentifierNodeParser.js +3 -0
- package/dist/src/NodeParser/IdentifierNodeParser.js.map +1 -1
- package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js +4 -1
- package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/InterfaceAndClassNodeParser.d.ts +7 -0
- package/dist/src/NodeParser/InterfaceAndClassNodeParser.js +10 -0
- package/dist/src/NodeParser/InterfaceAndClassNodeParser.js.map +1 -1
- package/dist/src/NodeParser/IntersectionNodeParser.d.ts +4 -0
- package/dist/src/NodeParser/IntersectionNodeParser.js +8 -0
- package/dist/src/NodeParser/IntersectionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/MappedTypeNodeParser.js +12 -5
- package/dist/src/NodeParser/MappedTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.js +1 -0
- package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js +1 -0
- package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/PromiseNodeParser.d.ts +3 -0
- package/dist/src/NodeParser/PromiseNodeParser.js +19 -1
- package/dist/src/NodeParser/PromiseNodeParser.js.map +1 -1
- package/dist/src/NodeParser/SpreadElementNodeParser.d.ts +4 -0
- package/dist/src/NodeParser/SpreadElementNodeParser.js +4 -0
- package/dist/src/NodeParser/SpreadElementNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeLiteralNodeParser.js +5 -0
- package/dist/src/NodeParser/TypeLiteralNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeOperatorNodeParser.js +1 -0
- package/dist/src/NodeParser/TypeOperatorNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeReferenceNodeParser.js +6 -0
- package/dist/src/NodeParser/TypeReferenceNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeofNodeParser.js +1 -0
- package/dist/src/NodeParser/TypeofNodeParser.js.map +1 -1
- package/dist/src/SchemaGenerator.js +28 -1
- package/dist/src/SchemaGenerator.js.map +1 -1
- package/dist/src/Type/AnnotatedType.d.ts +1 -3
- package/dist/src/Type/AnnotatedType.js.map +1 -1
- package/dist/src/Type/BaseType.d.ts +3 -0
- package/dist/src/Type/BaseType.js +3 -0
- package/dist/src/Type/BaseType.js.map +1 -1
- package/dist/src/Type/ObjectType.js +3 -1
- package/dist/src/Type/ObjectType.js.map +1 -1
- package/dist/src/Type/UnionType.d.ts +3 -0
- package/dist/src/Type/UnionType.js +3 -0
- package/dist/src/Type/UnionType.js.map +1 -1
- package/dist/src/Type/UnknownType.d.ts +11 -1
- package/dist/src/Type/UnknownType.js +8 -1
- package/dist/src/Type/UnknownType.js.map +1 -1
- package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js +2 -1
- package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/EnumTypeFormatter.d.ts +3 -0
- package/dist/src/TypeFormatter/EnumTypeFormatter.js +7 -0
- package/dist/src/TypeFormatter/EnumTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/IntersectionTypeFormatter.js +3 -0
- package/dist/src/TypeFormatter/IntersectionTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js +7 -0
- package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/ReferenceTypeFormatter.js +6 -0
- package/dist/src/TypeFormatter/ReferenceTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/TupleTypeFormatter.js +12 -5
- package/dist/src/TypeFormatter/TupleTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/UnionTypeFormatter.js +1 -0
- package/dist/src/TypeFormatter/UnionTypeFormatter.js.map +1 -1
- package/dist/src/Utils/allOfDefinition.js +5 -0
- package/dist/src/Utils/allOfDefinition.js.map +1 -1
- package/dist/src/Utils/deepMerge.d.ts +8 -0
- package/dist/src/Utils/deepMerge.js +9 -0
- package/dist/src/Utils/deepMerge.js.map +1 -1
- package/dist/src/Utils/derefType.d.ts +6 -0
- package/dist/src/Utils/derefType.js +6 -0
- package/dist/src/Utils/derefType.js.map +1 -1
- package/dist/src/Utils/intersectionOfArrays.js +1 -0
- package/dist/src/Utils/intersectionOfArrays.js.map +1 -1
- package/dist/src/Utils/isAssignableTo.d.ts +12 -0
- package/dist/src/Utils/isAssignableTo.js +54 -0
- package/dist/src/Utils/isAssignableTo.js.map +1 -1
- package/dist/src/Utils/modifiers.d.ts +19 -0
- package/dist/src/Utils/modifiers.js +19 -0
- package/dist/src/Utils/modifiers.js.map +1 -1
- package/dist/src/Utils/narrowType.d.ts +12 -0
- package/dist/src/Utils/narrowType.js +15 -0
- package/dist/src/Utils/narrowType.js.map +1 -1
- package/dist/src/Utils/nodeKey.d.ts +1 -1
- package/dist/src/Utils/nodeKey.js +7 -1
- package/dist/src/Utils/nodeKey.js.map +1 -1
- package/dist/src/Utils/preserveAnnotation.d.ts +6 -0
- package/dist/src/Utils/preserveAnnotation.js +6 -0
- package/dist/src/Utils/preserveAnnotation.js.map +1 -1
- package/dist/src/Utils/removeUndefined.d.ts +3 -0
- package/dist/src/Utils/removeUndefined.js +3 -0
- package/dist/src/Utils/removeUndefined.js.map +1 -1
- package/dist/src/Utils/removeUnreachable.js +1 -0
- package/dist/src/Utils/removeUnreachable.js.map +1 -1
- package/dist/src/Utils/symbolAtNode.js +1 -0
- package/dist/src/Utils/symbolAtNode.js.map +1 -1
- package/dist/src/Utils/typeKeys.js +1 -0
- package/dist/src/Utils/typeKeys.js.map +1 -1
- package/dist/ts-json-schema-generator.js +6 -7
- package/dist/ts-json-schema-generator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/factory/parser.ts +2 -0
- package/factory/program.ts +8 -4
- package/package.json +28 -33
- package/src/Error/BaseError.ts +1 -3
- package/src/NodeParser/BinaryExpressionNodeParser.ts +99 -0
- package/src/NodeParser/IndexedAccessTypeNodeParser.ts +4 -1
- package/src/NodeParser/MappedTypeNodeParser.ts +12 -8
- package/src/SchemaGenerator.ts +18 -3
- package/src/Type/AnnotatedType.ts +1 -3
- package/src/Type/UnknownType.ts +1 -1
- package/src/TypeFormatter/AnnotatedTypeFormatter.ts +2 -2
- package/src/Utils/narrowType.ts +1 -6
- package/src/Utils/nodeKey.ts +3 -1
- package/ts-json-schema-generator.ts +2 -11
|
@@ -5,6 +5,18 @@ const EnumType_js_1 = require("../Type/EnumType.js");
|
|
|
5
5
|
const NeverType_js_1 = require("../Type/NeverType.js");
|
|
6
6
|
const UnionType_js_1 = require("../Type/UnionType.js");
|
|
7
7
|
const derefType_js_1 = require("./derefType.js");
|
|
8
|
+
/**
|
|
9
|
+
* Narrows the given type by passing all variants to the given predicate function. So when type is a union type then
|
|
10
|
+
* the predicate function is called for each type within the union and only the types for which this function returns
|
|
11
|
+
* true will remain in the returned type. Union types with only one sub type left are replaced by this one-and-only
|
|
12
|
+
* type. Empty union types are removed completely. Definition types are kept if possible. When in the end none of
|
|
13
|
+
* the type candidates match the predicate then undefined is returned.
|
|
14
|
+
*
|
|
15
|
+
* @param type - The type to narrow down.
|
|
16
|
+
* @param predicate - The predicate function to filter the type variants. If it returns true then the type variant is
|
|
17
|
+
* kept, when returning false it is removed.
|
|
18
|
+
* @return The narrowed down type.
|
|
19
|
+
*/
|
|
8
20
|
function narrowType(type, predicate) {
|
|
9
21
|
const derefed = (0, derefType_js_1.derefType)(type);
|
|
10
22
|
if (derefed instanceof UnionType_js_1.UnionType || derefed instanceof EnumType_js_1.EnumType) {
|
|
@@ -12,6 +24,7 @@ function narrowType(type, predicate) {
|
|
|
12
24
|
const types = [];
|
|
13
25
|
for (const sub of derefed.getTypes()) {
|
|
14
26
|
const derefedSub = (0, derefType_js_1.derefType)(sub);
|
|
27
|
+
// Recursively narrow down all types within the union
|
|
15
28
|
const narrowed = narrowType(derefedSub, predicate);
|
|
16
29
|
if (!(narrowed instanceof NeverType_js_1.NeverType)) {
|
|
17
30
|
if (narrowed === derefedSub) {
|
|
@@ -26,6 +39,8 @@ function narrowType(type, predicate) {
|
|
|
26
39
|
changed = true;
|
|
27
40
|
}
|
|
28
41
|
}
|
|
42
|
+
// When union types were changed then return new narrowed-down type, otherwise return the original one to
|
|
43
|
+
// keep definitions
|
|
29
44
|
if (changed) {
|
|
30
45
|
if (types.length === 0) {
|
|
31
46
|
return new NeverType_js_1.NeverType();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrowType.js","sourceRoot":"","sources":["../../../src/Utils/narrowType.ts"],"names":[],"mappings":";;AAkBA,
|
|
1
|
+
{"version":3,"file":"narrowType.js","sourceRoot":"","sources":["../../../src/Utils/narrowType.ts"],"names":[],"mappings":";;AAkBA,gCAoCC;AArDD,qDAA+C;AAC/C,uDAAiD;AACjD,uDAAiD;AACjD,iDAA2C;AAE3C;;;;;;;;;;;GAWG;AACH,SAAgB,UAAU,CAAC,IAAc,EAAE,SAAsC;IAC7E,MAAM,OAAO,GAAG,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,YAAY,wBAAS,IAAI,OAAO,YAAY,sBAAQ,EAAE,CAAC;QAC9D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAA,wBAAS,EAAC,GAAG,CAAC,CAAC;YAElC,qDAAqD;YACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,QAAQ,YAAY,wBAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;QACL,CAAC;QAED,yGAAyG;QACzG,mBAAmB;QACnB,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,wBAAS,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,wBAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAS,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Node } from "typescript";
|
|
2
2
|
import type { Context } from "../NodeParser.js";
|
|
3
|
-
export declare function hash(a: string | boolean | number | (string | boolean | number)[] |
|
|
3
|
+
export declare function hash(a: string | boolean | number | (string | boolean | number | Record<string, unknown>)[] | Record<string, unknown>): string | number;
|
|
4
4
|
export declare function getKey(node: Node, context: Context): string;
|
|
@@ -9,15 +9,18 @@ function hash(a) {
|
|
|
9
9
|
return a;
|
|
10
10
|
}
|
|
11
11
|
const str = typeof a === "string" ? a : (0, safe_stable_stringify_1.default)(a);
|
|
12
|
+
// short strings can be used as hash directly, longer strings are hashed to reduce memory usage
|
|
12
13
|
if (str.length < 20) {
|
|
13
14
|
return str;
|
|
14
15
|
}
|
|
16
|
+
// from http://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/
|
|
15
17
|
let h = 0;
|
|
16
18
|
for (let i = 0; i < str.length; i++) {
|
|
17
19
|
const char = str.charCodeAt(i);
|
|
18
20
|
h = (h << 5) - h + char;
|
|
19
|
-
h = h & h;
|
|
21
|
+
h = h & h; // Convert to 32bit integer
|
|
20
22
|
}
|
|
23
|
+
// we only want positive integers
|
|
21
24
|
if (h < 0) {
|
|
22
25
|
return -h;
|
|
23
26
|
}
|
|
@@ -27,6 +30,9 @@ function getKey(node, context) {
|
|
|
27
30
|
const ids = [];
|
|
28
31
|
while (node) {
|
|
29
32
|
const source = node.getSourceFile();
|
|
33
|
+
// When the node has no source file, we need to prevent collisions with other sourceless nodes.
|
|
34
|
+
// As they does not have any kind of reference to their parents, Math.random is the best we can
|
|
35
|
+
// do to make them unique
|
|
30
36
|
if (!source) {
|
|
31
37
|
ids.push(Math.random());
|
|
32
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeKey.js","sourceRoot":"","sources":["../../../src/Utils/nodeKey.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"nodeKey.js","sourceRoot":"","sources":["../../../src/Utils/nodeKey.ts"],"names":[],"mappings":";;AAIA,oBA4BC;AAED,wBAuBC;;AAzDD,0FAA8C;AAI9C,SAAgB,IAAI,CAChB,CAAgH;IAEhH,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,+BAAS,EAAC,CAAC,CAAC,CAAC;IAErD,+FAA+F;IAC/F,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,mGAAmG;IACnG,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B;IAC1C,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,MAAM,CAAC,IAAU,EAAE,OAAgB;IAC/C,MAAM,GAAG,GAAwB,EAAE,CAAC;IAEpC,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEpC,gGAAgG;QAChG,+FAA+F;QAC/F,yBAAyB;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACpF,CAAC"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import type { BaseType } from "../Type/BaseType.js";
|
|
2
|
+
/**
|
|
3
|
+
* Return the new type wrapped in an annotated type with the same annotations as the original type.
|
|
4
|
+
* @param originalType The original type. If this is an annotated type,
|
|
5
|
+
* then the returned type will be wrapped with the same annotations.
|
|
6
|
+
* @param newType The type to be wrapped.
|
|
7
|
+
*/
|
|
2
8
|
export declare function preserveAnnotation(originalType: BaseType, newType: BaseType): BaseType;
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.preserveAnnotation = preserveAnnotation;
|
|
4
4
|
const AnnotatedType_js_1 = require("../Type/AnnotatedType.js");
|
|
5
|
+
/**
|
|
6
|
+
* Return the new type wrapped in an annotated type with the same annotations as the original type.
|
|
7
|
+
* @param originalType The original type. If this is an annotated type,
|
|
8
|
+
* then the returned type will be wrapped with the same annotations.
|
|
9
|
+
* @param newType The type to be wrapped.
|
|
10
|
+
*/
|
|
5
11
|
function preserveAnnotation(originalType, newType) {
|
|
6
12
|
if (originalType instanceof AnnotatedType_js_1.AnnotatedType) {
|
|
7
13
|
return new AnnotatedType_js_1.AnnotatedType(newType, originalType.getAnnotations(), originalType.isNullable());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preserveAnnotation.js","sourceRoot":"","sources":["../../../src/Utils/preserveAnnotation.ts"],"names":[],"mappings":";;AASA,gDAKC;AAbD,+DAAyD;
|
|
1
|
+
{"version":3,"file":"preserveAnnotation.js","sourceRoot":"","sources":["../../../src/Utils/preserveAnnotation.ts"],"names":[],"mappings":";;AASA,gDAKC;AAbD,+DAAyD;AAEzD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,YAAsB,EAAE,OAAiB;IACxE,IAAI,YAAY,YAAY,gCAAa,EAAE,CAAC;QACxC,OAAO,IAAI,gCAAa,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { BaseType } from "../Type/BaseType.js";
|
|
2
2
|
import { UnionType } from "../Type/UnionType.js";
|
|
3
|
+
/**
|
|
4
|
+
* Remove undefined types from union type. Returns the number of non-undefined properties.
|
|
5
|
+
*/
|
|
3
6
|
export declare function removeUndefined(propertyType: UnionType): {
|
|
4
7
|
numRemoved: number;
|
|
5
8
|
newType: BaseType;
|
|
@@ -5,6 +5,9 @@ const UndefinedType_js_1 = require("../Type/UndefinedType.js");
|
|
|
5
5
|
const UnionType_js_1 = require("../Type/UnionType.js");
|
|
6
6
|
const derefType_js_1 = require("./derefType.js");
|
|
7
7
|
const preserveAnnotation_js_1 = require("./preserveAnnotation.js");
|
|
8
|
+
/**
|
|
9
|
+
* Remove undefined types from union type. Returns the number of non-undefined properties.
|
|
10
|
+
*/
|
|
8
11
|
function removeUndefined(propertyType) {
|
|
9
12
|
const types = [];
|
|
10
13
|
let numRemoved = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeUndefined.js","sourceRoot":"","sources":["../../../src/Utils/removeUndefined.ts"],"names":[],"mappings":";;AASA,0CAuBC;AA/BD,+DAAyD;AACzD,uDAAiD;AACjD,iDAAoD;AACpD,mEAA6D;
|
|
1
|
+
{"version":3,"file":"removeUndefined.js","sourceRoot":"","sources":["../../../src/Utils/removeUndefined.ts"],"names":[],"mappings":";;AASA,0CAuBC;AA/BD,+DAAyD;AACzD,uDAAiD;AACjD,iDAAoD;AACpD,mEAA6D;AAE7D;;GAEG;AACH,SAAgB,eAAe,CAAC,YAAuB;IACnD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,iCAAkB,EAAC,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,YAAY,gCAAa,EAAE,CAAC;YACnC,UAAU,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,YAAY,wBAAS,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACxC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,IAAA,0CAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,gCAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,KAAK,CAAC,CAAC;IAE9G,OAAO;QACH,UAAU;QACV,OAAO;KACV,CAAC;AACN,CAAC"}
|
|
@@ -10,6 +10,7 @@ function addReachable(definition, definitions, reachable) {
|
|
|
10
10
|
if (definition.$ref) {
|
|
11
11
|
const typeName = decodeURIComponent(definition.$ref.slice(DEFINITION_OFFSET));
|
|
12
12
|
if (reachable.has(typeName) || !isLocalRef(definition.$ref)) {
|
|
13
|
+
// we've already processed this definition, or this definition refers to an external schema
|
|
13
14
|
return;
|
|
14
15
|
}
|
|
15
16
|
reachable.add(typeName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeUnreachable.js","sourceRoot":"","sources":["../../../src/Utils/removeUnreachable.ts"],"names":[],"mappings":";;AAoEA,8CAmBC;AAtFD,kDAAqD;AAIrD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC;AAElD,SAAS,YAAY,CACjB,UAA8C,EAC9C,WAAkC,EAClC,SAAsB;IAEtB,IAAI,OAAO,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;IACX,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9E,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"removeUnreachable.js","sourceRoot":"","sources":["../../../src/Utils/removeUnreachable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbolAtNode.js","sourceRoot":"","sources":["../../../src/Utils/symbolAtNode.ts"],"names":[],"mappings":";;AAEA,oCAGC;AAHD,SAAgB,YAAY,CAAC,IAAa;
|
|
1
|
+
{"version":3,"file":"symbolAtNode.js","sourceRoot":"","sources":["../../../src/Utils/symbolAtNode.ts"],"names":[],"mappings":";;AAEA,oCAGC;AAHD,SAAgB,YAAY,CAAC,IAAa;IACtC,4CAA4C;IAC5C,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,CAAC"}
|
|
@@ -41,6 +41,7 @@ function getTypeByKey(type, index) {
|
|
|
41
41
|
type = (0, derefType_js_1.derefType)(type);
|
|
42
42
|
if (type instanceof IntersectionType_js_1.IntersectionType || type instanceof UnionType_js_1.UnionType) {
|
|
43
43
|
let subTypes = [];
|
|
44
|
+
// we use the annotation from the first type so we need to get a reference to it
|
|
44
45
|
let firstType;
|
|
45
46
|
for (const subType of type.getTypes()) {
|
|
46
47
|
const subKeyType = getTypeByKey(subType, index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeKeys.js","sourceRoot":"","sources":["../../../src/Utils/typeKeys.ts"],"names":[],"mappings":";;AAsBA,kCAyBC;AAED,oCAyFC;AA1ID,uFAAoE;AACpE,mDAA6C;AAC7C,uDAAiD;AACjD,qDAA+C;AAC/C,qEAA+D;AAC/D,2DAAqD;AACrD,yDAAmD;AACnD,yDAAmD;AAEnD,uDAAiD;AACjD,+DAAyD;AACzD,uDAAiD;AACjD,iDAA+D;AAC/D,mEAA6D;AAC7D,qDAA+C;AAC/C,6DAAuD;AAEvD,SAAS,cAAc,CAAC,KAAoB;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,OAAO,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,4BAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,WAAW,CAAC,IAAc;IACtC,IAAI,GAAG,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,IAAI,YAAY,sCAAgB,IAAI,IAAI,YAAY,wBAAS,EAAE,CAAC;QAChE,OAAO,cAAc,CACjB,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,MAAqB,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CACvG,CAAC;IACN,CAAC;IAED,IAAI,IAAI,YAAY,wBAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,4BAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,IAAI,YAAY,0BAAU,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,4BAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzF,OAAO,cAAc,CACjB,IAAI;aACC,YAAY,EAAE;aACd,MAAM,CACH,CAAC,MAAqB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,EAC9E,gBAAgB,CACnB,CACR,CAAC;IACN,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAgB,YAAY,CAAC,IAAc,EAAE,KAA4C;IACrF,IAAI,GAAG,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,IAAI,YAAY,sCAAgB,IAAI,IAAI,YAAY,wBAAS,EAAE,CAAC;QAChE,IAAI,QAAQ,GAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"typeKeys.js","sourceRoot":"","sources":["../../../src/Utils/typeKeys.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,16 +11,11 @@ const BaseError_js_1 = require("./src/Error/BaseError.js");
|
|
|
11
11
|
const package_json_1 = tslib_1.__importDefault(require("./package.json"));
|
|
12
12
|
const args = new commander_1.Command()
|
|
13
13
|
.option("-p, --path <path>", "Source file path")
|
|
14
|
-
.option("-t, --type <name
|
|
15
|
-
if (previous) {
|
|
16
|
-
return previous.concat(value);
|
|
17
|
-
}
|
|
18
|
-
return [value];
|
|
19
|
-
})
|
|
14
|
+
.option("-t, --type <name...>", "Type name(s)")
|
|
20
15
|
.option("-i, --id <name>", "$id for generated schema")
|
|
21
16
|
.option("-f, --tsconfig <path>", "Custom tsconfig.json path")
|
|
22
17
|
.addOption(new commander_1.Option("-e, --expose <expose>", "Type exposing").choices(["all", "none", "export"]).default("export"))
|
|
23
|
-
.addOption(new commander_1.Option("-j, --jsDoc <extended>", "Read
|
|
18
|
+
.addOption(new commander_1.Option("-j, --jsDoc <extended>", "Read JSDoc annotations")
|
|
24
19
|
.choices(["none", "basic", "extended"])
|
|
25
20
|
.default("extended"))
|
|
26
21
|
.addOption(new commander_1.Option("--markdown-description", "Generate `markdownDescription` in addition to `description`.").implies({
|
|
@@ -66,13 +61,16 @@ const config = {
|
|
|
66
61
|
try {
|
|
67
62
|
const schema = (0, generator_js_1.createGenerator)(config).createSchema(config.type);
|
|
68
63
|
const stringify = config.sortProps ? safe_stable_stringify_1.default : JSON.stringify;
|
|
64
|
+
// need as string since TS can't figure out that the string | undefined case doesn't happen
|
|
69
65
|
const schemaString = (config.minify ? stringify(schema) : stringify(schema, null, 2));
|
|
70
66
|
if (args.out) {
|
|
67
|
+
// write to file
|
|
71
68
|
const outPath = (0, node_path_1.dirname)(args.out);
|
|
72
69
|
(0, node_fs_1.mkdirSync)(outPath, { recursive: true });
|
|
73
70
|
(0, node_fs_1.writeFileSync)(args.out, schemaString);
|
|
74
71
|
}
|
|
75
72
|
else {
|
|
73
|
+
// write to stdout
|
|
76
74
|
console.log(`${schemaString}\n`);
|
|
77
75
|
}
|
|
78
76
|
}
|
|
@@ -85,6 +83,7 @@ catch (error) {
|
|
|
85
83
|
else if (error.stack) {
|
|
86
84
|
console.debug(error.stack);
|
|
87
85
|
}
|
|
86
|
+
// Maybe we are being imported by another script
|
|
88
87
|
process.exitCode = 1;
|
|
89
88
|
}
|
|
90
89
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-json-schema-generator.js","sourceRoot":"","sources":["../ts-json-schema-generator.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,qCAAmD;AACnD,yCAAoC;AACpC,0FAAoD;AACpD,2CAA0D;AAC1D,yDAAyD;AAEzD,2DAAqD;AAErD,0EAAiC;AAEjC,MAAM,IAAI,GAAG,IAAI,mBAAO,EAAE;KACrB,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;KAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"ts-json-schema-generator.js","sourceRoot":"","sources":["../ts-json-schema-generator.ts"],"names":[],"mappings":"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"}
|