@skmtc/core 0.0.295 → 0.0.297

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/esm/context/CoreContext.d.ts +27 -54
  2. package/esm/context/CoreContext.d.ts.map +1 -1
  3. package/esm/context/CoreContext.js +103 -139
  4. package/esm/context/GenerateContext.d.ts +6 -4
  5. package/esm/context/GenerateContext.d.ts.map +1 -1
  6. package/esm/context/GenerateContext.js +84 -6
  7. package/esm/context/ParseContext.d.ts +11 -11
  8. package/esm/context/ParseContext.d.ts.map +1 -1
  9. package/esm/context/ParseContext.js +51 -5
  10. package/esm/context/RenderContext.d.ts +7 -19
  11. package/esm/context/RenderContext.d.ts.map +1 -1
  12. package/esm/context/RenderContext.js +55 -85
  13. package/esm/context/ResultsHandler.d.ts.map +1 -1
  14. package/esm/context/ResultsHandler.js +2 -6
  15. package/esm/context/StackTrail.d.ts +10 -0
  16. package/esm/context/StackTrail.d.ts.map +1 -0
  17. package/esm/context/StackTrail.js +68 -0
  18. package/esm/context/types.d.ts +13 -1
  19. package/esm/context/types.d.ts.map +1 -1
  20. package/esm/generate/generate.d.ts +6 -3
  21. package/esm/generate/generate.d.ts.map +1 -1
  22. package/esm/generate/generate.js +18 -45
  23. package/esm/mod.d.ts +0 -1
  24. package/esm/mod.d.ts.map +1 -1
  25. package/esm/mod.js +0 -1
  26. package/esm/oas/operation/Operation.d.ts +1 -1
  27. package/esm/oas/operation/Operation.d.ts.map +1 -1
  28. package/esm/oas/operation/Operation.js +1 -1
  29. package/esm/server/createServer.d.ts.map +1 -1
  30. package/esm/server/createServer.js +12 -13
  31. package/esm/types/Manifest.d.ts +11 -43
  32. package/esm/types/Manifest.d.ts.map +1 -1
  33. package/esm/types/Manifest.js +1 -5
  34. package/package.json +1 -1
  35. package/script/context/CoreContext.d.ts +27 -54
  36. package/script/context/CoreContext.d.ts.map +1 -1
  37. package/script/context/CoreContext.js +103 -139
  38. package/script/context/GenerateContext.d.ts +6 -4
  39. package/script/context/GenerateContext.d.ts.map +1 -1
  40. package/script/context/GenerateContext.js +106 -5
  41. package/script/context/ParseContext.d.ts +11 -11
  42. package/script/context/ParseContext.d.ts.map +1 -1
  43. package/script/context/ParseContext.js +76 -6
  44. package/script/context/RenderContext.d.ts +7 -19
  45. package/script/context/RenderContext.d.ts.map +1 -1
  46. package/script/context/RenderContext.js +55 -85
  47. package/script/context/ResultsHandler.d.ts.map +1 -1
  48. package/script/context/ResultsHandler.js +2 -6
  49. package/script/context/StackTrail.d.ts +10 -0
  50. package/script/context/StackTrail.d.ts.map +1 -0
  51. package/script/context/StackTrail.js +72 -0
  52. package/script/context/types.d.ts +13 -1
  53. package/script/context/types.d.ts.map +1 -1
  54. package/script/generate/generate.d.ts +6 -3
  55. package/script/generate/generate.d.ts.map +1 -1
  56. package/script/generate/generate.js +19 -47
  57. package/script/mod.d.ts +0 -1
  58. package/script/mod.d.ts.map +1 -1
  59. package/script/mod.js +0 -1
  60. package/script/oas/operation/Operation.d.ts +1 -1
  61. package/script/oas/operation/Operation.d.ts.map +1 -1
  62. package/script/oas/operation/Operation.js +1 -1
  63. package/script/server/createServer.d.ts.map +1 -1
  64. package/script/server/createServer.js +11 -12
  65. package/script/types/Manifest.d.ts +11 -43
  66. package/script/types/Manifest.d.ts.map +1 -1
  67. package/script/types/Manifest.js +1 -5
  68. package/esm/generate/generateModels.d.ts +0 -3
  69. package/esm/generate/generateModels.d.ts.map +0 -1
  70. package/esm/generate/generateModels.js +0 -44
  71. package/esm/generate/generateOperations.d.ts +0 -3
  72. package/esm/generate/generateOperations.d.ts.map +0 -1
  73. package/esm/generate/generateOperations.js +0 -53
  74. package/esm/parse/parse.d.ts +0 -4
  75. package/esm/parse/parse.d.ts.map +0 -1
  76. package/esm/parse/parse.js +0 -16
  77. package/script/generate/generateModels.d.ts +0 -3
  78. package/script/generate/generateModels.d.ts.map +0 -1
  79. package/script/generate/generateModels.js +0 -71
  80. package/script/generate/generateOperations.d.ts +0 -3
  81. package/script/generate/generateOperations.d.ts.map +0 -1
  82. package/script/generate/generateOperations.js +0 -80
  83. package/script/parse/parse.d.ts +0 -4
  84. package/script/parse/parse.d.ts.map +0 -1
  85. package/script/parse/parse.js +0 -20
