@tsofist/schema-forge 1.30.1 → 1.32.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.
Files changed (50) hide show
  1. package/lib/fake-generator.d.ts +10 -2
  2. package/lib/fake-generator.d.ts.map +1 -1
  3. package/lib/fake-generator.js +72 -55
  4. package/lib/fake-generator.js.map +1 -1
  5. package/lib/fake-generator.spec.js +33 -2
  6. package/lib/fake-generator.spec.js.map +1 -1
  7. package/lib/generator/schema-generator.d.ts +11 -1
  8. package/lib/generator/schema-generator.d.ts.map +1 -1
  9. package/lib/generator/schema-generator.js +29 -81
  10. package/lib/generator/schema-generator.js.map +1 -1
  11. package/lib/generator/types-generator.d.ts.map +1 -1
  12. package/lib/generator/types-generator.js +83 -125
  13. package/lib/generator/types-generator.js.map +1 -1
  14. package/lib/generator/types.d.ts +2 -1
  15. package/lib/generator/types.d.ts.map +1 -1
  16. package/lib/generator/types.js +1 -0
  17. package/lib/generator/types.js.map +1 -1
  18. package/lib/generator.d.ts.map +1 -1
  19. package/lib/generator.js +6 -2
  20. package/lib/generator.js.map +1 -1
  21. package/lib/generator.spec.js +63 -20
  22. package/lib/generator.spec.js.map +1 -1
  23. package/lib/index.d.ts +1 -0
  24. package/lib/index.d.ts.map +1 -1
  25. package/lib/index.js +1 -0
  26. package/lib/index.js.map +1 -1
  27. package/lib/tsconfig.build.tsbuildinfo +1 -1
  28. package/lib/types.d.ts +1 -1
  29. package/lib/types.d.ts.map +1 -1
  30. package/lib/util/format.error.d.ts +2 -0
  31. package/lib/util/format.error.d.ts.map +1 -0
  32. package/lib/util/format.error.js +16 -0
  33. package/lib/util/format.error.js.map +1 -0
  34. package/lib/util/patch.extended-annotations-reader.d.ts +2 -0
  35. package/lib/util/patch.extended-annotations-reader.d.ts.map +1 -0
  36. package/lib/util/patch.extended-annotations-reader.js +50 -0
  37. package/lib/util/patch.extended-annotations-reader.js.map +1 -0
  38. package/lib/util/sort-properties.d.ts +3 -0
  39. package/lib/util/sort-properties.d.ts.map +1 -0
  40. package/lib/util/sort-properties.js +41 -0
  41. package/lib/util/sort-properties.js.map +1 -0
  42. package/lib/util/tsc.d.ts +8 -0
  43. package/lib/util/tsc.d.ts.map +1 -0
  44. package/lib/util/tsc.js +73 -0
  45. package/lib/util/tsc.js.map +1 -0
  46. package/lib/validator.d.ts +2 -0
  47. package/lib/validator.d.ts.map +1 -1
  48. package/lib/validator.js +36 -2
  49. package/lib/validator.js.map +1 -1
  50. package/package.json +11 -8
package/lib/types.d.ts CHANGED
@@ -151,7 +151,7 @@ export type SchemaDefinitionInfo = SDIType | SDIAPIInterface | SDIMethodArgument
151
151
  export interface SchemaForgeValidationResult {
152
152
  valid: boolean;
153
153
  errors: Nullable<SchemaForgeValidationReport>;
154
- errorsText(options?: ErrorsTextOptions): string;
154
+ errorsText: (options?: ErrorsTextOptions) => string;
155
155
  }
156
156
  export type SchemaForgeValidationFunction<T = unknown> = ValidateFunction<T>;
