@skmtc/core 0.0.542 → 0.0.544
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/esm/context/CoreContext.d.ts +5 -5
- package/esm/context/CoreContext.d.ts.map +1 -1
- package/esm/context/CoreContext.js +5 -5
- package/esm/context/ParseContext.d.ts +4 -3
- package/esm/context/ParseContext.d.ts.map +1 -1
- package/esm/context/ParseContext.js +30 -21
- package/esm/run/transform.d.ts +2 -2
- package/esm/run/transform.d.ts.map +1 -1
- package/esm/run/transform.js +2 -2
- package/esm/typescript/FunctionParameter.d.ts.map +1 -1
- package/esm/typescript/FunctionParameter.js +6 -0
- package/package.json +3 -1
- package/script/context/CoreContext.d.ts +5 -5
- package/script/context/CoreContext.d.ts.map +1 -1
- package/script/context/CoreContext.js +5 -5
- package/script/context/ParseContext.d.ts +4 -3
- package/script/context/ParseContext.d.ts.map +1 -1
- package/script/context/ParseContext.js +35 -45
- package/script/run/transform.d.ts +2 -2
- package/script/run/transform.d.ts.map +1 -1
- package/script/run/transform.js +2 -2
- package/script/typescript/FunctionParameter.d.ts.map +1 -1
- package/script/typescript/FunctionParameter.js +6 -0
|
@@ -8,7 +8,7 @@ import type { ResultType } from '../types/Results.js';
|
|
|
8
8
|
import * as log from '../deps/jsr.io/@std/log/0.224.8/mod.js';
|
|
9
9
|
import type { GeneratorKey } from '../types/GeneratorKeys.js';
|
|
10
10
|
import type { GeneratorType, GeneratorsMap } from '../types/GeneratorType.js';
|
|
11
|
-
import { Preview } from '../types/Preview.js';
|
|
11
|
+
import type { Preview } from '../types/Preview.js';
|
|
12
12
|
export type ParsePhase = {
|
|
13
13
|
type: 'parse';
|
|
14
14
|
context: ParseContext;
|
|
@@ -36,17 +36,17 @@ export declare class CoreContext {
|
|
|
36
36
|
#private;
|
|
37
37
|
logger: log.Logger;
|
|
38
38
|
constructor({ spanId, logsPath }: CoreContextArgs);
|
|
39
|
-
parse(schema: string): {
|
|
39
|
+
parse(schema: string): Promise<{
|
|
40
40
|
oasDocument: OasDocument;
|
|
41
41
|
extensions: Record<string, unknown>;
|
|
42
|
-
}
|
|
43
|
-
transform({ schema, settings, toGeneratorsMap, prettier }: TransformArgs): {
|
|
42
|
+
}>;
|
|
43
|
+
transform({ schema, settings, toGeneratorsMap, prettier }: TransformArgs): Promise<{
|
|
44
44
|
results: import("../types/Results.js").ResultsItem;
|
|
45
45
|
files: Record<string, import("../types/Manifest.js").ManifestEntry>;
|
|
46
46
|
previews: Record<string, Record<string, Preview>>;
|
|
47
47
|
pinnable: Partial<Record<GeneratorKey, string>>;
|
|
48
48
|
artifacts: Record<string, string>;
|
|
49
|
-
}
|
|
49
|
+
}>;
|
|
50
50
|
trace<T>(token: string | string[], fn: () => T): T;
|
|
51
51
|
captureCurrentResult(result: ResultType): void;
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreContext.d.ts","sourceRoot":"","sources":["../../src/context/CoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAG7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAM7D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"CoreContext.d.ts","sourceRoot":"","sources":["../../src/context/CoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAG7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAM7D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAA;AAYrE,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAUD,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,eAAe,EAAE,CAAC,cAAc,OAAO,aAAa,CAClD,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CACf,CAAA;IACD,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAOD,qBAAa,WAAW;;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;gBAKN,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe;IAiD3C,KAAK,CAAC,MAAM,EAAE,MAAM;;;;IAapB,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,aAAa;;;;;;;IAsE9E,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAiClD,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;CAwB/C;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,GAAG,CAAC,SAAS,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAAG,MAAM,CAQnF"}
|
|
@@ -36,16 +36,16 @@ export class CoreContext {
|
|
|
36
36
|
__classPrivateFieldSet(this, _CoreContext_results, new ResultsLog(), "f");
|
|
37
37
|
this.logger = __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupLogger).call(this, { spanId, logsPath });
|
|
38
38
|
}
|
|
39
|
-
parse(schema) {
|
|
39
|
+
async parse(schema) {
|
|
40
40
|
__classPrivateFieldSet(this, _CoreContext_phase, __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupParsePhase).call(this, schema), "f");
|
|
41
|
-
const oasDocument = __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
41
|
+
const oasDocument = await __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
42
42
|
const extensions = __classPrivateFieldGet(this, _CoreContext_phase, "f").context.extentions;
|
|
43
43
|
return {
|
|
44
44
|
oasDocument,
|
|
45
45
|
extensions
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
-
transform({ schema, settings, toGeneratorsMap, prettier }) {
|
|
48
|
+
async transform({ schema, settings, toGeneratorsMap, prettier }) {
|
|
49
49
|
// Temp workaround to extract generator keys during
|
|
50
50
|
// 'render' by invoking a callback passed during 'generate'
|
|
51
51
|
try {
|
|
@@ -54,9 +54,9 @@ export class CoreContext {
|
|
|
54
54
|
__classPrivateFieldGet(this, _CoreContext_phase, "f").context.addGeneratorKey({ generatorKey });
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
-
const oasDocument = this.trace('parse', () => {
|
|
57
|
+
const oasDocument = await this.trace('parse', async () => {
|
|
58
58
|
__classPrivateFieldSet(this, _CoreContext_phase, __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupParsePhase).call(this, schema), "f");
|
|
59
|
-
return __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
59
|
+
return await __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
60
60
|
});
|
|
61
61
|
const { files, previews } = this.trace('generate', () => {
|
|
62
62
|
__classPrivateFieldSet(this, _CoreContext_phase, __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupGeneratePhase).call(this, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { OpenAPIV3 } from 'openapi-types';
|
|
1
|
+
import type { OpenAPIV2, OpenAPIV3, OpenAPIV3_1 } from 'openapi-types';
|
|
2
2
|
import { OasDocument } from '../oas/document/Document.js';
|
|
3
3
|
import type * as log from '../deps/jsr.io/@std/log/0.224.8/mod.js';
|
|
4
4
|
import type { StackTrail } from './StackTrail.js';
|
|
@@ -24,11 +24,12 @@ export declare class ParseContext {
|
|
|
24
24
|
stackTrail: StackTrail;
|
|
25
25
|
extentions: Record<string, unknown>;
|
|
26
26
|
constructor({ schema, logger, stackTrail }: ConstructorArgs);
|
|
27
|
-
parse(): OasDocument
|
|
27
|
+
parse(): Promise<OasDocument>;
|
|
28
28
|
trace<T>(token: string | string[], fn: () => T): T;
|
|
29
29
|
registerExtension({ extensionFields, stackTrail, type }: RegisterExtensionArgs): void;
|
|
30
30
|
logSkippedFields(skipped: Record<string, unknown>): void;
|
|
31
31
|
}
|
|
32
|
-
export declare const
|
|
32
|
+
export declare const stringToSchema: (schema: string) => OpenAPIV2.Document | OpenAPIV3.Document | OpenAPIV3_1.Document;
|
|
33
|
+
export declare const toV3Document: (schema: OpenAPIV2.Document | OpenAPIV3.Document | OpenAPIV3_1.Document) => Promise<OpenAPIV3.Document>;
|
|
33
34
|
export {};
|
|
34
35
|
//# sourceMappingURL=ParseContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAUjD,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC,CAAA;AAED,qBAAa,YAAY;;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;IAClB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAEvB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,eAAe;IAQrD,KAAK;IAOX,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAiBlD,iBAAiB,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,qBAAqB,GAAG,IAAI;IAIrF,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUlD;AAED,eAAO,MAAM,cAAc,WACjB,MAAM,KACb,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAMxD,CAAA;AAED,eAAO,MAAM,YAAY,WACf,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,KACrE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAsB5B,CAAA"}
|
|
@@ -3,14 +3,15 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _ParseContext_instances,
|
|
6
|
+
var _ParseContext_instances, _ParseContext_parseDocument;
|
|
7
7
|
import { setWith } from 'lodash-es';
|
|
8
|
-
import * as Sentry from '@sentry/deno';
|
|
9
8
|
import { parse as parseYaml } from '../deps/jsr.io/@std/yaml/0.215.0/mod.js';
|
|
10
9
|
import { toDocumentFieldsV3 } from '../oas/document/toDocumentFieldsV3.js';
|
|
11
10
|
import { OasDocument } from '../oas/document/Document.js';
|
|
12
11
|
import { tracer } from '../helpers/tracer.js';
|
|
13
|
-
import { Converter } from '@apiture/openapi-down-convert';
|
|
12
|
+
import { Converter as ThreeOneToThreeZeroConverter } from '@apiture/openapi-down-convert';
|
|
13
|
+
import { match, P } from 'ts-pattern';
|
|
14
|
+
import converter from 'swagger2openapi';
|
|
14
15
|
export class ParseContext {
|
|
15
16
|
constructor({ schema, logger, stackTrail }) {
|
|
16
17
|
_ParseContext_instances.add(this);
|
|
@@ -50,19 +51,10 @@ export class ParseContext {
|
|
|
50
51
|
this.extentions = {};
|
|
51
52
|
this.oasDocument = new OasDocument();
|
|
52
53
|
}
|
|
53
|
-
parse() {
|
|
54
|
-
const documentObject =
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
verbose: false,
|
|
58
|
-
deleteExampleWithId: false,
|
|
59
|
-
allOfTransform: true
|
|
60
|
-
};
|
|
61
|
-
const converter = new Converter(documentObject, options);
|
|
62
|
-
const oas30Document = converter.convert();
|
|
63
|
-
return __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseDocument).call(this, oas30Document);
|
|
64
|
-
}
|
|
65
|
-
return __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseDocument).call(this, documentObject);
|
|
54
|
+
async parse() {
|
|
55
|
+
const documentObject = stringToSchema(this.schema);
|
|
56
|
+
const oas30Document = await toV3Document(documentObject);
|
|
57
|
+
return __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseDocument).call(this, oas30Document);
|
|
66
58
|
}
|
|
67
59
|
trace(token, fn) {
|
|
68
60
|
return tracer(this.stackTrail, token, fn);
|
|
@@ -80,10 +72,7 @@ export class ParseContext {
|
|
|
80
72
|
});
|
|
81
73
|
}
|
|
82
74
|
}
|
|
83
|
-
_ParseContext_instances = new WeakSet(),
|
|
84
|
-
const documentObject = Sentry.startSpan({ name: 'Parse string schema to object' }, () => parseSchema(this.schema));
|
|
85
|
-
return documentObject;
|
|
86
|
-
}, _ParseContext_parseDocument = function _ParseContext_parseDocument(documentObject) {
|
|
75
|
+
_ParseContext_instances = new WeakSet(), _ParseContext_parseDocument = function _ParseContext_parseDocument(documentObject) {
|
|
87
76
|
if (!documentObject.openapi.startsWith('3.0.')) {
|
|
88
77
|
throw new Error('Only OpenAPI v3 is supported');
|
|
89
78
|
}
|
|
@@ -93,7 +82,7 @@ _ParseContext_instances = new WeakSet(), _ParseContext_parseSchema = function _P
|
|
|
93
82
|
});
|
|
94
83
|
return this.oasDocument;
|
|
95
84
|
};
|
|
96
|
-
export const
|
|
85
|
+
export const stringToSchema = (schema) => {
|
|
97
86
|
if (schema.trimStart().startsWith('{')) {
|
|
98
87
|
return JSON.parse(schema);
|
|
99
88
|
}
|
|
@@ -101,3 +90,23 @@ export const parseSchema = (schema) => {
|
|
|
101
90
|
return parseYaml(schema);
|
|
102
91
|
}
|
|
103
92
|
};
|
|
93
|
+
export const toV3Document = async (schema) => {
|
|
94
|
+
return await match(schema)
|
|
95
|
+
.with({ openapi: P.string.startsWith('3.0.') }, doc => doc)
|
|
96
|
+
.with({ openapi: P.string.startsWith('3.1.') }, doc => {
|
|
97
|
+
const options = {
|
|
98
|
+
verbose: false,
|
|
99
|
+
deleteExampleWithId: false,
|
|
100
|
+
allOfTransform: true
|
|
101
|
+
};
|
|
102
|
+
const converter = new ThreeOneToThreeZeroConverter(doc, options);
|
|
103
|
+
return converter.convert();
|
|
104
|
+
})
|
|
105
|
+
.with({ swagger: '2.0.0' }, async (doc) => {
|
|
106
|
+
const parsed = await converter.convertObj(doc, {});
|
|
107
|
+
return parsed;
|
|
108
|
+
})
|
|
109
|
+
.otherwise(() => {
|
|
110
|
+
throw new Error('Unrecognized OpenAPI version');
|
|
111
|
+
});
|
|
112
|
+
};
|
package/esm/run/transform.d.ts
CHANGED
|
@@ -12,9 +12,9 @@ type TransformArgs = {
|
|
|
12
12
|
toGeneratorsMap: <EnrichmentType>() => GeneratorsMap<GeneratorType<EnrichmentType>, EnrichmentType>;
|
|
13
13
|
startAt: number;
|
|
14
14
|
};
|
|
15
|
-
export declare const transform: ({ traceId, spanId, schema, settings, prettier, toGeneratorsMap, logsPath, startAt }: TransformArgs) => {
|
|
15
|
+
export declare const transform: ({ traceId, spanId, schema, settings, prettier, toGeneratorsMap, logsPath, startAt }: TransformArgs) => Promise<{
|
|
16
16
|
artifacts: Record<string, string>;
|
|
17
17
|
manifest: ManifestContent;
|
|
18
|
-
}
|
|
18
|
+
}>;
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/run/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE7E,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,CAAC,cAAc,OAAO,aAAa,CAClD,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CACf,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,SAAS,wFASnB,aAAa;;;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/run/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE7E,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,CAAC,cAAc,OAAO,aAAa,CAClD,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CACf,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,SAAS,wFASnB,aAAa;;;EAwBf,CAAA"}
|
package/esm/run/transform.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as dntShim from "../_dnt.shims.js";
|
|
2
2
|
import { CoreContext } from '../context/CoreContext.js';
|
|
3
|
-
export const transform = ({ traceId, spanId, schema, settings, prettier, toGeneratorsMap, logsPath, startAt }) => {
|
|
3
|
+
export const transform = async ({ traceId, spanId, schema, settings, prettier, toGeneratorsMap, logsPath, startAt }) => {
|
|
4
4
|
const context = new CoreContext({ spanId, logsPath });
|
|
5
|
-
const { artifacts, files, previews, pinnable, results } = context.transform({
|
|
5
|
+
const { artifacts, files, previews, pinnable, results } = await context.transform({
|
|
6
6
|
settings,
|
|
7
7
|
toGeneratorsMap,
|
|
8
8
|
prettier,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionParameter.d.ts","sourceRoot":"","sources":["../../src/typescript/FunctionParameter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAwB,MAAM,WAAW,CAAA;AAGtD,KAAK,qBAAqB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,mBAAmB,GAAG,aAAa,GAAG,qBAAqB,GAAG,gBAAgB,CAAA;AAEnF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;gBAEP,IAAI,EAAE,qBAAqB;IA2BvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAalC,cAAc,IAAI,IAAI;IAUtB,SAAS,IAAI,MAAM;IAUnB,QAAQ,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"FunctionParameter.d.ts","sourceRoot":"","sources":["../../src/typescript/FunctionParameter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAwB,MAAM,WAAW,CAAA;AAGtD,KAAK,qBAAqB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,mBAAmB,GAAG,aAAa,GAAG,qBAAqB,GAAG,gBAAgB,CAAA;AAEnF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;gBAEP,IAAI,EAAE,qBAAqB;IA2BvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAalC,cAAc,IAAI,IAAI;IAUtB,SAAS,IAAI,MAAM;IAUnB,QAAQ,IAAI,MAAM;CAuBnB"}
|
|
@@ -75,6 +75,12 @@ export class FunctionParameter {
|
|
|
75
75
|
return `${name}${required ? '' : '?'}: ${typeDefinition.identifier}`;
|
|
76
76
|
})
|
|
77
77
|
.with({ type: 'destructured' }, ({ typeDefinition }) => {
|
|
78
|
+
if (this.skipEmpty) {
|
|
79
|
+
const isEmpty = Object.keys(typeDefinition.value.objectProperties?.properties ?? {}).length === 0;
|
|
80
|
+
if (isEmpty) {
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
78
84
|
return List.toKeyValue(toDestructured(typeDefinition, { skipEmpty: this.skipEmpty }).toString(), typeDefinition.identifier).toString();
|
|
79
85
|
})
|
|
80
86
|
.exhaustive();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skmtc/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.544",
|
|
4
4
|
"main": "./script/mod.js",
|
|
5
5
|
"module": "./esm/mod.js",
|
|
6
6
|
"exports": {
|
|
@@ -65,8 +65,10 @@
|
|
|
65
65
|
"@sentry/deno": "8.47.0",
|
|
66
66
|
"@types/babel__helper-validator-identifier": "7.15.2",
|
|
67
67
|
"@types/lodash-es": "4.17.12",
|
|
68
|
+
"@types/swagger2openapi": "7.0.4",
|
|
68
69
|
"lodash-es": "4.17.21",
|
|
69
70
|
"openapi-types": "12.1.3",
|
|
71
|
+
"swagger2openapi": "7.0.8",
|
|
70
72
|
"tiny-invariant": "1.3.3",
|
|
71
73
|
"ts-pattern": "5.6.0",
|
|
72
74
|
"zod": "3.24.1",
|
|
@@ -8,7 +8,7 @@ import type { ResultType } from '../types/Results.js';
|
|
|
8
8
|
import * as log from '../deps/jsr.io/@std/log/0.224.8/mod.js';
|
|
9
9
|
import type { GeneratorKey } from '../types/GeneratorKeys.js';
|
|
10
10
|
import type { GeneratorType, GeneratorsMap } from '../types/GeneratorType.js';
|
|
11
|
-
import { Preview } from '../types/Preview.js';
|
|
11
|
+
import type { Preview } from '../types/Preview.js';
|
|
12
12
|
export type ParsePhase = {
|
|
13
13
|
type: 'parse';
|
|
14
14
|
context: ParseContext;
|
|
@@ -36,17 +36,17 @@ export declare class CoreContext {
|
|
|
36
36
|
#private;
|
|
37
37
|
logger: log.Logger;
|
|
38
38
|
constructor({ spanId, logsPath }: CoreContextArgs);
|
|
39
|
-
parse(schema: string): {
|
|
39
|
+
parse(schema: string): Promise<{
|
|
40
40
|
oasDocument: OasDocument;
|
|
41
41
|
extensions: Record<string, unknown>;
|
|
42
|
-
}
|
|
43
|
-
transform({ schema, settings, toGeneratorsMap, prettier }: TransformArgs): {
|
|
42
|
+
}>;
|
|
43
|
+
transform({ schema, settings, toGeneratorsMap, prettier }: TransformArgs): Promise<{
|
|
44
44
|
results: import("../types/Results.js").ResultsItem;
|
|
45
45
|
files: Record<string, import("../types/Manifest.js").ManifestEntry>;
|
|
46
46
|
previews: Record<string, Record<string, Preview>>;
|
|
47
47
|
pinnable: Partial<Record<GeneratorKey, string>>;
|
|
48
48
|
artifacts: Record<string, string>;
|
|
49
|
-
}
|
|
49
|
+
}>;
|
|
50
50
|
trace<T>(token: string | string[], fn: () => T): T;
|
|
51
51
|
captureCurrentResult(result: ResultType): void;
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreContext.d.ts","sourceRoot":"","sources":["../../src/context/CoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAG7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAM7D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"CoreContext.d.ts","sourceRoot":"","sources":["../../src/context/CoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAG7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAM7D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAA;AAYrE,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAUD,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,eAAe,EAAE,CAAC,cAAc,OAAO,aAAa,CAClD,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CACf,CAAA;IACD,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAOD,qBAAa,WAAW;;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;gBAKN,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe;IAiD3C,KAAK,CAAC,MAAM,EAAE,MAAM;;;;IAapB,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,aAAa;;;;;;;IAsE9E,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAiClD,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;CAwB/C;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,GAAG,CAAC,SAAS,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAAG,MAAM,CAQnF"}
|
|
@@ -63,16 +63,16 @@ class CoreContext {
|
|
|
63
63
|
__classPrivateFieldSet(this, _CoreContext_results, new ResultsLog_js_1.ResultsLog(), "f");
|
|
64
64
|
this.logger = __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupLogger).call(this, { spanId, logsPath });
|
|
65
65
|
}
|
|
66
|
-
parse(schema) {
|
|
66
|
+
async parse(schema) {
|
|
67
67
|
__classPrivateFieldSet(this, _CoreContext_phase, __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupParsePhase).call(this, schema), "f");
|
|
68
|
-
const oasDocument = __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
68
|
+
const oasDocument = await __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
69
69
|
const extensions = __classPrivateFieldGet(this, _CoreContext_phase, "f").context.extentions;
|
|
70
70
|
return {
|
|
71
71
|
oasDocument,
|
|
72
72
|
extensions
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
-
transform({ schema, settings, toGeneratorsMap, prettier }) {
|
|
75
|
+
async transform({ schema, settings, toGeneratorsMap, prettier }) {
|
|
76
76
|
// Temp workaround to extract generator keys during
|
|
77
77
|
// 'render' by invoking a callback passed during 'generate'
|
|
78
78
|
try {
|
|
@@ -81,9 +81,9 @@ class CoreContext {
|
|
|
81
81
|
__classPrivateFieldGet(this, _CoreContext_phase, "f").context.addGeneratorKey({ generatorKey });
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
|
-
const oasDocument = this.trace('parse', () => {
|
|
84
|
+
const oasDocument = await this.trace('parse', async () => {
|
|
85
85
|
__classPrivateFieldSet(this, _CoreContext_phase, __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupParsePhase).call(this, schema), "f");
|
|
86
|
-
return __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
86
|
+
return await __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
87
87
|
});
|
|
88
88
|
const { files, previews } = this.trace('generate', () => {
|
|
89
89
|
__classPrivateFieldSet(this, _CoreContext_phase, __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupGeneratePhase).call(this, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { OpenAPIV3 } from 'openapi-types';
|
|
1
|
+
import type { OpenAPIV2, OpenAPIV3, OpenAPIV3_1 } from 'openapi-types';
|
|
2
2
|
import { OasDocument } from '../oas/document/Document.js';
|
|
3
3
|
import type * as log from '../deps/jsr.io/@std/log/0.224.8/mod.js';
|
|
4
4
|
import type { StackTrail } from './StackTrail.js';
|
|
@@ -24,11 +24,12 @@ export declare class ParseContext {
|
|
|
24
24
|
stackTrail: StackTrail;
|
|
25
25
|
extentions: Record<string, unknown>;
|
|
26
26
|
constructor({ schema, logger, stackTrail }: ConstructorArgs);
|
|
27
|
-
parse(): OasDocument
|
|
27
|
+
parse(): Promise<OasDocument>;
|
|
28
28
|
trace<T>(token: string | string[], fn: () => T): T;
|
|
29
29
|
registerExtension({ extensionFields, stackTrail, type }: RegisterExtensionArgs): void;
|
|
30
30
|
logSkippedFields(skipped: Record<string, unknown>): void;
|
|
31
31
|
}
|
|
32
|
-
export declare const
|
|
32
|
+
export declare const stringToSchema: (schema: string) => OpenAPIV2.Document | OpenAPIV3.Document | OpenAPIV3_1.Document;
|
|
33
|
+
export declare const toV3Document: (schema: OpenAPIV2.Document | OpenAPIV3.Document | OpenAPIV3_1.Document) => Promise<OpenAPIV3.Document>;
|
|
33
34
|
export {};
|
|
34
35
|
//# sourceMappingURL=ParseContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAUjD,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC,CAAA;AAED,qBAAa,YAAY;;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;IAClB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAEvB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,eAAe;IAQrD,KAAK;IAOX,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAiBlD,iBAAiB,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,qBAAqB,GAAG,IAAI;IAIrF,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUlD;AAED,eAAO,MAAM,cAAc,WACjB,MAAM,KACb,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAMxD,CAAA;AAED,eAAO,MAAM,YAAY,WACf,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,KACrE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAsB5B,CAAA"}
|
|
@@ -1,42 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
26
3
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
27
4
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
28
5
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
29
6
|
};
|
|
30
|
-
var
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
var _ParseContext_instances, _ParseContext_parseDocument;
|
|
31
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.
|
|
12
|
+
exports.toV3Document = exports.stringToSchema = exports.ParseContext = void 0;
|
|
33
13
|
const lodash_es_1 = require("lodash-es");
|
|
34
|
-
const Sentry = __importStar(require("@sentry/deno"));
|
|
35
14
|
const mod_js_1 = require("../deps/jsr.io/@std/yaml/0.215.0/mod.js");
|
|
36
15
|
const toDocumentFieldsV3_js_1 = require("../oas/document/toDocumentFieldsV3.js");
|
|
37
16
|
const Document_js_1 = require("../oas/document/Document.js");
|
|
38
17
|
const tracer_js_1 = require("../helpers/tracer.js");
|
|
39
18
|
const openapi_down_convert_1 = require("@apiture/openapi-down-convert");
|
|
19
|
+
const ts_pattern_1 = require("ts-pattern");
|
|
20
|
+
const swagger2openapi_1 = __importDefault(require("swagger2openapi"));
|
|
40
21
|
class ParseContext {
|
|
41
22
|
constructor({ schema, logger, stackTrail }) {
|
|
42
23
|
_ParseContext_instances.add(this);
|
|
@@ -76,19 +57,10 @@ class ParseContext {
|
|
|
76
57
|
this.extentions = {};
|
|
77
58
|
this.oasDocument = new Document_js_1.OasDocument();
|
|
78
59
|
}
|
|
79
|
-
parse() {
|
|
80
|
-
const documentObject =
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
verbose: false,
|
|
84
|
-
deleteExampleWithId: false,
|
|
85
|
-
allOfTransform: true
|
|
86
|
-
};
|
|
87
|
-
const converter = new openapi_down_convert_1.Converter(documentObject, options);
|
|
88
|
-
const oas30Document = converter.convert();
|
|
89
|
-
return __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseDocument).call(this, oas30Document);
|
|
90
|
-
}
|
|
91
|
-
return __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseDocument).call(this, documentObject);
|
|
60
|
+
async parse() {
|
|
61
|
+
const documentObject = (0, exports.stringToSchema)(this.schema);
|
|
62
|
+
const oas30Document = await (0, exports.toV3Document)(documentObject);
|
|
63
|
+
return __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseDocument).call(this, oas30Document);
|
|
92
64
|
}
|
|
93
65
|
trace(token, fn) {
|
|
94
66
|
return (0, tracer_js_1.tracer)(this.stackTrail, token, fn);
|
|
@@ -107,10 +79,7 @@ class ParseContext {
|
|
|
107
79
|
}
|
|
108
80
|
}
|
|
109
81
|
exports.ParseContext = ParseContext;
|
|
110
|
-
_ParseContext_instances = new WeakSet(),
|
|
111
|
-
const documentObject = Sentry.startSpan({ name: 'Parse string schema to object' }, () => (0, exports.parseSchema)(this.schema));
|
|
112
|
-
return documentObject;
|
|
113
|
-
}, _ParseContext_parseDocument = function _ParseContext_parseDocument(documentObject) {
|
|
82
|
+
_ParseContext_instances = new WeakSet(), _ParseContext_parseDocument = function _ParseContext_parseDocument(documentObject) {
|
|
114
83
|
if (!documentObject.openapi.startsWith('3.0.')) {
|
|
115
84
|
throw new Error('Only OpenAPI v3 is supported');
|
|
116
85
|
}
|
|
@@ -120,7 +89,7 @@ _ParseContext_instances = new WeakSet(), _ParseContext_parseSchema = function _P
|
|
|
120
89
|
});
|
|
121
90
|
return this.oasDocument;
|
|
122
91
|
};
|
|
123
|
-
const
|
|
92
|
+
const stringToSchema = (schema) => {
|
|
124
93
|
if (schema.trimStart().startsWith('{')) {
|
|
125
94
|
return JSON.parse(schema);
|
|
126
95
|
}
|
|
@@ -128,4 +97,25 @@ const parseSchema = (schema) => {
|
|
|
128
97
|
return (0, mod_js_1.parse)(schema);
|
|
129
98
|
}
|
|
130
99
|
};
|
|
131
|
-
exports.
|
|
100
|
+
exports.stringToSchema = stringToSchema;
|
|
101
|
+
const toV3Document = async (schema) => {
|
|
102
|
+
return await (0, ts_pattern_1.match)(schema)
|
|
103
|
+
.with({ openapi: ts_pattern_1.P.string.startsWith('3.0.') }, doc => doc)
|
|
104
|
+
.with({ openapi: ts_pattern_1.P.string.startsWith('3.1.') }, doc => {
|
|
105
|
+
const options = {
|
|
106
|
+
verbose: false,
|
|
107
|
+
deleteExampleWithId: false,
|
|
108
|
+
allOfTransform: true
|
|
109
|
+
};
|
|
110
|
+
const converter = new openapi_down_convert_1.Converter(doc, options);
|
|
111
|
+
return converter.convert();
|
|
112
|
+
})
|
|
113
|
+
.with({ swagger: '2.0.0' }, async (doc) => {
|
|
114
|
+
const parsed = await swagger2openapi_1.default.convertObj(doc, {});
|
|
115
|
+
return parsed;
|
|
116
|
+
})
|
|
117
|
+
.otherwise(() => {
|
|
118
|
+
throw new Error('Unrecognized OpenAPI version');
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
exports.toV3Document = toV3Document;
|
|
@@ -12,9 +12,9 @@ type TransformArgs = {
|
|
|
12
12
|
toGeneratorsMap: <EnrichmentType>() => GeneratorsMap<GeneratorType<EnrichmentType>, EnrichmentType>;
|
|
13
13
|
startAt: number;
|
|
14
14
|
};
|
|
15
|
-
export declare const transform: ({ traceId, spanId, schema, settings, prettier, toGeneratorsMap, logsPath, startAt }: TransformArgs) => {
|
|
15
|
+
export declare const transform: ({ traceId, spanId, schema, settings, prettier, toGeneratorsMap, logsPath, startAt }: TransformArgs) => Promise<{
|
|
16
16
|
artifacts: Record<string, string>;
|
|
17
17
|
manifest: ManifestContent;
|
|
18
|
-
}
|
|
18
|
+
}>;
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/run/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE7E,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,CAAC,cAAc,OAAO,aAAa,CAClD,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CACf,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,SAAS,wFASnB,aAAa;;;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/run/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE7E,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,CAAC,cAAc,OAAO,aAAa,CAClD,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CACf,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,SAAS,wFASnB,aAAa;;;EAwBf,CAAA"}
|
package/script/run/transform.js
CHANGED
|
@@ -26,9 +26,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.transform = void 0;
|
|
27
27
|
const dntShim = __importStar(require("../_dnt.shims.js"));
|
|
28
28
|
const CoreContext_js_1 = require("../context/CoreContext.js");
|
|
29
|
-
const transform = ({ traceId, spanId, schema, settings, prettier, toGeneratorsMap, logsPath, startAt }) => {
|
|
29
|
+
const transform = async ({ traceId, spanId, schema, settings, prettier, toGeneratorsMap, logsPath, startAt }) => {
|
|
30
30
|
const context = new CoreContext_js_1.CoreContext({ spanId, logsPath });
|
|
31
|
-
const { artifacts, files, previews, pinnable, results } = context.transform({
|
|
31
|
+
const { artifacts, files, previews, pinnable, results } = await context.transform({
|
|
32
32
|
settings,
|
|
33
33
|
toGeneratorsMap,
|
|
34
34
|
prettier,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionParameter.d.ts","sourceRoot":"","sources":["../../src/typescript/FunctionParameter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAwB,MAAM,WAAW,CAAA;AAGtD,KAAK,qBAAqB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,mBAAmB,GAAG,aAAa,GAAG,qBAAqB,GAAG,gBAAgB,CAAA;AAEnF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;gBAEP,IAAI,EAAE,qBAAqB;IA2BvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAalC,cAAc,IAAI,IAAI;IAUtB,SAAS,IAAI,MAAM;IAUnB,QAAQ,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"FunctionParameter.d.ts","sourceRoot":"","sources":["../../src/typescript/FunctionParameter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAwB,MAAM,WAAW,CAAA;AAGtD,KAAK,qBAAqB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,mBAAmB,GAAG,aAAa,GAAG,qBAAqB,GAAG,gBAAgB,CAAA;AAEnF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;gBAEP,IAAI,EAAE,qBAAqB;IA2BvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAalC,cAAc,IAAI,IAAI;IAUtB,SAAS,IAAI,MAAM;IAUnB,QAAQ,IAAI,MAAM;CAuBnB"}
|
|
@@ -78,6 +78,12 @@ class FunctionParameter {
|
|
|
78
78
|
return `${name}${required ? '' : '?'}: ${typeDefinition.identifier}`;
|
|
79
79
|
})
|
|
80
80
|
.with({ type: 'destructured' }, ({ typeDefinition }) => {
|
|
81
|
+
if (this.skipEmpty) {
|
|
82
|
+
const isEmpty = Object.keys(typeDefinition.value.objectProperties?.properties ?? {}).length === 0;
|
|
83
|
+
if (isEmpty) {
|
|
84
|
+
return '';
|
|
85
|
+
}
|
|
86
|
+
}
|
|
81
87
|
return List_js_1.List.toKeyValue(toDestructured(typeDefinition, { skipEmpty: this.skipEmpty }).toString(), typeDefinition.identifier).toString();
|
|
82
88
|
})
|
|
83
89
|
.exhaustive();
|