@@ -1,15 +1,15 @@
1
1
  import type { OpenAPIV3 } from 'openapi-types';
2
- import type { Trail } from './Trail.js';
3
- type ParseContextArgs = {
4
- parsedDocument: OpenAPIV3.Document;
5
- };
2
+ import { StackTrail } from './StackTrail.js';
3
+ import type { CoreContext } from './CoreContext.js';
4
+ import type { OasDocument } from '../oas/document/Document.js';
6
5
  export declare class ParseContext {
7
- parsedDocument: OpenAPIV3.Document;
8
- refDiffs: Promise<{
9
- trail: Trail;
10
- key: string;
11
- }>[];
12
- constructor({ parsedDocument }: ParseContextArgs);
6
+ #private;
7
+ schema: string;
8
+ stackTrail: StackTrail;
9
+ constructor(schema: string);
10
+ parse(context: CoreContext): OasDocument;
11
+ appendStackTrailChunk(frame: string | string[] | StackTrail): void;
12
+ removeStackTrailChunk(frame: string | string[] | StackTrail): void;
13
13
  }
14
- export {};
14
+ export declare const parseSchema: (schema: string) => OpenAPIV3.Document<{}>;
15
15
  //# sourceMappingURL=ParseContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,KAAK,gBAAgB,GAAG;IACtB,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAA;CACnC,CAAA;AAED,qBAAa,YAAY;IACvB,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAA;IAClC,QAAQ,EAAE,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;gBAEtC,EAAE,cAAc,EAAE,EAAE,gBAAgB;CAIjD"}