157
157
  export type SchemaForgeValidationReport = ErrorObject[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function formatSchemaForgeError(error: Error, dir?: string): string;
2
+ //# sourceMappingURL=format.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.error.d.ts","sourceRoot":"","sources":["../../src/util/format.error.ts"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,SAAK,UAS5D"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatSchemaForgeError = formatSchemaForgeError;
4
+ const ts_json_schema_generator_1 = require("ts-json-schema-generator");
5
+ const typescript_1 = require("typescript");
6
+ function formatSchemaForgeError(error, dir = '') {
7
+ if (error instanceof ts_json_schema_generator_1.BaseError) {
8
+ return (0, typescript_1.formatDiagnostics)(error.diagnostic.relatedInformation || [], {
9
+ getCanonicalFileName: (fileName) => fileName,
10
+ getCurrentDirectory: () => dir,
11
+ getNewLine: () => '\n',
12
+ });
13
+ }
14
+ return error.message || String(error);
15
+ }
16
+ //# sourceMappingURL=format.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.error.js","sourceRoot":"","sources":["../../src/util/format.error.ts"],"names":[],"mappings":";;AAGA,wDASC;AAZD,uEAAqD;AACrD,2CAA+C;AAE/C,SAAgB,sBAAsB,CAAC,KAAY,EAAE,GAAG,GAAG,EAAE;IACzD,IAAI,KAAK,YAAY,oCAAS,EAAE,CAAC;QAC7B,OAAO,IAAA,8BAAiB,EAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,IAAI,EAAE,EAAE;YAChE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;YAC5C,mBAAmB,EAAE,GAAG,EAAE,CAAC,GAAG;YAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACzB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=patch.extended-annotations-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.extended-annotations-reader.d.ts","sourceRoot":"","sources":["../../src/util/patch.extended-annotations-reader.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const error_1 = require("@tsofist/stem/lib/error");
4
+ const is_empty_1 = require("@tsofist/stem/lib/object/is-empty");
5
+ const ts_json_schema_generator_1 = require("ts-json-schema-generator");
6
+ const typescript_1 = require("typescript");
7
+ const tsc_1 = require("./tsc");
8
+ {
9
+ // Support for @inheritDoc tag to enforce inheritance of annotations
10
+ // eslint-disable-next-line @typescript-eslint/unbound-method
11
+ const getAnnotations = ts_json_schema_generator_1.ExtendedAnnotationsReader.prototype.getAnnotations;
12
+ ts_json_schema_generator_1.ExtendedAnnotationsReader.prototype.getAnnotations = function getAnnotationsWithInheritance(node) {
13
+ var _a;
14
+ if (!(0, tsc_1.hasJSDocTag)(node, 'inheritDoc'))
15
+ return getAnnotations.call(this, node);
16
+ // @ts-expect-error access to private property
17
+ const checker = this.typeChecker || (0, error_1.raise)('TypeChecker is not available');
18
+ const result = {};
19
+ if (!('ref' in result) &&
20
+ !('$ref' in result) &&
21
+ //
22
+ (0, typescript_1.isTypeAliasDeclaration)(node) &&
23
+ //
24
+ (0, typescript_1.isTypeReferenceNode)(node.type) &&
25
+ (0, typescript_1.isIdentifier)(node.type.typeName) &&
26
+ !(0, typescript_1.isUnionTypeNode)(node.type) &&
27
+ !(0, typescript_1.isIntersectionTypeNode)(node.type)) {
28
+ const alias = checker.getSymbolAtLocation(node.type.typeName);
29
+ const symbol = alias && typescript_1.SymbolFlags.Alias & alias.flags
30
+ ? checker.getAliasedSymbol(alias)
31
+ : undefined;
32
+ const inheritedAnn = {};
33
+ if (symbol && ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.length)) {
34
+ for (const declaration of symbol.declarations) {
35
+ const ann = getAnnotations.call(this, declaration);
36
+ if (ann)
37
+ Object.assign(inheritedAnn, ann);
38
+ }
39
+ }
40
+ Object.assign(result, inheritedAnn);
41
+ }
42
+ {
43
+ const ann = getAnnotations.call(this, node);
44
+ if (ann)
45
+ Object.assign(result, ann);
46
+ }
47
+ return (0, is_empty_1.isEmptyObject)(result) ? undefined : result;
48
+ };
49
+ }
50
+ //# sourceMappingURL=patch.extended-annotations-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.extended-annotations-reader.js","sourceRoot":"","sources":["../../src/util/patch.extended-annotations-reader.ts"],"names":[],"mappings":";;AAAA,mDAAgD;AAChD,gEAAkE;AAClE,uEAAkF;AAClF,2CASoB;AACpB,+BAAoC;AAEpC,CAAC;IACG,oEAAoE;IAEpE,6DAA6D;IAC7D,MAAM,cAAc,GAAG,oDAAyB,CAAC,SAAS,CAAC,cAAc,CAAC;IAE1E,oDAAyB,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,6BAA6B,CACvF,IAAU;;QAEV,IAAI,CAAC,IAAA,iBAAW,EAAC,IAAI,EAAE,YAAY,CAAC;YAAE,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7E,8CAA8C;QAC9C,MAAM,OAAO,GAAI,IAAI,CAAC,WAA2B,IAAI,IAAA,aAAK,EAAC,8BAA8B,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,IACI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;YAClB,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;YACnB,EAAE;YACF,IAAA,mCAAsB,EAAC,IAAI,CAAC;YAC5B,EAAE;YACF,IAAA,gCAAmB,EAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,IAAA,yBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChC,CAAC,IAAA,4BAAe,EAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,CAAC,IAAA,mCAAsB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,CAAC;YACC,MAAM,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,MAAM,GACR,KAAK,IAAI,wBAAW,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;gBACpC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBACjC,CAAC,CAAC,SAAS,CAAC;YAEpB,MAAM,YAAY,GAAgB,EAAE,CAAC;YACrC,IAAI,MAAM,KAAI,MAAA,MAAM,CAAC,YAAY,0CAAE,MAAM,CAAA,EAAE,CAAC;gBACxC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACnD,IAAI,GAAG;wBAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACxC,CAAC;QAED,CAAC;YACG,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,GAAG;gBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { SchemaObject } from 'ajv';
2
+ export declare function sortProperties<T extends SchemaObject>(schema: T): T;
3
+ //# sourceMappingURL=sort-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-properties.d.ts","sourceRoot":"","sources":["../../src/util/sort-properties.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEnC,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAyCnE"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortProperties = sortProperties;
4
+ const is_empty_1 = require("@tsofist/stem/lib/object/is-empty");
5
+ const compare_1 = require("@tsofist/stem/lib/string/compare");
6
+ function sortProperties(schema) {
7
+ const stack = [];
8
+ const isTarget = (target) => {
9
+ return (target != null &&
10
+ typeof target === 'object' &&
11
+ 'type' in target &&
12
+ target.type === 'object' &&
13
+ 'properties' in target &&
14
+ typeof target.properties === 'object' &&
15
+ !(0, is_empty_1.isEmptyObject)(target.properties));
16
+ };
17
+ const process = (item) => {
18
+ var _a;
19
+ if (!item)
20
+ return;
21
+ if (Array.isArray(item)) {
22
+ stack.push(...item);
23
+ }
24
+ else {
25
+ if (isTarget(item)) {
26
+ item.properties = Object.fromEntries(Object.entries(item.properties).sort(([a], [b]) => (0, compare_1.compareStringsAsc)(a, b)));
27
+ if ((_a = item.required) === null || _a === void 0 ? void 0 : _a.length)
28
+ item.required.sort(compare_1.compareStringsAsc);
29
+ }
30
+ if (typeof item === 'object') {
31
+ stack.push(...Object.values(item));
32
+ }
33
+ }
34
+ };
35
+ process(schema);
36
+ while (stack.length) {
37
+ process(stack.pop());
38
+ }
39
+ return schema;
40
+ }
41
+ //# sourceMappingURL=sort-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-properties.js","sourceRoot":"","sources":["../../src/util/sort-properties.ts"],"names":[],"mappings":";;AAKA,wCAyCC;AA7CD,gEAAkE;AAClE,8DAAqE;AAGrE,SAAgB,cAAc,CAAyB,MAAS;IAC5D,MAAM,KAAK,GAAQ,EAAE,CAAC;IAEtB,MAAM,QAAQ,GAAG,CACb,MAAe,EACoD,EAAE;QACrE,OAAO,CACH,MAAM,IAAI,IAAI;YACd,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,IAAI,MAAM;YAChB,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,YAAY,IAAI,MAAM;YACtB,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACrC,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,UAAU,CAAC,CACpC,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,IAAyB,EAAE,EAAE;;QAC1C,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,2BAAiB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC9E,CAAC;gBACF,IAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM;oBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAAiB,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,GAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAS,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { CompilerHost, CompilerOptions, MethodSignature, NamedDeclaration, Node, PropertySignature, SignatureDeclarationBase } from 'typescript';
2
+ export declare function readMemberTypeName(member: MethodSignature | PropertySignature | SignatureDeclarationBase): string | undefined;
3
+ export declare function readJSDocDescription(node: Node, allowUseFallbackDescription: boolean | undefined, allowUseFallbackDescriptionFromParent?: boolean): string | undefined;
4
+ export declare function readNodeName(node: NamedDeclaration): string;
5
+ export declare function readInterfaceGenericText(node: NamedDeclaration): string;
6
+ export declare function hasJSDocTag(statement: Node, tagName: string): boolean;
7
+ export declare function resolveModuleFileName(containingFile: string, moduleName: string, compilerOptions: CompilerOptions, compilerHost: CompilerHost): string | undefined;
8
+ //# sourceMappingURL=tsc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsc.d.ts","sourceRoot":"","sources":["../../src/util/tsc.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,eAAe,EAUf,eAAe,EACf,gBAAgB,EAChB,IAAI,EACJ,iBAAiB,EAEjB,wBAAwB,EAE3B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,wBAAwB,GACvE,MAAM,GAAG,SAAS,CAapB;AAED,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,IAAI,EACV,2BAA2B,EAAE,OAAO,GAAG,SAAS,EAChD,qCAAqC,UAAO,GAC7C,MAAM,GAAG,SAAS,CAsCpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE3D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAKvE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAM3D;AAED,wBAAgB,qBAAqB,CACjC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,GAC3B,MAAM,GAAG,SAAS,CAQpB"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readMemberTypeName = readMemberTypeName;
4
+ exports.readJSDocDescription = readJSDocDescription;
5
+ exports.readNodeName = readNodeName;
6
+ exports.readInterfaceGenericText = readInterfaceGenericText;
7
+ exports.hasJSDocTag = hasJSDocTag;
8
+ exports.resolveModuleFileName = resolveModuleFileName;
9
+ const typescript_1 = require("typescript");
10
+ function readMemberTypeName(member) {
11
+ const type = member.type;
12
+ if (type && (0, typescript_1.isTypeReferenceNode)(type)) {
13
+ if (type.typeName.getText() !== 'Promise') {
14
+ return type.getText();
15
+ }
16
+ else if (type.typeArguments) {
17
+ return type.typeArguments[0].getText();
18
+ }
19
+ return 'unknown';
20
+ }
21
+ return type === null || type === void 0 ? void 0 : type.getText();
22
+ }
23
+ function readJSDocDescription(node, allowUseFallbackDescription, allowUseFallbackDescriptionFromParent = true) {
24
+ var _a;
25
+ let value = undefined;
26
+ let fallback = undefined;
27
+ {
28
+ const isTag = (tag) => {
29
+ if ((0, typescript_1.isJSDocUnknownTag)(tag) && tag.tagName.escapedText === 'description') {
30
+ value = (0, typescript_1.getTextOfJSDocComment)(tag.comment);
31
+ }
32
+ if (allowUseFallbackDescription &&
33
+ allowUseFallbackDescriptionFromParent &&
34
+ fallback === undefined &&
35
+ tag.parent.kind === typescript_1.SyntaxKind.JSDoc &&
36
+ tag.parent.comment) {
37
+ fallback = (0, typescript_1.getTextOfJSDocComment)(tag.parent.comment);
38
+ }
39
+ return (value !== undefined &&
40
+ (!allowUseFallbackDescriptionFromParent || fallback !== undefined));
41
+ };
42
+ (0, typescript_1.getAllJSDocTags)(node, isTag);
43
+ }
44
+ if (value === undefined && allowUseFallbackDescription && fallback === undefined) {
45
+ const comment = (_a = (0, typescript_1.getJSDocCommentsAndTags)(node).find((item) => item.kind === typescript_1.SyntaxKind.JSDoc && item.comment != null)) === null || _a === void 0 ? void 0 : _a.comment;
46
+ if (comment)
47
+ fallback = (0, typescript_1.getTextOfJSDocComment)(comment);
48
+ }
49
+ if (value === undefined && allowUseFallbackDescription && fallback !== undefined) {
50
+ value = fallback;
51
+ }
52
+ return value;
53
+ }
54
+ function readNodeName(node) {
55
+ return node.name.escapedText + '';
56
+ }
57
+ function readInterfaceGenericText(node) {
58
+ var _a;
59
+ if ((0, typescript_1.isInterfaceDeclaration)(node) && ((_a = node.typeParameters) === null || _a === void 0 ? void 0 : _a.length)) {
60
+ return `<${node.typeParameters[0].getText()}>`;
61
+ }
62
+ return '';
63
+ }
64
+ function hasJSDocTag(statement, tagName) {
65
+ return ((0, typescript_1.getAllJSDocTagsOfKind)(statement, typescript_1.SyntaxKind.JSDocTag).find((tag) => {
66
+ return tag.tagName.escapedText === tagName;
67
+ }) != null);
68
+ }
69
+ function resolveModuleFileName(containingFile, moduleName, compilerOptions, compilerHost) {
70
+ const resolvedModule = (0, typescript_1.resolveModuleName)(moduleName, containingFile, compilerOptions, compilerHost).resolvedModule;
71
+ return resolvedModule === null || resolvedModule === void 0 ? void 0 : resolvedModule.resolvedFileName;
72
+ }
73
+ //# sourceMappingURL=tsc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../src/util/tsc.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { AnySchema, ErrorsTextOptions, Options, Schema, SchemaObject } from 'ajv
3
3
  import { SchemaDefinitionInfo, SchemaForgeDefinitionRef, SchemaForgeValidationContextBase, SchemaForgeValidationFunction, SchemaForgeValidationReport, SchemaForgeValidationResult } from './types';
