@auto-engineer/server-generator-apollo-emmett 0.2.0 → 0.8.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 (76) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +5 -108
  3. package/.turbo/turbo-type-check.log +1 -1
  4. package/CHANGELOG.md +15 -0
  5. package/dist/codegen/extract/commands.d.ts +11 -5
  6. package/dist/codegen/extract/commands.d.ts.map +1 -1
  7. package/dist/codegen/extract/commands.js +27 -12
  8. package/dist/codegen/extract/commands.js.map +1 -1
  9. package/dist/codegen/extract/data-sink.d.ts.map +1 -1
  10. package/dist/codegen/extract/data-sink.js +52 -28
  11. package/dist/codegen/extract/data-sink.js.map +1 -1
  12. package/dist/codegen/extract/gwt.d.ts.map +1 -1
  13. package/dist/codegen/extract/gwt.js +37 -6
  14. package/dist/codegen/extract/gwt.js.map +1 -1
  15. package/dist/codegen/extract/messages.d.ts.map +1 -1
  16. package/dist/codegen/extract/messages.js +38 -6
  17. package/dist/codegen/extract/messages.js.map +1 -1
  18. package/dist/codegen/extract/query.d.ts.map +1 -1
  19. package/dist/codegen/extract/query.js +9 -2
  20. package/dist/codegen/extract/query.js.map +1 -1
  21. package/dist/codegen/scaffoldFromSchema.d.ts.map +1 -1
  22. package/dist/codegen/scaffoldFromSchema.js +21 -6
  23. package/dist/codegen/scaffoldFromSchema.js.map +1 -1
  24. package/dist/codegen/templates/command/commands.specs.ts +28 -19
  25. package/dist/codegen/templates/command/decide.specs.specs.ts +75 -57
  26. package/dist/codegen/templates/command/decide.specs.ts +147 -110
  27. package/dist/codegen/templates/command/events.specs.ts +38 -29
  28. package/dist/codegen/templates/command/evolve.specs.ts +33 -24
  29. package/dist/codegen/templates/command/handle.specs.ts +61 -43
  30. package/dist/codegen/templates/command/mutation.resolver.specs.ts +28 -19
  31. package/dist/codegen/templates/command/register.specs.ts +34 -25
  32. package/dist/codegen/templates/command/state.specs.ts +34 -25
  33. package/dist/codegen/templates/query/projection.specs.specs..ts +100 -80
  34. package/dist/codegen/templates/query/projection.specs.ts +101 -81
  35. package/dist/codegen/templates/query/query.resolver.specs.ts +2 -2
  36. package/dist/codegen/templates/query/state.specs.ts +1 -1
  37. package/dist/codegen/templates/react/react.specs.specs.ts +86 -68
  38. package/dist/codegen/templates/react/react.specs.ts +123 -96
  39. package/dist/codegen/templates/react/react.specs.ts.ejs +9 -1
  40. package/dist/codegen/templates/react/react.ts.ejs +8 -1
  41. package/dist/codegen/templates/react/register.specs.ts +123 -96
  42. package/dist/codegen/templates/react/register.ts.ejs +8 -1
  43. package/dist/codegen/test-data/specVariant1.d.ts.map +1 -1
  44. package/dist/codegen/test-data/specVariant1.js +92 -65
  45. package/dist/codegen/test-data/specVariant1.js.map +1 -1
  46. package/dist/codegen/types.d.ts +4 -4
  47. package/dist/codegen/types.d.ts.map +1 -1
  48. package/package.json +9 -9
  49. package/src/codegen/extract/commands.ts +48 -19
  50. package/src/codegen/extract/data-sink.ts +68 -31
  51. package/src/codegen/extract/gwt.ts +45 -10
  52. package/src/codegen/extract/messages.ts +49 -7
  53. package/src/codegen/extract/query.ts +15 -2
  54. package/src/codegen/scaffoldFromSchema.ts +27 -6
  55. package/src/codegen/templates/command/commands.specs.ts +28 -19
  56. package/src/codegen/templates/command/decide.specs.specs.ts +75 -57
  57. package/src/codegen/templates/command/decide.specs.ts +147 -110
  58. package/src/codegen/templates/command/events.specs.ts +38 -29
  59. package/src/codegen/templates/command/evolve.specs.ts +33 -24
  60. package/src/codegen/templates/command/handle.specs.ts +61 -43
  61. package/src/codegen/templates/command/mutation.resolver.specs.ts +28 -19
  62. package/src/codegen/templates/command/register.specs.ts +34 -25
  63. package/src/codegen/templates/command/state.specs.ts +34 -25
  64. package/src/codegen/templates/query/projection.specs.specs..ts +100 -80
  65. package/src/codegen/templates/query/projection.specs.ts +101 -81
  66. package/src/codegen/templates/query/query.resolver.specs.ts +2 -2
  67. package/src/codegen/templates/query/state.specs.ts +1 -1
  68. package/src/codegen/templates/react/react.specs.specs.ts +86 -68
  69. package/src/codegen/templates/react/react.specs.ts +123 -96
  70. package/src/codegen/templates/react/react.specs.ts.ejs +9 -1
  71. package/src/codegen/templates/react/react.ts.ejs +8 -1
  72. package/src/codegen/templates/react/register.specs.ts +123 -96
  73. package/src/codegen/templates/react/register.ts.ejs +8 -1
  74. package/src/codegen/test-data/specVariant1.ts +92 -65
  75. package/src/codegen/types.ts +4 -4
  76. package/tsconfig.tsbuildinfo +1 -1
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@0.2.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@0.8.2 build /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
3
  > tsc && tsx ../../scripts/fix-esm-imports.ts && rm -rf dist/codegen/templates && mkdir -p dist/codegen && cp -r src/codegen/templates dist/codegen/templates && cp src/server.ts dist/ && cp -r src/utils dist/ && cp -r src/domain dist/
