@goast/core 0.0.1

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 (202) hide show
  1. package/README.md +11 -0
  2. package/dist/index.cjs +7 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.ts +3 -0
  5. package/dist/index.js +4 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/codegen/config.cjs +6 -0
  8. package/dist/lib/codegen/config.cjs.map +1 -0
  9. package/dist/lib/codegen/config.d.ts +6 -0
  10. package/dist/lib/codegen/config.js +3 -0
  11. package/dist/lib/codegen/config.js.map +1 -0
  12. package/dist/lib/codegen/endpoints-generator.cjs +31 -0
  13. package/dist/lib/codegen/endpoints-generator.cjs.map +1 -0
  14. package/dist/lib/codegen/endpoints-generator.d.ts +15 -0
  15. package/dist/lib/codegen/endpoints-generator.js +27 -0
  16. package/dist/lib/codegen/endpoints-generator.js.map +1 -0
  17. package/dist/lib/codegen/generator.cjs +103 -0
  18. package/dist/lib/codegen/generator.cjs.map +1 -0
  19. package/dist/lib/codegen/generator.d.ts +36 -0
  20. package/dist/lib/codegen/generator.js +98 -0
  21. package/dist/lib/codegen/generator.js.map +1 -0
  22. package/dist/lib/codegen/index.cjs +10 -0
  23. package/dist/lib/codegen/index.cjs.map +1 -0
  24. package/dist/lib/codegen/index.d.ts +6 -0
  25. package/dist/lib/codegen/index.js +7 -0
  26. package/dist/lib/codegen/index.js.map +1 -0
  27. package/dist/lib/codegen/internal-utils.cjs +10 -0
  28. package/dist/lib/codegen/internal-utils.cjs.map +1 -0
  29. package/dist/lib/codegen/internal-utils.d.ts +1 -0
  30. package/dist/lib/codegen/internal-utils.js +6 -0
  31. package/dist/lib/codegen/internal-utils.js.map +1 -0
  32. package/dist/lib/codegen/schemas-generator.cjs +43 -0
  33. package/dist/lib/codegen/schemas-generator.cjs.map +1 -0
  34. package/dist/lib/codegen/schemas-generator.d.ts +16 -0
  35. package/dist/lib/codegen/schemas-generator.js +39 -0
  36. package/dist/lib/codegen/schemas-generator.js.map +1 -0
  37. package/dist/lib/codegen/services-generator.cjs +31 -0
  38. package/dist/lib/codegen/services-generator.cjs.map +1 -0
  39. package/dist/lib/codegen/services-generator.d.ts +15 -0
  40. package/dist/lib/codegen/services-generator.js +27 -0
  41. package/dist/lib/codegen/services-generator.js.map +1 -0
  42. package/dist/lib/codegen/types.cjs +3 -0
  43. package/dist/lib/codegen/types.cjs.map +1 -0
  44. package/dist/lib/codegen/types.d.ts +17 -0
  45. package/dist/lib/codegen/types.js +2 -0
  46. package/dist/lib/codegen/types.js.map +1 -0
  47. package/dist/lib/collect/collector.cjs +116 -0
  48. package/dist/lib/collect/collector.cjs.map +1 -0
  49. package/dist/lib/collect/collector.d.ts +3 -0
  50. package/dist/lib/collect/collector.js +112 -0
  51. package/dist/lib/collect/collector.js.map +1 -0
  52. package/dist/lib/collect/helpers.cjs +33 -0
  53. package/dist/lib/collect/helpers.cjs.map +1 -0
  54. package/dist/lib/collect/helpers.d.ts +3 -0
  55. package/dist/lib/collect/helpers.js +28 -0
  56. package/dist/lib/collect/helpers.js.map +1 -0
  57. package/dist/lib/collect/index.cjs +7 -0
  58. package/dist/lib/collect/index.cjs.map +1 -0
  59. package/dist/lib/collect/index.d.ts +3 -0
  60. package/dist/lib/collect/index.js +4 -0
  61. package/dist/lib/collect/index.js.map +1 -0
  62. package/dist/lib/collect/types.cjs +3 -0
  63. package/dist/lib/collect/types.cjs.map +1 -0
  64. package/dist/lib/collect/types.d.ts +12 -0
  65. package/dist/lib/collect/types.js +2 -0
  66. package/dist/lib/collect/types.js.map +1 -0
  67. package/dist/lib/internal-utils.cjs +8 -0
  68. package/dist/lib/internal-utils.cjs.map +1 -0
  69. package/dist/lib/internal-utils.d.ts +1 -0
  70. package/dist/lib/internal-utils.js +4 -0
  71. package/dist/lib/internal-utils.js.map +1 -0
  72. package/dist/lib/parse/deref-proxy.cjs +46 -0
  73. package/dist/lib/parse/deref-proxy.cjs.map +1 -0
  74. package/dist/lib/parse/deref-proxy.d.ts +3 -0
  75. package/dist/lib/parse/deref-proxy.js +42 -0
  76. package/dist/lib/parse/deref-proxy.js.map +1 -0
  77. package/dist/lib/parse/index.cjs +7 -0
  78. package/dist/lib/parse/index.cjs.map +1 -0
  79. package/dist/lib/parse/index.d.ts +3 -0
  80. package/dist/lib/parse/index.js +4 -0
  81. package/dist/lib/parse/index.js.map +1 -0
  82. package/dist/lib/parse/openapi-types.cjs +3 -0
  83. package/dist/lib/parse/openapi-types.cjs.map +1 -0
  84. package/dist/lib/parse/openapi-types.d.ts +897 -0
  85. package/dist/lib/parse/openapi-types.js +2 -0
  86. package/dist/lib/parse/openapi-types.js.map +1 -0
  87. package/dist/lib/parse/parser.cjs +189 -0
  88. package/dist/lib/parse/parser.cjs.map +1 -0
  89. package/dist/lib/parse/parser.d.ts +16 -0
  90. package/dist/lib/parse/parser.js +185 -0
  91. package/dist/lib/parse/parser.js.map +1 -0
  92. package/dist/lib/parse/types.cjs +3 -0
  93. package/dist/lib/parse/types.cjs.map +1 -0
  94. package/dist/lib/parse/types.d.ts +15 -0
  95. package/dist/lib/parse/types.js +2 -0
  96. package/dist/lib/parse/types.js.map +1 -0
  97. package/dist/lib/transform/api-types.cjs +3 -0
  98. package/dist/lib/transform/api-types.cjs.map +1 -0
  99. package/dist/lib/transform/api-types.d.ts +186 -0
  100. package/dist/lib/transform/api-types.js +2 -0
  101. package/dist/lib/transform/api-types.js.map +1 -0
  102. package/dist/lib/transform/helpers.cjs +121 -0
  103. package/dist/lib/transform/helpers.cjs.map +1 -0
  104. package/dist/lib/transform/helpers.d.ts +50 -0
  105. package/dist/lib/transform/helpers.js +108 -0
  106. package/dist/lib/transform/helpers.js.map +1 -0
  107. package/dist/lib/transform/index.cjs +6 -0
  108. package/dist/lib/transform/index.cjs.map +1 -0
  109. package/dist/lib/transform/index.d.ts +2 -0
  110. package/dist/lib/transform/index.js +3 -0
  111. package/dist/lib/transform/index.js.map +1 -0
  112. package/dist/lib/transform/transform-document.cjs +33 -0
  113. package/dist/lib/transform/transform-document.cjs.map +1 -0
  114. package/dist/lib/transform/transform-document.d.ts +3 -0
  115. package/dist/lib/transform/transform-document.js +29 -0
  116. package/dist/lib/transform/transform-document.js.map +1 -0
  117. package/dist/lib/transform/transform-endpoint.cjs +254 -0
  118. package/dist/lib/transform/transform-endpoint.cjs.map +1 -0
  119. package/dist/lib/transform/transform-endpoint.d.ts +4 -0
  120. package/dist/lib/transform/transform-endpoint.js +250 -0
  121. package/dist/lib/transform/transform-endpoint.js.map +1 -0
  122. package/dist/lib/transform/transform-schema.cjs +142 -0
  123. package/dist/lib/transform/transform-schema.cjs.map +1 -0
  124. package/dist/lib/transform/transform-schema.d.ts +4 -0
  125. package/dist/lib/transform/transform-schema.js +138 -0
  126. package/dist/lib/transform/transform-schema.js.map +1 -0
  127. package/dist/lib/transform/transformer.cjs +44 -0
  128. package/dist/lib/transform/transformer.cjs.map +1 -0
  129. package/dist/lib/transform/transformer.d.ts +3 -0
  130. package/dist/lib/transform/transformer.js +40 -0
  131. package/dist/lib/transform/transformer.js.map +1 -0
  132. package/dist/lib/transform/types.cjs +3 -0
  133. package/dist/lib/transform/types.cjs.map +1 -0
  134. package/dist/lib/transform/types.d.ts +23 -0
  135. package/dist/lib/transform/types.js +2 -0
  136. package/dist/lib/transform/types.js.map +1 -0
  137. package/dist/lib/utils/action-provider.cjs +35 -0
  138. package/dist/lib/utils/action-provider.cjs.map +1 -0
  139. package/dist/lib/utils/action-provider.d.ts +28 -0
  140. package/dist/lib/utils/action-provider.js +31 -0
  141. package/dist/lib/utils/action-provider.js.map +1 -0
  142. package/dist/lib/utils/common.utils.cjs +12 -0
  143. package/dist/lib/utils/common.utils.cjs.map +1 -0
  144. package/dist/lib/utils/common.utils.d.ts +3 -0
  145. package/dist/lib/utils/common.utils.js +7 -0
  146. package/dist/lib/utils/common.utils.js.map +1 -0
  147. package/dist/lib/utils/condition.cjs +9 -0
  148. package/dist/lib/utils/condition.cjs.map +1 -0
  149. package/dist/lib/utils/condition.d.ts +3 -0
  150. package/dist/lib/utils/condition.js +5 -0
  151. package/dist/lib/utils/condition.js.map +1 -0
  152. package/dist/lib/utils/endpoint.utils.cjs +13 -0
  153. package/dist/lib/utils/endpoint.utils.cjs.map +1 -0
  154. package/dist/lib/utils/endpoint.utils.d.ts +2 -0
  155. package/dist/lib/utils/endpoint.utils.js +9 -0
  156. package/dist/lib/utils/endpoint.utils.js.map +1 -0
  157. package/dist/lib/utils/factory.cjs +29 -0
  158. package/dist/lib/utils/factory.cjs.map +1 -0
  159. package/dist/lib/utils/factory.d.ts +20 -0
  160. package/dist/lib/utils/factory.js +25 -0
  161. package/dist/lib/utils/factory.js.map +1 -0
  162. package/dist/lib/utils/generator.utils.cjs +11 -0
  163. package/dist/lib/utils/generator.utils.cjs.map +1 -0
  164. package/dist/lib/utils/generator.utils.d.ts +1 -0
  165. package/dist/lib/utils/generator.utils.js +7 -0
  166. package/dist/lib/utils/generator.utils.js.map +1 -0
  167. package/dist/lib/utils/index.cjs +14 -0
  168. package/dist/lib/utils/index.cjs.map +1 -0
  169. package/dist/lib/utils/index.d.ts +10 -0
  170. package/dist/lib/utils/index.js +11 -0
  171. package/dist/lib/utils/index.js.map +1 -0
  172. package/dist/lib/utils/object.utils.cjs +21 -0
  173. package/dist/lib/utils/object.utils.cjs.map +1 -0
  174. package/dist/lib/utils/object.utils.d.ts +1 -0
  175. package/dist/lib/utils/object.utils.js +17 -0
  176. package/dist/lib/utils/object.utils.js.map +1 -0
  177. package/dist/lib/utils/schema.utils.cjs +55 -0
  178. package/dist/lib/utils/schema.utils.cjs.map +1 -0
  179. package/dist/lib/utils/schema.utils.d.ts +10 -0
  180. package/dist/lib/utils/schema.utils.js +50 -0
  181. package/dist/lib/utils/schema.utils.js.map +1 -0
  182. package/dist/lib/utils/source-builder.cjs +378 -0
  183. package/dist/lib/utils/source-builder.cjs.map +1 -0
  184. package/dist/lib/utils/source-builder.d.ts +216 -0
  185. package/dist/lib/utils/source-builder.js +374 -0
  186. package/dist/lib/utils/source-builder.js.map +1 -0
  187. package/dist/lib/utils/string.utils.cjs +337 -0
  188. package/dist/lib/utils/string.utils.cjs.map +1 -0
  189. package/dist/lib/utils/string.utils.d.ts +173 -0
  190. package/dist/lib/utils/string.utils.js +324 -0
  191. package/dist/lib/utils/string.utils.js.map +1 -0
  192. package/dist/lib/utils/string.utils.types.cjs +3 -0
  193. package/dist/lib/utils/string.utils.types.cjs.map +1 -0
  194. package/dist/lib/utils/string.utils.types.d.ts +148 -0
  195. package/dist/lib/utils/string.utils.types.js +2 -0
  196. package/dist/lib/utils/string.utils.types.js.map +1 -0
  197. package/dist/lib/utils/type.utils.cjs +3 -0
  198. package/dist/lib/utils/type.utils.cjs.map +1 -0
  199. package/dist/lib/utils/type.utils.d.ts +15 -0
  200. package/dist/lib/utils/type.utils.js +2 -0
  201. package/dist/lib/utils/type.utils.js.map +1 -0
  202. package/package.json +27 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/transform/transformer.ts"],"names":[],"mappings":";;;AACA,uCAAwC;AACxC,6DAAyD;AACzD,6DAAyD;AACzD,yDAAqD;AAIrD,SAAgB,gBAAgB,CAAC,IAA0B;IACzD,MAAM,OAAO,GAA8B;QACzC,WAAW,EAAE,IAAI,qBAAW,EAAE;QAC9B,KAAK,EAAE,IAAI;QACX,iBAAiB,EAAE,IAAI,GAAG,EAAE;QAC5B,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,OAAO,EAAE,IAAI,GAAG,EAAE;QAElB,WAAW,EAAE;YACX,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,KAAK,EAAE,IAAI,GAAG,EAAE;YAChB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,SAAS,EAAE,IAAI,GAAG,EAAE;YACpB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO,EAAE,IAAI,GAAG,EAAE;SACnB;KACF,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;QACrC,IAAA,sCAAiB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KACtC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;QACnD,IAAA,kCAAe,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAClC;IACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;QACvD,IAAA,sCAAiB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KACtC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/C,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AArCD,4CAqCC"}
