@trapi/swagger 0.3.8 → 1.0.0-alpha.3

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 (152) hide show
  1. package/dist/config/index.d.ts +3 -0
  2. package/dist/config/index.d.ts.map +1 -0
  3. package/dist/config/index.js +25 -0
  4. package/dist/config/index.js.map +1 -0
  5. package/dist/config/type.d.ts +83 -0
  6. package/dist/config/type.d.ts.map +1 -0
  7. package/dist/config/type.js +9 -0
  8. package/dist/config/type.js.map +1 -0
  9. package/dist/config/utils.d.ts +3 -0
  10. package/dist/config/utils.d.ts.map +1 -0
  11. package/dist/config/utils.js +52 -0
  12. package/dist/config/utils.js.map +1 -0
  13. package/dist/constants.d.ts +15 -0
  14. package/dist/constants.d.ts.map +1 -0
  15. package/dist/constants.js +27 -0
  16. package/dist/constants.js.map +1 -0
  17. package/dist/generator/abstract.d.ts +27 -0
  18. package/dist/generator/abstract.d.ts.map +1 -0
  19. package/dist/{specification → generator}/abstract.js +68 -84
  20. package/dist/generator/abstract.js.map +1 -0
  21. package/dist/{specification → generator}/index.d.ts +0 -2
  22. package/dist/generator/index.d.ts.map +1 -0
  23. package/dist/{specification → generator}/index.js +1 -3
  24. package/dist/generator/index.js.map +1 -0
  25. package/dist/generator/module.d.ts +14 -0
  26. package/dist/generator/module.d.ts.map +1 -0
  27. package/dist/generator/module.js +35 -0
  28. package/dist/generator/module.js.map +1 -0
  29. package/dist/generator/v2/index.d.ts +2 -0
  30. package/dist/generator/v2/index.d.ts.map +1 -0
  31. package/dist/{specification/utils → generator/v2}/index.js +2 -2
  32. package/dist/generator/v2/index.js.map +1 -0
  33. package/dist/generator/v2/module.d.ts +25 -0
  34. package/dist/generator/v2/module.d.ts.map +1 -0
  35. package/dist/generator/v2/module.js +501 -0
  36. package/dist/generator/v2/module.js.map +1 -0
  37. package/dist/generator/v3/index.d.ts +2 -0
  38. package/dist/generator/v3/index.d.ts.map +1 -0
  39. package/dist/generator/v3/index.js +24 -0
  40. package/dist/generator/v3/index.js.map +1 -0
  41. package/dist/generator/v3/module.d.ts +27 -0
  42. package/dist/generator/v3/module.d.ts.map +1 -0
  43. package/dist/{specification → generator}/v3/module.js +191 -115
  44. package/dist/generator/v3/module.js.map +1 -0
  45. package/dist/index.d.ts +3 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +3 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/metadata.d.ts +3 -4
  50. package/dist/metadata.d.ts.map +1 -1
  51. package/dist/metadata.js +1 -15
  52. package/dist/metadata.js.map +1 -1
  53. package/dist/schema/constants.d.ts +7 -0
  54. package/dist/schema/constants.d.ts.map +1 -0
  55. package/dist/schema/constants.js +17 -0
  56. package/dist/schema/constants.js.map +1 -0
  57. package/dist/schema/index.d.ts +5 -0
  58. package/dist/schema/index.d.ts.map +1 -0
  59. package/dist/schema/index.js +27 -0
  60. package/dist/schema/index.js.map +1 -0
  61. package/dist/schema/type.d.ts +140 -0
  62. package/dist/schema/type.d.ts.map +1 -0
  63. package/dist/schema/type.js.map +1 -0
  64. package/dist/schema/v2/constants.d.ts +8 -0
  65. package/dist/schema/v2/constants.d.ts.map +1 -0
  66. package/dist/schema/v2/constants.js +18 -0
  67. package/dist/schema/v2/constants.js.map +1 -0
  68. package/dist/schema/v2/index.d.ts +3 -0
  69. package/dist/schema/v2/index.d.ts.map +1 -0
  70. package/dist/{specification/v3 → schema/v2}/index.js +1 -1
  71. package/dist/schema/v2/index.js.map +1 -0
  72. package/dist/schema/v2/type.d.ts +116 -0
  73. package/dist/schema/v2/type.d.ts.map +1 -0
  74. package/dist/schema/v2/type.js.map +1 -0
  75. package/dist/schema/v3/constants.d.ts +7 -0
  76. package/dist/schema/v3/constants.d.ts.map +1 -0
  77. package/dist/schema/v3/constants.js +17 -0
  78. package/dist/schema/v3/constants.js.map +1 -0
  79. package/dist/schema/v3/index.d.ts +3 -0
  80. package/dist/schema/v3/index.d.ts.map +1 -0
  81. package/dist/{specification/v2 → schema/v3}/index.js +1 -1
  82. package/dist/schema/v3/index.js.map +1 -0
  83. package/dist/schema/v3/type.d.ts +158 -0
  84. package/dist/schema/v3/type.d.ts.map +1 -0
  85. package/dist/schema/v3/type.js +9 -0
  86. package/dist/schema/v3/type.js.map +1 -0
  87. package/dist/type.d.ts +44 -2
  88. package/dist/type.d.ts.map +1 -1
  89. package/dist/utils/character.d.ts +3 -0
  90. package/dist/utils/character.d.ts.map +1 -0
  91. package/dist/{specification/utils → utils}/character.js +4 -5
  92. package/dist/utils/character.js.map +1 -0
  93. package/dist/utils/index.d.ts +2 -1
  94. package/dist/utils/index.d.ts.map +1 -1
  95. package/dist/utils/index.js +2 -1
  96. package/dist/utils/index.js.map +1 -1
  97. package/dist/utils/object.d.ts.map +1 -1
  98. package/dist/utils/object.js +1 -0
  99. package/dist/utils/object.js.map +1 -1
  100. package/dist/utils/value.d.ts +2 -0
  101. package/dist/utils/value.d.ts.map +1 -0
  102. package/dist/utils/value.js +26 -0
  103. package/dist/utils/value.js.map +1 -0
  104. package/package.json +7 -10
  105. package/dist/module.d.ts +0 -8
  106. package/dist/module.d.ts.map +0 -1
  107. package/dist/module.js +0 -31
  108. package/dist/module.js.map +0 -1
  109. package/dist/specification/abstract.d.ts +0 -29
  110. package/dist/specification/abstract.d.ts.map +0 -1
  111. package/dist/specification/abstract.js.map +0 -1
  112. package/dist/specification/index.d.ts.map +0 -1
  113. package/dist/specification/index.js.map +0 -1
  114. package/dist/specification/module.d.ts +0 -5
  115. package/dist/specification/module.d.ts.map +0 -1
  116. package/dist/specification/module.js +0 -29
  117. package/dist/specification/module.js.map +0 -1
  118. package/dist/specification/type.d.ts +0 -268
  119. package/dist/specification/type.d.ts.map +0 -1
  120. package/dist/specification/type.js +0 -18
  121. package/dist/specification/type.js.map +0 -1
  122. package/dist/specification/utils/character.d.ts +0 -3
  123. package/dist/specification/utils/character.d.ts.map +0 -1
  124. package/dist/specification/utils/character.js.map +0 -1
  125. package/dist/specification/utils/index.d.ts +0 -2
  126. package/dist/specification/utils/index.d.ts.map +0 -1
  127. package/dist/specification/utils/index.js.map +0 -1
  128. package/dist/specification/v2/index.d.ts +0 -3
  129. package/dist/specification/v2/index.d.ts.map +0 -1
  130. package/dist/specification/v2/index.js.map +0 -1
  131. package/dist/specification/v2/module.d.ts +0 -24
  132. package/dist/specification/v2/module.d.ts.map +0 -1
  133. package/dist/specification/v2/module.js +0 -389
  134. package/dist/specification/v2/module.js.map +0 -1
  135. package/dist/specification/v2/type.d.ts +0 -79
  136. package/dist/specification/v2/type.d.ts.map +0 -1
  137. package/dist/specification/v2/type.js.map +0 -1
  138. package/dist/specification/v3/index.d.ts +0 -3
  139. package/dist/specification/v3/index.d.ts.map +0 -1
  140. package/dist/specification/v3/index.js.map +0 -1
  141. package/dist/specification/v3/module.d.ts +0 -25
  142. package/dist/specification/v3/module.d.ts.map +0 -1
  143. package/dist/specification/v3/module.js.map +0 -1
  144. package/dist/specification/v3/type.d.ts +0 -121
  145. package/dist/specification/v3/type.d.ts.map +0 -1
  146. package/dist/specification/v3/type.js.map +0 -1
  147. package/dist/utils/package-json.d.ts +0 -3
  148. package/dist/utils/package-json.d.ts.map +0 -1
  149. package/dist/utils/package-json.js +0 -35
  150. package/dist/utils/package-json.js.map +0 -1
  151. /package/dist/{specification/v2 → schema}/type.js +0 -0
  152. /package/dist/{specification/v3 → schema/v2}/type.js +0 -0