4
4
 
5
5
  Fixed ESM imports in dist/
@@ -1,117 +1,14 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@0.2.0 test /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
- > vitest run
2
+ > @auto-engineer/server-generator-apollo-emmett@0.8.2 test /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
+ > vitest run --reporter=dot
4
4
 
5
5
 
6
6
   RUN  v3.2.4 /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
7
7
 
8
- stdout | src/codegen/templates/command/handle.specs.ts > generateScaffoldFilePlans > should generate a valid handle file
9
- 💡 Events for slice Create listing [ 'ListingCreated' ]
10
-
11
- stdout | src/codegen/templates/query/projection.specs.ts > projection.ts.ejs > should generate a valid projection file with correct relative event import path from producing slice
12
- 💡 Events for slice create-listing [ 'ListingCreated', 'ListingRemoved' ]
13
-
14
- stdout | src/codegen/templates/command/decide.specs.ts > decide.ts.ejs > should generate a valid decide file when both command and event exist
15
- 💡 Events for slice Create listing [ 'ListingCreated' ]
16
-
17
- stdout | src/codegen/templates/command/handle.specs.ts > generateScaffoldFilePlans > should generate a valid handle file with integration
18
- 💡 Events for slice Suggest Items [ 'ItemsSuggested' ]
19
-
20
- stdout | src/codegen/templates/command/decide.specs.ts > decide.ts.ejs > should include implementation instructions when prior events are required
21
- 💡 Events for slice Remove listing [ 'ListingCreated', 'ListingRemoved' ]
22
-
23
- stdout | src/codegen/templates/query/projection.specs.ts > projection.ts.ejs > should generate a valid projection file with correct relative event import path from producing slice
24
- 💡 Events for slice search-listings [ 'ListingCreated', 'ListingRemoved' ]
25
-
26
- ✓ src/codegen/templates/command/handle.specs.ts (2 tests) 397ms
27
- stdout | src/codegen/templates/command/decide.specs.ts > decide.ts.ejs > should generate a decide file that handles multiple GWTs including an error
28
- 💡 Events for slice Create listing [ 'ListingCreated' ]
29
-
30
- stdout | src/codegen/templates/query/projection.specs.ts > projection.ts.ejs > should generate a valid query resolver using ID type
31
- 💡 Events for slice view-wishlist []
32
-
33
- ✓ src/codegen/templates/query/projection.specs.ts (2 tests) 541ms
34
- ✓ projection.ts.ejs > should generate a valid projection file with correct relative event import path from producing slice  451ms
35
- stdout | src/codegen/templates/command/decide.specs.ts > decide.ts.ejs > should include integration return type and usage in decide function
36
- 💡 Events for slice Suggest Items [ 'ItemsSuggested' ]
37
-
38
- ✓ src/codegen/templates/command/decide.specs.ts (4 tests) 626ms
39
- stdout | src/codegen/templates/react/react.specs.ts > handle.ts.ejs (react slice) > should generate correct react.ts
40
- 💡 Events for slice guest submits booking request [ 'BookingRequested' ]
41
-
42
- stdout | src/codegen/templates/command/decide.specs.specs.ts > spec.ts.ejs > should generate a valid spec file
43
- 💡 Events for slice Create listing [ 'ListingCreated' ]
44
-
45
- stdout | src/codegen/templates/react/register.specs.ts > register.ts.ejs (react slice) > should generate correct register.ts
46
- 💡 Events for slice guest submits booking request [ 'BookingRequested' ]
47
-
48
- stdout | src/codegen/templates/react/react.specs.ts > handle.ts.ejs (react slice) > should generate correct react.ts
49
- 💡 Events for slice Send notification to host [ 'BookingRequested' ]
50
-
51
- stdout | src/codegen/templates/command/decide.specs.specs.ts > spec.ts.ejs > should include given events in the spec file when provided
52
- 💡 Events for slice Remove listing [ 'ListingCreated', 'ListingRemoved' ]
53
-
54
- stdout | src/codegen/templates/react/react.specs.ts > handle.ts.ejs (react slice) > should generate correct react.ts
55
- 💡 Events for slice notify host [ 'HostNotified' ]
56
-
57
- ✓ src/codegen/templates/command/decide.specs.specs.ts (2 tests) 434ms
58
- ✓ spec.ts.ejs > should generate a valid spec file  307ms
59
- ✓ src/codegen/templates/react/react.specs.ts (1 test) 503ms
60
- ✓ handle.ts.ejs (react slice) > should generate correct react.ts  495ms
61
- stdout | src/codegen/templates/react/register.specs.ts > register.ts.ejs (react slice) > should generate correct register.ts
62
- 💡 Events for slice Send notification to host [ 'BookingRequested' ]
63
-
64
- stdout | src/codegen/templates/react/register.specs.ts > register.ts.ejs (react slice) > should generate correct register.ts
65
- 💡 Events for slice notify host [ 'HostNotified' ]
66
-
67
- ✓ src/codegen/templates/react/register.specs.ts (1 test) 547ms
68
- ✓ register.ts.ejs (react slice) > should generate correct register.ts  545ms
69
- stdout | src/codegen/templates/query/query.resolver.specs.ts > query.resolver.ts.ejs > should generate a valid query resolver from request field
70
- 💡 Events for slice search-listings []
71
-
72
- stdout | src/codegen/templates/react/react.specs.specs.ts > react.specs.ts.ejs (react slice) > should generate correct react.specs.ts
73
- 💡 Events for slice guest submits booking request [ 'BookingRequested' ]
74
-
75
- stdout | src/codegen/templates/command/state.specs.ts > state.ts.ejs > should generate an initial state
76
- 💡 Events for slice Create listing [ 'ListingCreated' ]
77
-
78
- stdout | src/codegen/templates/query/query.resolver.specs.ts > query.resolver.ts.ejs > should generate a valid query resolver with array of inline object field
79
- 💡 Events for slice views-suggested-items []
80
-
81
- ✓ src/codegen/templates/query/query.resolver.specs.ts (2 tests) 281ms
82
- stdout | src/codegen/templates/react/react.specs.specs.ts > react.specs.ts.ejs (react slice) > should generate correct react.specs.ts
83
- 💡 Events for slice Send notification to host [ 'BookingRequested' ]
84
-
85
- ✓ src/codegen/templates/react/react.specs.specs.ts (1 test) 285ms
86
- ✓ src/codegen/templates/command/state.specs.ts (1 test) 241ms
87
- stdout | src/codegen/templates/command/mutation.resolver.specs.ts > mutation.resolver.ts.ejs > should generate a valid mutation resolver file
88
- 💡 Events for slice Create listing []
89
-
90
- stdout | src/codegen/templates/command/register.specs.ts > generateScaffoldFilePlans > should generate a valid register file
91
- 💡 Events for slice Create listing [ 'ListingCreated' ]
92
-
93
- stdout | src/codegen/templates/command/evolve.specs.ts > evolve.ts.ejs > should generate a valid evolve file from event structure
94
- 💡 Events for slice Create listing [ 'ListingCreated' ]
95
-
96
- ✓ src/codegen/templates/command/mutation.resolver.specs.ts (1 test) 247ms
97
- ✓ src/codegen/templates/command/register.specs.ts (1 test) 257ms
98
- ✓ src/codegen/templates/command/evolve.specs.ts (1 test) 219ms
99
- stdout | src/codegen/templates/command/events.specs.ts > events.ts.ejs > should generate an event file
100
- 💡 Events for slice Create listing [ 'ListingCreated' ]
101
-
102
- ↓ src/codegen/scaffoldFromSchema.integration.specs.ts (1 test | 1 skipped)
103
- stdout | src/codegen/templates/command/commands.specs.ts > commands.ts.ejs > should generate correct command file
104
- 💡 Events for slice Create listing []
105
-
106
- ✓ src/codegen/templates/command/events.specs.ts (1 test) 240ms
107
- ✓ src/codegen/templates/command/commands.specs.ts (1 test) 240ms
108
- stdout | src/codegen/templates/query/state.specs.ts > state.ts.ejs > should generate a valid state definition file for a query slice with a state message
109
- 💡 Events for slice Get available items []
110
-
111
- ✓ src/codegen/templates/query/state.specs.ts (1 test) 143ms
8
+ ···················-···
112
9
 