@@ -0,0 +1,3 @@
1
+ import { ApiData } from './api-types';
2
+ import { OpenApiCollectorData } from '../collect';
3
+ export declare function transformOpenApi(data: OpenApiCollectorData): ApiData;
@@ -0,0 +1,40 @@
1
+ import { IdGenerator } from './helpers';
2
+ import { transformDocument } from './transform-document';
3
+ import { transformEndpoint } from './transform-endpoint';
4
+ import { transformSchema } from './transform-schema';
5
+ export function transformOpenApi(data) {
6
+ const context = {
7
+ idGenerator: new IdGenerator(),
8
+ input: data,
9
+ incompleteSchemas: new Map(),
10
+ paths: new Map(),
11
+ services: new Map(),
12
+ endpoints: new Map(),
13
+ schemas: new Map(),
14
+ transformed: {
15
+ services: new Map(),
16
+ paths: new Map(),
17
+ parameters: new Map(),
18
+ requestBodies: new Map(),
19
+ responses: new Map(),
20
+ content: new Map(),
21
+ headers: new Map(),
22
+ schemas: new Map(),
23
+ },
24
+ };
25
+ for (const document of data.documents) {
26
+ transformDocument(context, document);
27
+ }
28
+ for (const schema of context.input.schemas.values()) {
29
+ transformSchema(context, schema);
30
+ }
31
+ for (const endpoint of context.input.endpoints.values()) {
32
+ transformEndpoint(context, endpoint);
33
+ }
34
+ return {
35
+ services: Array.from(context.services.values()),
36
+ endpoints: Array.from(context.endpoints.values()),
37
+ schemas: Array.from(context.schemas.values()),
38
+ };
39
+ }
40
+ //# sourceMappingURL=transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/transform/transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,MAAM,UAAU,gBAAgB,CAAC,IAA0B;IACzD,MAAM,OAAO,GAA8B;QACzC,WAAW,EAAE,IAAI,WAAW,EAAE;QAC9B,KAAK,EAAE,IAAI;QACX,iBAAiB,EAAE,IAAI,GAAG,EAAE;QAC5B,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,OAAO,EAAE,IAAI,GAAG,EAAE;QAElB,WAAW,EAAE;YACX,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,KAAK,EAAE,IAAI,GAAG,EAAE;YAChB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,SAAS,EAAE,IAAI,GAAG,EAAE;YACpB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO,EAAE,IAAI,GAAG,EAAE;SACnB;KACF,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;QACrC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KACtC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;QACnD,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAClC;IACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;QACvD,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KACtC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/C,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/transform/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { ApiSchema, ApiSchemaExtensions, ApiSchemaKind, ApiPath, ApiData, ApiService, ApiParameter, ApiRequestBody, ApiResponse, ApiContent, ApiHeader } from './api-types';
2
+ import { IdGenerator } from './helpers';
3
+ import { OpenApiCollectorData } from '../collect/types';
4
+ import { ArrayItem } from '../utils/type.utils';
5
+ export type IncompleteApiSchema = Omit<ApiSchema, Exclude<keyof ApiSchemaExtensions<ApiSchemaKind>, 'kind'>>;
6
+ export type OpenApiTransformerContext = {
7
+ idGenerator: IdGenerator;
8
+ input: OpenApiCollectorData;
9
+ incompleteSchemas: Map<string, IncompleteApiSchema>;
10
+ paths: Map<string, ApiPath>;
11
+ transformed: {
12
+ services: Map<string, ApiService>;
13
+ paths: Map<string, ApiPath>;
14
+ parameters: Map<string, ApiParameter>;
15
+ requestBodies: Map<string, ApiRequestBody>;
16
+ responses: Map<string, ApiResponse>;
17
+ content: Map<string, ApiContent>;
18
+ headers: Map<string, ApiHeader>;
19
+ schemas: Map<string, ApiSchema>;
20
+ };
21
+ } & {
22
+ [K in keyof ApiData]: Map<string, ArrayItem<ApiData[K]>>;
23
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/transform/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ActionProvider = void 0;
5
+ class Foo {
6
+ bar(value) {
7
+ return `Hello, ${value}!`;
8
+ }
9
+ }
10
+ class ActionProvider {
11
+ constructor(_runner) {
12
+ this._runner = _runner;
13
+ }
14
+ run(...args) {
15
+ switch (this._runner.kind) {
16
+ case 'ctor':
17
+ return new this._runner.factory()[this._runner.functionName](...args);
18
+ case 'fn':
19
+ return this._runner.action(...args);
20
+ case 'value':
21
+ return this._runner.value[this._runner.functionName](...args);
22
+ }
23
+ }
24
+ static fromType(type, functionName) {
25
+ return new ActionProvider({ kind: 'ctor', factory: type, functionName: functionName });
26
+ }
27
+ static fromFn(fn) {
28
+ return new ActionProvider({ kind: 'fn', action: fn });
29
+ }
30
+ static fromValue(value, functionName) {
31
+ return new ActionProvider({ kind: 'value', value, functionName: functionName });
32
+ }
33
+ }
34
+ exports.ActionProvider = ActionProvider;
35
+ //# sourceMappingURL=action-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-provider.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/action-provider.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAyBvD,MAAM,GAAG;IACA,GAAG,CAAC,KAAa;QACtB,OAAO,UAAU,KAAK,GAAG,CAAC;IAC5B,CAAC;CACF;AAID,MAAa,cAAc;IACzB,YAA6B,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAExD,GAAG,CAAC,GAAG,IAAyB;QACrC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACzB,KAAK,MAAM;gBACT,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAmB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/E,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAmB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACxE;IACH,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,IAAyB,EACzB,YAAmB;QAEnB,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAmB,EAAE,CAAC,CAAC;IAChG,CAAC;IAEM,MAAM,CAAC,MAAM,CAA0C,EAAW;QACvE,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAEM,MAAM,CAAC,SAAS,CACrB,KAAQ,EACR,YAAmB;QAEnB,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAmB,EAAE,CAAC,CAAC;IACzF,CAAC;CACF;AA/BD,wCA+BC"}
@@ -0,0 +1,28 @@
1
+ import { EmptyConstructor, FunctionNames } from './type.utils';
2
+ type MatchingFunctionNames<T, TAction> = {
3
+ [K in keyof T]: T[K] extends TAction ? K : never;
4
+ }[keyof T];
5
+ type CtorActionRunner<T, TAction> = {
6
+ kind: 'ctor';
7
+ factory: EmptyConstructor<T>;
8
+ functionName: MatchingFunctionNames<T, TAction>;
9
+ };
10
+ type FnActionRunner<TAction> = {
11
+ kind: 'fn';
12
+ action: TAction;
13
+ };
14
+ type ValueActionRunner<T, TAction> = {
15
+ kind: 'value';
16
+ value: T;
17
+ functionName: MatchingFunctionNames<T, TAction>;
18
+ };
19
+ type ActionRunner<TAction> = CtorActionRunner<any, TAction> | FnActionRunner<TAction> | ValueActionRunner<any, TAction>;
20
+ export declare class ActionProvider<TAction extends (...args: any[]) => any> {
21
+ private readonly _runner;
22
+ constructor(_runner: ActionRunner<TAction>);
23
+ run(...args: Parameters<TAction>): ReturnType<TAction>;
24
+ static fromType<T, TName extends FunctionNames<T>>(type: EmptyConstructor<T>, functionName: TName): ActionProvider<T[TName] extends (...args: any[]) => any ? T[TName] : never>;
25
+ static fromFn<TAction extends (...args: any[]) => any>(fn: TAction): ActionProvider<TAction>;
26
+ static fromValue<T, TName extends FunctionNames<T>>(value: T, functionName: TName): ActionProvider<T[TName] extends (...args: any[]) => any ? T[TName] : never>;
27
+ }
28
+ export {};
@@ -0,0 +1,31 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ class Foo {
3
+ bar(value) {
4
+ return `Hello, ${value}!`;
5
+ }
6
+ }
7
+ export class ActionProvider {
8
+ constructor(_runner) {
9
+ this._runner = _runner;
10
+ }
11
+ run(...args) {
12
+ switch (this._runner.kind) {
13
+ case 'ctor':
14
+ return new this._runner.factory()[this._runner.functionName](...args);
15
+ case 'fn':
16
+ return this._runner.action(...args);
17
+ case 'value':
18
+ return this._runner.value[this._runner.functionName](...args);
19
+ }
20
+ }
21
+ static fromType(type, functionName) {
22
+ return new ActionProvider({ kind: 'ctor', factory: type, functionName: functionName });
23
+ }
24
+ static fromFn(fn) {
25
+ return new ActionProvider({ kind: 'fn', action: fn });
26
+ }
27
+ static fromValue(value, functionName) {
28
+ return new ActionProvider({ kind: 'value', value, functionName: functionName });
29
+ }
30
+ }
31
+ //# sourceMappingURL=action-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-provider.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/action-provider.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAyBvD,MAAM,GAAG;IACA,GAAG,CAAC,KAAa;QACtB,OAAO,UAAU,KAAK,GAAG,CAAC;IAC5B,CAAC;CACF;AAID,MAAM,OAAO,cAAc;IACzB,YAA6B,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAExD,GAAG,CAAC,GAAG,IAAyB;QACrC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACzB,KAAK,MAAM;gBACT,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAmB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/E,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAmB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACxE;IACH,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,IAAyB,EACzB,YAAmB;QAEnB,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAmB,EAAE,CAAC,CAAC;IAChG,CAAC;IAEM,MAAM,CAAC,MAAM,CAA0C,EAAW;QACvE,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAEM,MAAM,CAAC,SAAS,CACrB,KAAQ,EACR,YAAmB;QAEnB,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAmB,EAAE,CAAC,CAAC;IACzF,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notNullish = exports.isNullish = void 0;
4
+ function isNullish(value) {
5
+ return value === null || value === undefined;
6
+ }
7
+ exports.isNullish = isNullish;
8
+ function notNullish(value) {
9
+ return !isNullish(value);
10
+ }
11
+ exports.notNullish = notNullish;
12
+ //# sourceMappingURL=common.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.utils.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/common.utils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAFD,8BAEC;AAED,SAAgB,UAAU,CAAI,KAAkB;IAC9C,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAFD,gCAEC"}
@@ -0,0 +1,3 @@
1
+ import { Nullable } from './type.utils';
2
+ export declare function isNullish(value: unknown): value is null | undefined;
3
+ export declare function notNullish<T>(value: Nullable<T>): value is T;
@@ -0,0 +1,7 @@
1
+ export function isNullish(value) {
2
+ return value === null || value === undefined;
3
+ }
4
+ export function notNullish(value) {
5
+ return !isNullish(value);
6
+ }
7
+ //# sourceMappingURL=common.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/common.utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,KAAkB;IAC9C,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.evalCondition = void 0;
4
+ function evalCondition(condition, ctx) {
5
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
6
+ return typeof condition === 'function' ? condition(ctx) : condition;
7
+ }
8
+ exports.evalCondition = evalCondition;
9
+ //# sourceMappingURL=condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/condition.ts"],"names":[],"mappings":";;;AAGA,SAAgB,aAAa,CAAI,SAAuB,EAAE,GAAO;IAC/D,oEAAoE;IACpE,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAHD,sCAGC"}
@@ -0,0 +1,3 @@
1
+ export type Condition<T = never> = boolean | ([T] extends [never] ? () => boolean : (ctx: T) => boolean);
2
+ export declare function evalCondition(condition: Condition<never>): boolean;
3
+ export declare function evalCondition<T>(condition: Condition<T>, ctx: T): boolean;
@@ -0,0 +1,5 @@
1
+ export function evalCondition(condition, ctx) {
2
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3
+ return typeof condition === 'function' ? condition(ctx) : condition;
4
+ }
5
+ //# sourceMappingURL=condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/condition.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAI,SAAuB,EAAE,GAAO;IAC/D,oEAAoE;IACpE,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEndpointUrlPreview = void 0;
4
+ function getEndpointUrlPreview(endpoint) {
5
+ let url = endpoint.path;
6
+ const queryParams = endpoint.parameters.filter((p) => p.target === 'query');
7
+ if (queryParams.length > 0) {
8
+ url += '?' + queryParams.map((p) => (p.required ? `${p.name}={${p.name}}` : `[${p.name}={${p.name}}]`)).join('&');
9
+ }
10
+ return url;
11
+ }
12
+ exports.getEndpointUrlPreview = getEndpointUrlPreview;
13
+ //# sourceMappingURL=endpoint.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.utils.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/endpoint.utils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,qBAAqB,CAAC,QAAqB;IACzD,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;IACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAC5E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1B,GAAG,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnH;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAPD,sDAOC"}
@@ -0,0 +1,2 @@
1
+ import { ApiEndpoint } from '../transform';
2
+ export declare function getEndpointUrlPreview(endpoint: ApiEndpoint): string;
@@ -0,0 +1,9 @@
1
+ export function getEndpointUrlPreview(endpoint) {
2
+ let url = endpoint.path;
3
+ const queryParams = endpoint.parameters.filter((p) => p.target === 'query');
4
+ if (queryParams.length > 0) {
5
+ url += '?' + queryParams.map((p) => (p.required ? `${p.name}={${p.name}}` : `[${p.name}={${p.name}}]`)).join('&');
6
+ }
7
+ return url;
8
+ }
9
+ //# sourceMappingURL=endpoint.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/endpoint.utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,QAAqB;IACzD,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;IACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAC5E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1B,GAAG,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnH;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Factory = void 0;
4
+ class Factory {
5
+ constructor(_provider) {
6
+ this._provider = _provider;
7
+ }
8
+ create(...args) {
9
+ switch (this._provider.kind) {
10
+ case 'ctor':
11
+ return new this._provider.factory(...args);
12
+ case 'fn':
13
+ return this._provider.factory(...args);
14
+ case 'value':
15
+ return this._provider.factory;
16
+ }
17
+ }
18
+ static fromType(type) {
19
+ return new Factory({ kind: 'ctor', factory: type });
20
+ }
21
+ static fromFn(fn) {
22
+ return new Factory({ kind: 'fn', factory: fn });
23
+ }
24
+ static fromValue(value) {
25
+ return new Factory({ kind: 'value', factory: value });
26
+ }
27
+ }
28
+ exports.Factory = Factory;
29
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/factory.ts"],"names":[],"mappings":";;;AAiBA,MAAa,OAAO;IAClB,YAA6B,SAAoC;QAApC,cAAS,GAAT,SAAS,CAA2B;IAAG,CAAC;IAE9D,MAAM,CAAC,GAAG,IAAW;QAC1B,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAC3B,KAAK,MAAM;gBACT,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7C,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACzC,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SACjC;IACH,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAyB,IAA2B;QACxE,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,MAAM,CAAyB,EAAyB;QACpE,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,SAAS,CAAI,KAAQ;QACjC,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;CACF;AAzBD,0BAyBC"}
@@ -0,0 +1,20 @@
1
+ import { Constructor } from './type.utils';
2
+ type FactoryProvider<T, TArgs extends any[]> = {
3
+ kind: 'ctor';
4
+ factory: Constructor<T, TArgs>;
5
+ } | {
6
+ kind: 'fn';
7
+ factory: (...args: TArgs) => T;
8
+ } | {
9
+ kind: 'value';
10
+ factory: T;
11
+ };
12
+ export declare class Factory<T, TArgs extends any[]> {
13
+ private readonly _provider;
14
+ constructor(_provider: FactoryProvider<T, TArgs>);
15
+ create(...args: TArgs): T;
16
+ static fromType<T, TArgs extends any[]>(type: Constructor<T, TArgs>): Factory<T, TArgs>;
17
+ static fromFn<T, TArgs extends any[]>(fn: (...args: TArgs) => T): Factory<T, TArgs>;
18
+ static fromValue<T>(value: T): Factory<T, []>;
19
+ }
20
+ export {};
@@ -0,0 +1,25 @@
1
+ export class Factory {
2
+ constructor(_provider) {
3
+ this._provider = _provider;
4
+ }
5
+ create(...args) {
6
+ switch (this._provider.kind) {
7
+ case 'ctor':
8
+ return new this._provider.factory(...args);
9
+ case 'fn':
10
+ return this._provider.factory(...args);
11
+ case 'value':
12
+ return this._provider.factory;
13
+ }
14
+ }
15
+ static fromType(type) {
16
+ return new Factory({ kind: 'ctor', factory: type });
17
+ }
18
+ static fromFn(fn) {
19
+ return new Factory({ kind: 'fn', factory: fn });
20
+ }
21
+ static fromValue(value) {
22
+ return new Factory({ kind: 'value', factory: value });
23
+ }
24
+ }
25
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/factory.ts"],"names":[],"mappings":"AAiBA,MAAM,OAAO,OAAO;IAClB,YAA6B,SAAoC;QAApC,cAAS,GAAT,SAAS,CAA2B;IAAG,CAAC;IAE9D,MAAM,CAAC,GAAG,IAAW;QAC1B,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAC3B,KAAK,MAAM;gBACT,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7C,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACzC,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SACjC;IACH,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAyB,IAA2B;QACxE,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,MAAM,CAAyB,EAAyB;QACpE,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,SAAS,CAAI,KAAQ;QACjC,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInitializedValue = void 0;
4
+ function getInitializedValue(value) {
5
+ if (value === undefined) {
6
+ throw new Error('Generator not initialized.');
7
+ }
8
+ return value;
9
+ }
10
+ exports.getInitializedValue = getInitializedValue;
11
+ //# sourceMappingURL=generator.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.utils.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/generator.utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,mBAAmB,CAAI,KAAoB;IACzD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AALD,kDAKC"}
@@ -0,0 +1 @@
1
+ export declare function getInitializedValue<T>(value: T | undefined): T;
@@ -0,0 +1,7 @@
1
+ export function getInitializedValue(value) {
2
+ if (value === undefined) {
3
+ throw new Error('Generator not initialized.');
4
+ }
5
+ return value;
6
+ }
7
+ //# sourceMappingURL=generator.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/generator.utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAI,KAAoB;IACzD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./common.utils"), exports);
5
+ tslib_1.__exportStar(require("./endpoint.utils"), exports);
6
+ tslib_1.__exportStar(require("./factory"), exports);
7
+ tslib_1.__exportStar(require("./generator.utils"), exports);
8
+ tslib_1.__exportStar(require("./object.utils"), exports);
9
+ tslib_1.__exportStar(require("./schema.utils"), exports);
10
+ tslib_1.__exportStar(require("./source-builder"), exports);
11
+ tslib_1.__exportStar(require("./string.utils"), exports);
12
+ tslib_1.__exportStar(require("./string.utils.types"), exports);
13
+ tslib_1.__exportStar(require("./type.utils"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,2DAAiC;AACjC,oDAA0B;AAC1B,4DAAkC;AAClC,yDAA+B;AAC/B,yDAA+B;AAC/B,2DAAiC;AACjC,yDAA+B;AAC/B,+DAAqC;AACrC,uDAA6B"}
@@ -0,0 +1,10 @@
1
+ export * from './common.utils';
2
+ export * from './endpoint.utils';
3
+ export * from './factory';
4
+ export * from './generator.utils';
5
+ export * from './object.utils';
6
+ export * from './schema.utils';
7
+ export * from './source-builder';
8
+ export * from './string.utils';
9
+ export * from './string.utils.types';
10
+ export * from './type.utils';
@@ -0,0 +1,11 @@
1
+ export * from './common.utils';
2
+ export * from './endpoint.utils';
3
+ export * from './factory';
4
+ export * from './generator.utils';
5
+ export * from './object.utils';
6
+ export * from './schema.utils';
7
+ export * from './source-builder';
8
+ export * from './string.utils';
9
+ export * from './string.utils.types';
10
+ export * from './type.utils';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOverwriteProxy = void 0;
4
+ function createOverwriteProxy(target) {
5
+ return new Proxy(target, new OverwriteProxyHandler());
6
+ }
7
+ exports.createOverwriteProxy = createOverwriteProxy;
8
+ class OverwriteProxyHandler {
9
+ constructor() {
10
+ this._overwrittenValues = {};
11
+ }
12
+ get(target, prop) {
13
+ var _a;
14
+ return (_a = this._overwrittenValues[prop]) !== null && _a !== void 0 ? _a : target[prop];
15
+ }
16
+ set(target, prop, value) {
17
+ this._overwrittenValues[prop] = value;
18
+ return true;
19
+ }
20
+ }
21
+ //# sourceMappingURL=object.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.utils.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/object.utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,oBAAoB,CAAmB,MAAS;IAC9D,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,MAAM,qBAAqB;IAA3B;QACmB,uBAAkB,GAAiC,EAAE,CAAC;IAUzE,CAAC;IARQ,GAAG,CAAC,MAAS,EAAE,IAAiB;;QACrC,OAAO,MAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAK,MAAuC,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC;IAEM,GAAG,CAAC,MAAS,EAAE,IAAiB,EAAE,KAAc;QACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ export declare function createOverwriteProxy<T extends object>(target: T): T;
@@ -0,0 +1,17 @@
1
+ export function createOverwriteProxy(target) {
2
+ return new Proxy(target, new OverwriteProxyHandler());
3
+ }
4
+ class OverwriteProxyHandler {
5
+ constructor() {
6
+ this._overwrittenValues = {};
7
+ }
8
+ get(target, prop) {
9
+ var _a;
10
+ return (_a = this._overwrittenValues[prop]) !== null && _a !== void 0 ? _a : target[prop];
11
+ }
12
+ set(target, prop, value) {
13
+ this._overwrittenValues[prop] = value;
14
+ return true;
15
+ }
16
+ }
17
+ //# sourceMappingURL=object.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/object.utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAmB,MAAS;IAC9D,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,qBAAqB;IAA3B;QACmB,uBAAkB,GAAiC,EAAE,CAAC;IAUzE,CAAC;IARQ,GAAG,CAAC,MAAS,EAAE,IAAiB;;QACrC,OAAO,MAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAK,MAAuC,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC;IAEM,GAAG,CAAC,MAAS,EAAE,IAAiB,EAAE,KAAc;QACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSchemaReference = exports.resolveAnyOfAndAllOf = void 0;
4
+ const internal_utils_1 = require("../internal-utils");
5
+ function resolveAnyOfAndAllOf(schema, ignoreNonObjectParts) {
6
+ if (!ignoreNonObjectParts && (hasInvalidSubSchema(schema.anyOf) || hasInvalidSubSchema(schema.allOf))) {
7
+ return undefined;
8
+ }
9
+ const required = new Set(schema.required);
10
+ const properties = new Map();
11
+ collectSubSchemaProperties(schema.allOf, properties, required, false);
12
+ collectSubSchemaProperties(schema.anyOf, properties, required, true);
13
+ if (properties.size === 0) {
14
+ return undefined;
15
+ }
16
+ return Object.assign(Object.assign({}, schema), { kind: 'object', type: 'object', anyOf: [], allOf: [], properties: properties, required: required, additionalProperties: false });
17
+ }
18
+ exports.resolveAnyOfAndAllOf = resolveAnyOfAndAllOf;
19
+ function collectSubSchemaProperties(subSchemas, properties, required, optional) {
20
+ for (const subSchema of subSchemas) {
21
+ if (subSchema.kind === 'object') {
22
+ for (const prop of subSchema.properties.values()) {
23
+ if (!properties.has(prop.name)) {
24
+ properties.set(prop.name, prop);
25
+ }
26
+ }
27
+ if (!optional) {
28
+ for (const prop of subSchema.required) {
29
+ required.add(prop);
30
+ }
31
+ }
32
+ }
33
+ if (subSchema.kind === 'object' || subSchema.kind === 'combined') {
34
+ collectSubSchemaProperties(subSchema.allOf, properties, required, optional);
35
+ collectSubSchemaProperties(subSchema.anyOf, properties, required, true);
36
+ }
37
+ }
38
+ }
39
+ function hasInvalidSubSchema(subSchemas) {
40
+ return subSchemas.some((x) => x.kind !== 'object' && (x.kind !== 'combined' || (!hasInvalidSubSchema(x.allOf) && !hasInvalidSubSchema(x.anyOf))));
41
+ }
42
+ /**
43
+ * Retrieves the first schema reference and the reference chain of a given schema that
44
+ * defines some schema properties. (e.g. schemas with just "$ref" are skipped)
45
+ * @param schema The schema to retrieve the reference from.
46
+ * @param propertiesToIgnore The properties to ignore when checking for a schema definition.
47
+ */
48
+ function getSchemaReference(schema, propertiesToIgnore) {
49
+ if (!schema.$ref)
50
+ return schema;
51
+ const hasPropertiesDefined = Object.keys(schema.$src.originalComponent).some((key) => (0, internal_utils_1.isOpenApiObjectProperty)(key) && !propertiesToIgnore.includes(key));
52
+ return hasPropertiesDefined ? schema : getSchemaReference(schema.$ref, propertiesToIgnore);
53
+ }
54
+ exports.getSchemaReference = getSchemaReference;
55
+ //# sourceMappingURL=schema.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.utils.cjs","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/schema.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { OpenApiSchema } from '../parse';
2
+ import { ApiSchema } from '../transform';
3
+ export declare function resolveAnyOfAndAllOf(schema: ApiSchema<'combined' | 'object'>, ignoreNonObjectParts: boolean): ApiSchema<'object'> | undefined;
4
+ /**
5
+ * Retrieves the first schema reference and the reference chain of a given schema that
6
+ * defines some schema properties. (e.g. schemas with just "$ref" are skipped)
7
+ * @param schema The schema to retrieve the reference from.
8
+ * @param propertiesToIgnore The properties to ignore when checking for a schema definition.
9
+ */
10
+ export declare function getSchemaReference(schema: ApiSchema, propertiesToIgnore: (keyof OpenApiSchema)[]): ApiSchema;