4
4
  export type SchemaForgeValidator = ReturnType<typeof createSchemaForgeValidator>;
5
5
  export declare function createSchemaForgeValidator(engineOptions?: Options, useAdditionalFormats?: boolean): {
6
+ readonly rev: number;
7
+ clone: (options?: Omit<Options, "schemas">, onSchema?: (value: SchemaObject) => SchemaObject) => any;
6
8
  removeSchema: (schemaIdentity?: AnySchema | SchemaForgeDefinitionRef | RegExp) => void;
7
9
  hasValidator: (ref: SchemaForgeDefinitionRef) => boolean;
8
10
  getValidator: <TData = unknown>(ref: SchemaForgeDefinitionRef | AnySchema) => SchemaForgeValidationFunction<TData> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEvF,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,gCAAgC,EAGhC,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAG9B,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF,wBAAgB,0BAA0B,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,oBAAoB,UAAQ;oCA2CrD,SAAS,GAAG,wBAAwB,GAAG,MAAM;wBAdzD,wBAAwB;mBAV7B,KAAK,iBAClB,wBAAwB,GAAG,SAAS,KAC1C,6BAA6B,CAAC,KAAK,CAAC,GAAG,SAAS;qBAqH3B,wBAAwB;8BAOf,MAAM,KAE7B,CAAC,YAAY,GAAG;QAAE,WAAW,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,GAC5C,SAAS;wBAhHQ,MAAM,EAAE;4BAyB1B,wBAAwB,QACvB,OAAO,4BAEd,2BAA2B;oBA2B1B,CAAC,YACD,GAAG,SAAS,gCAAgC,0CACzC,wBAAwB,QAAQ,OAAO,YAAY,GAAG,KAAG,IAAI,IAAI,CAAC;mCA1C7D,QAAQ,CAAC,2BAA2B,CAAC,YACnC,iBAAiB;kCAyEf,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,KACpD,oBAAoB,EAAE;EAqC5B"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,MAAM,eAAe,CAAC;AAI/C,OAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEvF,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,gCAAgC,EAGhC,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAG9B,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAcjF,wBAAgB,0BAA0B,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,oBAAoB,UAAQ;;sBAe9E,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,aACvB,CAAC,KAAK,EAAE,YAAY,KAAK,YAAY;oCA6Cb,SAAS,GAAG,wBAAwB,GAAG,MAAM;wBAfzD,wBAAwB;mBAV7B,KAAK,iBAClB,wBAAwB,GAAG,SAAS,KAC1C,6BAA6B,CAAC,KAAK,CAAC,GAAG,SAAS;qBAwH3B,wBAAwB;8BAOf,MAAM,KAE7B,CAAC,YAAY,GAAG;QAAE,WAAW,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,GAC5C,SAAS;wBAnHQ,MAAM,EAAE;4BA2B1B,wBAAwB,QACvB,OAAO,4BAEd,2BAA2B;oBA2B1B,CAAC,YACD,GAAG,SAAS,gCAAgC,0CACzC,wBAAwB,QAAQ,OAAO,YAAY,GAAG,KAAG,IAAI,IAAI,CAAC;mCA1C7D,QAAQ,CAAC,2BAA2B,CAAC,YACnC,iBAAiB;kCA0Ef,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,KACpD,oBAAoB,EAAE;EAyC5B"}
