@trapi/swagger 0.3.8 → 1.0.0-alpha.10

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 (154) 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 +54 -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 +29 -0
  18. package/dist/generator/abstract.d.ts.map +1 -0
  19. package/dist/generator/abstract.js +215 -0
  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 +27 -0
  34. package/dist/generator/v2/module.d.ts.map +1 -0
  35. package/dist/generator/v2/module.js +517 -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 +31 -0
  42. package/dist/generator/v3/module.d.ts.map +1 -0
  43. package/dist/generator/v3/module.js +508 -0
  44. package/dist/generator/v3/module.js.map +1 -0
  45. package/dist/index.d.ts +4 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +4 -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 +3 -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 +0 -226
  112. package/dist/specification/abstract.js.map +0 -1
  113. package/dist/specification/index.d.ts.map +0 -1
  114. package/dist/specification/index.js.map +0 -1
  115. package/dist/specification/module.d.ts +0 -5
  116. package/dist/specification/module.d.ts.map +0 -1
  117. package/dist/specification/module.js +0 -29
  118. package/dist/specification/module.js.map +0 -1
  119. package/dist/specification/type.d.ts +0 -268
  120. package/dist/specification/type.d.ts.map +0 -1
  121. package/dist/specification/type.js +0 -18
  122. package/dist/specification/type.js.map +0 -1
  123. package/dist/specification/utils/character.d.ts +0 -3
  124. package/dist/specification/utils/character.d.ts.map +0 -1
  125. package/dist/specification/utils/character.js.map +0 -1
  126. package/dist/specification/utils/index.d.ts +0 -2
  127. package/dist/specification/utils/index.d.ts.map +0 -1
  128. package/dist/specification/utils/index.js.map +0 -1
  129. package/dist/specification/v2/index.d.ts +0 -3
  130. package/dist/specification/v2/index.d.ts.map +0 -1
  131. package/dist/specification/v2/index.js.map +0 -1
  132. package/dist/specification/v2/module.d.ts +0 -24
  133. package/dist/specification/v2/module.d.ts.map +0 -1
  134. package/dist/specification/v2/module.js +0 -389
  135. package/dist/specification/v2/module.js.map +0 -1
  136. package/dist/specification/v2/type.d.ts +0 -79
  137. package/dist/specification/v2/type.d.ts.map +0 -1
  138. package/dist/specification/v2/type.js.map +0 -1
  139. package/dist/specification/v3/index.d.ts +0 -3
  140. package/dist/specification/v3/index.d.ts.map +0 -1
  141. package/dist/specification/v3/index.js.map +0 -1
  142. package/dist/specification/v3/module.d.ts +0 -25
  143. package/dist/specification/v3/module.d.ts.map +0 -1
  144. package/dist/specification/v3/module.js +0 -377
  145. package/dist/specification/v3/module.js.map +0 -1
  146. package/dist/specification/v3/type.d.ts +0 -121
  147. package/dist/specification/v3/type.d.ts.map +0 -1
  148. package/dist/specification/v3/type.js.map +0 -1
  149. package/dist/utils/package-json.d.ts +0 -3
  150. package/dist/utils/package-json.d.ts.map +0 -1
  151. package/dist/utils/package-json.js +0 -35
  152. package/dist/utils/package-json.js.map +0 -1
  153. /package/dist/{specification/v2 → schema}/type.js +0 -0
  154. /package/dist/{specification/v3 → schema/v2}/type.js +0 -0