113
10
   Test Files  15 passed | 1 skipped (16)
114
11
   Tests  22 passed | 1 skipped (23)
115
-  Start at  05:34:02
116
-  Duration  4.98s (transform 474ms, setup 0ms, collect 4.21s, tests 5.20s, environment 4ms, prepare 1.88s)
12
+  Start at  10:14:23
13
+  Duration  4.92s (transform 581ms, setup 0ms, collect 4.26s, tests 5.08s, environment 5ms, prepare 1.90s)
117
14
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @auto-engineer/server-generator-apollo-emmett@0.2.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
2
+ > @auto-engineer/server-generator-apollo-emmett@0.8.2 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett
3
3
  > tsc --noEmit --project tsconfig.json
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @auto-engineer/server-generator-apollo-emmett
2
2
 
3
+ ## 0.8.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @auto-engineer/flow@0.8.2
9
+ - @auto-engineer/message-bus@0.8.2
10
+
11
+ ## 0.2.1
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies
16
+ - @auto-engineer/flow@0.3.0
17
+
3
18
  ## 0.2.0
4
19
 
5
20
  ### Minor Changes
@@ -1,10 +1,9 @@
1
1
  import { CommandExample, EventExample } from '@auto-engineer/flow';
2
2
  import { Message, MessageDefinition } from '../types';
