@maximus_code/grpc-generator 0.0.1-dev.0

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 (219) hide show
  1. package/dist/cjs/index.js +18 -0
  2. package/dist/cjs/index.js.map +1 -0
  3. package/dist/cjs/output/dto/ExampleEnum.js +10 -0
  4. package/dist/cjs/output/dto/ExampleEnum.js.map +1 -0
  5. package/dist/cjs/output/dto/Paddle.js +7 -0
  6. package/dist/cjs/output/dto/Paddle.js.map +1 -0
  7. package/dist/cjs/output/dto/PaddleClient.js +7 -0
  8. package/dist/cjs/output/dto/PaddleClient.js.map +1 -0
  9. package/dist/cjs/output/dto/PaddleClientData.js +7 -0
  10. package/dist/cjs/output/dto/PaddleClientData.js.map +1 -0
  11. package/dist/cjs/output/dto/PlanStatusEnum.js +11 -0
  12. package/dist/cjs/output/dto/PlanStatusEnum.js.map +1 -0
  13. package/dist/cjs/output/dto/Subscription.js +7 -0
  14. package/dist/cjs/output/dto/Subscription.js.map +1 -0
  15. package/dist/cjs/output/dto/SystemEnum.js +8 -0
  16. package/dist/cjs/output/dto/SystemEnum.js.map +1 -0
  17. package/dist/cjs/output/dto/index.js +24 -0
  18. package/dist/cjs/output/dto/index.js.map +1 -0
  19. package/dist/cjs/output/swagger/ExampleEnum.js +10 -0
  20. package/dist/cjs/output/swagger/ExampleEnum.js.map +1 -0
  21. package/dist/cjs/output/swagger/Paddle.js +23 -0
  22. package/dist/cjs/output/swagger/Paddle.js.map +1 -0
  23. package/dist/cjs/output/swagger/PaddleClient.js +7 -0
  24. package/dist/cjs/output/swagger/PaddleClient.js.map +1 -0
  25. package/dist/cjs/output/swagger/PaddleClientData.js +7 -0
  26. package/dist/cjs/output/swagger/PaddleClientData.js.map +1 -0
  27. package/dist/cjs/output/swagger/PlanStatusEnum.js +11 -0
  28. package/dist/cjs/output/swagger/PlanStatusEnum.js.map +1 -0
  29. package/dist/cjs/output/swagger/Subscription.js +7 -0
  30. package/dist/cjs/output/swagger/Subscription.js.map +1 -0
  31. package/dist/cjs/output/swagger/SystemEnum.js +8 -0
  32. package/dist/cjs/output/swagger/SystemEnum.js.map +1 -0
  33. package/dist/cjs/output/swagger/index.js +24 -0
  34. package/dist/cjs/output/swagger/index.js.map +1 -0
  35. package/dist/cjs/output/typeorm/ExampleEnum.js +10 -0
  36. package/dist/cjs/output/typeorm/ExampleEnum.js.map +1 -0
  37. package/dist/cjs/output/typeorm/Paddle.js +50 -0
  38. package/dist/cjs/output/typeorm/Paddle.js.map +1 -0
  39. package/dist/cjs/output/typeorm/PaddleClient.js +30 -0
  40. package/dist/cjs/output/typeorm/PaddleClient.js.map +1 -0
  41. package/dist/cjs/output/typeorm/PaddleClientData.js +45 -0
  42. package/dist/cjs/output/typeorm/PaddleClientData.js.map +1 -0
  43. package/dist/cjs/output/typeorm/PlanStatusEnum.js +11 -0
  44. package/dist/cjs/output/typeorm/PlanStatusEnum.js.map +1 -0
  45. package/dist/cjs/output/typeorm/Subscription.js +43 -0
  46. package/dist/cjs/output/typeorm/Subscription.js.map +1 -0
  47. package/dist/cjs/output/typeorm/SystemEnum.js +8 -0
  48. package/dist/cjs/output/typeorm/SystemEnum.js.map +1 -0
  49. package/dist/cjs/output/typeorm/index.js +24 -0
  50. package/dist/cjs/output/typeorm/index.js.map +1 -0
  51. package/dist/cjs/src/IGeneratorConfig.js +3 -0
  52. package/dist/cjs/src/IGeneratorConfig.js.map +1 -0
  53. package/dist/cjs/src/cli.js +15 -0
  54. package/dist/cjs/src/cli.js.map +1 -0
  55. package/dist/cjs/src/index.js +24 -0
  56. package/dist/cjs/src/index.js.map +1 -0
  57. package/dist/cjs/src/lib/cleanImports.js +117 -0
  58. package/dist/cjs/src/lib/cleanImports.js.map +1 -0
  59. package/dist/cjs/src/lib/index.js +20 -0
  60. package/dist/cjs/src/lib/index.js.map +1 -0
  61. package/dist/cjs/src/lib/readDecorators.js +9 -0
  62. package/dist/cjs/src/lib/readDecorators.js.map +1 -0
  63. package/dist/cjs/src/lib/resolveImportsForClass.js +34 -0
  64. package/dist/cjs/src/lib/resolveImportsForClass.js.map +1 -0
  65. package/dist/cjs/src/main.js +95 -0
  66. package/dist/cjs/src/main.js.map +1 -0
  67. package/dist/cjs/src/project.js +9 -0
  68. package/dist/cjs/src/project.js.map +1 -0
  69. package/dist/cjs/src/reader/index.js +20 -0
  70. package/dist/cjs/src/reader/index.js.map +1 -0
  71. package/dist/cjs/src/reader/readClass.js +41 -0
  72. package/dist/cjs/src/reader/readClass.js.map +1 -0
  73. package/dist/cjs/src/reader/readEnum.js +22 -0
  74. package/dist/cjs/src/reader/readEnum.js.map +1 -0
  75. package/dist/cjs/src/reader/readSchema.js +16 -0
  76. package/dist/cjs/src/reader/readSchema.js.map +1 -0
  77. package/dist/cjs/src/types/GenerateTypeEnum.js +11 -0
  78. package/dist/cjs/src/types/GenerateTypeEnum.js.map +1 -0
  79. package/dist/cjs/src/types/IClassSchema.js +3 -0
  80. package/dist/cjs/src/types/IClassSchema.js.map +1 -0
  81. package/dist/cjs/src/types/IDecoratorSchema.js +3 -0
  82. package/dist/cjs/src/types/IDecoratorSchema.js.map +1 -0
  83. package/dist/cjs/src/types/IEnumSchema.js +3 -0
  84. package/dist/cjs/src/types/IEnumSchema.js.map +1 -0
  85. package/dist/cjs/src/types/IImportSchema.js +3 -0
  86. package/dist/cjs/src/types/IImportSchema.js.map +1 -0
  87. package/dist/cjs/src/types/IPropertySchema.js +3 -0
  88. package/dist/cjs/src/types/IPropertySchema.js.map +1 -0
  89. package/dist/cjs/src/types/ISchema.js +3 -0
  90. package/dist/cjs/src/types/ISchema.js.map +1 -0
  91. package/dist/cjs/src/types/index.js +24 -0
  92. package/dist/cjs/src/types/index.js.map +1 -0
  93. package/dist/cjs/src/utils/capitalizeString.js +8 -0
  94. package/dist/cjs/src/utils/capitalizeString.js.map +1 -0
  95. package/dist/cjs/src/utils/index.js +20 -0
  96. package/dist/cjs/src/utils/index.js.map +1 -0
  97. package/dist/cjs/src/utils/loadConfig.js +53 -0
  98. package/dist/cjs/src/utils/loadConfig.js.map +1 -0
  99. package/dist/cjs/src/utils/renderTemplate.js +123 -0
  100. package/dist/cjs/src/utils/renderTemplate.js.map +1 -0
  101. package/dist/cjs/src/utils/uniqueArray.js +11 -0
  102. package/dist/cjs/src/utils/uniqueArray.js.map +1 -0
  103. package/dist/cjs/test/model/ExampleEnum.js +10 -0
  104. package/dist/cjs/test/model/ExampleEnum.js.map +1 -0
  105. package/dist/cjs/test/model/entity/PaddleClient.js +33 -0
  106. package/dist/cjs/test/model/entity/PaddleClient.js.map +1 -0
  107. package/dist/cjs/test/model/entity/Subscription.js +46 -0
  108. package/dist/cjs/test/model/entity/Subscription.js.map +1 -0
  109. package/dist/cjs/test/model/entity/index.js +19 -0
  110. package/dist/cjs/test/model/entity/index.js.map +1 -0
  111. package/dist/cjs/test/model/types/Paddle.js +54 -0
  112. package/dist/cjs/test/model/types/Paddle.js.map +1 -0
  113. package/dist/cjs/test/model/types/PaddleClientData.js +45 -0
  114. package/dist/cjs/test/model/types/PaddleClientData.js.map +1 -0
  115. package/dist/cjs/test/model/types/PlanStatusEnum.js +11 -0
  116. package/dist/cjs/test/model/types/PlanStatusEnum.js.map +1 -0
  117. package/dist/cjs/test/model/types/SystemEnum.js +8 -0
  118. package/dist/cjs/test/model/types/SystemEnum.js.map +1 -0
  119. package/dist/cjs/test/model/types/index.js +20 -0
  120. package/dist/cjs/test/model/types/index.js.map +1 -0
  121. package/dist/cjs/tsconfig.build-cjs.tsbuildinfo +1 -0
  122. package/dist/esm/src/lib/cleanImports.js +115 -0
  123. package/dist/esm/src/lib/cleanImports.js.map +1 -0
  124. package/dist/esm/src/lib/index.js +20 -0
  125. package/dist/esm/src/lib/index.js.map +1 -0
  126. package/dist/esm/src/lib/readDecorators.js +9 -0
  127. package/dist/esm/src/lib/readDecorators.js.map +1 -0
  128. package/dist/esm/src/lib/resolveImportsForClass.js +33 -0
  129. package/dist/esm/src/lib/resolveImportsForClass.js.map +1 -0
  130. package/dist/esm/src/reader/readClass.js +44 -0
  131. package/dist/esm/src/reader/readClass.js.map +1 -0
  132. package/dist/esm/src/reader/readEnum.js +22 -0
  133. package/dist/esm/src/reader/readEnum.js.map +1 -0
  134. package/dist/esm/src/types/GenerateTypeEnum.js +11 -0
  135. package/dist/esm/src/types/GenerateTypeEnum.js.map +1 -0
  136. package/dist/esm/src/types/IClassSchema.js +3 -0
  137. package/dist/esm/src/types/IClassSchema.js.map +1 -0
  138. package/dist/esm/src/types/IDecoratorSchema.js +3 -0
  139. package/dist/esm/src/types/IDecoratorSchema.js.map +1 -0
  140. package/dist/esm/src/types/IEnumSchema.js +3 -0
  141. package/dist/esm/src/types/IEnumSchema.js.map +1 -0
  142. package/dist/esm/src/types/IImportSchema.js +3 -0
  143. package/dist/esm/src/types/IImportSchema.js.map +1 -0
  144. package/dist/esm/src/types/IPropertySchema.js +3 -0
  145. package/dist/esm/src/types/IPropertySchema.js.map +1 -0
  146. package/dist/esm/src/types/ISchema.js +3 -0
  147. package/dist/esm/src/types/ISchema.js.map +1 -0
  148. package/dist/esm/src/types/index.js +24 -0
  149. package/dist/esm/src/types/index.js.map +1 -0
  150. package/dist/esm/src/utils/capitalizeString.js +8 -0
  151. package/dist/esm/src/utils/capitalizeString.js.map +1 -0
  152. package/dist/esm/src/utils/index.js +20 -0
  153. package/dist/esm/src/utils/index.js.map +1 -0
  154. package/dist/esm/src/utils/renderTemplate.js +123 -0
  155. package/dist/esm/src/utils/renderTemplate.js.map +1 -0
  156. package/dist/esm/src/utils/uniqueArray.js +11 -0
  157. package/dist/esm/src/utils/uniqueArray.js.map +1 -0
  158. package/dist/types/index.d.ts +1 -0
  159. package/dist/types/output/dto/ExampleEnum.d.ts +5 -0
  160. package/dist/types/output/dto/Paddle.d.ts +11 -0
  161. package/dist/types/output/dto/PaddleClient.d.ts +7 -0
  162. package/dist/types/output/dto/PaddleClientData.d.ts +9 -0
  163. package/dist/types/output/dto/PlanStatusEnum.d.ts +6 -0
  164. package/dist/types/output/dto/Subscription.d.ts +9 -0
  165. package/dist/types/output/dto/SystemEnum.d.ts +3 -0
  166. package/dist/types/output/dto/index.d.ts +7 -0
  167. package/dist/types/output/swagger/ExampleEnum.d.ts +5 -0
  168. package/dist/types/output/swagger/Paddle.d.ts +11 -0
  169. package/dist/types/output/swagger/PaddleClient.d.ts +6 -0
  170. package/dist/types/output/swagger/PaddleClientData.d.ts +9 -0
  171. package/dist/types/output/swagger/PlanStatusEnum.d.ts +6 -0
  172. package/dist/types/output/swagger/Subscription.d.ts +8 -0
  173. package/dist/types/output/swagger/SystemEnum.d.ts +3 -0
  174. package/dist/types/output/swagger/index.d.ts +7 -0
  175. package/dist/types/output/typeorm/ExampleEnum.d.ts +5 -0
  176. package/dist/types/output/typeorm/Paddle.d.ts +11 -0
  177. package/dist/types/output/typeorm/PaddleClient.d.ts +7 -0
  178. package/dist/types/output/typeorm/PaddleClientData.d.ts +9 -0
  179. package/dist/types/output/typeorm/PlanStatusEnum.d.ts +6 -0
  180. package/dist/types/output/typeorm/Subscription.d.ts +9 -0
  181. package/dist/types/output/typeorm/SystemEnum.d.ts +3 -0
  182. package/dist/types/output/typeorm/index.d.ts +7 -0
  183. package/dist/types/src/IGeneratorConfig.d.ts +18 -0
  184. package/dist/types/src/cli.d.ts +2 -0
  185. package/dist/types/src/index.d.ts +7 -0
  186. package/dist/types/src/lib/cleanImports.d.ts +3 -0
  187. package/dist/types/src/lib/index.d.ts +3 -0
  188. package/dist/types/src/lib/readDecorators.d.ts +3 -0
  189. package/dist/types/src/lib/resolveImportsForClass.d.ts +3 -0
  190. package/dist/types/src/main.d.ts +1 -0
  191. package/dist/types/src/project.d.ts +2 -0
  192. package/dist/types/src/reader/index.d.ts +3 -0
  193. package/dist/types/src/reader/readClass.d.ts +3 -0
  194. package/dist/types/src/reader/readEnum.d.ts +3 -0
  195. package/dist/types/src/reader/readSchema.d.ts +3 -0
  196. package/dist/types/src/types/GenerateTypeEnum.d.ts +6 -0
  197. package/dist/types/src/types/IClassSchema.d.ts +9 -0
  198. package/dist/types/src/types/IDecoratorSchema.d.ts +4 -0
  199. package/dist/types/src/types/IEnumSchema.d.ts +7 -0
  200. package/dist/types/src/types/IImportSchema.d.ts +6 -0
  201. package/dist/types/src/types/IPropertySchema.d.ts +7 -0
  202. package/dist/types/src/types/ISchema.d.ts +6 -0
  203. package/dist/types/src/types/index.d.ts +7 -0
  204. package/dist/types/src/utils/capitalizeString.d.ts +1 -0
  205. package/dist/types/src/utils/index.d.ts +3 -0
  206. package/dist/types/src/utils/loadConfig.d.ts +2 -0
  207. package/dist/types/src/utils/renderTemplate.d.ts +1 -0
  208. package/dist/types/src/utils/uniqueArray.d.ts +1 -0
  209. package/dist/types/test/model/ExampleEnum.d.ts +5 -0
  210. package/dist/types/test/model/entity/PaddleClient.d.ts +7 -0
  211. package/dist/types/test/model/entity/Subscription.d.ts +9 -0
  212. package/dist/types/test/model/entity/index.d.ts +2 -0
  213. package/dist/types/test/model/types/Paddle.d.ts +11 -0
  214. package/dist/types/test/model/types/PaddleClientData.d.ts +9 -0
  215. package/dist/types/test/model/types/PlanStatusEnum.d.ts +6 -0
  216. package/dist/types/test/model/types/SystemEnum.d.ts +3 -0
  217. package/dist/types/test/model/types/index.d.ts +3 -0
  218. package/dist/types/tsconfig.build-types.tsbuildinfo +1 -0
  219. package/package.json +71 -0
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanImportsOld = exports.cleanImports = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const utils_1 = require("../utils");
6
+ const types_1 = require("../types");
7
+ const cleanImports = async (model, generateType) => {
8
+ var _a, _b;
9
+ const properties = (0, lodash_1.cloneDeep)(model.properties);
10
+ const names = new Set();
11
+ for (const property of properties) {
12
+ if ([types_1.GenerateTypeEnum.SWAGGER, types_1.GenerateTypeEnum.TYPEORM].includes(generateType)) {
13
+ property.decorators.map((d) => names.add(d.name));
14
+ }
15
+ names.add(property.type.split('.')[0]);
16
+ }
17
+ const imports = new Map();
18
+ for (const name of [...names]) {
19
+ const el = model.imports.find((i) => i.names.includes(name));
20
+ if (!el) {
21
+ console.log(`Missing import for name: ${name} from model: ${model.name}`);
22
+ continue;
23
+ }
24
+ imports.set(el.from, {
25
+ ...el,
26
+ names: [...((_b = (_a = imports.get(el.from)) === null || _a === void 0 ? void 0 : _a.names) !== null && _b !== void 0 ? _b : []), name],
27
+ });
28
+ }
29
+ switch (generateType) {
30
+ case types_1.GenerateTypeEnum.DTO:
31
+ return _cleanDto(imports, properties);
32
+ case types_1.GenerateTypeEnum.SWAGGER:
33
+ return _cleanAllowedImports(imports, properties, ['@nestjs/swagger', '.'], generateType);
34
+ case types_1.GenerateTypeEnum.TYPEORM:
35
+ return _cleanAllowedImports(imports, properties, ['typeorm', '.'], generateType);
36
+ case types_1.GenerateTypeEnum.PROTO:
37
+ return await _cleanAllowedImports(imports, properties, ['.'], generateType);
38
+ default:
39
+ return { imports: [], properties: [] };
40
+ }
41
+ };
42
+ exports.cleanImports = cleanImports;
43
+ const _cleanDto = async (imports, properties) => {
44
+ return {
45
+ imports: [...imports.values()],
46
+ properties,
47
+ };
48
+ };
49
+ const _cleanAllowedImports = async (imports, properties, allowedImports, type) => {
50
+ const result = {
51
+ imports: [],
52
+ properties: [],
53
+ };
54
+ result.imports = [...imports]
55
+ .filter(([key, _]) => allowedImports.includes(key))
56
+ .map((i) => i[1]);
57
+ const names = result.imports.map((i) => i.names).flat();
58
+ result.properties = properties.map((p) => ({
59
+ ...p,
60
+ decorators: p.decorators.filter((d) => names.includes(d.name)),
61
+ }));
62
+ if (type === types_1.GenerateTypeEnum.SWAGGER) {
63
+ result.properties = result.properties.map((p) => ({
64
+ ...p,
65
+ type: p.type === 'ObjectId' ? 'string' : p.type,
66
+ }));
67
+ }
68
+ return result;
69
+ };
70
+ const cleanImportsOld = async (model, generateType) => {
71
+ var _a;
72
+ const imports = new Map();
73
+ const properties = (0, lodash_1.cloneDeep)(model.properties);
74
+ for (const [_, property] of Object.entries(properties)) {
75
+ const importEl = model.imports.find((i) => i.names.includes(property.type));
76
+ if (!importEl)
77
+ continue;
78
+ if (!imports.has(importEl.from)) {
79
+ imports.set(importEl.from, { ...importEl, names: [] });
80
+ }
81
+ imports.set(importEl.from, {
82
+ ...importEl,
83
+ names: (0, utils_1.uniqueArray)([
84
+ ...imports.get(importEl.from).names,
85
+ property.type,
86
+ ]),
87
+ });
88
+ }
89
+ for (const [index, property] of Object.entries(properties)) {
90
+ if (generateType === types_1.GenerateTypeEnum.DTO) {
91
+ properties[index].decorators = [];
92
+ }
93
+ if (generateType === types_1.GenerateTypeEnum.SWAGGER) {
94
+ properties[index].decorators = property.decorators.filter((d) => model.imports.some((i) => i.names.includes(d.name) &&
95
+ i.from === '@nestjs/swagger'));
96
+ }
97
+ }
98
+ if (generateType === types_1.GenerateTypeEnum.DTO) {
99
+ return {
100
+ properties,
101
+ imports: Array.from(imports.values()),
102
+ };
103
+ }
104
+ let namespaces = [];
105
+ if (generateType === types_1.GenerateTypeEnum.SWAGGER) {
106
+ const temp = [
107
+ ...((_a = Array.from(imports.values())) !== null && _a !== void 0 ? _a : []),
108
+ ...model.imports.filter((i) => i.from === '@nestjs/swagger' || i.from === '.'),
109
+ ];
110
+ return {
111
+ properties,
112
+ imports: Array.from(new Map(temp.map((i) => [i.from, i])).values()),
113
+ };
114
+ }
115
+ };
116
+ exports.cleanImportsOld = cleanImportsOld;
117
+ //# sourceMappingURL=cleanImports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanImports.js","sourceRoot":"","sources":["../../../../src/lib/cleanImports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cleanImports"), exports);
18
+ __exportStar(require("./resolveImportsForClass"), exports);
19
+ __exportStar(require("./readDecorators"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,2DAAyC;AACzC,mDAAiC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readDecorators = void 0;
4
+ const readDecorators = (node) => node.getDecorators().map((d) => ({
5
+ name: d.getName(),
6
+ arguments: d.getArguments().map((a) => a.getText()),
7
+ }));
8
+ exports.readDecorators = readDecorators;
9
+ //# sourceMappingURL=readDecorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readDecorators.js","sourceRoot":"","sources":["../../../../src/lib/readDecorators.ts"],"names":[],"mappings":";;;AAGO,MAAM,cAAc,GAAG,CAC1B,IAA4C,EAC1B,EAAE,CACpB,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CACpB,CAAC,CAAY,EAAoB,EAAE,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAC9D,CAAC,CACL,CAAC;AARO,QAAA,cAAc,kBAQrB"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveImportsForClass = void 0;
4
+ const resolveImportsForClass = (cls) => {
5
+ var _a;
6
+ const imports = new Map();
7
+ for (const declaration of cls.getSourceFile().getImportDeclarations()) {
8
+ let from = declaration.getModuleSpecifierValue();
9
+ let path = declaration
10
+ .getModuleSpecifierSourceFile()
11
+ .getFilePath()
12
+ .toString();
13
+ if (!path.includes('node_modules')) {
14
+ path = '.';
15
+ from = '.';
16
+ }
17
+ imports.set(from, (_a = imports.get(from)) !== null && _a !== void 0 ? _a : {
18
+ from,
19
+ path,
20
+ names: [],
21
+ });
22
+ const vSet = imports.get(from).names;
23
+ for (const ni of declaration.getNamedImports()) {
24
+ vSet.push(ni.getName());
25
+ }
26
+ imports.set(from, {
27
+ ...imports.get(from),
28
+ names: vSet,
29
+ });
30
+ }
31
+ return Array.from(imports.values());
32
+ };
33
+ exports.resolveImportsForClass = resolveImportsForClass;
34
+ //# sourceMappingURL=resolveImportsForClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveImportsForClass.js","sourceRoot":"","sources":["../../../../src/lib/resolveImportsForClass.ts"],"names":[],"mappings":";;;AAGO,MAAM,sBAAsB,GAAG,CAClC,GAAqB,EACN,EAAE;;IACjB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEjD,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACpE,IAAI,IAAI,GAAG,WAAW,CAAC,uBAAuB,EAAE,CAAC;QACjD,IAAI,IAAI,GAAG,WAAW;aACjB,4BAA4B,EAAE;aAC9B,WAAW,EAAE;aACb,QAAQ,EAAE,CAAC;QAGhB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,IAAI,GAAG,GAAG,CAAC;YACX,IAAI,GAAG,GAAG,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAG,CACP,IAAI,EACJ,MAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI;YACjB,IAAI;YACJ,IAAI;YACJ,KAAK,EAAE,EAAE;SACZ,CACJ,CAAC;QAEF,MAAM,IAAI,GAAa,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,KAAK,CAAC;QAChD,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YACd,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AArCW,QAAA,sBAAsB,0BAqCjC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.main = void 0;
37
+ const reader_1 = require("./reader");
38
+ const utils_1 = require("./utils");
39
+ const path = __importStar(require("path"));
40
+ const fs_1 = require("fs");
41
+ const lib_1 = require("./lib");
42
+ const types_1 = require("./types");
43
+ const loadConfig_1 = require("./utils/loadConfig");
44
+ const render = (templatePath, data) => (0, utils_1.renderTemplate)(path.join(__dirname, 'template', templatePath), data);
45
+ const main = async (configPath) => {
46
+ const config = (0, loadConfig_1.loadConfig)(configPath);
47
+ const schema = (0, reader_1.readSchema)(config);
48
+ await generate(schema, types_1.GenerateTypeEnum.DTO);
49
+ await generate(schema, types_1.GenerateTypeEnum.SWAGGER);
50
+ await generate(schema, types_1.GenerateTypeEnum.TYPEORM);
51
+ await protoGenerate(schema);
52
+ };
53
+ exports.main = main;
54
+ const generate = async (schema, type) => {
55
+ const index = [];
56
+ const dir = `./output/${type}`;
57
+ (0, fs_1.mkdirSync)(dir, { recursive: true });
58
+ for (const model of schema.classes) {
59
+ index.push(model.name);
60
+ const content = render(`${type}/class.hbs`, {
61
+ ...model,
62
+ ...(await (0, lib_1.cleanImports)(model, type)),
63
+ });
64
+ (0, fs_1.writeFileSync)(`${dir}/${model.name}.ts`, content);
65
+ }
66
+ for (const e of schema.enums) {
67
+ index.push(e.name);
68
+ const content = render('enum.hbs', e);
69
+ (0, fs_1.writeFileSync)(`${dir}/${e.name}.ts`, content);
70
+ }
71
+ (0, fs_1.writeFileSync)(`${dir}/index.ts`, render('index.hbs', { classes: index }));
72
+ };
73
+ const protoGenerate = async (schema) => {
74
+ const dir = `./output/proto`;
75
+ (0, fs_1.mkdirSync)(dir, { recursive: true });
76
+ for (const model of schema.classes) {
77
+ const content = render(`proto/class.hbs`, {
78
+ name: 'defaultService',
79
+ message: {
80
+ ...model,
81
+ ...(await (0, lib_1.cleanImports)(model, types_1.GenerateTypeEnum.PROTO)),
82
+ },
83
+ });
84
+ (0, fs_1.writeFileSync)(`${dir}/${model.name}.proto`, content);
85
+ }
86
+ for (const e of schema.enums) {
87
+ const content = render('proto/enum.hbs', {
88
+ name: 'defaultService',
89
+ enum: e,
90
+ });
91
+ (0, fs_1.writeFileSync)(`${dir}/${e.name}.proto`, content);
92
+ }
93
+ };
94
+ void (0, exports.main)();
95
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProject = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const createProject = () => new ts_morph_1.Project({
6
+ skipAddingFilesFromTsConfig: true,
7
+ });
8
+ exports.createProject = createProject;
9
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/project.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAE5B,MAAM,aAAa,GAAG,GAAG,EAAE,CAC9B,IAAI,kBAAO,CAAC;IAER,2BAA2B,EAAE,IAAI;CACpC,CAAC,CAAC;AAJM,QAAA,aAAa,iBAInB"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./readClass"), exports);
18
+ __exportStar(require("./readEnum"), exports);
19
+ __exportStar(require("./readSchema"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/reader/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,+CAA6B"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readClass = void 0;
4
+ const lib_1 = require("../lib");
5
+ const readClass = (project) => {
6
+ const classes = [];
7
+ for (const source of project.getSourceFiles()) {
8
+ for (const cls of source.getClasses()) {
9
+ const properties = cls
10
+ .getProperties()
11
+ .map((p) => {
12
+ var _a, _b, _c, _d, _e;
13
+ const fullName = (_b = (_a = p
14
+ .getType()) === null || _a === void 0 ? void 0 : _a.getSymbol()) === null || _b === void 0 ? void 0 : _b.getFullyQualifiedName().split('".');
15
+ let type = (_d = (_c = p.getType().getSymbol()) === null || _c === void 0 ? void 0 : _c.getName()) !== null && _d !== void 0 ? _d : p.getType().getText();
16
+ if (fullName && fullName.length > 1) {
17
+ type = fullName.slice(1).join('.');
18
+ }
19
+ if (type === '__type' ||
20
+ ((_e = (fullName !== null && fullName !== void 0 ? fullName : [])[0]) !== null && _e !== void 0 ? _e : []) === '__type') {
21
+ type = p.getType().getText();
22
+ }
23
+ return {
24
+ name: p.getName(),
25
+ type,
26
+ optional: p.hasQuestionToken(),
27
+ decorators: (0, lib_1.readDecorators)(p),
28
+ };
29
+ });
30
+ classes.push({
31
+ name: cls.getName(),
32
+ decorators: (0, lib_1.readDecorators)(cls),
33
+ properties,
34
+ imports: (0, lib_1.resolveImportsForClass)(cls),
35
+ });
36
+ }
37
+ }
38
+ return classes;
39
+ };
40
+ exports.readClass = readClass;
41
+ //# sourceMappingURL=readClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readClass.js","sourceRoot":"","sources":["../../../../src/reader/readClass.ts"],"names":[],"mappings":";;;AAEA,gCAAgE;AAEzD,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAkB,EAAE;IAC1D,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YACpC,MAAM,UAAU,GAAsB,GAAG;iBACpC,aAAa,EAAE;iBACf,GAAG,CAAC,CAAC,CAAsB,EAAmB,EAAE;;gBAC7C,MAAM,QAAQ,GAAa,MAAA,MAAA,CAAC;qBACvB,OAAO,EAAE,0CACR,SAAS,EAAE,0CACX,qBAAqB,GACtB,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEjB,IAAI,IAAI,GACJ,MAAA,MAAA,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,0CAAE,OAAO,EAAE,mCAClC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;gBAE1B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;gBACD,IACI,IAAI,KAAK,QAAQ;oBACjB,CAAC,MAAA,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,KAAK,QAAQ,EAC1C,CAAC;oBACC,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjC,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;oBACjB,IAAI;oBACJ,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE;oBAC9B,UAAU,EAAE,IAAA,oBAAc,EAAC,CAAC,CAAC;iBAChC,CAAC;YACN,CAAC,CAAC,CAAC;YAEP,OAAO,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,GAAG,CAAC,OAAO,EAAG;gBACpB,UAAU,EAAE,IAAA,oBAAc,EAAC,GAAG,CAAC;gBAC/B,UAAU;gBACV,OAAO,EAAE,IAAA,4BAAsB,EAAC,GAAG,CAAC;aACvC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AA9CW,QAAA,SAAS,aA8CpB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readEnums = void 0;
4
+ const readEnums = (project) => {
5
+ const enums = [];
6
+ for (const source of project.getSourceFiles()) {
7
+ for (const en of source.getEnums()) {
8
+ enums.push({
9
+ name: en.getName(),
10
+ members: en
11
+ .getMembers()
12
+ .map((m) => ({
13
+ name: m.getName(),
14
+ value: m.getValue(),
15
+ })),
16
+ });
17
+ }
18
+ }
19
+ return enums;
20
+ };
21
+ exports.readEnums = readEnums;
22
+ //# sourceMappingURL=readEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readEnum.js","sourceRoot":"","sources":["../../../../src/reader/readEnum.ts"],"names":[],"mappings":";;;AAGO,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAiB,EAAE;IACzD,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE;gBAClB,OAAO,EAAE,EAAE;qBACN,UAAU,EAAE;qBACZ,GAAG,CAAC,CAAC,CAAa,EAA6B,EAAE,CAAC,CAAC;oBAChD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;oBACjB,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;iBACtB,CAAC,CAAC;aACV,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAlBW,QAAA,SAAS,aAkBpB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readSchema = void 0;
4
+ const project_1 = require("../project");
5
+ const readEnum_1 = require("./readEnum");
6
+ const readClass_1 = require("./readClass");
7
+ const readSchema = (config) => {
8
+ const project = (0, project_1.createProject)();
9
+ project.addSourceFilesAtPaths(config.source);
10
+ return {
11
+ enums: (0, readEnum_1.readEnums)(project),
12
+ classes: (0, readClass_1.readClass)(project),
13
+ };
14
+ };
15
+ exports.readSchema = readSchema;
16
+ //# sourceMappingURL=readSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readSchema.js","sourceRoot":"","sources":["../../../../src/reader/readSchema.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAC3C,yCAAuC;AACvC,2CAAwC;AAKjC,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAW,EAAE;IAC5D,MAAM,OAAO,GAAY,IAAA,uBAAa,GAAE,CAAC;IACzC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7C,OAAO;QACH,KAAK,EAAE,IAAA,oBAAS,EAAC,OAAO,CAAC;QACzB,OAAO,EAAE,IAAA,qBAAS,EAAC,OAAO,CAAC;KAC9B,CAAC;AACN,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenerateTypeEnum = void 0;
4
+ var GenerateTypeEnum;
5
+ (function (GenerateTypeEnum) {
6
+ GenerateTypeEnum["DTO"] = "dto";
7
+ GenerateTypeEnum["SWAGGER"] = "swagger";
8
+ GenerateTypeEnum["TYPEORM"] = "typeorm";
9
+ GenerateTypeEnum["PROTO"] = "proto";
10
+ })(GenerateTypeEnum || (exports.GenerateTypeEnum = GenerateTypeEnum = {}));
11
+ //# sourceMappingURL=GenerateTypeEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateTypeEnum.js","sourceRoot":"","sources":["../../../../src/types/GenerateTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,+BAAW,CAAA;IACX,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;AACnB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IClassSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IClassSchema.js","sourceRoot":"","sources":["../../../../src/types/IClassSchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IDecoratorSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDecoratorSchema.js","sourceRoot":"","sources":["../../../../src/types/IDecoratorSchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IEnumSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEnumSchema.js","sourceRoot":"","sources":["../../../../src/types/IEnumSchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IImportSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IImportSchema.js","sourceRoot":"","sources":["../../../../src/types/IImportSchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPropertySchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPropertySchema.js","sourceRoot":"","sources":["../../../../src/types/IPropertySchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISchema.js","sourceRoot":"","sources":["../../../../src/types/ISchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IClassSchema"), exports);
18
+ __exportStar(require("./IImportSchema"), exports);
19
+ __exportStar(require("./IPropertySchema"), exports);
20
+ __exportStar(require("./IDecoratorSchema"), exports);
21
+ __exportStar(require("./IEnumSchema"), exports);
22
+ __exportStar(require("./GenerateTypeEnum"), exports);
23
+ __exportStar(require("./ISchema"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,qDAAmC;AACnC,gDAA8B;AAC9B,qDAAmC;AACnC,4CAA0B"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.capitalizeString = void 0;
4
+ const capitalizeString = (str) => {
5
+ return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;
6
+ };
7
+ exports.capitalizeString = capitalizeString;
8
+ //# sourceMappingURL=capitalizeString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalizeString.js","sourceRoot":"","sources":["../../../../src/utils/capitalizeString.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./capitalizeString"), exports);
18
+ __exportStar(require("./renderTemplate"), exports);
19
+ __exportStar(require("./uniqueArray"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,mDAAiC;AACjC,gDAA8B"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.loadConfig = void 0;
40
+ const path = __importStar(require("node:path"));
41
+ const fs = __importStar(require("node:fs"));
42
+ const yaml_1 = __importDefault(require("yaml"));
43
+ const loadConfig = (configPath) => {
44
+ const abs = path.isAbsolute(configPath)
45
+ ? configPath
46
+ : path.join(process.cwd(), configPath);
47
+ if (!fs.existsSync(abs)) {
48
+ throw new Error(`Config file not found at path: ${abs}`);
49
+ }
50
+ return yaml_1.default.parse(fs.readFileSync(abs, 'utf8'));
51
+ };
52
+ exports.loadConfig = loadConfig;
53
+ //# sourceMappingURL=loadConfig.js.map