@postxl/generator 0.44.3 → 0.44.5

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 (43) hide show
  1. package/dist/generator.js +8 -9
  2. package/dist/generators/enums/react.generator.js +1 -1
  3. package/dist/generators/indices/businesslogic-update-module.generator.js +1 -1
  4. package/dist/generators/indices/businesslogic-view-module.generator.js +1 -1
  5. package/dist/generators/indices/data-types.generator.js +4 -3
  6. package/dist/generators/indices/datamock-module.generator.js +3 -3
  7. package/dist/generators/indices/datamocker.generator.js +5 -4
  8. package/dist/generators/indices/datamodule.generator.js +3 -3
  9. package/dist/generators/indices/dataservice.generator.js +5 -4
  10. package/dist/generators/indices/dispatcher-service.generator.js +4 -3
  11. package/dist/generators/indices/importexport-convert-import-functions.generator.js +29 -24
  12. package/dist/generators/indices/importexport-exporter-class.generator.js +4 -3
  13. package/dist/generators/indices/importexport-import-service.generator.js +27 -12
  14. package/dist/generators/indices/importexport-types.generator.js +9 -4
  15. package/dist/generators/indices/stubs.generator.js +2 -2
  16. package/dist/generators/indices/testdata-service.generator.js +5 -2
  17. package/dist/generators/models/businesslogic-update.generator.js +11 -10
  18. package/dist/generators/models/businesslogic-view.generator.js +4 -3
  19. package/dist/generators/models/importexport-decoder.generator.d.ts +2 -1
  20. package/dist/generators/models/importexport-decoder.generator.js +20 -19
  21. package/dist/generators/models/react.generator/context.generator.js +1 -1
  22. package/dist/generators/models/react.generator/index.js +2 -8
  23. package/dist/generators/models/react.generator/library.generator.d.ts +0 -2
  24. package/dist/generators/models/react.generator/library.generator.js +3 -5
  25. package/dist/generators/models/react.generator/lookup.generator.js +3 -6
  26. package/dist/generators/models/react.generator/modals.generator.js +4 -4
  27. package/dist/generators/models/repository.generator.js +26 -17
  28. package/dist/generators/models/route.generator.js +3 -2
  29. package/dist/generators/models/seed.generator.js +5 -4
  30. package/dist/generators/models/stub.generator.js +7 -2
  31. package/dist/generators/models/types.generator.js +7 -3
  32. package/dist/lib/exports.d.ts +2 -2
  33. package/dist/lib/imports.d.ts +12 -3
  34. package/dist/lib/imports.js +47 -15
  35. package/dist/lib/meta.d.ts +163 -88
  36. package/dist/lib/meta.js +68 -23
  37. package/dist/lib/schema/schema.d.ts +15 -18
  38. package/dist/lib/schema/types.d.ts +35 -5
  39. package/dist/lib/schema/types.js +20 -2
  40. package/dist/lib/types.d.ts +1 -1
  41. package/dist/lib/types.js +1 -1
  42. package/dist/prisma/parse.js +7 -9
  43. package/package.json +1 -1
@@ -11,7 +11,7 @@ import * as Types from './schema/types';
11
11
  * }