3
- import { ReactGwtSpec } from './messages';
4
3
  export declare function extractCommandsFromGwt(gwtSpecs: Array<{
5
- given?: EventExample[];
6
- when: CommandExample;
7
- then: Array<EventExample | {
4
+ given?: Array<EventExample | unknown>;
5
+ when: CommandExample | EventExample | unknown[];
6
+ then: Array<EventExample | unknown | {
8
7
  errorType: string;
9
8
  message?: string;
10
9
  }>;
@@ -12,7 +11,14 @@ export declare function extractCommandsFromGwt(gwtSpecs: Array<{
12
11
  commands: Message[];
13
12
  commandSchemasByName: Record<string, Message>;
14
13
  };
15
- export declare function extractCommandsFromThen(gwtSpecs: ReactGwtSpec[], allMessages: MessageDefinition[]): {
14
+ export declare function extractCommandsFromThen(gwtSpecs: Array<{
15
+ given?: Array<EventExample | unknown>;
16
+ when: CommandExample | EventExample | unknown[];
17
+ then: Array<EventExample | unknown | {
18
+ errorType: string;
19
+ message?: string;
20
+ }>;
21
+ }>, allMessages: MessageDefinition[]): {
16
22
  commands: Message[];
17
23
  commandSchemasByName: Record<string, Message>;
18
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoB1C,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE,CAAC,EACF,WAAW,EAAE,iBAAiB,EAAE,GAC/B;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAiBxE;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EAAE,EACxB,WAAW,EAAE,iBAAiB,EAAE,GAC/B;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CA0BxE"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAqBtD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;IACtC,IAAI,EAAE,cAAc,GAAG,YAAY,GAAG,OAAO,EAAE,CAAC;IAChD,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E,CAAC,EACF,WAAW,EAAE,iBAAiB,EAAE,GAC/B;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAwBxE;AAgCD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;IACtC,IAAI,EAAE,cAAc,GAAG,YAAY,GAAG,OAAO,EAAE,CAAC;IAChD,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E,CAAC,EACF,WAAW,EAAE,iBAAiB,EAAE,GAC/B;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAexE"}
@@ -15,7 +15,12 @@ export function extractCommandsFromGwt(gwtSpecs, allMessages) {
15
15
  const commands = gwtSpecs
16
16
  .map((gwt) => {
17
17
  const cmd = gwt.when;
18
- if (!cmd.commandRef)
18
+ if (Array.isArray(cmd) ||
19
+ typeof cmd !== 'object' ||
20
+ cmd === null ||
21
+ !('commandRef' in cmd) ||
22
+ typeof cmd.commandRef !== 'string' ||
23
+ !cmd.commandRef)
19
24
  return undefined;
20
25
  const command = createCommandMessage(cmd.commandRef, allMessages, 'when');
21
26
  if (command) {
@@ -26,6 +31,26 @@ export function extractCommandsFromGwt(gwtSpecs, allMessages) {
26
31
  .filter((cmd) => cmd !== undefined);
27
32
  return { commands, commandSchemasByName };
28
33
  }
34
+ function isValidCommandExample(commandExample) {
35
+ return (typeof commandExample === 'object' &&
36
+ commandExample !== null &&
37
+ 'commandRef' in commandExample &&
38
+ typeof commandExample.commandRef === 'string' &&
39
+ !!commandExample.commandRef);
40
+ }
41
+ function processCommandExample(commandExample, commands, commandSchemasByName, allMessages) {
42
+ if (!isValidCommandExample(commandExample)) {
43
+ return;
44
+ }
45
+ const commandRef = commandExample.commandRef;
46
+ if (!(commandRef in commandSchemasByName)) {
47
+ const command = createCommandMessage(commandRef, allMessages, 'then');
48
+ if (command) {
49
+ commands.push(command);
50
+ commandSchemasByName[commandRef] = command;
51
+ }
52
+ }
53
+ }
29
54
  export function extractCommandsFromThen(gwtSpecs, allMessages) {
30
55
  const commands = [];
31
56
  const commandSchemasByName = {};
@@ -34,17 +59,7 @@ export function extractCommandsFromThen(gwtSpecs, allMessages) {
34
59
  continue;
35
60
  }
36
61
  for (const commandExample of gwt.then) {
37
- if (!commandExample.commandRef) {
38
- continue;
39
- }
40
- const commandRef = commandExample.commandRef;
41
- if (!(commandRef in commandSchemasByName)) {
42
- const command = createCommandMessage(commandRef, allMessages, 'then');
43
- if (command) {
44
- commands.push(command);
45
- commandSchemasByName[commandRef] = command;
46
- }
47
- }
62
+ processCommandExample(commandExample, commands, commandSchemasByName, allMessages);
48
63
  }
49
64
  }
50
65
  return { commands, commandSchemasByName };
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/codegen/extract/commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAGpD,SAAS,oBAAoB,CAC3B,UAAkB,EAClB,WAAgC,EAChC,MAAuB;IAEvB,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAE5E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAIE,EACF,WAAgC;IAEhC,MAAM,oBAAoB,GAA4B,EAAE,CAAC;IAEzD,MAAM,QAAQ,GAAc,QAAQ;SACjC,GAAG,CAAC,CAAC,GAAG,EAAuB,EAAE;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAEtC,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAI,OAAO,EAAE,CAAC;YACZ,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QACjD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,GAAG,EAAkB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAEtD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAwB,EACxB,WAAgC;IAEhC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,oBAAoB,GAA4B,EAAE,CAAC;IAEzD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,KAAK,MAAM,cAAc,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;YAC7C,IAAI,CAAC,CAAC,UAAU,IAAI,oBAAoB,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBACtE,IAAI,OAAO,EAAE,CAAC;oBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,oBAAoB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/codegen/extract/commands.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-sink.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/data-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAQtE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAoC7F"}
1
+ {"version":3,"file":"data-sink.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/data-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,EAAgB,MAAM,qBAAqB,CAAC;AAyDpF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB7F"}
@@ -1,39 +1,63 @@
1
1
  function resolveStreamId(stream, exampleData) {
2
2
  return stream.replace(/\$\{([^}]+)\}/g, (_, key) => String(exampleData?.[key] ?? 'unknown'));
3
3
  }
4
- // eslint-disable-next-line complexity
5
- export function getStreamFromSink(slice) {
6
- let streamPattern;
7
- let streamId;
8
- const gwtSpecs = slice.type === 'command'
9
- ? slice.server?.gwt
10
- : slice.type === 'query'
11
- ? slice.server?.gwt
12
- : slice.type === 'react'
13
- ? slice.server?.gwt
14
- : [];
15
- let exampleData = {};
4
+ function extractExampleDataFromReact(firstSpec) {
5
+ if (Array.isArray(firstSpec.when)) {
6
+ const firstWhen = firstSpec.when[0];
7
+ return typeof firstWhen?.exampleData === 'object' && firstWhen.exampleData !== null ? firstWhen.exampleData : {};
8
+ }
9
+ return {};
10
+ }
11
+ function extractExampleDataFromCommand(firstSpec) {
12
+ const then = firstSpec.then;
13
+ const firstExample = then.find((t) => 'exampleData' in t);
14
+ return typeof firstExample?.exampleData === 'object' && firstExample.exampleData !== null
15
+ ? firstExample.exampleData
16
+ : {};
17
+ }
18
+ function extractExampleDataFromQuery(firstSpec) {
19
+ if (Array.isArray(firstSpec.when)) {
20
+ const firstWhen = firstSpec.when[0];
21
+ return typeof firstWhen?.exampleData === 'object' && firstWhen.exampleData !== null ? firstWhen.exampleData : {};
22
+ }
23
+ return {};
24
+ }
25
+ function extractExampleDataFromSpecs(slice, gwtSpecs) {
26
+ if (gwtSpecs.length === 0) {
27
+ return {};
28
+ }
29
+ const firstSpec = gwtSpecs[0];
16
30
  switch (slice.type) {
17
31
  case 'react':
18
- exampleData = gwtSpecs[0].when?.[0]?.exampleData ?? {};
19
- break;
20
- case 'command': {
21
- const then = gwtSpecs[0]?.then;
22
- const firstExample = then.find((t) => 'exampleData' in t);
23
- exampleData = firstExample?.exampleData ?? {};
24
- break;
25
- }
32
+ return extractExampleDataFromReact(firstSpec);
33
+ case 'command':
34
+ return extractExampleDataFromCommand(firstSpec);
26
35
  case 'query':
27
- exampleData = gwtSpecs[0]?.given?.[0]?.exampleData ?? {};
28
- break;
36
+ return extractExampleDataFromQuery(firstSpec);
37
+ default:
38
+ return {};
29
39
  }
30
- const sink = (slice.server?.data ?? []).find((item) => item?.destination?.type === 'stream');
40
+ }
41
+ function findStreamSink(slice) {
42
+ return (slice.server?.data ?? []).find((item) => item?.destination?.type === 'stream');
43
+ }
44
+ export function getStreamFromSink(slice) {
45
+ const specs = slice.server?.specs;
46
+ const rules = specs?.rules;
47
+ const gwtSpecs = Array.isArray(rules) && rules.length > 0
48
+ ? rules.flatMap((rule) => rule.examples.map((example) => ({
49
+ given: example.given,
50
+ when: example.when,
51
+ then: example.then,
52
+ })))
53
+ : [];
54
+ const exampleData = extractExampleDataFromSpecs(slice, gwtSpecs);
55
+ const sink = findStreamSink(slice);
31
56
  if (sink && sink.destination.type === 'stream' && 'pattern' in sink.destination) {
32
- streamPattern = sink.destination.pattern;
33
- if (streamPattern != null) {
34
- streamId = resolveStreamId(streamPattern, exampleData);
35
- }
57
+ const streamPattern = sink.destination.pattern;
58
+ const streamId = streamPattern ? resolveStreamId(streamPattern, exampleData) : undefined;
59
+ return { streamPattern, streamId };
36
60
  }
37
- return { streamPattern, streamId };
61
+ return {};
38
62
  }
39
63
  //# sourceMappingURL=data-sink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-sink.js","sourceRoot":"","sources":["../../../src/codegen/extract/data-sink.ts"],"names":[],"mappings":"AAGA,SAAS,eAAe,CAAC,MAAc,EAAE,WAAoC;IAC3E,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,iBAAiB,CAAC,KAAY;IAC5C,IAAI,aAAiC,CAAC;IACtC,IAAI,QAA4B,CAAC;IACjC,MAAM,QAAQ,GACZ,KAAK,CAAC,IAAI,KAAK,SAAS;QACtB,CAAC,CAAE,KAAK,CAAC,MAAM,EAAE,GAAwB;QACzC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YACtB,CAAC,CAAE,KAAK,CAAC,MAAM,EAAE,GAAsB;YACvC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,CAAC,CAAE,KAAK,CAAC,MAAM,EAAE,GAAsB;gBACvC,CAAC,CAAC,EAAE,CAAC;IACb,IAAI,WAAW,GAA4B,EAAE,CAAC;IAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,WAAW,GAAI,QAA2B,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;YAC3E,MAAM;QACR,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,GAAI,QAA6B,CAAC,CAAC,CAAC,EAAE,IAAkD,CAAC;YACnG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAuB,EAAE,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;YAC/E,WAAW,GAAG,YAAY,EAAE,WAAW,IAAI,EAAE,CAAC;YAC9C,MAAM;QACR,CAAC;QACD,KAAK,OAAO;YACV,WAAW,GAAI,QAA2B,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;YAC7E,MAAM;IACV,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAAiB,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,CAE5F,CAAC;IACd,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAChF,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACzC,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,QAAQ,GAAG,eAAe,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"data-sink.js","sourceRoot":"","sources":["../../../src/codegen/extract/data-sink.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gwt.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/gwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,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,CAiCpH"}
1
+ {"version":3,"file":"gwt.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/gwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA8C,MAAM,qBAAqB,CAAC;AACxF,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"}
@@ -2,11 +2,33 @@ export function buildCommandGwtMapping(slice) {
2
2
  if (slice.type !== 'command') {
3
3
  return {};
4
4
  }
5
- const gwtSpecs = slice.server?.gwt ?? [];
5
+ const gwtSpecs = extractGwtSpecs(slice);
6
+ const mapping = buildCommandMapping(gwtSpecs);
7
+ return enhanceMapping(mapping);
8
+ }
9
+ function extractGwtSpecs(slice) {
10
+ const specs = slice.server?.specs;
11
+ const rules = specs?.rules;
12
+ return Array.isArray(rules) && rules.length > 0
13
+ ? rules.flatMap((rule) => rule.examples.map((example) => ({
14
+ given: example.given,
15
+ when: example.when,
16
+ then: example.then,
17
+ })))
18
+ : [];
19
+ }
20
+ function buildCommandMapping(gwtSpecs) {
6
21
  const mapping = {};
7
22
  for (const gwt of gwtSpecs) {
8
- const command = gwt.when?.commandRef;
9
- if (command) {
23
+ let command;
24
+ if (Array.isArray(gwt.when)) {
25
+ continue;
26
+ }
27
+ else {
28
+ const whenCmd = gwt.when;
29
+ command = whenCmd?.commandRef;
30
+ }
31
+ if (typeof command === 'string' && command.length > 0) {
10
32
  mapping[command] = mapping[command] ?? [];
11
33
  mapping[command].push({
12
34
  given: gwt.given,
@@ -15,6 +37,9 @@ export function buildCommandGwtMapping(slice) {
15
37
  });
16
38
  }
17
39
  }
40
+ return mapping;
41
+ }
42
+ function enhanceMapping(mapping) {
18
43
  const enhancedMapping = {};
19
44
  for (const command in mapping) {
20
45
  const merged = mergeGwtConditions(mapping[command]);
@@ -29,7 +54,9 @@ export function buildCommandGwtMapping(slice) {
29
54
  function mergeGwtConditions(gwts) {
30
55
  const map = new Map();
31
56
  for (const gwt of gwts) {
32
- const key = JSON.stringify(gwt.when.exampleData);
57
+ // Handle both single command and array of events in when clause
58
+ const whenData = Array.isArray(gwt.when) ? gwt.when[0]?.exampleData : gwt.when.exampleData;
59
+ const key = JSON.stringify(whenData ?? {});
33
60
  const existing = map.get(key) ?? [];
34
61
  map.set(key, [...existing, gwt]);
35
62
  }
@@ -45,13 +72,17 @@ function mergeGwtConditions(gwts) {
45
72
  }
46
73
  function findSuccessfulExampleData(gwts) {
47
74
  const successful = gwts.find((gwt) => gwt.then.some((t) => typeof t === 'object' && t !== null && 'eventRef' in t));
48
- return successful?.when.exampleData ?? {};
75
+ const whenData = Array.isArray(successful?.when) ? successful?.when[0]?.exampleData : successful?.when?.exampleData;
76
+ return typeof whenData === 'object' && whenData !== null ? whenData : {};
49
77
  }
50
78
  function findFailingFields(gwt, successfulData) {
51
79
  const hasError = gwt.then.some((t) => typeof t === 'object' && t !== null && 'errorType' in t);
52
80
  if (!hasError)
53
81
  return [];
54
- return Object.entries(gwt.when.exampleData)
82
+ const whenData = Array.isArray(gwt.when) ? gwt.when[0]?.exampleData : gwt.when?.exampleData;
83
+ if (typeof whenData !== 'object' || whenData === null)
84
+ return [];
85
+ return Object.entries(whenData)
55
86
  .filter(([key, val]) => {
56
87
  const successVal = successfulData[key];
57
88
  return val === '' && successVal !== '' && successVal !== undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"gwt.js","sourceRoot":"","sources":["../../../src/codegen/extract/gwt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gwt.js","sourceRoot":"","sources":["../../../src/codegen/extract/gwt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAYtD,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;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAgID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CA+B1G"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAYtD,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;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AA0KD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CA+B1G"}
@@ -36,14 +36,24 @@ function extractMessagesForCommand(slice, allMessages) {
36
36
  debugCommand(' Slice type is not command, returning empty');
37
37
  return EMPTY_EXTRACTED_MESSAGES;
38
38
  }
39
- const gwtSpecs = slice.server?.gwt ?? [];
39
+ const specs = slice.server?.specs;
40
+ const rules = specs?.rules;
41
+ const gwtSpecs = Array.isArray(rules) && rules.length > 0
42
+ ? rules.flatMap((rule) => rule.examples.map((example) => ({
43
+ given: example.given,
44
+ when: example.when,
45
+ then: example.then,
46
+ })))
47
+ : [];
40
48
  debugCommand(' Found %d GWT specs', gwtSpecs.length);
41
49
  const { commands, commandSchemasByName } = extractCommandsFromGwt(gwtSpecs, allMessages);
42
50
  debugCommand(' Extracted %d commands', commands.length);
43
51
  debugCommand(' Command schemas: %o', Object.keys(commandSchemasByName));
44
52
  const events = gwtSpecs.flatMap((gwt) => {
45
- const givenEvents = extractEventsFromGiven(gwt.given, allMessages);
46
- const thenEvents = extractEventsFromThen(gwt.then, allMessages);
53
+ const givenEventsOnly = gwt.given?.filter((item) => 'eventRef' in item);
54
+ const givenEvents = extractEventsFromGiven(givenEventsOnly, allMessages);
55
+ const thenEventsOnly = gwt.then.filter((item) => 'eventRef' in item);
56
+ const thenEvents = extractEventsFromThen(thenEventsOnly, allMessages);
47
57
  debugCommand(' GWT: given=%d events, then=%d events', givenEvents.length, thenEvents.length);
48
58
  return [...givenEvents, ...thenEvents];
49
59
  });
@@ -63,11 +73,24 @@ function extractMessagesForQuery(slice, allMessages) {
63
73
  debugQuery(' Slice type is not query, returning empty');
64
74
  return EMPTY_EXTRACTED_MESSAGES;
65
75
  }
66
- const gwtSpecs = slice.server?.gwt ?? [];
76
+ const specs = slice.server?.specs;
77
+ const rules = specs?.rules;
78
+ const gwtSpecs = Array.isArray(rules) && rules.length > 0
79
+ ? rules.flatMap((rule) => rule.examples.map((example) => ({
80
+ given: example.given,
81
+ when: example.when,
82
+ then: example.then,
83
+ })))
84
+ : [];
67
85
  debugQuery(' Found %d GWT specs', gwtSpecs.length);
68
86
  const projectionIdField = extractProjectionIdField(slice);
69
87
  debugQuery(' Projection ID field: %s', projectionIdField ?? 'none');
70
- const events = gwtSpecs.flatMap((gwt) => extractEventsFromGiven(gwt.given, allMessages));
88
+ const events = gwtSpecs.flatMap((gwt) => {
89
+ const eventsFromWhen = Array.isArray(gwt.when)
90
+ ? gwt.when.filter((item) => 'eventRef' in item)
91
+ : [];
92
+ return extractEventsFromGiven(eventsFromWhen, allMessages);
93
+ });
71
94
  debugQuery(' Extracted %d events from given', events.length);
72
95
  const states = extractStatesFromTarget(slice, allMessages);
73
96
  debugQuery(' Extracted %d states from target', states.length);
@@ -87,7 +110,16 @@ function extractMessagesForReact(slice, allMessages) {
87
110
  debugReact(' Slice type is not react, returning empty');
88
111
  return EMPTY_EXTRACTED_MESSAGES;
89
112
  }
90
- const gwtSpecs = slice.server?.gwt ?? [];
113
+ const specs = slice.server?.specs;
114
+ // Extract all examples from specs/rules structure
115
+ const rules = specs?.rules;
116
+ const gwtSpecs = Array.isArray(rules) && rules.length > 0
117
+ ? rules.flatMap((rule) => rule.examples.map((example) => ({
118
+ given: example.given,
119
+ when: example.when,
120
+ then: example.then,
121
+ })))
122
+ : [];
91
123
  debugReact(' Found %d GWT specs', gwtSpecs.length);
92
124
  const events = extractEventsFromWhen(gwtSpecs, allMessages);
93
125
  debugReact(' Extracted %d events from when', events.length);
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE1D,UAAU,iBAAiB;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,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,CAUtE"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/codegen/extract/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE1D,UAAU,iBAAiB;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,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,CAuBtE"}