package/dist/type.d.ts CHANGED
@@ -1,7 +1,49 @@
1
- export type SwaggerDocFormatType = 'yaml' | 'json';
2
- export interface SwaggerDocFormatData {
1
+ import type { SecurityType } from './constants';
2
+ export interface DocumentFormatData {
3
3
  path: string;
4
4
  name: string;
5
5
  content?: string;
6
6
  }
7
+ export interface BaseSecurity {
8
+ description?: string;
9
+ }
10
+ export interface ApiKeySecurity extends BaseSecurity {
11
+ type: `${SecurityType.API_KEY}`;
12
+ name: string;
13
+ in: 'query' | 'header';
14
+ }
15
+ export interface BasicSecurity extends BaseSecurity {
16
+ type: `${SecurityType.HTTP}`;
17
+ schema: 'basic';
18
+ }
19
+ export interface OAuth2Security extends BaseSecurity {
20
+ type: `${SecurityType.OAUTH2}`;
21
+ flows: {
22
+ implicit?: OAuth2ImplicitFlow;
23
+ password?: OAuth2PasswordFlow;
24
+ authorizationCode?: OAuth2AuthorizationCodeFlow;
25
+ clientCredentials?: OAuth2ClientCredentialsFlow;
26
+ };
27
+ }
28
+ export interface Oauth2BaseFlow {
29
+ scopes?: Record<string, string>;
30
+ refreshUrl?: string;
31
+ }
32
+ export interface OAuth2ImplicitFlow extends Oauth2BaseFlow {
33
+ authorizationUrl: string;
34
+ }
35
+ export interface OAuth2PasswordFlow extends Oauth2BaseFlow {
36
+ tokenUrl: string;
37
+ }
38
+ export interface OAuth2AuthorizationCodeFlow extends Oauth2BaseFlow {
39
+ authorizationUrl: string;
40
+ tokenUrl: string;
41
+ }
42
+ export interface OAuth2ClientCredentialsFlow extends Oauth2BaseFlow {
43
+ tokenUrl: string;
44
+ }
45
+ export type SecurityDefinition = ApiKeySecurity | BasicSecurity | OAuth2Security;
46
+ export interface SecurityDefinitions {
47
+ [key: string]: SecurityDefinition;
48
+ }
7
49
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAChD,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IAC/C,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAChD,IAAI,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAC/B,KAAK,EAAE;QACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,iBAAiB,CAAC,EAAE,2BAA2B,CAAC;QAChD,iBAAiB,CAAC,EAAE,2BAA2B,CAAA;KAClD,CAAC;CACL;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACtD,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACtD,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IAC/D,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;CACrC"}
@@ -0,0 +1,3 @@
1
+ export declare function removeDuplicateSlashes(str: string): string;
2
+ export declare function removeFinalCharacter(str: string, character: string): string;
3
+ //# sourceMappingURL=character.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/utils/character.ts"],"names":[],"mappings":"AAOA,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAI,MAAM,CAE3D;AAED,wBAAgB,oBAAoB,CAChC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,UAOpB"}
@@ -6,12 +6,11 @@
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.removeFinalCharacter = exports.removeRepeatingCharacter = void 0;
10
- // todo: implement character in regex matching
11
- function removeRepeatingCharacter(str, character) {
12
- return str.replace('/([^:]$)\/+/g', '$1');
9
+ exports.removeFinalCharacter = exports.removeDuplicateSlashes = void 0;
10
+ function removeDuplicateSlashes(str) {
11
+ return str.replace('/([^:]$)/+/g', '$1');
13
12
  }
14
- exports.removeRepeatingCharacter = removeRepeatingCharacter;
13
+ exports.removeDuplicateSlashes = removeDuplicateSlashes;
15
14
  function removeFinalCharacter(str, character) {
16
15
  while (str.charAt(str.length - 1) === character && str.length > 0) {
17
16
  str = str.slice(0, -1);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/utils/character.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,SAAgB,sBAAsB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAChC,GAAW,EACX,SAAiB;IAEjB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/D,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AATD,oDASC"}
@@ -1,4 +1,5 @@
1
+ export * from './character';
1
2
  export * from './path';
2
3
  export * from './object';
3
- export * from './package-json';
4
+ export * from './value';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAOA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -20,7 +20,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./character"), exports);
23
24
  __exportStar(require("./path"), exports);
24
25
  __exportStar(require("./object"), exports);
25
- __exportStar(require("./package-json"), exports);
26
+ __exportStar(require("./value"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,yCAAuB;AACvB,2CAAyB;AACzB,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,yCAAuB;AACvB,2CAAyB;AACzB,0CAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":"AAOA,wBAAgB,cAAc,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAElH"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":"AAQA,wBAAgB,cAAc,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAElH"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.hasOwnProperty = void 0;
10
+ // eslint-disable-next-line @typescript-eslint/ban-types
10
11
  function hasOwnProperty(obj, prop) {
11
12
  return Object.prototype.hasOwnProperty.call(obj, prop);
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,SAAgB,cAAc,CAAsC,GAAM,EAAE,IAAO;IAC/E,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAFD,wCAEC"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wDAAwD;AACxD,SAAgB,cAAc,CAAsC,GAAM,EAAE,IAAO;IAC/E,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,2 @@
1
+ export declare function transformValueTo(type: 'string' | 'number' | 'integer' | 'boolean' | 'bigint', value: unknown): string | number | boolean | null;
2
+ //# sourceMappingURL=value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../src/utils/value.ts"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,EAC5D,KAAK,EAAE,OAAO,GACf,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAelC"}
@@ -0,0 +1,26 @@
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.transformValueTo = void 0;
10
+ function transformValueTo(type, value) {
11
+ if (value === null) {
12
+ return null;
13
+ }
14
+ switch (type) {
15
+ case 'integer':
16
+ case 'number':
17
+ return Number(value);
18
+ case 'boolean':
19
+ return !!value;
20
+ case 'string':
21
+ default:
22
+ return String(value);
23
+ }
24
+ }
25
+ exports.transformValueTo = transformValueTo;
26
+ //# sourceMappingURL=value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/utils/value.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,SAAgB,gBAAgB,CAC5B,IAA4D,EAC5D,KAAc;IAEd,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAC;KACf;IAED,QAAQ,IAAI,EAAE;QACV,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACT,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,KAAK,SAAS;YACV,OAAO,CAAC,CAAC,KAAK,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd;YACI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;KAC5B;AACL,CAAC;AAlBD,4CAkBC"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/tada5hi"
7
7
  },
8
8
  "license": "MIT",
9
- "version": "0.3.8",
9
+ "version": "1.0.0-alpha.10",
10
10
  "description": "Generate Swagger files from a decorator APIs.",
11
11
  "keywords": [
12
12
  "typescript",
@@ -26,6 +26,7 @@
26
26
  "dist/"
27
27
  ],
28
28
  "scripts": {
29
+ "refresh": "node bin/metadata.js",
29
30
  "start": "tsc -p tsconfig.build.json -w",
30
31
  "build": "npm run clean && tsc -p tsconfig.build.json",
31
32
  "clean": "rimraf dist && rimraf tsconfig.tsbuildinfo",
@@ -35,20 +36,16 @@
35
36
  "preblushOnly": "npm run build"
36
37
  },
37
38
  "devDependencies": {
38
- "@trapi/decorators": "^0.1.1",
39
- "@trapi/metadata": "^0.4.1",
40
39
  "@types/yamljs": "^0.2.31",
41
40
  "jest": "^27.5.1",
42
- "rimraf": "^3.0.2"
41
+ "jsonata": "^2.0.2",
42
+ "locter": "^1.0.9"
43
43
  },
44
44
  "dependencies": {
45
- "smob": "^0.0.6",
45
+ "@trapi/metadata": "^1.0.0-alpha.6",
46
+ "smob": "^0.1.0",
46
47
  "yamljs": "^0.3.0"
47
48
  },
48
- "peerDependencies": {
49
- "@trapi/decorators": ">=0.1.1 <1.0.0",
50
- "@trapi/metadata": ">=0.4.1 <1.0.0"
51
- },
52
49
  "repository": {
53
50
  "type": "git",
54
51
  "url": "git+https://github.com/Tada5hi/trapi.git",
@@ -65,5 +62,5 @@
65
62
  "access": "public"
66
63
  },
67
64
  "engineStrict": true,
68
- "gitHead": "48e5d03e959cffbf7d429fc6b825f3d47fb23a7f"
65
+ "gitHead": "36b39b607219489aa4f5eab2cb5e66f1f9602726"
69
66
  }
package/dist/module.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { CompilerOptions, Config as MetadataConfig } from '@trapi/metadata';
2
- import { Specification } from './specification';
3
- import { SwaggerDocFormatData, SwaggerDocFormatType } from './type';
4
- export declare function generateDocumentation(config: {
5
- metadata: MetadataConfig;
6
- swagger: Specification.Config;
7
- }, tsConfig?: CompilerOptions): Promise<Record<SwaggerDocFormatType, SwaggerDocFormatData>>;
8
- //# sourceMappingURL=module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,cAAc,EAA2B,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAgC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEpE,wBAAsB,qBAAqB,CACvC,MAAM,EAAE;IACJ,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC,MAAM,CAAA;CAChC,EACD,QAAQ,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAS7D"}
package/dist/module.js DELETED
@@ -1,31 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2021-2022.
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.generateDocumentation = void 0;
19
- const metadata_1 = require("@trapi/metadata");
20
- const specification_1 = require("./specification");
21
- function generateDocumentation(config, tsConfig) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- const metadataGenerator = (0, metadata_1.createMetadataGenerator)(config.metadata, tsConfig);
24
- const metadata = metadataGenerator.generate();
25
- const specGenerator = (0, specification_1.createSpecificationGenerator)(metadata, config.swagger);
26
- specGenerator.build();
27
- return specGenerator.save();
28
- });
29
- }
30
- exports.generateDocumentation = generateDocumentation;
31
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;AAEH,8CAAqG;AACrG,mDAA8E;AAG9E,SAAsB,qBAAqB,CACvC,MAGC,EACD,QAA0B;;QAE1B,MAAM,iBAAiB,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE7E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAE9C,MAAM,aAAa,GAAG,IAAA,4CAA4B,EAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7E,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;CAAA;AAfD,sDAeC"}
@@ -1,29 +0,0 @@
1
- import { BaseType, EnumType, IntersectionType, NestedObjectLiteralType, ReferenceType, ResolverProperty, UnionType } from '@trapi/decorators';
2
- import { GeneratorOutput } from '@trapi/metadata';
3
- import { SpecificationV2 } from './v2/type';
4
- import { SpecificationV3 } from './v3/type';
5
- import { SwaggerDocFormatData, SwaggerDocFormatType } from '../type';
6
- import { Specification } from './type';
7
- export declare abstract class AbstractSpecGenerator<Spec extends SpecificationV2.Spec | SpecificationV3.Spec, Schema extends SpecificationV3.Schema | SpecificationV2.Schema> {
8
- protected spec: Spec;
9
- protected readonly metadata: GeneratorOutput;
10
- protected readonly config: Specification.Config;
11
- constructor(metadata: GeneratorOutput, config: Specification.Config);
12
- save(): Promise<Record<SwaggerDocFormatType, SwaggerDocFormatData>>;
13
- getMetaData(): GeneratorOutput;
14
- abstract getSwaggerSpec(): Spec;
15
- abstract build(): Spec;
16
- protected buildInfo(): Specification.Info;
17
- protected getSwaggerType(type: BaseType): Schema | Specification.BaseSchema<Schema>;
18
- protected abstract getSwaggerTypeForIntersectionType(type: IntersectionType): Schema;
19
- protected abstract getSwaggerTypeForEnumType(enumType: EnumType): Schema;
20
- protected getSwaggerTypeForUnionType(type: UnionType): Schema | Specification.BaseSchema<Schema>;
21
- private getSwaggerTypeForPrimitiveType;
22
- private getSwaggerTypeForArrayType;
23
- getSwaggerTypeForObjectLiteral(objectLiteral: NestedObjectLiteralType): Specification.BaseSchema<Schema>;
24
- protected abstract getSwaggerTypeForReferenceType(referenceType: ReferenceType): Schema;
25
- protected abstract buildProperties(properties: ResolverProperty[]): Record<string, Schema>;
26
- protected determineTypesUsedInEnum(anEnum: Array<string | number | boolean | null>): Set<"string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function">;
27
- protected getOperationId(methodName: string): string;
28
- }
29
- //# sourceMappingURL=abstract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../src/specification/abstract.ts"],"names":[],"mappings":"AAOA,OAAO,EAEH,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,uBAAuB,EAE7D,aAAa,EAAE,gBAAgB,EAC/B,SAAS,EAIZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,8BAAsB,qBAAqB,CAAC,IAAI,SAAS,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,EAChG,MAAM,SAAS,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM;IAC9D,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IAErB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAE7C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;gBAEpC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM;IAKtD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAyCzE,WAAW;aAIF,cAAc,IAAI,IAAI;aAEtB,KAAK,IAAI,IAAI;IAE7B,SAAS,CAAC,SAAS;IAiBnB,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;IAqCnF,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,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;IA8ChG,OAAO,CAAC,8BAA8B;IAwBtC,OAAO,CAAC,0BAA0B;IAI3B,8BAA8B,CAAC,aAAa,EAAE,uBAAuB,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;IAkB/G,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;CAG9C"}
@@ -1,226 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2021.
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 __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
- });
39
- };
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- 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"));
46
- const utils_1 = require("../utils");
47
- class AbstractSpecGenerator {
48
- constructor(metadata, config) {
49
- this.metadata = metadata;
50
- this.config = config;
51
- }
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;
87
- }
88
- buildInfo() {
89
- const info = {
90
- title: this.config.name || '',
91
- version: this.config.version || '1.0.0',
92
- };
93
- if (this.config.description) {
94
- info.description = this.config.description;
95
- }
96
- if (this.config.license) {
97
- info.license = { name: this.config.license };
98
- }
99
- return info;
100
- }
101
- getSwaggerType(type) {
102
- if ((0, decorators_1.isVoidType)(type)) {
103
- return {};
104
- }
105
- if ((0, decorators_1.isReferenceType)(type)) {
106
- return this.getSwaggerTypeForReferenceType(type);
107
- }
108
- if (type.typeName === 'any' ||
109
- type.typeName === 'binary' ||
110
- type.typeName === 'boolean' ||
111
- type.typeName === 'buffer' ||
112
- type.typeName === 'byte' ||
113
- type.typeName === 'date' ||
114
- type.typeName === 'datetime' ||
115
- type.typeName === 'double' ||
116
- type.typeName === 'float' ||
117
- type.typeName === 'file' ||
118
- type.typeName === 'integer' ||
119
- type.typeName === 'long' ||
120
- type.typeName === 'object' ||
121
- type.typeName === 'string') {
122
- return this.getSwaggerTypeForPrimitiveType(type.typeName);
123
- }
124
- if ((0, decorators_1.isArrayType)(type)) {
125
- return this.getSwaggerTypeForArrayType(type);
126
- }
127
- if ((0, decorators_1.isEnumType)(type)) {
128
- return this.getSwaggerTypeForEnumType(type);
129
- }
130
- if ((0, decorators_1.isUnionType)(type)) {
131
- return this.getSwaggerTypeForUnionType(type);
132
- }
133
- if ((0, decorators_1.isIntersectionType)(type)) {
134
- return this.getSwaggerTypeForIntersectionType(type);
135
- }
136
- if ((0, decorators_1.isNestedObjectLiteralType)(type)) {
137
- return this.getSwaggerTypeForObjectLiteral(type);
138
- }
139
- return {};
140
- }
141
- getSwaggerTypeForUnionType(type) {
142
- if (type.members.every((subType) => subType.typeName === 'enum')) {
143
- const mergedEnum = { typeName: 'enum', members: [] };
144
- type.members.forEach((t) => {
145
- mergedEnum.members = [...mergedEnum.members, ...t.members];
146
- });
147
- return this.getSwaggerTypeForEnumType(mergedEnum);
148
- }
149
- if (type.members.length === 2 && type.members.find((typeInUnion) => typeInUnion.typeName === 'enum' && typeInUnion.members.includes(null))) {
150
- // 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));
152
- const typeIndex = nullEnumIndex === 1 ? 0 : 1;
153
- const swaggerType = this.getSwaggerType(type.members[typeIndex]);
154
- const isRef = (0, utils_1.hasOwnProperty)(swaggerType, '$ref') && !!swaggerType.$ref;
155
- if (isRef) {
156
- return { type: 'object' };
157
- }
158
- swaggerType['x-nullable'] = true;
159
- return swaggerType;
160
- }
161
- if (type.members.length === 2) {
162
- let index = type.members.findIndex((member) => (0, decorators_1.isArrayType)(member));
163
- if (index !== -1) {
164
- const otherIndex = index === 0 ? 1 : 0;
165
- if (type.members[index].elementType.typeName === type.members[otherIndex].typeName) {
166
- return this.getSwaggerType(type.members[otherIndex]);
167
- }
168
- }
169
- index = type.members.findIndex((member) => (0, decorators_1.isAnyType)(member));
170
- if (index !== -1) {
171
- const otherIndex = index === 0 ? 1 : 0;
172
- if ((0, decorators_1.isAnyType)(type.members[index])) {
173
- return this.getSwaggerType(type.members[otherIndex]);
174
- }
175
- }
176
- }
177
- return { type: 'object' };
178
- }
179
- getSwaggerTypeForPrimitiveType(type) {
180
- const PrimitiveSwaggerTypeMap = {
181
- any: {
182
- // While the any type is discouraged, it does explicitly allows anything, so it should always allow additionalProperties
183
- additionalProperties: true,
184
- },
185
- binary: { type: 'string', format: 'binary' },
186
- boolean: { type: 'boolean' },
187
- buffer: { type: 'string', format: 'byte' },
188
- byte: { type: 'string', format: 'byte' },
189
- date: { type: 'string', format: 'date' },
190
- datetime: { type: 'string', format: 'date-time' },
191
- double: { type: 'number', format: 'double' },
192
- file: { type: 'string', format: 'binary' },
193
- float: { type: 'number', format: 'float' },
194
- integer: { type: 'integer', format: 'int32' },
195
- long: { type: 'integer', format: 'int64' },
196
- object: { type: 'object' },
197
- string: { type: 'string' },
198
- };
199
- return PrimitiveSwaggerTypeMap[type];
200
- }
201
- getSwaggerTypeForArrayType(arrayType) {
202
- return { type: 'array', items: this.getSwaggerType(arrayType.elementType) };
203
- }
204
- getSwaggerTypeForObjectLiteral(objectLiteral) {
205
- const properties = this.buildProperties(objectLiteral.properties);
206
- const additionalProperties = objectLiteral.additionalProperties && this.getSwaggerType(objectLiteral.additionalProperties);
207
- const required = objectLiteral.properties
208
- .filter((prop) => prop.required).map((prop) => prop.name);
209
- // An empty list required: [] is not valid.
210
- // 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' });
212
- }
213
- determineTypesUsedInEnum(anEnum) {
214
- return anEnum.reduce((theSet, curr) => {
215
- if (curr !== null) {
216
- theSet.add(typeof curr);
217
- }
218
- return theSet;
219
- }, new Set());
220
- }
221
- getOperationId(methodName) {
222
- return methodName.charAt(0).toUpperCase() + methodName.substring(1);
223
- }
224
- }
225
- exports.AbstractSpecGenerator = AbstractSpecGenerator;
226
- //# sourceMappingURL=abstract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../src/specification/abstract.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/specification/index.ts"],"names":[],"mappings":"AAOA,cAAc,MAAM,CAAC;AACrB,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/specification/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,uCAAqB;AACrB,uCAAqB;AACrB,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB"}
@@ -1,5 +0,0 @@
1
- import { GeneratorOutput, MetadataGenerator } from '@trapi/metadata';
2
- import { AbstractSpecGenerator } from './abstract';
3
- import { Specification } from './type';
4
- export declare function createSpecificationGenerator(metadata: GeneratorOutput | MetadataGenerator, config?: Specification.Config): AbstractSpecGenerator<any, any>;
5
- //# sourceMappingURL=module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/specification/module.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,wBAAgB,4BAA4B,CACxC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,EAC7C,MAAM,GAAE,aAAa,CAAC,MAAW,mCAkBpC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSpecificationGenerator = void 0;
4
- /*
5
- * Copyright (c) 2022-2022.
6
- * Author Peter Placzek (tada5hi)
7
- * For the full copyright and license information,
8
- * view the LICENSE file that was distributed with this source code.
9
- */
10
- const metadata_1 = require("@trapi/metadata");
11
- const type_1 = require("./type");
12
- const v2_1 = require("./v2");
13
- const v3_1 = require("./v3");
14
- function createSpecificationGenerator(metadata, config = {}) {
15
- const data = metadata instanceof metadata_1.MetadataGenerator ? metadata.generate() : metadata;
16
- const outputFormat = config.specification || type_1.Specification.SpecificationOption.V2;
17
- let specGenerator;
18
- switch (outputFormat) {
19
- case type_1.Specification.SpecificationOption.V2:
20
- specGenerator = new v2_1.Version2SpecGenerator(data, config);
21
- break;
22
- case type_1.Specification.SpecificationOption.V3:
23
- specGenerator = new v3_1.Version3SpecGenerator(data, config);
24
- break;
25
- }
26
- return specGenerator;
27
- }
28
- exports.createSpecificationGenerator = createSpecificationGenerator;
29
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/specification/module.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,8CAAqE;AAErE,iCAAuC;AACvC,6BAA6C;AAC7C,6BAA6C;AAE7C,SAAgB,4BAA4B,CACxC,QAA6C,EAC7C,SAA+B,EAAE;IAEjC,MAAM,IAAI,GAAoB,QAAQ,YAAY,4BAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErG,MAAM,YAAY,GAAsC,MAAM,CAAC,aAAa,IAAI,oBAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IAErH,IAAI,aAA8C,CAAC;IAEnD,QAAQ,YAAY,EAAE;QAClB,KAAK,oBAAa,CAAC,mBAAmB,CAAC,EAAE;YACrC,aAAa,GAAG,IAAI,0BAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM;QACV,KAAK,oBAAa,CAAC,mBAAmB,CAAC,EAAE;YACrC,aAAa,GAAG,IAAI,0BAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM;KACb;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AApBD,oEAoBC"}