@auto-engineer/server-generator-nestjs 0.19.0 → 0.20.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 (106) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/.turbo/turbo-test.log +13 -0
  3. package/.turbo/turbo-type-check.log +4 -0
  4. package/CHANGELOG.md +7 -0
  5. package/dist/src/codegen/entity-consolidation.d.ts +19 -0
  6. package/dist/src/codegen/entity-consolidation.d.ts.map +1 -0
  7. package/dist/src/codegen/entity-consolidation.js +134 -0
  8. package/dist/src/codegen/entity-consolidation.js.map +1 -0
  9. package/dist/src/codegen/extract/commands.d.ts +25 -0
  10. package/dist/src/codegen/extract/commands.d.ts.map +1 -0
  11. package/dist/src/codegen/extract/commands.js +67 -0
  12. package/dist/src/codegen/extract/commands.js.map +1 -0
  13. package/dist/src/codegen/extract/data-sink.d.ts +6 -0
  14. package/dist/src/codegen/extract/data-sink.d.ts.map +1 -0
  15. package/dist/src/codegen/extract/data-sink.js +78 -0
  16. package/dist/src/codegen/extract/data-sink.js.map +1 -0
  17. package/dist/src/codegen/extract/events.d.ts +10 -0
  18. package/dist/src/codegen/extract/events.d.ts.map +1 -0
  19. package/dist/src/codegen/extract/events.js +42 -0
  20. package/dist/src/codegen/extract/events.js.map +1 -0
  21. package/dist/src/codegen/extract/fields.d.ts +3 -0
  22. package/dist/src/codegen/extract/fields.d.ts.map +1 -0
  23. package/dist/src/codegen/extract/fields.js +9 -0
  24. package/dist/src/codegen/extract/fields.js.map +1 -0
  25. package/dist/src/codegen/extract/graphql.d.ts +14 -0
  26. package/dist/src/codegen/extract/graphql.d.ts.map +1 -0
  27. package/dist/src/codegen/extract/graphql.js +81 -0
  28. package/dist/src/codegen/extract/graphql.js.map +1 -0
  29. package/dist/src/codegen/extract/gwt.d.ts +6 -0
  30. package/dist/src/codegen/extract/gwt.d.ts.map +1 -0
  31. package/dist/src/codegen/extract/gwt.js +64 -0
  32. package/dist/src/codegen/extract/gwt.js.map +1 -0
  33. package/dist/src/codegen/extract/imports.d.ts +29 -0
  34. package/dist/src/codegen/extract/imports.d.ts.map +1 -0
  35. package/dist/src/codegen/extract/imports.js +55 -0
  36. package/dist/src/codegen/extract/imports.js.map +1 -0
  37. package/dist/src/codegen/extract/index.d.ts +10 -0
  38. package/dist/src/codegen/extract/index.d.ts.map +1 -0
  39. package/dist/src/codegen/extract/index.js +10 -0
  40. package/dist/src/codegen/extract/index.js.map +1 -0
  41. package/dist/src/codegen/extract/messages.d.ts +17 -0
  42. package/dist/src/codegen/extract/messages.d.ts.map +1 -0
  43. package/dist/src/codegen/extract/messages.js +172 -0
  44. package/dist/src/codegen/extract/messages.js.map +1 -0
  45. package/dist/src/codegen/extract/projection.d.ts +5 -0
  46. package/dist/src/codegen/extract/projection.d.ts.map +1 -0
  47. package/dist/src/codegen/extract/projection.js +44 -0
  48. package/dist/src/codegen/extract/projection.js.map +1 -0
  49. package/dist/src/codegen/extract/query.d.ts +14 -0
  50. package/dist/src/codegen/extract/query.d.ts.map +1 -0
  51. package/dist/src/codegen/extract/query.js +17 -0
  52. package/dist/src/codegen/extract/query.js.map +1 -0
  53. package/dist/src/codegen/extract/states.d.ts +5 -0
  54. package/dist/src/codegen/extract/states.d.ts.map +1 -0
  55. package/dist/src/codegen/extract/states.js +48 -0
  56. package/dist/src/codegen/extract/states.js.map +1 -0
  57. package/dist/src/codegen/extract/step-converter.d.ts +17 -0
  58. package/dist/src/codegen/extract/step-converter.d.ts.map +1 -0
  59. package/dist/src/codegen/extract/step-converter.js +82 -0
  60. package/dist/src/codegen/extract/step-converter.js.map +1 -0
  61. package/dist/src/codegen/extract/step-types.d.ts +29 -0
  62. package/dist/src/codegen/extract/step-types.d.ts.map +1 -0
  63. package/dist/src/codegen/extract/step-types.js +16 -0
  64. package/dist/src/codegen/extract/step-types.js.map +1 -0
  65. package/dist/src/codegen/extract/type-helpers.d.ts +13 -0
  66. package/dist/src/codegen/extract/type-helpers.d.ts.map +1 -0
  67. package/dist/src/codegen/extract/type-helpers.js +98 -0
  68. package/dist/src/codegen/extract/type-helpers.js.map +1 -0
  69. package/dist/src/codegen/scaffoldFromSchema.d.ts +9 -0
  70. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +1 -0
  71. package/dist/src/codegen/scaffoldFromSchema.js +389 -0
  72. package/dist/src/codegen/scaffoldFromSchema.js.map +1 -0
  73. package/dist/src/codegen/templates/command/command.ts.ejs +16 -0
  74. package/dist/src/codegen/templates/command/handler.specs.ts.ejs +50 -0
  75. package/dist/src/codegen/templates/command/handler.ts.ejs +30 -0
  76. package/dist/src/codegen/templates/command/input.ts.ejs +23 -0
  77. package/dist/src/codegen/templates/command/resolver.ts.ejs +56 -0
  78. package/dist/src/codegen/templates/entity/entity.ts.ejs +35 -0
  79. package/dist/src/codegen/templates/entity/index.ts.ejs +6 -0
  80. package/dist/src/codegen/templates/module/app-module.ts.ejs +65 -0
  81. package/dist/src/codegen/templates/module/domain-module.ts.ejs +46 -0
  82. package/dist/src/codegen/templates/query/handler.ts.ejs +25 -0
  83. package/dist/src/codegen/templates/query/query.ts.ejs +1 -0
  84. package/dist/src/codegen/templates/query/resolver.ts.ejs +20 -0
  85. package/dist/src/codegen/templates/query/type.ts.ejs +24 -0
  86. package/dist/src/codegen/types.d.ts +38 -0
  87. package/dist/src/codegen/types.d.ts.map +1 -0
  88. package/dist/src/codegen/types.js +2 -0
  89. package/dist/src/codegen/types.js.map +1 -0
  90. package/dist/src/codegen/utils/path.d.ts +4 -0
  91. package/dist/src/codegen/utils/path.d.ts.map +1 -0
  92. package/dist/src/codegen/utils/path.js +18 -0
  93. package/dist/src/codegen/utils/path.js.map +1 -0
  94. package/dist/src/commands/generate-server.d.ts +28 -0
  95. package/dist/src/commands/generate-server.d.ts.map +1 -0
  96. package/dist/src/commands/generate-server.js +421 -0
  97. package/dist/src/commands/generate-server.js.map +1 -0
  98. package/dist/src/index.d.ts +3 -0
  99. package/dist/src/index.d.ts.map +1 -0
  100. package/dist/src/index.js +3 -0
  101. package/dist/src/index.js.map +1 -0
  102. package/dist/src/shared/graphql-types.ts +19 -0
  103. package/dist/src/shared/main.ts +27 -0
  104. package/dist/src/shared/mikro-orm.config.ts +18 -0
  105. package/dist/tsconfig.tsbuildinfo +1 -0
  106. package/package.json +3 -3