1
+ {"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAK5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D,qBAAa,YAAY;;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;gBAEV,MAAM,EAAE,MAAM;IAK1B,KAAK,CAAC,OAAO,EAAE,WAAW;IAkC1B,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU;IAI3D,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU;CAG5D;AAED,eAAO,MAAM,WAAW,WAAY,MAAM,2BAMzC,CAAA"}
@@ -1,18 +1,64 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _ParseContext_instances, _ParseContext_parseSchema, _ParseContext_parseDocument;
7
+ import { StackTrail } from './StackTrail.js';
8
+ import * as Sentry from '@sentry/deno';
9
+ import { parse as parseYaml } from '../deps/jsr.io/@std/yaml/0.215.0/mod.js';
10
+ import { toDocumentV3 } from '../oas/document/toDocumentV3.js';
11
+ import { Trail } from './Trail.js';
1
12
  export class ParseContext {
2
- constructor({ parsedDocument }) {
3
- Object.defineProperty(this, "parsedDocument", {
13
+ constructor(schema) {
14
+ _ParseContext_instances.add(this);
15
+ Object.defineProperty(this, "schema", {
4
16
  enumerable: true,
5
17
  configurable: true,
6
18
  writable: true,
7
19
  value: void 0
8
20
  });
9
- Object.defineProperty(this, "refDiffs", {
21
+ Object.defineProperty(this, "stackTrail", {
10
22
  enumerable: true,
11
23
  configurable: true,
12
24
  writable: true,
13
25
  value: void 0
14
26
  });
15
- this.parsedDocument = parsedDocument;
16
- this.refDiffs = [];
27
+ this.schema = schema;
28
+ this.stackTrail = new StackTrail();
29
+ }
30
+ parse(context) {
31
+ const parsedDocument = __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseSchema).call(this);
32
+ return __classPrivateFieldGet(this, _ParseContext_instances, "m", _ParseContext_parseDocument).call(this, context, parsedDocument);
33
+ }
34
+ appendStackTrailChunk(frame) {
35
+ this.stackTrail.append(frame);
36
+ }
37
+ removeStackTrailChunk(frame) {
38
+ this.stackTrail.remove(frame);
17
39
  }
18
40
  }
41
+ _ParseContext_instances = new WeakSet(), _ParseContext_parseSchema = function _ParseContext_parseSchema() {
42
+ const parsedDocument = Sentry.startSpan({ name: 'Parse schema to document' }, () => parseSchema(this.schema));
43
+ return parsedDocument;
44
+ }, _ParseContext_parseDocument = function _ParseContext_parseDocument(context, parsedDocument) {
45
+ const trail = new Trail({
46
+ document: parsedDocument
47
+ });
48
+ if (!parsedDocument.openapi.startsWith('3.0.')) {
49
+ throw new Error('Only OpenAPI v3 is supported');
50
+ }
51
+ return toDocumentV3({
52
+ document: parsedDocument,
53
+ trail,
54
+ context
55
+ });
56
+ };
57
+ export const parseSchema = (schema) => {
58
+ if (schema.trimStart().startsWith('{')) {
59
+ return JSON.parse(schema);
60
+ }
61
+ else {
62
+ return parseYaml(schema);
63
+ }
64
+ };
@@ -1,13 +1,10 @@
1
1
  import type { PrettierConfigType } from '../types/prettierConfig.js';
2
- import type { AddGeneratorKeyArgs, FileContents, RenderDependencies, RenderOptions } from './types.js';
2
+ import type { AddGeneratorKeyArgs, FileContents, RenderDependencies, RenderOptions, RenderResult } from './types.js';
3
3
  import type { ClientSettings } from '../types/Settings.js';
4
4
  import type { Definition } from '../dsl/Definition.js';
5
5
  import type { PickArgs } from './GenerateContext.js';
6
- import type { ManifestContent, Results } from '../types/Manifest.js';
6
+ import { StackTrail } from './StackTrail.js';
7
7
  type ConstructorArgs = {
8
- spanId: string;
9
- traceId: string;
10
- results: Results;
11
8
  files: Map<string, FileContents>;
12
9
  packageDependencies: Map<string, string>;
13
10
  prettier?: PrettierConfigType;
@@ -15,19 +12,7 @@ type ConstructorArgs = {
15
12
  renderDependencies: RenderDependencies;
16
13
  pinnableGenerators: string[];
17
14
  };
18
- export type FilesRenderResult = {
19
- artifacts: Record<string, string>;
20
- manifest: Omit<ManifestContent, 'startAt' | 'endAt'>;
21
- };
22
- export type RenderResult = {
23
- artifacts: Record<string, string>;
24
- manifest: ManifestContent;
25
- renderDependencies: Record<string, string[]>;
26
- };
27
15
  export declare class RenderContext {
28
- #private;
29
- traceId: string;
30
- spanId: string;
31
16
  files: Map<string, FileContents>;
32
17
  renderDependencies: RenderDependencies;
33
18
  packageDependencies: Map<string, string>;
@@ -35,9 +20,12 @@ export declare class RenderContext {
35
20
  settings: ClientSettings | undefined;
36
21
  currentDestinationPath: string | 'PRE_RENDER' | 'POST_RENDER';
37
22
  pinnableGenerators: string[];
38
- constructor({ traceId, spanId, results, files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }: ConstructorArgs);
23
+ stackTrail: StackTrail;
24
+ constructor({ files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }: ConstructorArgs);
25
+ appendStackTrailChunk(chunk: string): void;
26
+ removeStackTrailChunk(chunk: string): void;
39
27
  toPackageJson(): string;
40
- render({ packageJson, startAt }: RenderOptions): RenderResult;
28
+ render({ packageJson }: RenderOptions): Omit<RenderResult, 'results'>;
41
29
  private collate;
42
30
  getFile(filePath: string): FileContents;
43
31
  addGeneratorKey({ generatorKey }: AddGeneratorKeyArgs): void;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGpE,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,eAAe,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IAEd,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,sBAAsB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAA;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAA;gBAChB,EACV,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,EAAE,eAAe;IAgBlB,aAAa,IAAI,MAAM;IAQvB,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,aAAa,GAAG,YAAY;IAqC7D,OAAO,CAAC,OAAO;IA+Df,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAavC,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB;IAarD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAG7D"}
1
+ {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EAEZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAIpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,qBAAa,aAAa;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,sBAAsB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAA;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,UAAU,EAAE,UAAU,CAAA;gBAEV,EACV,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,EAAE,eAAe;IAYlB,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAInC,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAInC,aAAa,IAAI,MAAM;IAQvB,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAmCrE,OAAO,CAAC,OAAO;IAsDf,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAavC,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB;IAarD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAG7D"}
@@ -1,36 +1,11 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- 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");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _RenderContext_results;
13
- import * as dntShim from "../_dnt.shims.js";
14
1
  import * as Sentry from '@sentry/deno';
15
2
  import { Import } from '../dsl/Import.js';
16
3
  import invariant from 'tiny-invariant';
17
4
  import { normalize } from '../deps/jsr.io/@std/path/1.0.0/mod.js';
18
5
  import { toResolvedArtifactPath } from '../helpers/toResolvedArtifactPath.js';
6
+ import { StackTrail } from './StackTrail.js';
19
7
  export class RenderContext {
20
- constructor({ traceId, spanId, results, files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }) {
21
- Object.defineProperty(this, "traceId", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: void 0
26
- });
27
- Object.defineProperty(this, "spanId", {
28
- enumerable: true,
29
- configurable: true,
30
- writable: true,
31
- value: void 0
32
- });
33
- _RenderContext_results.set(this, void 0);
8
+ constructor({ files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }) {
34
9
  Object.defineProperty(this, "files", {
35
10
  enumerable: true,
36
11
  configurable: true,
@@ -73,12 +48,13 @@ export class RenderContext {
73
48
  writable: true,
74
49
  value: void 0
75
50
  });
76
- this.traceId = traceId;
77
- this.spanId = spanId;
78
- __classPrivateFieldSet(this, _RenderContext_results, results, "f");
79
- // Above three properties might be better off staying in CoreContext
80
- // and RenderContext sending its data up to CoreContext for manifest to be
81
- // generated there
51
+ Object.defineProperty(this, "stackTrail", {
52
+ enumerable: true,
53
+ configurable: true,
54
+ writable: true,
55
+ value: void 0
56
+ });
57
+ this.stackTrail = new StackTrail();
82
58
  this.currentDestinationPath = 'PRE_RENDER';
83
59
  this.renderDependencies = renderDependencies;
84
60
  this.files = files;
@@ -87,42 +63,46 @@ export class RenderContext {
87
63
  this.settings = settings;
88
64
  this.pinnableGenerators = pinnableGenerators;
89
65
  }
66
+ appendStackTrailChunk(chunk) {
67
+ this.stackTrail.append(chunk);
68
+ }
69
+ removeStackTrailChunk(chunk) {
70
+ this.stackTrail.remove(chunk);
71
+ }
90
72
  toPackageJson() {
91
73
  const dependencies = Object.fromEntries(this.packageDependencies.entries());
92
74
  const packageJson = JSON.stringify({ dependencies }, null, 2);
93
75
  return packageJson;
94
76
  }
95
- render({ packageJson, startAt }) {
96
- const result = Sentry.startSpan({ name: 'Collate content' }, () => {
97
- return this.collate();
98
- });
99
- const renderDependenciesEntries = [
100
- ...this.renderDependencies.entries()
101
- ].map(([generatorId, dependencyGeneratorKeys]) => {
102
- return [generatorId, Array.from(dependencyGeneratorKeys)];
103
- });
104
- const renderDependencies = Object.fromEntries(renderDependenciesEntries);
105
- const pinnable = Sentry.startSpan({ name: 'Generate pinnable' }, () => {
106
- return generatePinnable({
107
- pinnableGenerators: this.pinnableGenerators,
108
- manifest: result.manifest
77
+ render({ packageJson }) {
78
+ return Sentry.startSpan({ name: 'Render artifacts' }, () => {
79
+ const result = Sentry.startSpan({ name: 'Collate content' }, () => {
80
+ return this.collate();
109
81
  });
110
- });
111
- return {
112
- artifacts: packageJson
113
- ? {
114
- ...result.artifacts,
115
- 'package.json': this.toPackageJson()
116
- }
117
- : result.artifacts,
118
- manifest: {
119
- ...result.manifest,
82
+ const renderDependenciesEntries = [
83
+ ...this.renderDependencies.entries()
84
+ ].map(([generatorId, dependencyGeneratorKeys]) => {
85
+ return [generatorId, Array.from(dependencyGeneratorKeys)];
86
+ });
87
+ const renderDependencies = Object.fromEntries(renderDependenciesEntries);
88
+ const pinnable = Sentry.startSpan({ name: 'Generate pinnable' }, () => {
89
+ return generatePinnable({
90
+ pinnableGenerators: this.pinnableGenerators,
91
+ files: result.files
92
+ });
93
+ });
94
+ return {
95
+ artifacts: packageJson
96
+ ? {
97
+ ...result.artifacts,
98
+ 'package.json': this.toPackageJson()
99
+ }
100
+ : result.artifacts,
101
+ files: result.files,
120
102
  pinnable,
121
- startAt,
122
- endAt: Date.now()
123
- },
124
- renderDependencies
125
- };
103
+ renderDependencies
104
+ };
105
+ });
126
106
  }
127
107
  collate() {
128
108
  const fileEntries = Array.from(this.files.entries());
@@ -147,34 +127,25 @@ export class RenderContext {
147
127
  });
148
128
  }
149
129
  return resolvedFileObjects.reduce((acc, fileObject) => ({
130
+ ...acc,
150
131
  artifacts: {
151
132
  ...acc.artifacts,
152
133
  [fileObject.path]: fileObject.content
153
134
  },
154
- manifest: {
155
- ...acc.manifest,
156
- files: {
157
- ...acc.manifest.files,
158
- [fileObject.path]: {
159
- destinationPath: fileObject.destinationPath,
160
- numberOfLines: fileObject.numberOfLines,
161
- numberOfCharacters: fileObject.numberOfCharacters,
162
- hash: fileObject.hash,
163
- generatorKeys: fileObject.generatorKeys
164
- }
135
+ files: {
136
+ ...acc.files,
137
+ [fileObject.path]: {
138
+ destinationPath: fileObject.destinationPath,
139
+ numberOfLines: fileObject.numberOfLines,
140
+ numberOfCharacters: fileObject.numberOfCharacters,
141
+ hash: fileObject.hash,
142
+ generatorKeys: fileObject.generatorKeys
165
143
  }
166
144
  }
167
145
  }), {
168
146
  artifacts: {},
169
- manifest: {
170
- deploymentId: dntShim.Deno.env.get('DENO_DEPLOYMENT_ID') ?? 'NOT_SET',
171
- traceId: this.traceId,
172
- spanId: this.spanId,
173
- results: __classPrivateFieldGet(this, _RenderContext_results, "f"),
174
- region: dntShim.Deno.env.get('DENO_REGION'),
175
- files: {},
176
- pinnable: {}
177
- }
147
+ files: {},
148
+ pinnable: {}
178
149
  });
179
150
  }
180
151
  getFile(filePath) {
@@ -193,7 +164,6 @@ export class RenderContext {
193
164
  return this.getFile(exportPath).definitions.get(name);
194
165
  }
195
166
  }
196
- _RenderContext_results = new WeakMap();
197
167
  const renderFile = ({ file, destinationPath, basePath }) => {
198
168
  const imports = Array.from(file.imports.entries()).map(([module, importItems]) => new Import({ module, importNames: Array.from(importItems) }));
199
169
  const definitions = Array.from(file.definitions.values());
@@ -210,9 +180,9 @@ const renderFile = ({ file, destinationPath, basePath }) => {
210
180
  generatorKeys: Array.from(file.generatorKeys).filter(Boolean) // @TODO Fix null keys
211
181
  };
212
182
  };
213
- const generatePinnable = ({ pinnableGenerators, manifest }) => {
183
+ const generatePinnable = ({ pinnableGenerators, files }) => {
214
184
  const output = {};
215
- Object.values(manifest.files).forEach(entry => {
185
+ Object.values(files).forEach(entry => {
216
186
  entry.generatorKeys.forEach(generatorKey => {
217
187
  if (!output[generatorKey]) {
218
188
  output[generatorKey] = [];
@@ -1 +1 @@
1
- {"version":3,"file":"ResultsHandler.d.ts","sourceRoot":"","sources":["../../src/context/ResultsHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,2CAA2C,CAAA;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAA;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,OAAO,EAAE,WAAW,CAAA;CACrB;AAED,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,OAAO,EAAE,WAAW,CAAA;gBAMR,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB;IAMvD,KAAK;IAML,MAAM,CAAC,SAAS,EAAE,SAAS;IASpC,GAAG,CAAC,GAAG,EAAE,MAAM;IAmBf,KAAK;IAMI,OAAO;CAKjB"}
1
+ {"version":3,"file":"ResultsHandler.d.ts","sourceRoot":"","sources":["../../src/context/ResultsHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,2CAA2C,CAAA;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAA;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,OAAO,EAAE,WAAW,CAAA;CACrB;AAED,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,OAAO,EAAE,WAAW,CAAA;gBAMR,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB;IAMvD,KAAK;IAML,MAAM,CAAC,SAAS,EAAE,SAAS;IASpC,GAAG,CAAC,GAAG,EAAE,MAAM;IAcf,KAAK;IAMI,OAAO;CAKjB"}
@@ -35,13 +35,9 @@ export class ResultsHandler extends BaseHandler {
35
35
  }
36
36
  }
37
37
  log(msg) {
38
- const { phase, level, generatorKey } = JSON.parse(msg);
39
- if (phase === 'generate' && !generatorKey) {
40
- console.log('NO GENERATOR KEY', msg);
41
- }
38
+ const { level, stackTrail } = JSON.parse(msg);
42
39
  this.context.captureResult({
43
- phase,
44
- generatorKey,
40
+ stackTrail,
45
41
  result: match(level)
46
42
  .with('WARN', () => 'warning')
47
43
  .with('ERROR', () => 'error')
@@ -0,0 +1,10 @@
1
+ export declare class StackTrail {
2
+ #private;
3
+ constructor(stack?: string[]);
4
+ get stackTrail(): string[];
5
+ append(frame: string | string[] | StackTrail): StackTrail;
6
+ remove(frame: string | string[] | StackTrail): StackTrail;
7
+ static parse(value: string): StackTrail;
8
+ toString(): string;
9
+ }
10
+ //# sourceMappingURL=StackTrail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackTrail.d.ts","sourceRoot":"","sources":["../../src/context/StackTrail.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;;gBAGT,KAAK,GAAE,MAAM,EAAO;IAIhC,IAAI,UAAU,aAEb;IACD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU;IAsBzD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU;IA8BzD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAYvC,QAAQ;CAGT"}
@@ -0,0 +1,68 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ 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");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _StackTrail_stack;
13
+ export class StackTrail {
14
+ constructor(stack = []) {
15
+ _StackTrail_stack.set(this, void 0);
16
+ __classPrivateFieldSet(this, _StackTrail_stack, stack, "f");
17
+ }
18
+ get stackTrail() {
19
+ return __classPrivateFieldGet(this, _StackTrail_stack, "f");
20
+ }
21
+ append(frame) {
22
+ if (typeof frame === 'string') {
23
+ __classPrivateFieldGet(this, _StackTrail_stack, "f").push(frame);
24
+ return this;
25
+ }
26
+ if (Array.isArray(frame)) {
27
+ frame.forEach(p => this.append(p));
28
+ return this;
29
+ }
30
+ if (frame instanceof StackTrail) {
31
+ frame.stackTrail.forEach(p => this.append(p));
32
+ return this;
33
+ }
34
+ throw new Error(`Unexpected stack frame: ${frame}`);
35
+ }
36
+ remove(frame) {
37
+ if (typeof frame === 'string') {
38
+ const lastItem = __classPrivateFieldGet(this, _StackTrail_stack, "f")[__classPrivateFieldGet(this, _StackTrail_stack, "f").length - 1];
39
+ if (lastItem !== frame) {
40
+ throw new Error(`Expected to remove frame '${frame}' but found '${lastItem}'`);
41
+ }
42
+ __classPrivateFieldGet(this, _StackTrail_stack, "f").pop();
43
+ return this;
44
+ }
45
+ if (Array.isArray(frame)) {
46
+ frame.toReversed().forEach(p => this.remove(p));
47
+ return this;
48
+ }
49
+ if (frame instanceof StackTrail) {
50
+ frame.stackTrail.toReversed().forEach(p => this.remove(p));
51
+ return this;
52
+ }
53
+ throw new Error(`Unexpected stack frame: ${frame}`);
54
+ }
55
+ static parse(value) {
56
+ const stack = value.split(':').map(item => {
57
+ if (!item) {
58
+ throw new Error(`Empty stack trail chunk in: ${value}`);
59
+ }
60
+ return item.replaceAll('%3A', ':');
61
+ });
62
+ return new StackTrail(stack);
63
+ }
64
+ toString() {
65
+ return __classPrivateFieldGet(this, _StackTrail_stack, "f").map(item => item.replaceAll(':', '%3A')).join(':');
66
+ }
67
+ }
68
+ _StackTrail_stack = new WeakMap();
@@ -1,5 +1,6 @@
1
1
  import type { Definition } from '../dsl/Definition.js';
2
2
  import type { GeneratorKey } from '../types/GeneratorKeys.js';
3
+ import type { ManifestEntry, SuccessWarningError } from '../types/Manifest.js';
3
4
  export type PhaseType = 'parse' | 'generate' | 'render';
4
5
  export type FileContents = {
5
6
  imports: Map<string, Set<string>>;
@@ -8,7 +9,6 @@ export type FileContents = {
8
9
  };
9
10
  export type RenderOptions = {
10
11
  packageJson?: boolean;
11
- startAt: number;
12
12
  };
13
13
  export type RenderDependencies = Map<string, Set<GeneratorKey>>;
14
14
  export type GetFileOptions = {
@@ -17,4 +17,16 @@ export type GetFileOptions = {
17
17
  export type AddGeneratorKeyArgs = {
18
18
  generatorKey: GeneratorKey;
19
19
  };
20
+ export type FilesRenderResult = {
21
+ artifacts: Record<string, string>;
22
+ files: Record<string, ManifestEntry>;
23
+ pinnable: Partial<Record<GeneratorKey, string>>;
24
+ };
25
+ export type RenderResult = {
26
+ artifacts: Record<string, string>;
27
+ files: Record<string, ManifestEntry>;
28
+ pinnable: Partial<Record<GeneratorKey, string>>;
29
+ renderDependencies: Record<string, string[]>;
30
+ results: Record<string, SuccessWarningError | undefined>;
31
+ };
20
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE9E,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC,CAAA;CACzD,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import type { ClientSettings } from '../types/Settings.js';
2
2
  import type { PrettierConfigType } from '../types/prettierConfig.js';
3
- import type { OpenAPIV3 } from 'openapi-types';
4
3
  import type { OperationGenerator } from '../dsl/OperationInsertable.js';
5
4
  import type { ModelGenerator } from '../dsl/ModelInsertable.js';
5
+ import type { ManifestContent } from '../types/Manifest.js';
6
6
  type GenerateArgs = {
7
7
  traceId: string;
8
8
  spanId: string;
@@ -12,7 +12,10 @@ type GenerateArgs = {
12
12
  generatorsMap: Record<string, OperationGenerator | ModelGenerator>;
13
13
  startAt: number;
14
14
  };
15
- export declare const generate: ({ traceId, spanId, schema, settings, prettier, generatorsMap, startAt }: GenerateArgs) => import("../context/RenderContext.js").FilesRenderResult;
16
- export declare const parseSchema: (schema: string) => OpenAPIV3.Document<{}>;
15
+ export declare const generate: ({ traceId, spanId, schema, settings, prettier, generatorsMap, startAt }: GenerateArgs) => {
16
+ artifacts: Record<string, string>;
17
+ renderDependencies: Record<string, string[]>;
18
+ manifest: ManifestContent;
19
+ };
17
20
  export {};
18
21
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate/generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK/D,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAAC,CAAA;IAClE,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,QAAQ,4EAQlB,YAAY,4DAqDd,CAAA;AAED,eAAO,MAAM,WAAW,WAAY,MAAM,2BAMzC,CAAA"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate/generate.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,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAAC,CAAA;IAClE,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,QAAQ,4EAQlB,YAAY;;;;CAuBd,CAAA"}
@@ -1,49 +1,22 @@
1
- import * as Sentry from '@sentry/deno';
2
- import { oasToSkmtc } from '../parse/parse.js';
3
- import { ParseContext } from '../context/ParseContext.js';
1
+ import * as dntShim from "../_dnt.shims.js";
4
2
  import { CoreContext } from '../context/CoreContext.js';
5
- import { generateModels } from './generateModels.js';
6
- import { generateOperations } from './generateOperations.js';
7
- import { parse as parseYaml } from '../deps/jsr.io/@std/yaml/0.215.0/mod.js';
8
3
  export const generate = ({ traceId, spanId, schema, settings, prettier, generatorsMap, startAt }) => {
9
- const parsedDocument = Sentry.startSpan({ name: 'Parse schema to document' }, () => parseSchema(schema));
10
- const parseContext = new ParseContext({
11
- parsedDocument
12
- });
13
- const context = new CoreContext({
14
- phase: { type: 'parse', context: parseContext },
4
+ const context = new CoreContext({ spanId, schema });
5
+ const { artifacts, files, renderDependencies, pinnable, results } = context.transform({ settings, generatorsMap, prettier });
6
+ const manifest = {
7
+ files,
8
+ pinnable,
15
9
  traceId,
16
- spanId
17
- });
18
- const schemaModel = Sentry.startSpan({ name: 'Schema document to object' }, () => oasToSkmtc(context));
19
- if (!schemaModel.openapi.startsWith('3.0.')) {
20
- throw new Error('Only OpenAPI v3 is supported');
21
- }
22
- context.setupGeneratePhase({
23
- schemaModel,
24
- generatorsMap,
25
- settings
26
- });
27
- // @TODO This feels like it belongs in GenerateContext
28
- Sentry.startSpan({ name: 'Generate operations' }, () => generateOperations(context));
29
- Sentry.startSpan({ name: 'Generate models' }, () => generateModels(context));
30
- context.setupRenderPhase({
31
- renderDependencies: context.renderDependencies,
32
- packageDependencies: context.packageDependencies,
33
- pinnableGenerators: Object.values(generatorsMap)
34
- .map(({ id, pinnable }) => (pinnable ? id : null))
35
- .filter(generatorId => generatorId !== null),
36
- prettier,
37
- settings
38
- });
39
- const renderResult = Sentry.startSpan({ name: 'Render artifacts' }, () => context.render({ startAt }));
40
- return renderResult;
41
- };
42
- export const parseSchema = (schema) => {
43
- if (schema.trimStart().startsWith('{')) {
44
- return JSON.parse(schema);
45
- }
46
- else {
47
- return parseYaml(schema);
48
- }
10
+ spanId,
11
+ results,
12
+ deploymentId: dntShim.Deno.env.get('DENO_DEPLOYMENT_ID') ?? 'NOT_SET',
13
+ region: dntShim.Deno.env.get('DENO_REGION'),
14
+ startAt,
15
+ endAt: Date.now()
16
+ };
17
+ return {
18
+ artifacts,
19
+ renderDependencies,
20
+ manifest
21
+ };
49
22
  };
package/esm/mod.d.ts CHANGED
@@ -36,7 +36,6 @@ export * from './oas/schema/Schema.js';
36
36
  export * from './oas/string/String.js';
37
37
  export * from './oas/tag/Tag.js';
38
38
  export * from './oas/void/Void.js';
39
- export * from './parse/parse.js';
40
39
  export * from './server/createServer.js';
41
40
  export * from './types/CustomValue.js';
42
41
  export * from './types/GeneratedValue.js';
package/esm/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qCAAqC,CAAA;AACnD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qCAAqC,CAAA;AACnD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
package/esm/mod.js CHANGED
@@ -36,7 +36,6 @@ export * from './oas/schema/Schema.js';
36
36
  export * from './oas/string/String.js';
37
37
  export * from './oas/tag/Tag.js';
38
38
  export * from './oas/void/Void.js';
39
- export * from './parse/parse.js';
40
39
  export * from './server/createServer.js';
41
40
  export * from './types/CustomValue.js';
42
41
  export * from './types/GeneratedValue.js';