@auto-engineer/server-generator-nestjs 0.21.0 → 0.21.2

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 (100) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +3 -3
  3. package/.turbo/turbo-build.log +0 -5
  4. package/.turbo/turbo-format.log +0 -4
  5. package/.turbo/turbo-lint.log +0 -4
  6. package/.turbo/turbo-test.log +0 -13
  7. package/.turbo/turbo-type-check.log +0 -4
  8. package/dist/src/codegen/entity-consolidation.d.ts +0 -19
  9. package/dist/src/codegen/entity-consolidation.d.ts.map +0 -1
  10. package/dist/src/codegen/entity-consolidation.js +0 -134
  11. package/dist/src/codegen/entity-consolidation.js.map +0 -1
  12. package/dist/src/codegen/extract/commands.d.ts +0 -25
  13. package/dist/src/codegen/extract/commands.d.ts.map +0 -1
  14. package/dist/src/codegen/extract/commands.js +0 -67
  15. package/dist/src/codegen/extract/commands.js.map +0 -1
  16. package/dist/src/codegen/extract/data-sink.d.ts +0 -6
  17. package/dist/src/codegen/extract/data-sink.d.ts.map +0 -1
  18. package/dist/src/codegen/extract/data-sink.js +0 -90
  19. package/dist/src/codegen/extract/data-sink.js.map +0 -1
  20. package/dist/src/codegen/extract/events.d.ts +0 -10
  21. package/dist/src/codegen/extract/events.d.ts.map +0 -1
  22. package/dist/src/codegen/extract/events.js +0 -42
  23. package/dist/src/codegen/extract/events.js.map +0 -1
  24. package/dist/src/codegen/extract/fields.d.ts +0 -3
  25. package/dist/src/codegen/extract/fields.d.ts.map +0 -1
  26. package/dist/src/codegen/extract/fields.js +0 -9
  27. package/dist/src/codegen/extract/fields.js.map +0 -1
  28. package/dist/src/codegen/extract/graphql.d.ts +0 -14
  29. package/dist/src/codegen/extract/graphql.d.ts.map +0 -1
  30. package/dist/src/codegen/extract/graphql.js +0 -81
  31. package/dist/src/codegen/extract/graphql.js.map +0 -1
  32. package/dist/src/codegen/extract/gwt.d.ts +0 -6
  33. package/dist/src/codegen/extract/gwt.d.ts.map +0 -1
  34. package/dist/src/codegen/extract/gwt.js +0 -79
  35. package/dist/src/codegen/extract/gwt.js.map +0 -1
  36. package/dist/src/codegen/extract/imports.d.ts +0 -29
  37. package/dist/src/codegen/extract/imports.d.ts.map +0 -1
  38. package/dist/src/codegen/extract/imports.js +0 -55
  39. package/dist/src/codegen/extract/imports.js.map +0 -1
  40. package/dist/src/codegen/extract/index.d.ts +0 -10
  41. package/dist/src/codegen/extract/index.d.ts.map +0 -1
  42. package/dist/src/codegen/extract/index.js +0 -10
  43. package/dist/src/codegen/extract/index.js.map +0 -1
  44. package/dist/src/codegen/extract/messages.d.ts +0 -16
  45. package/dist/src/codegen/extract/messages.d.ts.map +0 -1
  46. package/dist/src/codegen/extract/messages.js +0 -192
  47. package/dist/src/codegen/extract/messages.js.map +0 -1
  48. package/dist/src/codegen/extract/projection.d.ts +0 -5
  49. package/dist/src/codegen/extract/projection.d.ts.map +0 -1
  50. package/dist/src/codegen/extract/projection.js +0 -44
  51. package/dist/src/codegen/extract/projection.js.map +0 -1
  52. package/dist/src/codegen/extract/query.d.ts +0 -13
  53. package/dist/src/codegen/extract/query.d.ts.map +0 -1
  54. package/dist/src/codegen/extract/query.js +0 -18
  55. package/dist/src/codegen/extract/query.js.map +0 -1
  56. package/dist/src/codegen/extract/states.d.ts +0 -5
  57. package/dist/src/codegen/extract/states.d.ts.map +0 -1
  58. package/dist/src/codegen/extract/states.js +0 -48
  59. package/dist/src/codegen/extract/states.js.map +0 -1
  60. package/dist/src/codegen/extract/type-helpers.d.ts +0 -13
  61. package/dist/src/codegen/extract/type-helpers.d.ts.map +0 -1
  62. package/dist/src/codegen/extract/type-helpers.js +0 -98
  63. package/dist/src/codegen/extract/type-helpers.js.map +0 -1
  64. package/dist/src/codegen/scaffoldFromSchema.d.ts +0 -9
  65. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +0 -1
  66. package/dist/src/codegen/scaffoldFromSchema.js +0 -391
  67. package/dist/src/codegen/scaffoldFromSchema.js.map +0 -1
  68. package/dist/src/codegen/templates/command/command.ts.ejs +0 -16
  69. package/dist/src/codegen/templates/command/handler.specs.ts.ejs +0 -50
  70. package/dist/src/codegen/templates/command/handler.ts.ejs +0 -30
  71. package/dist/src/codegen/templates/command/input.ts.ejs +0 -23
  72. package/dist/src/codegen/templates/command/resolver.ts.ejs +0 -56
  73. package/dist/src/codegen/templates/entity/entity.ts.ejs +0 -35
  74. package/dist/src/codegen/templates/entity/index.ts.ejs +0 -6
  75. package/dist/src/codegen/templates/module/app-module.ts.ejs +0 -65
  76. package/dist/src/codegen/templates/module/domain-module.ts.ejs +0 -46
  77. package/dist/src/codegen/templates/query/handler.ts.ejs +0 -25
  78. package/dist/src/codegen/templates/query/query.ts.ejs +0 -1
  79. package/dist/src/codegen/templates/query/resolver.ts.ejs +0 -20
  80. package/dist/src/codegen/templates/query/type.ts.ejs +0 -24
  81. package/dist/src/codegen/types.d.ts +0 -37
  82. package/dist/src/codegen/types.d.ts.map +0 -1
  83. package/dist/src/codegen/types.js +0 -2
  84. package/dist/src/codegen/types.js.map +0 -1
  85. package/dist/src/codegen/utils/path.d.ts +0 -4
  86. package/dist/src/codegen/utils/path.d.ts.map +0 -1
  87. package/dist/src/codegen/utils/path.js +0 -18
  88. package/dist/src/codegen/utils/path.js.map +0 -1
  89. package/dist/src/commands/generate-server.d.ts +0 -28
  90. package/dist/src/commands/generate-server.d.ts.map +0 -1
  91. package/dist/src/commands/generate-server.js +0 -422
  92. package/dist/src/commands/generate-server.js.map +0 -1
  93. package/dist/src/index.d.ts +0 -3
  94. package/dist/src/index.d.ts.map +0 -1
  95. package/dist/src/index.js +0 -3
  96. package/dist/src/index.js.map +0 -1
  97. package/dist/src/shared/graphql-types.ts +0 -19
  98. package/dist/src/shared/main.ts +0 -27
  99. package/dist/src/shared/mikro-orm.config.ts +0 -18
  100. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,81 +0,0 @@