@@ -0,0 +1,82 @@
1
+ import { getSliceType, isStepWithDocString, isStepWithError, resolveMajorKeyword, } from './step-types.js';
2
+ export { getSliceType };
3
+ function parseSteps(example) {
4
+ const given = [];
5
+ const whenItems = [];
6
+ const thenItems = [];
7
+ const thenErrors = [];
8
+ let effectiveKeyword = 'Given';
9
+ for (const step of example.steps) {
10
+ if (isStepWithError(step)) {
11
+ thenErrors.push({ errorType: step.error.type, message: step.error.message });
12
+ continue;
13
+ }
14
+ if (!isStepWithDocString(step))
15
+ continue;
16
+ effectiveKeyword = resolveMajorKeyword(step.keyword, effectiveKeyword);
17
+ const exampleData = step.docString ?? {};
18
+ if (effectiveKeyword === 'Given') {
19
+ given.push({ eventRef: step.text, exampleData });
20
+ }
21
+ else if (effectiveKeyword === 'When') {
22
+ whenItems.push({ text: step.text, exampleData });
23
+ }
24
+ else if (effectiveKeyword === 'Then') {
25
+ thenItems.push({ text: step.text, exampleData });
26
+ }
27
+ }
28
+ return { given, whenItems, thenItems, thenErrors };
29
+ }
30
+ function buildGwtResult(sliceType, parsed, description) {
31
+ const { given, whenItems, thenItems, thenErrors } = parsed;
32
+ if (sliceType === 'command') {
33
+ return {
34
+ given,
35
+ when: { commandRef: whenItems[0]?.text ?? '', exampleData: whenItems[0]?.exampleData ?? {} },
36
+ then: [...thenItems.map((t) => ({ eventRef: t.text, exampleData: t.exampleData })), ...thenErrors],
37
+ description,
38
+ };
39
+ }
40
+ if (sliceType === 'react') {
41
+ return {
42
+ given,
43
+ when: whenItems.map((w) => ({ eventRef: w.text, exampleData: w.exampleData })),
44
+ then: [...thenItems.map((t) => ({ commandRef: t.text, exampleData: t.exampleData })), ...thenErrors],
45
+ description,
46
+ };
47
+ }
48
+ return {
49
+ given,
50
+ when: whenItems.map((w) => ({ eventRef: w.text, exampleData: w.exampleData })),
51
+ then: [...thenItems.map((t) => ({ stateRef: t.text, exampleData: t.exampleData })), ...thenErrors],
52
+ description,
53
+ };
54
+ }
55
+ export function stepsToGwt(example, sliceType) {
56
+ const parsed = parseSteps(example);
57
+ return buildGwtResult(sliceType, parsed, example.name);
58
+ }
59
+ export function extractGwtFromSpecs(specs, sliceType) {
60
+ const results = [];
61
+ for (const spec of specs) {
62
+ for (const rule of spec.rules) {
63
+ for (const example of rule.examples) {
64
+ const gwt = stepsToGwt(example, sliceType);
65
+ results.push({
66
+ ...gwt,
67
+ ruleDescription: rule.name,
68
+ });
69
+ }
70
+ }
71
+ }
72
+ return results;
73
+ }
74
+ export function extractGwtSpecsFromSlice(slice) {
75
+ if (!('server' in slice))
76
+ return [];
77
+ const specs = slice.server?.specs;
78
+ if (!Array.isArray(specs) || specs.length === 0)
79
+ return [];
80
+ return extractGwtFromSpecs(specs, getSliceType(slice));
81
+ }
82
+ //# sourceMappingURL=step-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-converter.js","sourceRoot":"","sources":["../../../../src/codegen/extract/step-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Slice, Step, StepWithDocStringSchema, StepWithErrorSchema } from '@auto-engineer/narrative';
2
+ import type { z } from 'zod';
3
+ export type StepWithDocString = z.infer<typeof StepWithDocStringSchema>;
4
+ export type StepWithError = z.infer<typeof StepWithErrorSchema>;
5
+ export type StepKeyword = StepWithDocString['keyword'];
6
+ export type MajorKeyword = Exclude<StepKeyword, 'And'>;
7
+ export type ErrorType = StepWithError['error']['type'];
8
+ export type SliceType = Extract<Slice['type'], 'command' | 'query' | 'react'>;
9
+ export declare function getSliceType(slice: Slice): SliceType;
10
+ export declare function isStepWithDocString(step: Step): step is StepWithDocString;
11
+ export declare function isStepWithError(step: Step): step is StepWithError;
12
+ export declare function resolveMajorKeyword(keyword: StepKeyword, current: MajorKeyword): MajorKeyword;
13
+ export interface CommandExample {
14
+ commandRef: string;
15
+ exampleData: Record<string, unknown>;
16
+ }
17
+ export interface EventExample {
18
+ eventRef: string;
19
+ exampleData: Record<string, unknown>;
20
+ }
21
+ export interface StateExample {
22
+ stateRef: string;
23
+ exampleData: Record<string, unknown>;
24
+ }
25
+ export interface ErrorRef {
26
+ errorType: ErrorType;
27
+ message?: string;
28
+ }
29
+ //# sourceMappingURL=step-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-types.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/step-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;AAE9E,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAKpD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,iBAAiB,CAEzE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,aAAa,CAEjE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAE7F;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,16 @@
1
+ export function getSliceType(slice) {
2
+ if (slice.type === 'command' || slice.type === 'query' || slice.type === 'react') {
3
+ return slice.type;
4
+ }
5
+ return 'command';
6
+ }
7
+ export function isStepWithDocString(step) {
8
+ return 'text' in step;
9
+ }
10
+ export function isStepWithError(step) {
11
+ return 'error' in step;
12
+ }
13
+ export function resolveMajorKeyword(keyword, current) {
14
+ return keyword === 'And' ? current : keyword;
15
+ }
16
+ //# sourceMappingURL=step-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-types.js","sourceRoot":"","sources":["../../../../src/codegen/extract/step-types.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,YAAY,CAAC,KAAY;IACvC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjF,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAoB,EAAE,OAAqB;IAC7E,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare function isInlineObject(ts: string): boolean;
2
+ export declare function isInlineObjectArray(ts: string): boolean;
3
+ export declare function baseTs(ts: string): string;
4
+ export declare function createIsEnumType(toTsFieldType: (ts: string) => string): (tsType: string) => boolean;
5
+ export declare function createFieldUsesDate(graphqlType: (ts: string) => string): (ts: string) => boolean;
6
+ export declare function createFieldUsesJSON(graphqlType: (ts: string) => string): (ts: string) => boolean;
7
+ export declare function createFieldUsesFloat(graphqlType: (ts: string) => string): (ts: string) => boolean;
8
+ export declare function extractEnumName(tsType: string, toTsFieldType: (ts: string) => string): string;
9
+ export declare function createCollectEnumNames(isEnumType: (tsType: string) => boolean, toTsFieldType: (ts: string) => string): (fields: Array<{
10
+ type?: string;
11
+ tsType?: string;
12
+ }>) => string[];
13
+ //# sourceMappingURL=type-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/type-helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,IAC5D,QAAQ,MAAM,KAAG,OAAO,CAsBjC;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,IAC7D,IAAI,MAAM,KAAG,OAAO,CAO7B;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,IAC7D,IAAI,MAAM,KAAG,OAAO,CAO7B;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,IAC9D,IAAI,MAAM,KAAG,OAAO,CAsB7B;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAK7F;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,IAC3G,QAAQ,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,KAAG,MAAM,EAAE,CAUrE"}
@@ -0,0 +1,98 @@
1
+ export function isInlineObject(ts) {
2
+ return /^\{[\s\S]*\}$/.test((ts ?? '').trim());
3
+ }
4
+ export function isInlineObjectArray(ts) {
5
+ const t = (ts ?? '').trim();
6
+ return /^Array<\{[\s\S]*\}>$/.test(t) || /^\{[\s\S]*\}\[\]$/.test(t);
7
+ }
8
+ export function baseTs(ts) {
9
+ return (ts ?? 'string').replace(/\s*\|\s*null\b/g, '').trim();
10
+ }
11
+ export function createIsEnumType(toTsFieldType) {
12
+ return (tsType) => {
13
+ const converted = toTsFieldType(tsType);
14
+ const base = converted
15
+ .replace(/\s*\|\s*null\b/g, '')
16
+ .replace(/\[\]$/, '')
17
+ .trim();
18
+ return (/^[A-Z][a-zA-Z0-9]*$/.test(base) &&
19
+ ![
20
+ 'String',
21
+ 'Number',
22
+ 'Boolean',
23
+ 'Date',
24
+ 'ID',
25
+ 'Int',
26
+ 'Float',
27
+ 'GraphQLISODateTime',
28
+ 'GraphQLJSON',
29
+ 'JSON',
30
+ ].includes(base));
31
+ };
32
+ }
33
+ export function createFieldUsesDate(graphqlType) {
34
+ return (ts) => {
35
+ const b = baseTs(ts);
36
+ const gqlType = graphqlType(b);
37
+ if (gqlType.includes('GraphQLISODateTime'))
38
+ return true;
39
+ if (isInlineObject(b) || isInlineObjectArray(b))
40
+ return /:\s*Date\b/.test(b);
41
+ return false;
42
+ };
43
+ }
44
+ export function createFieldUsesJSON(graphqlType) {
45
+ return (ts) => {
46
+ const b = baseTs(ts);
47
+ const gqlType = graphqlType(b);
48
+ if (gqlType.includes('GraphQLJSON') || gqlType.includes('JSON'))
49
+ return true;
50
+ if (isInlineObject(b) || isInlineObjectArray(b))
51
+ return /:\s*(unknown|any|object)\b/.test(b);
52
+ return false;
53
+ };
54
+ }
55
+ export function createFieldUsesFloat(graphqlType) {
56
+ return (ts) => {
57
+ const b = baseTs(ts);
58
+ const gqlType = graphqlType(b);
59
+ if (gqlType.includes('Float'))
60
+ return true;
61
+ if (isInlineObject(b) || isInlineObjectArray(b)) {
62
+ const inner = b.trim().startsWith('Array<')
63
+ ? b
64
+ .trim()
65
+ .replace(/^Array<\{/, '{')
66
+ .replace(/}>$/, '}')
67
+ : b.trim().replace(/\[\]$/, '');
68
+ const match = inner.match(/^\{([\s\S]*)\}$/);
69
+ const body = match ? match[1] : '';
70
+ const rawFields = body.split(/[,;]\s*/).filter(Boolean);
71
+ return rawFields.some((f) => {
72
+ const parts = f.split(':');
73
+ const type = parts.slice(1).join(':').trim();
74
+ return type.length > 0 && graphqlType(type).includes('Float');
75
+ });
76
+ }
77
+ return false;
78
+ };
79
+ }
80
+ export function extractEnumName(tsType, toTsFieldType) {
81
+ return toTsFieldType(tsType)
82
+ .replace(/\s*\|\s*null\b/g, '')
83
+ .replace(/\[\]$/, '')
84
+ .trim();
85
+ }
86
+ export function createCollectEnumNames(isEnumType, toTsFieldType) {
87
+ return (fields) => {
88
+ const enumNames = new Set();
89
+ for (const field of fields) {
90
+ const fieldType = field.type ?? field.tsType;
91
+ if (fieldType !== undefined && fieldType !== null && fieldType.length > 0 && isEnumType(fieldType)) {
92
+ enumNames.add(extractEnumName(fieldType, toTsFieldType));
93
+ }
94
+ }
95
+ return Array.from(enumNames).sort();
96
+ };
97
+ }
98
+ //# sourceMappingURL=type-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-helpers.js","sourceRoot":"","sources":["../../../../src/codegen/extract/type-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Model, Narrative } from '@auto-engineer/narrative';
2
+ export interface FilePlan {
3
+ outputPath: string;
4
+ contents: string;
5
+ }
6
+ export declare function generateScaffoldFilePlans(flows: Narrative[], messages: Model['messages'], integrations?: Model['integrations'], baseDir?: string): Promise<FilePlan[]>;
7
+ export declare function writeScaffoldFilePlans(plans: FilePlan[]): Promise<void>;
8
+ export declare function scaffoldFromSchema(flows: Narrative[], messages: Model['messages'], baseDir?: string): Promise<void>;
9
+ //# sourceMappingURL=scaffoldFromSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffoldFromSchema.d.ts","sourceRoot":"","sources":["../../../src/codegen/scaffoldFromSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAS,MAAM,0BAA0B,CAAC;AAsLxE,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA0TD,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,EACpC,OAAO,SAAe,GACrB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqCrB;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,OAAO,SAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAGf"}