@skmtc/core 0.0.296 → 0.0.298

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 +105 -137
  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 +56 -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 +13 -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 +105 -137
  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 +56 -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 +12 -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;IAqCrE,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,47 @@ 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
+ const rendered = {
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
+ return rendered;
106
+ });
126
107
  }
127
108
  collate() {
128
109
  const fileEntries = Array.from(this.files.entries());
@@ -147,34 +128,25 @@ export class RenderContext {
147
128
  });
148
129
  }
149
130
  return resolvedFileObjects.reduce((acc, fileObject) => ({
131
+ ...acc,
150
132
  artifacts: {
151
133
  ...acc.artifacts,
152
134
  [fileObject.path]: fileObject.content
153
135
  },
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
- }
136
+ files: {
137
+ ...acc.files,
138
+ [fileObject.path]: {
139
+ destinationPath: fileObject.destinationPath,
140
+ numberOfLines: fileObject.numberOfLines,
141
+ numberOfCharacters: fileObject.numberOfCharacters,
142
+ hash: fileObject.hash,
143
+ generatorKeys: fileObject.generatorKeys
165
144
  }
166
145
  }
167
146
  }), {
168
147
  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
- }
148
+ files: {},
149
+ pinnable: {}
178
150
  });
179
151
  }
180
152
  getFile(filePath) {
@@ -193,7 +165,6 @@ export class RenderContext {
193
165
  return this.getFile(exportPath).definitions.get(name);
194
166
  }
195
167
  }
196
- _RenderContext_results = new WeakMap();
197
168
  const renderFile = ({ file, destinationPath, basePath }) => {
198
169
  const imports = Array.from(file.imports.entries()).map(([module, importItems]) => new Import({ module, importNames: Array.from(importItems) }));
199
170
  const definitions = Array.from(file.definitions.values());
@@ -210,9 +181,9 @@ const renderFile = ({ file, destinationPath, basePath }) => {
210
181
  generatorKeys: Array.from(file.generatorKeys).filter(Boolean) // @TODO Fix null keys
211
182
  };
212
183
  };
213
- const generatePinnable = ({ pinnableGenerators, manifest }) => {
184
+ const generatePinnable = ({ pinnableGenerators, files }) => {
214
185
  const output = {};
215
- Object.values(manifest.files).forEach(entry => {
186
+ Object.values(files).forEach(entry => {
216
187
  entry.generatorKeys.forEach(generatorKey => {
217
188
  if (!output[generatorKey]) {
218
189
  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"}