1
- import { parse, print } from 'graphql';
2
- function getTypeName(typeNode) {
3
- if (typeNode.kind === 'NamedType') {
4
- return { graphqlType: typeNode.name.value, nullable: true };
5
- }
6
- else if (typeNode.kind === 'NonNullType') {
7
- const inner = getTypeName(typeNode.type);
8
- return { ...inner, nullable: false };
9
- }
10
- else {
11
- return getTypeName(typeNode.type);
12
- }
13
- }
14
- function graphqlToTs(type) {
15
- switch (type) {
16
- case 'String':
17
- return 'string';
18
- case 'Int':
19
- case 'Float':
20
- case 'Number':
21
- return 'number';
22
- case 'Boolean':
23
- return 'boolean';
24
- case 'Date':
25
- return 'Date';
26
- default:
27
- return type;
28
- }
29
- }
30
- function convertJsonAstToSdl(request) {
31
- // Handle JSON-serialized AST
32
- if (request.startsWith('{') && request.includes('"kind"')) {
33
- try {
34
- const ast = JSON.parse(request);
35
- if (typeof ast === 'object' && ast !== null && 'kind' in ast && ast.kind === 'Document') {
36
- // Convert AST to SDL string - cast is safe here as we've validated it's a Document
37
- return print(ast);
38
- }
39
- }
40
- catch {
41
- // If parsing fails, assume it's already a GraphQL string
42
- }
43
- }
44
- return request;
45
- }
46
- export function parseGraphQlRequest(request) {
47
- const sdlRequest = convertJsonAstToSdl(request);
48
- const ast = parse(sdlRequest);
49
- const op = ast.definitions.find((d) => d.kind === 'OperationDefinition' && d.operation === 'query');
50
- if (!op)
51
- throw new Error('No query operation found');
52
- const queryName = op.name?.value;
53
- if (queryName == null)
54
- throw new Error('Query must have a name');
55
- const args = (op.variableDefinitions ?? []).map((def) => {
56
- const varName = def.variable.name.value;
57
- const { graphqlType, nullable } = getTypeName(def.type);
58
- return {
59
- name: varName,
60
- graphqlType,
61
- tsType: graphqlToTs(graphqlType),
62
- nullable,
63
- };
64
- });
65
- const field = op.selectionSet.selections[0];
66
- if (field?.kind !== 'Field' || !field.name.value) {
67
- throw new Error('Query selection must be a field');
68
- }
69
- const baseName = field.name.value;
70
- const returnType = pascalCase(baseName) + 'View';
71
- return {
72
- queryName: baseName,
73
- args,
74
- returnType,
75
- tsReturnType: `${returnType}[]`,
76
- };
77
- }
78
- function pascalCase(input) {
79
- return input.replace(/(^\w|_\w)/g, (match) => match.replace('_', '').toUpperCase());
80
- }
81
- //# sourceMappingURL=graphql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../src/codegen/extract/graphql.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Slice } from '@auto-engineer/narrative';
2
- import { GwtCondition } from '../types';
3
- export declare function buildCommandGwtMapping(slice: Slice): Record<string, (GwtCondition & {
4
- failingFields?: string[];
5
- })[]>;
6
- //# sourceMappingURL=gwt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gwt.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/gwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuD,MAAM,0BAA0B,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAAE,CAAC,CAQpH"}
@@ -1,79 +0,0 @@
1
- export function buildCommandGwtMapping(slice) {
2
- if (slice.type !== 'command') {
3
- return {};
4
- }
5
- const gwtSpecs = extractGwtSpecs(slice);
6
- const mapping = buildCommandMapping(gwtSpecs);
7
- return enhanceMapping(mapping);
8
- }
9
- function extractGwtSpecs(slice) {
10
- if (!('server' in slice))
11
- return [];
12
- const specs = slice.server?.specs;
13
- const rules = specs?.rules;
14
- return Array.isArray(rules) && rules.length > 0
15
- ? rules.flatMap((rule) => rule.examples.map((example) => ({
16
- given: example.given,
17
- when: example.when,
18
- then: example.then,
19
- description: example.description,
20
- ruleDescription: rule.description,
21
- })))
22
- : [];
23
- }
24
- function buildCommandMapping(gwtSpecs) {
25
- const mapping = {};
26
- for (const gwt of gwtSpecs) {
27
- let command;
28
- if (Array.isArray(gwt.when)) {
29
- continue;
30
- }
31
- else {
32
- const whenCmd = gwt.when;
33
- command = whenCmd?.commandRef;
34
- }
35
- if (typeof command === 'string' && command.length > 0) {
36
- mapping[command] = mapping[command] ?? [];
37
- mapping[command].push({
38
- given: gwt.given,
39
- when: gwt.when,
40
- then: gwt.then,
41
- description: gwt.description,
42
- ruleDescription: gwt.ruleDescription,
43
- });
44
- }
45
- }
46
- return mapping;
47
- }
48
- function enhanceMapping(mapping) {
49
- const enhancedMapping = {};
50
- for (const command in mapping) {
51
- const conditions = mapping[command];
52
- const successfulData = findSuccessfulExampleData(conditions);
53
- enhancedMapping[command] = conditions.map((gwt) => ({
54
- ...gwt,
55
- failingFields: findFailingFields(gwt, successfulData),
56
- }));
57
- }
58
- return enhancedMapping;
59
- }
60
- function findSuccessfulExampleData(gwts) {
61
- const successful = gwts.find((gwt) => gwt.then.some((t) => typeof t === 'object' && t !== null && 'eventRef' in t));
62
- const whenData = Array.isArray(successful?.when) ? successful?.when[0]?.exampleData : successful?.when?.exampleData;
63
- return typeof whenData === 'object' && whenData !== null ? whenData : {};
64
- }
65
- function findFailingFields(gwt, successfulData) {
66
- const hasError = gwt.then.some((t) => typeof t === 'object' && t !== null && 'errorType' in t);
67
- if (!hasError)
68
- return [];
69
- const whenData = Array.isArray(gwt.when) ? gwt.when[0]?.exampleData : gwt.when?.exampleData;
70
- if (typeof whenData !== 'object' || whenData === null)
71
- return [];
72
- return Object.entries(whenData)
73
- .filter(([key, val]) => {
74
- const successVal = successfulData[key];
75
- return val === '' && successVal !== '' && successVal !== undefined;
76
- })
77
- .map(([key]) => key);
78
- }
79
- //# sourceMappingURL=gwt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gwt.js","sourceRoot":"","sources":["../../../../src/codegen/extract/gwt.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { Message } from '../types';
2
- export interface ImportGroup {
3
- importPath: string;
4
- eventTypes: string[];
5
- }
6
- export interface CrossSliceImportContext {
7
- currentSliceName: string;
8
- events: Message[];
9
- }
10
- /**
11
- * Groups events by their import paths, handling cross-slice imports correctly.
12
- * Events from the current slice are imported from './events',
13
- * while cross-slice events are imported from '../other-slice/events'.
14
- */
15
- export declare function groupEventImports(context: CrossSliceImportContext): ImportGroup[];
16
- /**
17
- * Filters events to only include those from the current slice (source === 'then').
18
- * Used for generating local event definitions.
19
- */
20
- export declare function getLocalEvents(events: Message[]): Message[];
21
- /**
22
- * Extracts all unique event types from a list of events.
23
- */
24
- export declare function getAllEventTypes(events: Message[]): string[];
25
- /**
26
- * Creates a TypeScript union type string from event types.
27
- */
28
- export declare function createEventUnionType(events: Message[]): string;
29
- //# sourceMappingURL=imports.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/imports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,WAAW,EAAE,CA2BjF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAE3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAI5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAG9D"}
@@ -1,55 +0,0 @@
1
- import { toKebabCase } from '../utils/path.js';
2
- /**
3
- * Groups events by their import paths, handling cross-slice imports correctly.
4
- * Events from the current slice are imported from './events',
5
- * while cross-slice events are imported from '../other-slice/events'.
6
- */
7
- export function groupEventImports(context) {
8
- const { currentSliceName, events } = context;
9
- const importGroups = new Map();
10
- for (const event of events) {
11
- if (!event.type)
12
- continue;
13
- let importPath;
14
- const isFromCurrentSlice = event.source === 'then' || event.sourceSliceName === currentSliceName || event.sourceSliceName == null;
15
- if (isFromCurrentSlice) {
16
- importPath = './events';
17
- }
18
- else {
19
- importPath = `../${toKebabCase(event.sourceSliceName ?? currentSliceName)}/events`;
20
- }
21
- if (!importGroups.has(importPath)) {
22
- importGroups.set(importPath, []);
23
- }
24
- const eventTypes = importGroups.get(importPath);
25
- if (!eventTypes.includes(event.type)) {
26
- eventTypes.push(event.type);
27
- }
28
- }
29
- return Array.from(importGroups.entries()).map(([importPath, eventTypes]) => ({
30
- importPath,
31
- eventTypes: eventTypes.sort(),
32
- }));
33
- }
34
- /**
35
- * Filters events to only include those from the current slice (source === 'then').
36
- * Used for generating local event definitions.
37
- */
38
- export function getLocalEvents(events) {
39
- return events.filter((event) => event.source === 'then');
40
- }
41
- /**
42
- * Extracts all unique event types from a list of events.
43
- */
44
- export function getAllEventTypes(events) {
45
- const eventTypes = events.map((event) => event.type).filter((type) => Boolean(type));
46
- return Array.from(new Set(eventTypes)).sort();
47
- }
48
- /**
49
- * Creates a TypeScript union type string from event types.
50
- */
51
- export function createEventUnionType(events) {
52
- const eventTypes = getAllEventTypes(events);
53
- return eventTypes.length > 0 ? eventTypes.join(' | ') : 'never';
54
- }
55
- //# sourceMappingURL=imports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../../../src/codegen/extract/imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAa5C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgC;IAChE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,SAAS;QAC1B,IAAI,UAAkB,CAAC;QACvB,MAAM,kBAAkB,GACtB,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,gBAAgB,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC;QAEzG,IAAI,kBAAkB,EAAE,CAAC;YACvB,UAAU,GAAG,UAAU,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,eAAe,IAAI,gBAAgB,CAAC,SAAS,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,UAAU;QACV,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAErG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAClE,CAAC"}
@@ -1,10 +0,0 @@
1
- export * from './commands';
2
- export * from './events';
3
- export * from './gwt';
4
- export * from './states';
5
- export * from './messages';
6
- export * from './query';
7
- export * from './projection';
8
- export * from './imports';
9
- export * from './type-helpers';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC"}
@@ -1,10 +0,0 @@
1
- export * from './commands.js';
2
- export * from './events.js';
3
- export * from './gwt.js';
4
- export * from './states.js';
5
- export * from './messages.js';
6
- export * from './query.js';
7
- export * from './projection.js';
8
- export * from './imports.js';
9
- export * from './type-helpers.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/extract/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC"}
@@ -1,16 +0,0 @@
1
- import { CommandExample, EventExample, Slice } from '@auto-engineer/narrative';
2
- import { Message, MessageDefinition } from '../types';
3
- export interface ExtractedMessages {
4
- commands: Message[];
5
- events: Message[];
6
- states: Message[];
7
- commandSchemasByName: Record<string, Message>;
8
- projectionIdField?: string;
9
- projectionSingleton?: boolean;
10
- }
11
- export interface ReactGwtSpec {
12
- when?: EventExample[];
13
- then: CommandExample[];
14
- }
15
- export declare function extractMessagesFromSpecs(slice: Slice, allMessages: MessageDefinition[]): ExtractedMessages;
16
- //# sourceMappingURL=messages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAatD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AAwMD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CA+B1G"}
@@ -1,192 +0,0 @@
1
- import { extractCommandsFromGwt, extractCommandsFromThen } from './commands.js';
2
- import { extractEventsFromGiven, extractEventsFromThen, extractEventsFromWhen } from './events.js';
3
- import { extractFieldsFromMessage } from './fields.js';
4
- import { extractProjectionIdField, extractProjectionSingleton } from './projection.js';
5
- import { extractStatesFromData, extractStatesFromTarget } from './states.js';
6
- import createDebug from 'debug';
7
- const debug = createDebug('auto:server-generator-apollo-emmett:extract:messages');
8
- const debugCommand = createDebug('auto:server-generator-apollo-emmett:extract:messages:command');
9
- const debugQuery = createDebug('auto:server-generator-apollo-emmett:extract:messages:query');
10
- const debugReact = createDebug('auto:server-generator-apollo-emmett:extract:messages:react');
11
- const debugDedupe = createDebug('auto:server-generator-apollo-emmett:extract:messages:dedupe');
12
- const EMPTY_EXTRACTED_MESSAGES = {
13
- commands: [],
14
- events: [],
15
- states: [],
16
- commandSchemasByName: {},
17
- };
18
- function deduplicateMessages(messages) {
19
- debugDedupe('Deduplicating %d messages', messages.length);
20
- const uniqueMap = new Map();
21
- for (const message of messages) {
22
- if (!uniqueMap.has(message.type)) {
23
- uniqueMap.set(message.type, message);
24
- debugDedupe(' Added unique message: %s', message.type);
25
- }
26
- else {
27
- debugDedupe(' Skipped duplicate message: %s', message.type);
28
- }
29
- }
30
- const result = Array.from(uniqueMap.values());
31
- debugDedupe('Result: %d unique messages from %d total', result.length, messages.length);
32
- return result;
33
- }
34
- function extractMessagesForCommand(slice, allMessages) {
35
- debugCommand('Extracting messages for command slice: %s', slice.name);
36
- if (slice.type !== 'command') {
37
- debugCommand(' Slice type is not command, returning empty');
38
- return EMPTY_EXTRACTED_MESSAGES;
39
- }
40
- const specs = slice.server?.specs;
41
- const rules = specs?.rules;
42
- const gwtSpecs = Array.isArray(rules) && rules.length > 0
43
- ? rules.flatMap((rule) => rule.examples.map((example) => ({
44
- given: example.given,
45
- when: example.when,
46
- then: example.then,
47
- })))
48
- : [];
49
- debugCommand(' Found %d GWT specs', gwtSpecs.length);
50
- const { commands, commandSchemasByName } = extractCommandsFromGwt(gwtSpecs, allMessages);
51
- debugCommand(' Extracted %d commands', commands.length);
52
- debugCommand(' Command schemas: %o', Object.keys(commandSchemasByName));
53
- const events = gwtSpecs.flatMap((gwt) => {
54
- const givenEventsOnly = gwt.given?.filter((item) => 'eventRef' in item);
55
- const givenEvents = extractEventsFromGiven(givenEventsOnly, allMessages, slice.name);
56
- const thenEventsOnly = gwt.then.filter((item) => 'eventRef' in item);
57
- const thenEvents = extractEventsFromThen(thenEventsOnly, allMessages, slice.name);
58
- debugCommand(' GWT: given=%d events, then=%d events', givenEvents.length, thenEvents.length);
59
- return [...givenEvents, ...thenEvents];
60
- });
61
- debugCommand(' Total events extracted: %d', events.length);
62
- const result = {
63
- commands,
64
- events: deduplicateMessages(events),
65
- states: [],
66
- commandSchemasByName,
67
- };
68
- debugCommand(' Final result: %d commands, %d events', result.commands.length, result.events.length);
69
- return result;
70
- }
71
- function extractMessagesForQuery(slice, allMessages) {
72
- debugQuery('Extracting messages for query slice: %s', slice.name);
73
- if (slice.type !== 'query') {
74
- debugQuery(' Slice type is not query, returning empty');
75
- return EMPTY_EXTRACTED_MESSAGES;
76
- }
77
- const specs = slice.server?.specs;
78
- const rules = specs?.rules;
79
- const gwtSpecs = Array.isArray(rules) && rules.length > 0
80
- ? rules.flatMap((rule) => rule.examples.map((example) => ({
81
- given: example.given,
82
- when: example.when,
83
- then: example.then,
84
- })))
85
- : [];
86
- debugQuery(' Found %d GWT specs', gwtSpecs.length);
87
- const projectionIdField = extractProjectionIdField(slice);
88
- debugQuery(' Projection ID field: %s', projectionIdField ?? 'none');
89
- const projectionSingleton = extractProjectionSingleton(slice);
90
- debugQuery(' Projection singleton: %s', projectionSingleton);
91
- const events = gwtSpecs.flatMap((gwt) => {
92
- const eventsFromGiven = Array.isArray(gwt.given)
93
- ? gwt.given.filter((item) => 'eventRef' in item)
94
- : [];
95
- let eventsFromWhen = [];
96
- if (Array.isArray(gwt.when)) {
97
- eventsFromWhen = gwt.when.filter((item) => 'eventRef' in item);
98
- }
99
- else if (gwt.when != null && typeof gwt.when === 'object' && 'eventRef' in gwt.when) {
100
- // when is a single object, convert to array
101
- const whenItem = gwt.when;
102
- if (whenItem.eventRef && whenItem.eventRef.trim() !== '') {
103
- eventsFromWhen = [whenItem];
104
- }
105
- }
106
- const givenEvents = extractEventsFromGiven(eventsFromGiven, allMessages);
107
- const whenEvents = eventsFromWhen
108
- .map((eventExample) => {
109
- const fields = extractFieldsFromMessage(eventExample.eventRef, 'event', allMessages);
110
- const messageDef = allMessages.find((m) => m.type === 'event' && m.name === eventExample.eventRef);
111
- const metadata = messageDef?.metadata;
112
- return {
113
- type: eventExample.eventRef,
114
- fields,
115
- source: 'when', // Mark as 'when' source for query events
116
- sourceFlowName: metadata?.sourceFlowName,
117
- sourceSliceName: metadata?.sourceSliceName,
118
- };
119
- })
120
- .filter((event) => event.type !== undefined);
121
- return [...givenEvents, ...whenEvents];
122
- });
123
- debugQuery(' Extracted %d events total', events.length);
124
- const states = extractStatesFromTarget(slice, allMessages);
125
- debugQuery(' Extracted %d states from target', states.length);
126
- const result = {
127
- commands: [],
128
- events: deduplicateMessages(events),
129
- states,
130
- commandSchemasByName: {},
131
- projectionIdField,
132
- projectionSingleton,
133
- };
134
- debugQuery(' Final result: %d events, %d states', result.events.length, result.states.length);
135
- return result;
136
- }
137
- function extractMessagesForReact(slice, allMessages) {
138
- debugReact('Extracting messages for react slice: %s', slice.name);
139
- if (slice.type !== 'react') {
140
- debugReact(' Slice type is not react, returning empty');
141
- return EMPTY_EXTRACTED_MESSAGES;
142
- }
143
- const specs = slice.server?.specs;
144
- const rules = specs?.rules;
145
- const gwtSpecs = Array.isArray(rules) && rules.length > 0
146
- ? rules.flatMap((rule) => rule.examples.map((example) => ({
147
- given: example.given,
148
- when: example.when,
149
- then: example.then,
150
- })))
151
- : [];
152
- debugReact(' Found %d GWT specs', gwtSpecs.length);
153
- const events = extractEventsFromWhen(gwtSpecs, allMessages);
154
- debugReact(' Extracted %d events from when', events.length);
155
- const { commands, commandSchemasByName } = extractCommandsFromThen(gwtSpecs, allMessages);
156
- debugReact(' Extracted %d commands from then', commands.length);
157
- debugReact(' Command schemas: %o', Object.keys(commandSchemasByName));
158
- const states = extractStatesFromData(slice, allMessages);
159
- debugReact(' Extracted %d states from data', states.length);
160
- const result = {
161
- commands,
162
- events: deduplicateMessages(events),
163
- states,
164
- commandSchemasByName,
165
- };
166
- debugReact(' Final result: %d commands, %d events, %d states', result.commands.length, result.events.length, result.states.length);
167
- return result;
168
- }
169
- export function extractMessagesFromSpecs(slice, allMessages) {
170
- debug('Extracting messages from slice: %s (type: %s)', slice.name, slice.type);
171
- debug(' Total message definitions available: %d', allMessages.length);
172
- let result;
173
- switch (slice.type) {
174
- case 'command':
175
- result = extractMessagesForCommand(slice, allMessages);
176
- break;
177
- case 'query':
178
- result = extractMessagesForQuery(slice, allMessages);
179
- break;
180
- case 'react':
181
- result = extractMessagesForReact(slice, allMessages);
182
- break;
183
- default: {
184
- const unknownSlice = slice;
185
- debug(' Unknown slice type: %s, returning empty', unknownSlice.type);
186
- result = EMPTY_EXTRACTED_MESSAGES;
187
- }
188
- }
189
- debug(' Extraction complete: %d commands, %d events, %d states', result.commands.length, result.events.length, result.states.length);
190
- return result;
191
- }
192
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Slice } from '@auto-engineer/narrative';
2
- export declare function extractProjectionIdField(slice: Slice): string | undefined;
3
- export declare function extractProjectionName(slice: Slice): string | undefined;
4
- export declare function extractProjectionSingleton(slice: Slice): boolean;
5
- //# sourceMappingURL=projection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AA0CjD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAWhE"}
@@ -1,44 +0,0 @@
1
- function hasOrigin(dataSource) {
2
- return typeof dataSource === 'object' && dataSource !== null && 'origin' in dataSource;
3
- }
4
- function isProjectionOrigin(origin) {
5
- if (typeof origin !== 'object' || origin === null) {
6
- return false;
7
- }
8
- const obj = origin;
9
- return obj.type === 'projection';
10
- }
11
- function extractProjectionField(slice, fieldName) {
12
- if (!('server' in slice))
13
- return undefined;
14
- const dataSource = slice.server?.data?.[0];
15
- if (!hasOrigin(dataSource))
16
- return undefined;
17
- const origin = dataSource.origin;
18
- if (isProjectionOrigin(origin)) {
19
- const value = origin[fieldName];
20
- if (typeof value === 'string') {
21
- return value;
22
- }
23
- }
24
- return undefined;
25
- }
26
- export function extractProjectionIdField(slice) {
27
- return extractProjectionField(slice, 'idField');
28
- }
29
- export function extractProjectionName(slice) {
30
- return extractProjectionField(slice, 'name');
31
- }
32
- export function extractProjectionSingleton(slice) {
33
- if (!('server' in slice))
34
- return false;
35
- const dataSource = slice.server?.data?.[0];
36
- if (!hasOrigin(dataSource))
37
- return false;
38
- const origin = dataSource.origin;
39
- if (isProjectionOrigin(origin)) {
40
- return origin.singleton === true;
41
- }
42
- return false;
43
- }
44
- //# sourceMappingURL=projection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/codegen/extract/projection.ts"],"names":[],"mappings":"AAaA,SAAS,SAAS,CAAC,UAAmB;IACpC,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,IAAI,UAAU,CAAC;AACzF,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,OAAO,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AACnC,CAAC;AAED,SAAS,sBAAsB,CAAmC,KAAY,EAAE,SAAY;IAC1F,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAY;IACnD,OAAO,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAY;IAChD,OAAO,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAY;IACrD,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,13 +0,0 @@
1
- import { EventExample, Slice } from '@auto-engineer/narrative';
2
- interface QueryGwtCondition {
3
- description: string;
4
- given?: EventExample[];
5
- when: EventExample[];
6
- then: Array<{
7
- stateRef: string;
8
- exampleData: Record<string, unknown>;
9
- }>;
10
- }
11
- export declare function buildQueryGwtMapping(slice: Slice): QueryGwtCondition[];
12
- export {};
13
- //# sourceMappingURL=query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAE/D,UAAU,iBAAiB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,EAAE,CAmBtE"}
@@ -1,18 +0,0 @@
1
- export function buildQueryGwtMapping(slice) {
2
- if (slice.type !== 'query')
3
- return [];
4
- const specs = slice.server?.specs;
5
- const rules = specs?.rules;
6
- const examples = Array.isArray(rules) && rules.length > 0 ? rules.flatMap((rule) => rule.examples) : [];
7
- return examples.map((ex) => {
8
- const givenEvents = Array.isArray(ex.given) ? ex.given.filter((i) => 'eventRef' in i) : [];
9
- const whenEvents = Array.isArray(ex.when) ? ex.when.filter((i) => 'eventRef' in i) : [];
10
- return {
11
- description: ex.description,
12
- given: givenEvents.length > 0 ? givenEvents : undefined,
13
- when: whenEvents,
14
- then: ex.then.filter((i) => 'stateRef' in i),
15
- };
16
- });
17
- }
18
- //# sourceMappingURL=query.js.map