@skmtc/core 0.0.543 → 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.
@@ -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;AAE7C,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;IAiDjD,KAAK,CAAC,MAAM,EAAE,MAAM;;;;IAapB,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,aAAa;;;;;;;IAsExE,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"}
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 parseSchema: (schema: string) => OpenAPIV3.Document<{}>;
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;AAI9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIjD,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;IAQ3D,KAAK;IA6BL,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,WAAW,WAAY,MAAM,2BAMzC,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, _ParseContext_parseSchema, _ParseContext_parseDocument;
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 = __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseSchema).call(this);
55
- if (documentObject?.openapi?.startsWith('3.1')) {
56
- const options = {
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(), _ParseContext_parseSchema = function _ParseContext_parseSchema() {
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 parseSchema = (schema) => {
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
+ };
@@ -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;;;CAwBf,CAAA"}
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"}
@@ -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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skmtc/core",
3
- "version": "0.0.543",
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;AAE7C,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;IAiDjD,KAAK,CAAC,MAAM,EAAE,MAAM;;;;IAapB,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,aAAa;;;;;;;IAsExE,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"}
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 parseSchema: (schema: string) => OpenAPIV3.Document<{}>;
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;AAI9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIjD,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;IAQ3D,KAAK;IA6BL,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,WAAW,WAAY,MAAM,2BAMzC,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 _ParseContext_instances, _ParseContext_parseSchema, _ParseContext_parseDocument;
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.parseSchema = exports.ParseContext = void 0;
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 = __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseSchema).call(this);
81
- if (documentObject?.openapi?.startsWith('3.1')) {
82
- const options = {
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(), _ParseContext_parseSchema = function _ParseContext_parseSchema() {
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 parseSchema = (schema) => {
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.parseSchema = parseSchema;
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;;;CAwBf,CAAA"}
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"}
@@ -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,