@@ -0,0 +1,3 @@
1
+ export * from './type';
2
+ export * from './utils';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAOA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./type"), exports);
24
+ __exportStar(require("./utils"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,yCAAuB;AACvB,0CAAwB"}
@@ -0,0 +1,83 @@
1
+ import type { CollectionFormat, Metadata, Options as MetadataOptions } from '@trapi/metadata';
2
+ import type { SecurityDefinitions } from '../type';
3
+ export type ServerOption = {
4
+ url: string;
5
+ description?: string;
6
+ };
7
+ export interface Options {
8
+ /**
9
+ * Generate a yaml file
10
+ */
11
+ yaml?: boolean;
12
+ /**
13
+ * Specify if an output file should be generated.
14
+ *
15
+ * default: true
16
+ */
17
+ output: boolean;
18
+ /**
19
+ * Generated swagger.{json|yaml} will output here.
20
+ *
21
+ * default: process.cwd()
22
+ */
23
+ outputDirectory: string;
24
+ /**
25
+ * Generated documentation base file name.
26
+ *
27
+ * default: swagger
28
+ */
29
+ outputFileName: string;
30
+ /**
31
+ * API host, expressTemplate.g. localhost:3000 or https://myapi.com
32
+ */
33
+ servers?: ServerOption[];
34
+ /**
35
+ * Metadata options or metadata itself.
36
+ */
37
+ metadata?: MetadataOptions | Metadata;
38
+ /**
39
+ * API version number; defaults to npm package version
40
+ */
41
+ version?: string;
42
+ /**
43
+ * API name; defaults to npm package name
44
+ */
45
+ name?: string;
46
+ /**
47
+ * 'API description; defaults to npm package description
48
+ */
49
+ description?: string;
50
+ /**
51
+ * API license; defaults to npm package license
52
+ */
53
+ license?: string;
54
+ /**
55
+ * Extend generated swagger spec with this object
56
+ * Note that generated properties will always take precedence over what get specified here
57
+ */
58
+ specificationExtra?: Record<string, any>;
59
+ /**
60
+ * Security Definitions Object
61
+ * A declaration of the security schemes available to be used in the
62
+ * specification. This does not enforce the security schemes on the operations
63
+ * and only serves to provide the relevant details for each scheme.
64
+ */
65
+ securityDefinitions?: SecurityDefinitions;
66
+ /**
67
+ * Default consumes property for the entire API
68
+ */
69
+ consumes?: string[];
70
+ /**
71
+ * Default produces property for the entire API
72
+ */
73
+ produces?: string[];
74
+ /**
75
+ * Default collectionFormat property for query parameters of array type.
76
+ * Possible values are `csv`, `ssv`, `tsv`, `pipes`, `multi`. If not specified, Swagger defaults to `csv`.
77
+ */
78
+ collectionFormat?: `${CollectionFormat}`;
79
+ }
80
+ export type OptionsInput = Omit<Partial<Options>, 'servers'> & {
81
+ servers?: string | string[] | ServerOption | ServerOption[];
82
+ };
83
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/config/type.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC;IAEtC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;CAC5C;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,GAAG;IAC3D,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY,GAAG,YAAY,EAAE,CAAA;CAC9D,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/config/type.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,3 @@
1
+ import type { Options, OptionsInput } from './type';
2
+ export declare function buildOptions(input: OptionsInput): Options;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAgB,MAAM,QAAQ,CAAC;AAElE,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAI,OAAO,CAiC1D"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.buildOptions = void 0;
13
+ const node_path_1 = __importDefault(require("node:path"));
14
+ const node_process_1 = __importDefault(require("node:process"));
15
+ function buildOptions(input) {
16
+ const servers = [];
17
+ if (Array.isArray(input.servers)) {
18
+ for (let i = 0; i < input.servers.length; i++) {
19
+ const server = input.servers[i];
20
+ if (typeof server === 'string') {
21
+ servers.push({ url: server });
22
+ }
23
+ else {
24
+ servers.push(server);
25
+ }
26
+ }
27
+ }
28
+ else if (typeof input.servers === 'string') {
29
+ servers.push({ url: input.servers });
30
+ }
31
+ else {
32
+ servers.push(input.servers);
33
+ }
34
+ let outputDirectory;
35
+ if (input.outputDirectory) {
36
+ outputDirectory = node_path_1.default.isAbsolute(input.outputDirectory) ?
37
+ input.outputDirectory :
38
+ node_path_1.default.join(node_process_1.default.cwd(), input.outputDirectory);
39
+ }
40
+ else {
41
+ outputDirectory = node_process_1.default.cwd();
42
+ }
43
+ return {
44
+ ...input,
45
+ output: input.output ?? true,
46
+ outputDirectory,
47
+ outputFileName: input.outputFileName || 'swagger',
48
+ servers,
49
+ };
50
+ }
51
+ exports.buildOptions = buildOptions;
52
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,0DAA6B;AAC7B,gEAAmC;AAGnC,SAAgB,YAAY,CAAC,KAAmB;IAC5C,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;aACjC;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxB;SACJ;KACJ;SAAM,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;QAC1C,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACxC;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,IAAI,eAAwB,CAAC;IAC7B,IAAI,KAAK,CAAC,eAAe,EAAE;QACvB,eAAe,GAAG,mBAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YACtD,KAAK,CAAC,eAAe,CAAC,CAAC;YACvB,mBAAI,CAAC,IAAI,CAAC,sBAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;KACvD;SAAM;QACH,eAAe,GAAG,sBAAO,CAAC,GAAG,EAAE,CAAC;KACnC;IAED,OAAO;QACH,GAAG,KAAK;QACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,eAAe;QACf,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,SAAS;QACjD,OAAO;KACV,CAAC;AACN,CAAC;AAjCD,oCAiCC"}
@@ -0,0 +1,15 @@
1
+ export declare enum Version {
2
+ V2 = "V2",
3
+ V3 = "V3"
4
+ }
5
+ export declare enum DocumentFormat {
6
+ YAML = "yaml",
7
+ JSON = "json"
8
+ }
9
+ export declare enum SecurityType {
10
+ API_KEY = "apiKey",
11
+ BASIC = "basic",
12
+ HTTP = "http",
13
+ OAUTH2 = "oauth2"
14
+ }
15
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,OAAO;IACf,EAAE,OAAO;IACT,EAAE,OAAO;CACZ;AAED,oBAAY,cAAc;IACtB,IAAI,SAAS;IACb,IAAI,SAAS;CAChB;AAED,oBAAY,YAAY;IACpB,OAAO,WAAW;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;CACpB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SecurityType = exports.DocumentFormat = exports.Version = void 0;
10
+ var Version;
11
+ (function (Version) {
12
+ Version["V2"] = "V2";
13
+ Version["V3"] = "V3";
14
+ })(Version = exports.Version || (exports.Version = {}));
15
+ var DocumentFormat;
16
+ (function (DocumentFormat) {
17
+ DocumentFormat["YAML"] = "yaml";
18
+ DocumentFormat["JSON"] = "json";
19
+ })(DocumentFormat = exports.DocumentFormat || (exports.DocumentFormat = {}));
20
+ var SecurityType;
21
+ (function (SecurityType) {
22
+ SecurityType["API_KEY"] = "apiKey";
23
+ SecurityType["BASIC"] = "basic";
24
+ SecurityType["HTTP"] = "http";
25
+ SecurityType["OAUTH2"] = "oauth2";
26
+ })(SecurityType = exports.SecurityType || (exports.SecurityType = {}));
27
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,IAAY,OAGX;AAHD,WAAY,OAAO;IACf,oBAAS,CAAA;IACT,oBAAS,CAAA;AACb,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,kCAAkB,CAAA;IAClB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,iCAAiB,CAAA;AACrB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB"}
@@ -0,0 +1,27 @@
1
+ import type { BaseType, EnumType, IntersectionType, Metadata, NestedObjectLiteralType, Parameter, ParameterSource, ReferenceType, ResolverProperty, UnionType } from '@trapi/metadata';
2
+ import type { Options, OptionsInput } from '../config';
3
+ import type { DocumentFormat } from '../constants';
4
+ import type { DocumentFormatData } from '../type';
5
+ import type { BaseSchema, Info, SchemaV2, SchemaV3, SpecV2, SpecV3 } from '../schema';
6
+ export declare abstract class AbstractSpecGenerator<Spec extends SpecV2 | SpecV3, Schema extends SchemaV3 | SchemaV2> {
7
+ protected spec: Spec | undefined;
8
+ protected readonly metadata: Metadata;
9
+ protected readonly config: Options;
10
+ constructor(metadata: Metadata, config: OptionsInput);
11
+ save(): Promise<Record<`${DocumentFormat}`, DocumentFormatData>>;
12
+ abstract build(): Promise<Spec>;
13
+ protected buildInfo(): Info;
14
+ protected getSwaggerType(type: BaseType): Schema | BaseSchema<Schema>;
15
+ protected abstract getSwaggerTypeForIntersectionType(type: IntersectionType): Schema;
16
+ protected abstract getSwaggerTypeForEnumType(enumType: EnumType): Schema;
17
+ protected getSwaggerTypeForUnionType(type: UnionType): Schema | BaseSchema<Schema>;
18
+ private getSwaggerTypeForPrimitiveType;
19
+ private getSwaggerTypeForArrayType;
20
+ getSwaggerTypeForObjectLiteral(objectLiteral: NestedObjectLiteralType): BaseSchema<Schema>;
21
+ protected abstract getSwaggerTypeForReferenceType(referenceType: ReferenceType): Schema;
22
+ protected abstract buildProperties(properties: ResolverProperty[]): Record<string, Schema>;
23
+ protected determineTypesUsedInEnum(anEnum: Array<string | number | boolean | null>): Set<"string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function">;
24
+ protected getOperationId(methodName: string): string;
25
+ protected groupParameters(items: Parameter[]): Partial<Record<ParameterSource, Parameter[]>>;
26
+ }
27
+ //# sourceMappingURL=abstract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../src/generator/abstract.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAER,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,uBAAuB,EACvB,SAAS,EACT,eAAe,EAEf,aAAa,EACb,gBAAgB,EAEhB,SAAS,EACZ,MAAM,iBAAiB,CAAC;AAiBzB,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EACR,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACT,MAAM,WAAW,CAAC;AAEnB,8BAAsB,qBAAqB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,SAAS,QAAQ,GAAG,QAAQ;IACxG,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IAEjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAEtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEvB,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY;IAK9C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,cAAc,EAAE,EAAE,kBAAkB,CAAC,CAAC;aAwCtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC,SAAS,CAAC,SAAS;IAiBnB,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAqCrE,SAAS,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM;IAEpF,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAExE,SAAS,CAAC,0BAA0B,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IA8ClF,OAAO,CAAC,8BAA8B;IAwBtC,OAAO,CAAC,0BAA0B;IAI3B,8BAA8B,CAAC,aAAa,EAAE,uBAAuB,GAAG,UAAU,CAAC,MAAM,CAAC;IAkBjG,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM;IAEvF,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAE1F,SAAS,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IASlF,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM;IAI3C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;CAahG"}
@@ -1,89 +1,58 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2021.
3
+ * Copyright (c) 2021-2023.
4
4
  * Author Peter Placzek (tada5hi)
5
5
  * For the full copyright and license information,
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
31
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
- return new (P || (P = Promise))(function (resolve, reject) {
34
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
35
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
36
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
37
- step((generator = generator.apply(thisArg, _arguments || [])).next());
38
- });
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
39
10
  };
40
11
  Object.defineProperty(exports, "__esModule", { value: true });
41
12
  exports.AbstractSpecGenerator = void 0;
42
- const decorators_1 = require("@trapi/decorators");
43
- const path = __importStar(require("path"));
44
- const fs_1 = require("fs");
45
- const YAML = __importStar(require("yamljs"));
13
+ const metadata_1 = require("@trapi/metadata");
14
+ const node_path_1 = __importDefault(require("node:path"));
15
+ const node_fs_1 = __importDefault(require("node:fs"));
16
+ const yamljs_1 = __importDefault(require("yamljs"));
17
+ const config_1 = require("../config");
46
18
  const utils_1 = require("../utils");
47
19
  class AbstractSpecGenerator {
48
20
  constructor(metadata, config) {
49
21
  this.metadata = metadata;
50
- this.config = config;
22
+ this.config = (0, config_1.buildOptions)(config);
51
23
  }
52
- save() {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- const spec = this.build();
55
- const swaggerDir = path.resolve(this.config.outputDirectory);
56
- yield fs_1.promises.mkdir(swaggerDir, { recursive: true });
57
- const data = {
58
- json: {
59
- path: path.join(swaggerDir, 'swagger.json'),
60
- name: 'swagger.json',
61
- content: JSON.stringify(spec, null, '\t'),
62
- },
63
- yaml: undefined,
64
- };
65
- if (this.config.yaml) {
66
- data.yaml = {
67
- path: path.join(swaggerDir, 'swagger.yaml'),
68
- name: 'swagger.yaml',
69
- content: YAML.stringify(spec, 1000),
70
- };
71
- }
72
- const filePromises = [];
73
- const keys = Object.keys(data);
74
- for (let i = 0; i < keys.length; i++) {
75
- if (typeof data[keys[i]] === 'undefined') {
76
- continue;
77
- }
78
- const output = data[keys[i]];
79
- filePromises.push(fs_1.promises.writeFile(output.path, output.content));
80
- }
81
- yield Promise.all(filePromises);
82
- return data;
83
- });
84
- }
85
- getMetaData() {
86
- return this.metadata;
24
+ async save() {
25
+ if (!this.config.output) {
26
+ return;
27
+ }
28
+ if (typeof this.spec === 'undefined') {
29
+ throw new Error('The spec has not been build yet...');
30
+ }
31
+ try {
32
+ await node_fs_1.default.promises.access(this.config.outputDirectory, node_fs_1.default.constants.R_OK | node_fs_1.default.constants.O_DIRECTORY);
33
+ }
34
+ catch (e) {
35
+ await node_fs_1.default.promises.mkdir(this.config.outputDirectory, { recursive: true });
36
+ }
37
+ const data = [
38
+ {
39
+ path: node_path_1.default.join(this.config.outputDirectory, `${this.config.outputFileName}.json`),
40
+ name: 'swagger.json',
41
+ content: JSON.stringify(this.spec, null, 4),
42
+ },
43
+ ];
44
+ if (this.config.yaml) {
45
+ data.push({
46
+ path: node_path_1.default.join(this.config.outputDirectory, `${this.config.outputDirectory}.yaml`),
47
+ name: 'swagger.yaml',
48
+ content: yamljs_1.default.stringify(this.spec, 1000),
49
+ });
50
+ }
51
+ const promises = [];
52
+ for (let i = 0; i < data.length; i++) {
53
+ promises.push(node_fs_1.default.promises.writeFile(data[i].path, data[i].content, { encoding: 'utf-8' }));
54
+ }
55
+ await Promise.all(promises);
87
56
  }
88
57
  buildInfo() {
89
58
  const info = {
@@ -99,10 +68,10 @@ class AbstractSpecGenerator {
99
68
  return info;
100
69
  }
101
70
  getSwaggerType(type) {
102
- if ((0, decorators_1.isVoidType)(type)) {
71
+ if ((0, metadata_1.isVoidType)(type)) {
103
72
  return {};
104
73
  }
105
- if ((0, decorators_1.isReferenceType)(type)) {
74
+ if ((0, metadata_1.isReferenceType)(type)) {
106
75
  return this.getSwaggerTypeForReferenceType(type);
107
76
  }
108
77
  if (type.typeName === 'any' ||
@@ -121,19 +90,19 @@ class AbstractSpecGenerator {
121
90
  type.typeName === 'string') {
122
91
  return this.getSwaggerTypeForPrimitiveType(type.typeName);
123
92
  }
124
- if ((0, decorators_1.isArrayType)(type)) {
93
+ if ((0, metadata_1.isArrayType)(type)) {
125
94
  return this.getSwaggerTypeForArrayType(type);
126
95
  }
127
- if ((0, decorators_1.isEnumType)(type)) {
96
+ if ((0, metadata_1.isEnumType)(type)) {
128
97
  return this.getSwaggerTypeForEnumType(type);
129
98
  }
130
- if ((0, decorators_1.isUnionType)(type)) {
99
+ if ((0, metadata_1.isUnionType)(type)) {
131
100
  return this.getSwaggerTypeForUnionType(type);
132
101
  }
133
- if ((0, decorators_1.isIntersectionType)(type)) {
102
+ if ((0, metadata_1.isIntersectionType)(type)) {
134
103
  return this.getSwaggerTypeForIntersectionType(type);
135
104
  }
136
- if ((0, decorators_1.isNestedObjectLiteralType)(type)) {
105
+ if ((0, metadata_1.isNestedObjectLiteralType)(type)) {
137
106
  return this.getSwaggerTypeForObjectLiteral(type);
138
107
  }
139
108
  return {};
@@ -148,7 +117,7 @@ class AbstractSpecGenerator {
148
117
  }
149
118
  if (type.members.length === 2 && type.members.find((typeInUnion) => typeInUnion.typeName === 'enum' && typeInUnion.members.includes(null))) {
150
119
  // Backwards compatible representation of dataType or null, $ref does not allow any sibling attributes, so we have to bail out
151
- const nullEnumIndex = type.members.findIndex((a) => (0, decorators_1.isEnumType)(a) && a.members.includes(null));
120
+ const nullEnumIndex = type.members.findIndex((a) => (0, metadata_1.isEnumType)(a) && a.members.includes(null));
152
121
  const typeIndex = nullEnumIndex === 1 ? 0 : 1;
153
122
  const swaggerType = this.getSwaggerType(type.members[typeIndex]);
154
123
  const isRef = (0, utils_1.hasOwnProperty)(swaggerType, '$ref') && !!swaggerType.$ref;
@@ -159,17 +128,17 @@ class AbstractSpecGenerator {
159
128
  return swaggerType;
160
129
  }
161
130
  if (type.members.length === 2) {
162
- let index = type.members.findIndex((member) => (0, decorators_1.isArrayType)(member));
131
+ let index = type.members.findIndex((member) => (0, metadata_1.isArrayType)(member));
163
132
  if (index !== -1) {
164
133
  const otherIndex = index === 0 ? 1 : 0;
165
134
  if (type.members[index].elementType.typeName === type.members[otherIndex].typeName) {
166
135
  return this.getSwaggerType(type.members[otherIndex]);
167
136
  }
168
137
  }
169
- index = type.members.findIndex((member) => (0, decorators_1.isAnyType)(member));
138
+ index = type.members.findIndex((member) => (0, metadata_1.isAnyType)(member));
170
139
  if (index !== -1) {
171
140
  const otherIndex = index === 0 ? 1 : 0;
172
- if ((0, decorators_1.isAnyType)(type.members[index])) {
141
+ if ((0, metadata_1.isAnyType)(type.members[index])) {
173
142
  return this.getSwaggerType(type.members[otherIndex]);
174
143
  }
175
144
  }
@@ -208,7 +177,12 @@ class AbstractSpecGenerator {
208
177
  .filter((prop) => prop.required).map((prop) => prop.name);
209
178
  // An empty list required: [] is not valid.
210
179
  // If all properties are optional, do not specify the required keyword.
211
- return Object.assign(Object.assign(Object.assign({ properties }, (additionalProperties && { additionalProperties })), (required && required.length && { required })), { type: 'object' });
180
+ return {
181
+ properties,
182
+ ...(additionalProperties && { additionalProperties }),
183
+ ...(required && required.length && { required }),
184
+ type: 'object',
185
+ };
212
186
  }
213
187
  determineTypesUsedInEnum(anEnum) {
214
188
  return anEnum.reduce((theSet, curr) => {
@@ -221,6 +195,16 @@ class AbstractSpecGenerator {
221
195
  getOperationId(methodName) {
222
196
  return methodName.charAt(0).toUpperCase() + methodName.substring(1);
223
197
  }
198
+ groupParameters(items) {
199
+ const output = {};
200
+ for (let i = 0; i < items.length; i++) {
201
+ if (typeof output[items[i].in] === 'undefined') {
202
+ output[items[i].in] = [];
203
+ }
204
+ output[items[i].in].push(items[i]);
205
+ }
206
+ return output;
207
+ }
224
208
  }
225
209
  exports.AbstractSpecGenerator = AbstractSpecGenerator;
226
210
  //# sourceMappingURL=abstract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../src/generator/abstract.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,4 @@ export * from './v2';
2
2
  export * from './v3';
3
3
  export * from './abstract';
4
4
  export * from './module';
5
- export * from './type';
6
- export * from './utils';
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAOA,cAAc,MAAM,CAAC;AACrB,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2021.
3
+ * Copyright (c) 2023.
4
4
  * Author Peter Placzek (tada5hi)
5
5
  * For the full copyright and license information,
6
6
  * view the LICENSE file that was distributed with this source code.
@@ -24,6 +24,4 @@ __exportStar(require("./v2"), exports);
24
24
  __exportStar(require("./v3"), exports);
25
25
  __exportStar(require("./abstract"), exports);
26
26
  __exportStar(require("./module"), exports);
27
- __exportStar(require("./type"), exports);
28
- __exportStar(require("./utils"), exports);
29
27
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,uCAAqB;AACrB,uCAAqB;AACrB,6CAA2B;AAC3B,2CAAyB"}
@@ -0,0 +1,14 @@
1
+ import type { CompilerOptions } from '@trapi/metadata';
2
+ import type { OptionsInput } from '../config';
3
+ import { Version } from '../constants';
4
+ import type { SpecV2, SpecV3 } from '../schema';
5
+ export declare function buildMetadata(options: OptionsInput, tsConfig?: CompilerOptions): Promise<import("@trapi/metadata").Metadata>;
6
+ export type DocumentationGenerationContext<V extends `${Version}`> = {
7
+ version: V;
8
+ options: OptionsInput;
9
+ tsConfig?: CompilerOptions;
10
+ };
11
+ type OutputSpec<V extends `${Version}`> = V extends `${Version.V2}` ? SpecV2 : SpecV3;
12
+ export declare function generate<V extends `${Version}`>(context: DocumentationGenerationContext<V>): Promise<OutputSpec<V>>;
13
+ export {};
14
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/generator/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIhD,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,eAAe,+CAMpF;AAED,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,GAAG,OAAO,EAAE,IAAI;IACjE,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,SAAS,GAAG,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,EAAE,GAC/D,MAAM,GACN,MAAM,CAAC;AAEX,wBAAsB,QAAQ,CAAC,CAAC,SAAS,GAAG,OAAO,EAAE,EACjD,OAAO,EAAE,8BAA8B,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAexB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2021-2023.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.generate = exports.buildMetadata = void 0;
10
+ const metadata_1 = require("@trapi/metadata");
11
+ const constants_1 = require("../constants");
12
+ const v2_1 = require("./v2");
13
+ const v3_1 = require("./v3");
14
+ async function buildMetadata(options, tsConfig) {
15
+ if ((0, metadata_1.isMetadata)(options.metadata)) {
16
+ return options.metadata;
17
+ }
18
+ return (0, metadata_1.generateMetadata)(options.metadata, tsConfig);
19
+ }
20
+ exports.buildMetadata = buildMetadata;
21
+ async function generate(context) {
22
+ const metadata = await buildMetadata(context.options);
23
+ switch (context.version) {
24
+ case constants_1.Version.V3: {
25
+ const generator = new v3_1.V3Generator(metadata, context.options);
26
+ return await generator.build();
27
+ }
28
+ default: {
29
+ const generator = new v2_1.V2Generator(metadata, context.options);
30
+ return await generator.build();
31
+ }
32
+ }
33
+ }
34
+ exports.generate = generate;
35
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/generator/module.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,8CAA+D;AAE/D,4CAAuC;AAEvC,6BAAmC;AACnC,6BAAmC;AAE5B,KAAK,UAAU,aAAa,CAAC,OAAqB,EAAE,QAA0B;IACjF,IAAI,IAAA,qBAAU,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC9B,OAAO,OAAO,CAAC,QAAQ,CAAC;KAC3B;IAED,OAAO,IAAA,2BAAgB,EAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAND,sCAMC;AAYM,KAAK,UAAU,QAAQ,CAC1B,OAA0C;IAE1C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,QAAQ,OAAO,CAAC,OAAO,EAAE;QACrB,KAAK,mBAAO,CAAC,EAAE,CAAC,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,gBAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAE7D,OAAO,MAAM,SAAS,CAAC,KAAK,EAAmB,CAAC;SACnD;QACD,OAAO,CAAC,CAAC;YACL,MAAM,SAAS,GAAG,IAAI,gBAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAE7D,OAAO,MAAM,SAAS,CAAC,KAAK,EAAmB,CAAC;SACnD;KACJ;AACL,CAAC;AAjBD,4BAiBC"}
@@ -0,0 +1,2 @@
1
+ export * from './module';
2
+ //# sourceMappingURL=index.d.ts.map