@tsofist/schema-forge 5.0.0 → 5.2.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/lib/dbml-generator/converter.d.ts +1 -2
- package/lib/dbml-generator/converter.d.ts.map +1 -1
- package/lib/dbml-generator/converter.js +2 -6
- package/lib/schema-generator/forge.d.ts.map +1 -1
- package/lib/schema-generator/forge.js +8 -0
- package/lib/schema-generator/forge.spec.js +14 -1
- package/lib/schema-generator/generate-drafts.d.ts +1 -1
- package/lib/schema-generator/generate-drafts.d.ts.map +1 -1
- package/lib/schema-generator/generate-drafts.js +35 -4
- package/lib/schema-generator/helpers-tsc.d.ts.map +1 -1
- package/lib/schema-generator/helpers-tsc.js +3 -1
- package/lib/schema-generator/types.d.ts +2 -2
- package/lib/schema-generator/types.d.ts.map +1 -1
- package/lib/schema-generator/types.js +1 -0
- package/lib/schema-registry/kw-api.d.ts.map +1 -1
- package/lib/schema-registry/kw-api.js +4 -4
- package/lib/schema-registry/kw-common.d.ts.map +1 -1
- package/lib/schema-registry/kw-common.js +5 -0
- package/lib/types.d.ts +3 -0
- package/lib/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ExportFormatOption } from '@dbml/core/types/export/ModelExporter';
|
|
2
|
-
export declare function convertDBMLToDatabaseModel(
|
|
3
|
-
export declare function convertDBMLToJSON(source: string): import("@dbml/core/types/model_structure/database").RawDatabase;
|
|
2
|
+
export declare function convertDBMLToDatabaseModel(dbmlStringSpec: string): import("@dbml/core/types/model_structure/database").default;
|
|
4
3
|
export declare function convertDBMLToSQL(source: string, format?: ExportFormatOption): string;
|
|
5
4
|
//# sourceMappingURL=converter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/dbml-generator/converter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,wBAAgB,0BAA0B,CAAC,
|
|
1
|
+
{"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/dbml-generator/converter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,+DAEhE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,kBAA+B,UAEvF"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.convertDBMLToDatabaseModel = convertDBMLToDatabaseModel;
|
|
4
|
-
exports.convertDBMLToJSON = convertDBMLToJSON;
|
|
5
4
|
exports.convertDBMLToSQL = convertDBMLToSQL;
|
|
6
5
|
const core_1 = require("@dbml/core");
|
|
7
|
-
function convertDBMLToDatabaseModel(
|
|
8
|
-
return core_1.Parser.parse(
|
|
9
|
-
}
|
|
10
|
-
function convertDBMLToJSON(source) {
|
|
11
|
-
return core_1.Parser.parseDBMLToJSONv2(source);
|
|
6
|
+
function convertDBMLToDatabaseModel(dbmlStringSpec) {
|
|
7
|
+
return core_1.Parser.parse(dbmlStringSpec, 'dbmlv2');
|
|
12
8
|
}
|
|
13
9
|
function convertDBMLToSQL(source, format = 'postgres') {
|
|
14
10
|
return core_1.exporter.export(source, format);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge.d.ts","sourceRoot":"","sources":["../../src/schema-generator/forge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"forge.d.ts","sourceRoot":"","sources":["../../src/schema-generator/forge.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAER,kBAAkB,EAClB,iBAAiB,EAEpB,MAAM,UAAU,CAAC;AAKlB,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgIzF"}
|
|
@@ -7,9 +7,11 @@ const as_array_1 = require("@tsofist/stem/lib/as-array");
|
|
|
7
7
|
const error_1 = require("@tsofist/stem/lib/error");
|
|
8
8
|
const noop_1 = require("@tsofist/stem/lib/noop");
|
|
9
9
|
const random_1 = require("@tsofist/stem/lib/string/random");
|
|
10
|
+
const ts_json_schema_generator_1 = require("ts-json-schema-generator");
|
|
10
11
|
const artefacts_policy_1 = require("../artefacts-policy");
|
|
11
12
|
const ref_1 = require("../definition-info/ref");
|
|
12
13
|
const dereference_shallow_1 = require("../schema-dereference/dereference-shallow");
|
|
14
|
+
const format_error_1 = require("./format-error");
|
|
13
15
|
const generate_drafts_1 = require("./generate-drafts");
|
|
14
16
|
const generate_schema_1 = require("./generate-schema");
|
|
15
17
|
async function forgeSchema(options) {
|
|
@@ -95,6 +97,12 @@ async function forgeSchema(options) {
|
|
|
95
97
|
});
|
|
96
98
|
}
|
|
97
99
|
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
if (e instanceof ts_json_schema_generator_1.BuildError) {
|
|
102
|
+
console.error('[forgeSchema: build error]\n', (0, format_error_1.formatForgeSchemaError)(e));
|
|
103
|
+
}
|
|
104
|
+
throw e;
|
|
105
|
+
}
|
|
98
106
|
finally {
|
|
99
107
|
if (!artefacts_policy_1.KEEP_GEN_ARTEFACTS) {
|
|
100
108
|
await Promise.all(files.map((fileName) => (0, promises_1.unlink)(fileName).catch(noop_1.noop)));
|
|
@@ -585,7 +585,7 @@ describe('generator for a3', () => {
|
|
|
585
585
|
// expect(props.maxItems).toBeUndefined();
|
|
586
586
|
// }
|
|
587
587
|
});
|
|
588
|
-
it('
|
|
588
|
+
it('should works with extends: interface', () => {
|
|
589
589
|
const props = forgeSchemaResult.schema.definitions?.BAPI__APIInterface?.properties;
|
|
590
590
|
expect(props).toBeTruthy();
|
|
591
591
|
expect((0, keys_1.keysOf)(props)).toStrictEqual([
|
|
@@ -605,6 +605,19 @@ describe('generator for a3', () => {
|
|
|
605
605
|
'methodY',
|
|
606
606
|
]);
|
|
607
607
|
});
|
|
608
|
+
// it('should works with extends: type w/ generics', () => {
|
|
609
|
+
// const props = forgeSchemaResult!.schema.definitions?.APIFromBase__APIInterface?.properties;
|
|
610
|
+
// expect(props).toBeTruthy();
|
|
611
|
+
// expect(keysOf(props)).toStrictEqual(['doSomethingAndReturnR', 'doSomethingElse']);
|
|
612
|
+
// });
|
|
613
|
+
//
|
|
614
|
+
// it('should works with extends: type w/o own members', () => {
|
|
615
|
+
// const props =
|
|
616
|
+
// forgeSchemaResult!.schema.definitions?.APIFromBaseExtendOnly__APIInterface?.properties;
|
|
617
|
+
// expect(props).toBeTruthy();
|
|
618
|
+
// // console.log(JSON.stringify(forgeSchemaResult!.schema, null, 2));
|
|
619
|
+
// expect(keysOf(props)).toStrictEqual(['doSomethingAndReturnR']);
|
|
620
|
+
// });
|
|
608
621
|
});
|
|
609
622
|
describe('generator for a2', () => {
|
|
610
623
|
const outputSchemaFile = './a2.generated.schema.tmp.json';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-drafts.d.ts","sourceRoot":"","sources":["../../src/schema-generator/generate-drafts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-drafts.d.ts","sourceRoot":"","sources":["../../src/schema-generator/generate-drafts.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,0CAA0C,CAAC;AAsChG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAWnD;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,YAAY;;;;;GAkCjE;AA8YD,UAAU,YAAa,SAAQ,kBAAkB;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B"}
|
|
@@ -147,7 +147,25 @@ function processAPIInterfaceDeclaration(statement, context) {
|
|
|
147
147
|
const interfaceGenericText = (0, helpers_tsc_1.readInterfaceGenericText)(statement);
|
|
148
148
|
const interfaceDesc = (0, helpers_tsc_1.readJSDocDescription)(statement, allowUseFallbackDescription);
|
|
149
149
|
const interfaceDeprecated = (0, typescript_1.getTextOfJSDocComment)((0, typescript_1.getJSDocDeprecatedTag)(statement)?.comment);
|
|
150
|
-
|
|
150
|
+
const interfaceSymbol = context.typeChecker.getSymbolAtLocation(statement.name);
|
|
151
|
+
const interfaceType = context.typeChecker.getDeclaredTypeOfSymbol(interfaceSymbol);
|
|
152
|
+
const properties = {};
|
|
153
|
+
for (const symbol of context.typeChecker.getPropertiesOfType(interfaceType)) {
|
|
154
|
+
for (const decl of symbol.declarations || []) {
|
|
155
|
+
if ((0, typescript_1.isMethodSignature)(decl) || (0, typescript_1.isPropertySignature)(decl) || (0, typescript_1.isFunctionTypeNode)(decl)) {
|
|
156
|
+
const name = (0, helpers_tsc_1.readNodeName)(decl);
|
|
157
|
+
if (name) {
|
|
158
|
+
if (properties[name]) {
|
|
159
|
+
// todo throw?
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
properties[name] = symbol;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function onSignature(_property, method, memberName, memberDescription, deprecated) {
|
|
151
169
|
const minArgsNum = countRequiredParams(method.parameters);
|
|
152
170
|
const maxArgsNum = method.parameters.length;
|
|
153
171
|
const argsNames = [];
|
|
@@ -167,6 +185,16 @@ function processAPIInterfaceDeclaration(statement, context) {
|
|
|
167
185
|
})
|
|
168
186
|
.join(', ');
|
|
169
187
|
const resultTypeName = (0, helpers_tsc_1.readMemberTypeName)(method);
|
|
188
|
+
// todo
|
|
189
|
+
// {
|
|
190
|
+
// const pt = context.typeChecker.getTypeOfSymbolAtLocation(property, method);
|
|
191
|
+
// const sig = context.typeChecker.getSignaturesOfType(pt, SignatureKind.Call)[0];
|
|
192
|
+
// if (sig) {
|
|
193
|
+
// const rt = context.typeChecker.getReturnTypeOfSignature(sig);
|
|
194
|
+
// const rts = context.typeChecker.typeToString(rt, statement);
|
|
195
|
+
// resultTypeName = rts;
|
|
196
|
+
// }
|
|
197
|
+
// }
|
|
170
198
|
const definitionNameArgs = (0, api_signature_1.buildAPIMethodArgsSDS)(interfaceName, memberName, legacy);
|
|
171
199
|
const definitionNameResult = (0, api_signature_1.buildAPIMethodResultSDS)(interfaceName, memberName, legacy);
|
|
172
200
|
const comment = `Method:${interfaceName}#${memberName}`;
|
|
@@ -207,14 +235,17 @@ function processAPIInterfaceDeclaration(statement, context) {
|
|
|
207
235
|
if (isPrivate)
|
|
208
236
|
return;
|
|
209
237
|
const memberName = (0, helpers_tsc_1.readNodeName)(member);
|
|
238
|
+
const property = properties[memberName];
|
|
239
|
+
if (!property)
|
|
240
|
+
return;
|
|
210
241
|
const memberDescription = (0, helpers_tsc_1.readJSDocDescription)(member, allowUseFallbackDescription);
|
|
211
242
|
const deprecated = (0, typescript_1.getTextOfJSDocComment)((0, typescript_1.getJSDocDeprecatedTag)(member)?.comment);
|
|
212
243
|
if ((0, typescript_1.isMethodSignature)(member)) {
|
|
213
|
-
onSignature(member, memberName, memberDescription, deprecated);
|
|
244
|
+
onSignature(property, member, memberName, memberDescription, deprecated);
|
|
214
245
|
}
|
|
215
246
|
else if ((0, typescript_1.isPropertySignature)(member)) {
|
|
216
247
|
if (member.type && (0, typescript_1.isFunctionTypeNode)(member.type)) {
|
|
217
|
-
onSignature(member.type, memberName, memberDescription, deprecated);
|
|
248
|
+
onSignature(property, member.type, memberName, memberDescription, deprecated);
|
|
218
249
|
}
|
|
219
250
|
else {
|
|
220
251
|
definitionsMetaList.push({
|
|
@@ -232,7 +263,7 @@ function processAPIInterfaceDeclaration(statement, context) {
|
|
|
232
263
|
for (const type of clause.types) {
|
|
233
264
|
const declaration = context.typeChecker.getTypeAtLocation(type).symbol?.declarations?.[0];
|
|
234
265
|
if (declaration &&
|
|
235
|
-
(0, typescript_1.isInterfaceDeclaration)(declaration) &&
|
|
266
|
+
((0, typescript_1.isInterfaceDeclaration)(declaration) || (0, typescript_1.isTypeLiteralNode)(declaration)) &&
|
|
236
267
|
declaration.members?.length) {
|
|
237
268
|
for (const member of declaration.members) {
|
|
238
269
|
onMember(member);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers-tsc.d.ts","sourceRoot":"","sources":["../../src/schema-generator/helpers-tsc.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,eAAe,EAGpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAUhC,MAAM,YAAY,CAAC;AAEpB,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,wBAAwB,GACvE,MAAM,GAAG,SAAS,CAapB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcjF;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,CAAC;AAC7D,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers-tsc.d.ts","sourceRoot":"","sources":["../../src/schema-generator/helpers-tsc.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,eAAe,EAGpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAUhC,MAAM,YAAY,CAAC;AAEpB,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,wBAAwB,GACvE,MAAM,GAAG,SAAS,CAapB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcjF;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,CAAC;AAC7D,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAS7D,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"}
|
|
@@ -66,7 +66,9 @@ function readJSDocDescription(node, allowUseFallbackDescription, allowUseFallbac
|
|
|
66
66
|
}
|
|
67
67
|
function readNodeName(node) {
|
|
68
68
|
if ('name' in node && !!node.name) {
|
|
69
|
-
|
|
69
|
+
const v = node.name;
|
|
70
|
+
if (v != null && v.escapedText)
|
|
71
|
+
return v.escapedText;
|
|
70
72
|
}
|
|
71
73
|
return undefined;
|
|
72
74
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export declare const TMP_FILES_SUFFIX = ".schema-forge.temporary-generated.tmp";
|
|
2
|
-
export declare const SFG_EXTRA_TAGS: readonly ["apiInterface", "apiProperty", "apiMethod", "apiMember", "dbFK", "dbEntity", "dbColumn", "dbIndex", "dbEnum", "enumAnnotation", "enumMember", "spec", "faker", "version", "hash", "repository"];
|
|
2
|
+
export declare const SFG_EXTRA_TAGS: readonly ["apiInterface", "apiProperty", "apiMethod", "apiMember", "dbFK", "dbEntity", "dbColumn", "dbIndex", "dbEnum", "enumAnnotation", "enumMember", "spec", "faker", "version", "hash", "repository", "package"];
|
|
3
3
|
export declare const SFG_CONFIG_DEFAULTS: {
|
|
4
4
|
readonly additionalProperties: false;
|
|
5
5
|
readonly discriminatorType: undefined;
|
|
6
6
|
readonly encodeRefs: false;
|
|
7
7
|
readonly expose: "export";
|
|
8
|
-
readonly extraTags: ("spec" | "hash" | "dbEntity" | "dbFK" | "dbColumn" | "dbIndex" | "dbEnum" | "enumAnnotation" | "enumMember" | "version" | "repository" | "apiInterface" | "apiProperty" | "apiMethod" | "apiMember" | "faker")[];
|
|
8
|
+
readonly extraTags: ("spec" | "hash" | "dbEntity" | "dbFK" | "dbColumn" | "dbIndex" | "dbEnum" | "enumAnnotation" | "enumMember" | "version" | "package" | "repository" | "apiInterface" | "apiProperty" | "apiMethod" | "apiMember" | "faker")[];
|
|
9
9
|
readonly functions: "hide";
|
|
10
10
|
readonly markdownDescription: false;
|
|
11
11
|
readonly skipTypeCheck: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema-generator/types.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,0CAA0C,CAAC;AAExE,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema-generator/types.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,0CAA0C,CAAC;AAExE,eAAO,MAAM,cAAc,sNAwBjB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAWL,CAAC;AAE5B,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtF,eAAO,MAAM,oBAAoB;;;CAGN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kw-api.d.ts","sourceRoot":"","sources":["../../src/schema-registry/kw-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAQ7C,eAAO,MAAM,wBAAwB,EAAE,SAAS,iBAAiB,
|
|
1
|
+
{"version":3,"file":"kw-api.d.ts","sourceRoot":"","sources":["../../src/schema-registry/kw-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAQ7C,eAAO,MAAM,wBAAwB,EAAE,SAAS,iBAAiB,EAsB7D,CAAC"}
|
|
@@ -7,19 +7,19 @@ const NP_API_METHOD = NP_API_PROP;
|
|
|
7
7
|
const NP_API_MEMBER = `${NP_API_INTERFACE.substring(0, NP_API_INTERFACE.length - 1)}#${NP_API_PROP.substring(1)}`;
|
|
8
8
|
exports.SFRAPIDefinitionKeywords = [
|
|
9
9
|
{
|
|
10
|
-
keyword: 'apiInterface',
|
|
10
|
+
keyword: ['interface', 'apiInterface'],
|
|
11
11
|
metaSchema: { type: 'string', pattern: NP_API_INTERFACE },
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
|
-
keyword: 'apiProperty',
|
|
14
|
+
keyword: ['property', 'apiProperty'],
|
|
15
15
|
metaSchema: { type: 'string', pattern: NP_API_PROP },
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
keyword: 'apiMethod',
|
|
18
|
+
keyword: ['method', 'apiMethod'],
|
|
19
19
|
metaSchema: { type: 'string', pattern: NP_API_METHOD },
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
keyword: 'apiMember',
|
|
22
|
+
keyword: ['member', 'apiMember'],
|
|
23
23
|
metaSchema: { type: 'string', pattern: NP_API_MEMBER },
|
|
24
24
|
},
|
|
25
25
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kw-common.d.ts","sourceRoot":"","sources":["../../src/schema-registry/kw-common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAO7C,eAAO,MAAM,iBAAiB,EAAE,SAAS,iBAAiB,
|
|
1
|
+
{"version":3,"file":"kw-common.d.ts","sourceRoot":"","sources":["../../src/schema-registry/kw-common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAO7C,eAAO,MAAM,iBAAiB,EAAE,SAAS,iBAAiB,EA+GtD,CAAC"}
|
|
@@ -19,6 +19,11 @@ exports.SFRCommonKeywords = [
|
|
|
19
19
|
dependencies: ['$id', '$schema'],
|
|
20
20
|
metaSchema: { type: 'string', format: 'uri' },
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
keyword: 'package',
|
|
24
|
+
dependencies: ['$id', '$schema'],
|
|
25
|
+
metaSchema: { type: 'string' },
|
|
26
|
+
},
|
|
22
27
|
// {
|
|
23
28
|
// keyword: 'see',
|
|
24
29
|
// metaSchema: {
|
package/lib/types.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export interface ForgeSchemaOptions {
|
|
|
36
36
|
* @see https://ajv.js.org/json-schema.html#metadata-keywords ajv
|
|
37
37
|
*/
|
|
38
38
|
readonly schemaMetadata?: {
|
|
39
|
+
repository?: string;
|
|
40
|
+
package?: string;
|
|
39
41
|
title?: string;
|
|
40
42
|
description?: string;
|
|
41
43
|
$comment?: string;
|
|
@@ -157,6 +159,7 @@ export type ForgedSchema = Reintroduce<Schema, Pick<ForgedSchemaDefinition, 'see
|
|
|
157
159
|
$schema: typeof ForgedSchemaDraft7Id;
|
|
158
160
|
hash?: string;
|
|
159
161
|
version?: string;
|
|
162
|
+
package?: string;
|
|
160
163
|
repository?: string;
|
|
161
164
|
$defs?: Rec<ForgedSchemaDefinition>;
|
|
162
165
|
definitions?: Rec<ForgedSchemaDefinition>;
|
package/lib/types.d.ts.map
CHANGED
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsofist/schema-forge",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"description": "Generate JSON schema from TypeScript types",
|
|
5
5
|
"author": "Andrew Berdnikov <tsofistgudmen@gmail.com>",
|
|
6
6
|
"license": "LGPL-3.0",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@dbml/core": "~3.13.9",
|
|
24
24
|
"@faker-js/faker": "^9.9.0",
|
|
25
|
-
"@tsofist/stem": "^5.
|
|
25
|
+
"@tsofist/stem": "^5.4.0",
|
|
26
26
|
"@ungap/structured-clone": "^1.3.0",
|
|
27
27
|
"ajv": "^8.17.1",
|
|
28
28
|
"ajv-formats": "^3.0.1",
|