package/lib/validator.js CHANGED
@@ -3,15 +3,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSchemaForgeValidator = createSchemaForgeValidator;
4
4
  const error_1 = require("@tsofist/stem/lib/error");
5
5
  const entries_1 = require("@tsofist/stem/lib/object/entries");
6
+ const values_1 = require("@tsofist/stem/lib/object/values");
6
7
  const ajv_1 = require("ajv");
7
8
  const ajv_formats_1 = require("ajv-formats");
8
9
  const types_1 = require("./types");
9
10
  const index_1 = require("./index");
11
+ const DEF_OPTIONS = {
12
+ allErrors: true,
13
+ strict: true,
14
+ strictSchema: true,
15
+ strictTypes: false,
16
+ strictTuples: false,
17
+ allowUnionTypes: true,
18
+ coerceTypes: false,
19
+ removeAdditional: false,
20
+ unicodeRegExp: true,
21
+ };
10
22
  function createSchemaForgeValidator(engineOptions, useAdditionalFormats = false) {
11
- let engine = new ajv_1.default(Object.assign({ allErrors: true, strict: true, strictSchema: true, strictTypes: false, strictTuples: false, allowUnionTypes: true, coerceTypes: false, removeAdditional: false, unicodeRegExp: true }, engineOptions));
23
+ engineOptions = Object.assign(Object.assign({}, DEF_OPTIONS), engineOptions);
24
+ let rev = 0;
25
+ let engine = new ajv_1.default(engineOptions);
12
26
  addJSDocKeywords(engine);
13
27
  if (useAdditionalFormats)
14
28
  engine = (0, ajv_formats_1.default)(engine);
29
+ /**
30
+ * Clone validator with overridden options
31
+ */
32
+ function clone(options, onSchema) {
33
+ const schemas = [];
34
+ for (const env of (0, values_1.nonNullableValues)(engine.schemas)) {
35
+ if (env.meta)
36
+ continue;
37
+ schemas.push(onSchema ? onSchema(env.schema) : env.schema);
38
+ }
39
+ const opts = Object.assign(Object.assign(Object.assign({}, engineOptions), { schemas }), options);
40
+ return createSchemaForgeValidator(opts, useAdditionalFormats);
41
+ }
15
42
  /**
16
43
  * Get schema (or definition) validation function
17
44
  */
@@ -31,12 +58,14 @@ function createSchemaForgeValidator(engineOptions, useAdditionalFormats = false)
31
58
  */
32
59
  function addSchema(schema) {
33
60
  engine.addSchema(schema);
61
+ rev++;
34
62
  }
35
63
  /**
36
64
  * Remove root schema(s) from registry using Schema object, Reference or RegExp pattern to math Schema ID
37
65
  */
38
66
  function removeSchema(schemaIdentity) {
39
67
  engine.removeSchema(schemaIdentity);
68
+ rev++;
40
69
  }
41
70
  /**
42
71
  * Get validation errors text
@@ -84,7 +113,8 @@ function createSchemaForgeValidator(engineOptions, useAdditionalFormats = false)
84
113
  if (env &&
85
114
  typeof env.schema === 'object' &&
86
115
  !schemaId.startsWith('http') &&
87
- env.schema.definitions) {
116
+ env.schema.definitions &&
117
+ typeof env.schema.definitions === 'object') {
88
118
  for (const name of Object.keys(env.schema.definitions)) {
89
119
  callback(name, schemaId);
90
120
  }
@@ -118,6 +148,10 @@ function createSchemaForgeValidator(engineOptions, useAdditionalFormats = false)
118
148
  return (_a = engine.schemas[schemaId]) === null || _a === void 0 ? void 0 : _a.schema;
119
149
  }
120
150
  return {
151
+ get rev() {
152
+ return rev;
153
+ },
154
+ clone,
121
155
  removeSchema,
122
156
  hasValidator,
123
157
  getValidator,
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsofist/schema-forge",
3
- "version": "1.30.1",
3
+ "version": "1.32.0",
4
4
  "description": "Generate JSON schema from TypeScript types",
5
5
  "author": "Andrew Berdnikov <tsofistgudmen@gmail.com>",
6
6
  "license": "MIT",
@@ -20,18 +20,18 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@faker-js/faker": "^9.0.3",
24
- "@tsofist/stem": "^1.35.0",
23
+ "@faker-js/faker": "^9.2.0",
24
+ "@tsofist/stem": "^1.43.1",
25
25
  "ajv": "^8.17.1",
26
26
  "ajv-formats": "^3.0.1",
27
- "json-schema-faker": "^0.5.6",
27
+ "json-schema-faker": "^0.5.8",
28
28
  "ts-json-schema-generator": "^2.3.0",
29
- "tslib": "^2.8.0"
29
+ "tslib": "^2.8.1"
30
30
  },
31
31
  "devDependencies": {
32
- "@tsofist/web-buddy": "^1.13.0",
32
+ "@tsofist/web-buddy": "^1.16.0",
33
33
  "@types/jest": "^29.5.14",
34
- "@types/node": "^20.17.1",
34
+ "@types/node": "^20.17.6",
35
35
  "@types/supertest": "^6.0.2",
36
36
  "jest": "^29.7.0",
37
37
  "rimraf": "^6.0.1",
@@ -77,7 +77,10 @@
77
77
  "prettier": "./node_modules/@tsofist/web-buddy/.prettierrc.js",
78
78
  "eslintConfig": {
79
79
  "root": true,
80
- "extends": "./node_modules/@tsofist/web-buddy/.eslintrc.yaml"
80
+ "extends": [
81
+ "./node_modules/@tsofist/web-buddy/.eslintrc.yaml",
82
+ "./node_modules/@tsofist/web-buddy/eslint/stricter.extends.yaml"
83
+ ]
81
84
  },
82
85
  "eslintIgnore": [
83
86
  "lib",