12
12
  * ```
13
13
  */
14
- export type BulkImportDefinition = Record<Types.Path, Types.ImportableTypes[] | Types.ImportableTypes>;
14
+ export type BulkImportDefinition = Record<Types.ImportPaths, Types.ImportableTypes[] | Types.ImportableTypes>;
15
15
  /**
16
16
  * A utility component that lets you generate TypeScript import statements
17
17
  * and makes sure every import is only added once.
@@ -31,7 +31,7 @@ export declare class ImportsGenerator {
31
31
  /**
32
32
  * Creates a new instance of the imports generator.
33
33
  */
34
- static from(path: Types.Path): ImportsGenerator;
34
+ static from(path: Types.FilePath): ImportsGenerator;
35
35
  /**
36
36
  * Adds a given import statement to the imports list.
37
37
  *
@@ -39,7 +39,16 @@ export declare class ImportsGenerator {
39
39
  */
40
40
  addImport({ items, from }: {
41
41
  items: Types.ImportableTypes[];
42
- from: Types.Path;
42
+ from: Types.ImportPaths;
43
+ }): ImportsGenerator;
44
+ /**
45
+ * Adds a given type import statement to the imports list.
46
+ *
47
+ * NOTE: You should never add no items from a given path.
48
+ */
49
+ addTypeImport({ items, from }: {
50
+ items: Types.TypeName[];
51
+ from: Types.ImportPaths;
43
52
  }): ImportsGenerator;
44
53
  /**
45
54
  * Adds a multiple import statements to the imports list.
@@ -1,6 +1,30 @@
1
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.ImportsGenerator = void 0;
27
+ const Types = __importStar(require("./schema/types"));
4
28
  const file_1 = require("./utils/file");
5
29
  /**
6
30
  * A utility component that lets you generate TypeScript import statements
@@ -32,11 +56,26 @@ class ImportsGenerator {
32
56
  }
33
57
  const resolvedPath = (0, file_1.getRelativePath)({ from: this._path, to: from });
34
58
  if (!this._imports[resolvedPath]) {
35
- this._imports[resolvedPath] = new Set();
59
+ this._imports[resolvedPath] = { types: new Set(), nonTypes: new Set() };
36
60
  }
37
- items.forEach((item) => this._imports[resolvedPath].add(item));
61
+ items.forEach((item) => {
62
+ if (Types.isAnnotatedTypeName(item)) {
63
+ this._imports[resolvedPath].types.add(item.typeName);
64
+ }
65
+ else {
66
+ this._imports[resolvedPath].nonTypes.add(item);
67
+ }
68
+ });
38
69
  return this;
39
70
  }
71
+ /**
72
+ * Adds a given type import statement to the imports list.
73
+ *
74
+ * NOTE: You should never add no items from a given path.
75
+ */
76
+ addTypeImport({ items, from }) {
77
+ return this.addImport({ items: items.map((i) => Types.toAnnotatedTypeName(i)), from });
78
+ }
40
79
  /**
41
80
  * Adds a multiple import statements to the imports list.
42
81
  *
@@ -60,20 +99,13 @@ class ImportsGenerator {
60
99
  */
61
100
  generate() {
62
101
  const statements = Object.entries(this._imports)
63
- .sort(([a], [b]) => {
64
- // //in case a or b start with "@", they will be sorted first
65
- // if (a.startsWith('@') && !b.startsWith('@')) {
66
- // return -1
67
- // }
68
- // if (!a.startsWith('@') && b.startsWith('@')) {
69
- // return 1
70
- // }
71
- return a.localeCompare(b);
72
- })
102
+ .sort(([a], [b]) => a.localeCompare(b))
73
103
  .map(([path, items]) => {
74
- const alphabeticallySortedItems = Array.from(items).sort((a, b) => a.localeCompare(b));
75
- // NOTE: You cannot remove imports and we check that there's at least one imported item for every path.
76
- return `import { ${alphabeticallySortedItems.join(', ')} } from '${path}'`;
104
+ const nonTypes = Array.from(items.nonTypes).sort((a, b) => a.localeCompare(b));
105
+ const nonTypesImportStatement = nonTypes.length > 0 ? `import { ${nonTypes.join(', ')} } from '${path}'\n` : '';
106
+ const types = Array.from(items.types).sort((a, b) => a.localeCompare(b));
107
+ const typesImportStatement = types.length > 0 ? `import type { ${types.join(', ')} } from '${path}'` : '';
108
+ return `${nonTypesImportStatement}${typesImportStatement}`;
77
109
  })
78
110
  .join('\n');
79
111
  return statements;