@auto-engineer/server-generator-apollo-emmett 0.10.4 → 0.11.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 (104) hide show
  1. package/.turbo/turbo-build.log +6 -0
  2. package/.turbo/turbo-format.log +5 -0
  3. package/.turbo/turbo-lint.log +4 -0
  4. package/.turbo/turbo-test.log +22 -0
  5. package/.turbo/turbo-type-check.log +5 -0
  6. package/CHANGELOG.md +20 -0
  7. package/dist/src/codegen/extract/events.d.ts +2 -2
  8. package/dist/src/codegen/extract/events.d.ts.map +1 -1
  9. package/dist/src/codegen/extract/events.js +16 -6
  10. package/dist/src/codegen/extract/events.js.map +1 -1
  11. package/dist/src/codegen/extract/gwt.js +7 -22
  12. package/dist/src/codegen/extract/gwt.js.map +1 -1
  13. package/dist/src/codegen/extract/imports.d.ts +29 -0
  14. package/dist/src/codegen/extract/imports.d.ts.map +1 -0
  15. package/dist/src/codegen/extract/imports.js +55 -0
  16. package/dist/src/codegen/extract/imports.js.map +1 -0
  17. package/dist/src/codegen/extract/index.d.ts +1 -0
  18. package/dist/src/codegen/extract/index.d.ts.map +1 -1
  19. package/dist/src/codegen/extract/index.js +1 -0
  20. package/dist/src/codegen/extract/index.js.map +1 -1
  21. package/dist/src/codegen/extract/messages.d.ts.map +1 -1
  22. package/dist/src/codegen/extract/messages.js +33 -7
  23. package/dist/src/codegen/extract/messages.js.map +1 -1
  24. package/dist/src/codegen/extract/query.d.ts +3 -1
  25. package/dist/src/codegen/extract/query.d.ts.map +1 -1
  26. package/dist/src/codegen/extract/query.js +12 -12
  27. package/dist/src/codegen/extract/query.js.map +1 -1
  28. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +1 -1
  29. package/dist/src/codegen/scaffoldFromSchema.js +9 -1
  30. package/dist/src/codegen/scaffoldFromSchema.js.map +1 -1
  31. package/dist/src/codegen/templates/command/decide.specs.specs.ts +235 -8
  32. package/dist/src/codegen/templates/command/decide.specs.ts +8 -8
  33. package/dist/src/codegen/templates/command/decide.specs.ts.ejs +95 -30
  34. package/dist/src/codegen/templates/command/decide.ts.ejs +2 -2
  35. package/dist/src/codegen/templates/command/events.ts.ejs +2 -2
  36. package/dist/src/codegen/templates/command/evolve.ts.ejs +3 -3
  37. package/dist/src/codegen/templates/command/handle.specs.ts +6 -6
  38. package/dist/src/codegen/templates/command/handle.ts.ejs +3 -3
  39. package/dist/src/codegen/templates/query/projection.specs.specs.ts +623 -0
  40. package/dist/src/codegen/templates/query/projection.specs.ts +1 -1
  41. package/dist/src/codegen/templates/query/projection.specs.ts.ejs +176 -52
  42. package/dist/src/codegen/templates/query/projection.ts.ejs +30 -29
  43. package/dist/src/codegen/templates/query/query.resolver.specs.ts +190 -5
  44. package/dist/src/codegen/templates/query/query.resolver.ts.ejs +31 -9
  45. package/dist/src/codegen/templates/react/react.specs.specs.ts +8 -5
  46. package/dist/src/codegen/templates/react/react.specs.ts +4 -4
  47. package/dist/src/codegen/templates/react/react.specs.ts.ejs +118 -67
  48. package/dist/src/codegen/templates/react/react.ts.ejs +4 -4
  49. package/dist/src/codegen/templates/react/register.specs.ts +2 -2
  50. package/dist/src/codegen/templates/react/register.ts.ejs +2 -2
  51. package/dist/src/codegen/types.d.ts +2 -0
  52. package/dist/src/codegen/types.d.ts.map +1 -1
  53. package/dist/src/commands/generate-server.d.ts.map +1 -1
  54. package/dist/src/commands/generate-server.js +3 -0
  55. package/dist/src/commands/generate-server.js.map +1 -1
  56. package/dist/src/domain/shared/ReadModel.d.ts +2 -2
  57. package/dist/src/domain/shared/ReadModel.d.ts.map +1 -1
  58. package/dist/src/domain/shared/ReadModel.js +2 -2
  59. package/dist/src/domain/shared/ReadModel.js.map +1 -1
  60. package/dist/src/domain/shared/ReadModel.ts +3 -3
  61. package/dist/src/domain/shared/types.d.ts +5 -3
  62. package/dist/src/domain/shared/types.d.ts.map +1 -1
  63. package/dist/src/domain/shared/types.js.map +1 -1
  64. package/dist/src/domain/shared/types.ts +5 -3
  65. package/dist/src/server.js +54 -7
  66. package/dist/src/server.js.map +1 -1
  67. package/dist/src/server.ts +53 -15
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/package.json +8 -5
  70. package/src/codegen/extract/events.ts +20 -3
  71. package/src/codegen/extract/gwt.ts +10 -26
  72. package/src/codegen/extract/imports.ts +71 -0
  73. package/src/codegen/extract/index.ts +1 -0
  74. package/src/codegen/extract/messages.ts +34 -7
  75. package/src/codegen/extract/query.ts +17 -19
  76. package/src/codegen/scaffoldFromSchema.ts +13 -0
  77. package/src/codegen/templates/command/decide.specs.specs.ts +235 -8
  78. package/src/codegen/templates/command/decide.specs.ts +8 -8
  79. package/src/codegen/templates/command/decide.specs.ts.ejs +95 -30
  80. package/src/codegen/templates/command/decide.ts.ejs +2 -2
  81. package/src/codegen/templates/command/events.ts.ejs +2 -2
  82. package/src/codegen/templates/command/evolve.ts.ejs +3 -3
  83. package/src/codegen/templates/command/handle.specs.ts +6 -6
  84. package/src/codegen/templates/command/handle.ts.ejs +3 -3
  85. package/src/codegen/templates/query/projection.specs.specs.ts +623 -0
  86. package/src/codegen/templates/query/projection.specs.ts +1 -1
  87. package/src/codegen/templates/query/projection.specs.ts.ejs +176 -52
  88. package/src/codegen/templates/query/projection.ts.ejs +30 -29
  89. package/src/codegen/templates/query/query.resolver.specs.ts +190 -5
  90. package/src/codegen/templates/query/query.resolver.ts.ejs +31 -9
  91. package/src/codegen/templates/react/react.specs.specs.ts +8 -5
  92. package/src/codegen/templates/react/react.specs.ts +4 -4
  93. package/src/codegen/templates/react/react.specs.ts.ejs +118 -67
  94. package/src/codegen/templates/react/react.ts.ejs +4 -4
  95. package/src/codegen/templates/react/register.specs.ts +2 -2
  96. package/src/codegen/templates/react/register.ts.ejs +2 -2
  97. package/src/codegen/types.ts +2 -0
  98. package/src/commands/generate-server.ts +3 -0
  99. package/src/domain/shared/ReadModel.ts +3 -3
  100. package/src/domain/shared/types.ts +5 -3
  101. package/src/server.ts +53 -15
  102. package/dist/src/codegen/templates/query/projection.specs.specs..ts +0 -296
  103. package/src/codegen/scaffoldFromSchema.query-slice-register.specs.ts +0 -179
  104. package/src/codegen/templates/query/projection.specs.specs..ts +0 -296
@@ -0,0 +1,6 @@
1
+
2
+ 
3
+ > @auto-engineer/server-generator-apollo-emmett@0.11.0 build /Users/sam/WebstormProjects/top/auto-engineer-3/packages/server-generator-apollo-emmett
4
+ > tsc && tsx ../../scripts/fix-esm-imports.ts && rm -rf dist/src/codegen/templates && mkdir -p dist/src/codegen && cp -r src/codegen/templates dist/src/codegen/templates && cp src/server.ts dist/src && cp -r src/utils dist/src && cp -r src/domain dist/src
5
+
6
+ Fixed ESM imports in dist/
@@ -0,0 +1,5 @@
1
+
2
+ 
3
+ > @auto-engineer/server-generator-apollo-emmett@0.10.5 format /Users/sam/WebstormProjects/top/auto-engineer-3/packages/server-generator-apollo-emmett
4
+ > prettier --write "**/*.{js,ts,json,md,yml,yaml}" --ignore-path ../../.prettierignore --log-level warn
5
+
@@ -0,0 +1,4 @@
1
+
2
+ > @auto-engineer/server-generator-apollo-emmett@0.10.5 lint /Users/sam/WebstormProjects/top/auto-engineer-3/packages/server-generator-apollo-emmett
3
+ > eslint 'src/**/*.ts' --ignore-pattern '**/*.specs.ts' --ignore-pattern '**/.tmp/**' --max-warnings 0 --config ../../eslint.config.ts
4
+
@@ -0,0 +1,22 @@
1
+
2
+ 
3
+ > @auto-engineer/server-generator-apollo-emmett@0.11.0 test /Users/sam/WebstormProjects/top/auto-engineer-3/packages/server-generator-apollo-emmett
4
+ > vitest run --reporter=dot
5
+
6
+ [?25l
7
+  RUN  v3.2.4 /Users/sam/WebstormProjects/top/auto-engineer-3/packages/server-generator-apollo-emmett
8
+
9
+ [?2026h*
10
+ [?2026l[?2026h*******************************
11
+ [?2026l[?2026h***···*·*******·**···***·*·****
12
+ [?2026l[?2026h·**···*··****·*··*···***·····*·
13
+ [?2026l[?2026h······················**·······
14
+ [?2026l[?2026h································-
15
+ [?2026l································-
16
+
17
+  Test Files  16 passed | 1 skipped (17)
18
+  Tests  32 passed | 1 skipped (33)
19
+  Start at  11:51:04
20
+  Duration  1.14s (transform 412ms, setup 0ms, collect 2.85s, tests 4.03s, environment 2ms, prepare 2.03s)
21
+
22
+ [?25h
@@ -0,0 +1,5 @@
1
+
2
+ 
3
+ > @auto-engineer/server-generator-apollo-emmett@0.11.0 type-check /Users/sam/WebstormProjects/top/auto-engineer-3/packages/server-generator-apollo-emmett
4
+ > tsc --noEmit --project tsconfig.json
5
+
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @auto-engineer/server-generator-apollo-emmett
2
2
 
3
+ ## 0.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Version bump
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies []:
12
+ - @auto-engineer/message-bus@0.11.0
13
+ - @auto-engineer/flow@0.11.0
14
+
15
+ ## 0.10.5
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies []:
20
+ - @auto-engineer/flow@0.10.5
21
+ - @auto-engineer/message-bus@0.10.5
22
+
3
23
  ## 0.10.4
4
24
 
5
25
  ### Patch Changes
@@ -4,7 +4,7 @@ import { ReactGwtSpec } from './messages';
4
4
  export declare function extractEventsFromThen(thenItems: Array<EventExample | {
5
5
  errorType: string;
6
6
  message?: string;
7
- }>, allMessages: MessageDefinition[]): Message[];
8
- export declare function extractEventsFromGiven(givenEvents: EventExample[] | undefined, allMessages: MessageDefinition[]): Message[];
7
+ }>, allMessages: MessageDefinition[], currentSliceName?: string, currentFlowName?: string): Message[];
8
+ export declare function extractEventsFromGiven(givenEvents: EventExample[] | undefined, allMessages: MessageDefinition[], currentSliceName?: string, currentFlowName?: string): Message[];
9
9
  export declare function extractEventsFromWhen(gwtSpecs: ReactGwtSpec[], allMessages: MessageDefinition[]): Message[];
10
10
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAY1C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,KAAK,CAAC,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACxE,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO,EAAE,CAOX;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,YAAY,EAAE,GAAG,SAAS,EACvC,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO,EAAE,CAMX;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,CAO3G"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyB1C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,KAAK,CAAC,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACxE,WAAW,EAAE,iBAAiB,EAAE,EAChC,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,EAAE,CAOX;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,YAAY,EAAE,GAAG,SAAS,EACvC,WAAW,EAAE,iBAAiB,EAAE,EAChC,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,EAAE,CAMX;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,CAO3G"}
@@ -1,24 +1,34 @@
1
1
  import { extractFieldsFromMessage } from './fields.js';
2
- function createEventMessage(eventRef, source, allMessages) {
2
+ function createEventMessage(eventRef, source, allMessages, currentSliceName, currentFlowName) {
3
3
  if (eventRef == null)
4
4
  return undefined;
5
5
  const fields = extractFieldsFromMessage(eventRef, 'event', allMessages);
6
- return { type: eventRef, fields, source };
6
+ const messageDef = allMessages.find((m) => m.type === 'event' && m.name === eventRef);
7
+ const metadata = messageDef?.metadata;
8
+ const sourceFlowName = metadata?.sourceFlowName ?? currentFlowName;
9
+ const sourceSliceName = metadata?.sourceSliceName ?? currentSliceName;
10
+ return {
11
+ type: eventRef,
12
+ fields,
13
+ source,
14
+ sourceFlowName,
15
+ sourceSliceName,
16
+ };
7
17
  }
8
- export function extractEventsFromThen(thenItems, allMessages) {
18
+ export function extractEventsFromThen(thenItems, allMessages, currentSliceName, currentFlowName) {
9
19
  return thenItems
10
20
  .map((then) => {
11
21
  if (!('eventRef' in then))
12
22
  return undefined;
13
- return createEventMessage(then.eventRef, 'then', allMessages);
23
+ return createEventMessage(then.eventRef, 'then', allMessages, currentSliceName, currentFlowName);
14
24
  })
15
25
  .filter((event) => event !== undefined);
16
26
  }
17
- export function extractEventsFromGiven(givenEvents, allMessages) {
27
+ export function extractEventsFromGiven(givenEvents, allMessages, currentSliceName, currentFlowName) {
18
28
  if (!givenEvents)
19
29
  return [];
20
30
  return givenEvents
21
- .map((given) => createEventMessage(given.eventRef, 'given', allMessages))
31
+ .map((given) => createEventMessage(given.eventRef, 'given', allMessages, currentSliceName, currentFlowName))
22
32
  .filter((event) => event !== undefined);
23
33
  }
24
34
  export function extractEventsFromWhen(gwtSpecs, allMessages) {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/codegen/extract/events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAGpD,SAAS,kBAAkB,CACzB,QAA4B,EAC5B,MAAiC,EACjC,WAAgC;IAEhC,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAwE,EACxE,WAAgC;IAEhC,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,IAAI,EAAuB,EAAE;QACjC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAoB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,WAAuC,EACvC,WAAgC;IAEhC,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,OAAO,WAAW;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;SACxE,MAAM,CAAC,CAAC,KAAK,EAAoB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAwB,EAAE,WAAgC;IAC9F,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/codegen/extract/events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAGpD,SAAS,kBAAkB,CACzB,QAA4B,EAC5B,MAAiC,EACjC,WAAgC,EAChC,gBAAyB,EACzB,eAAwB;IAExB,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,UAAU,EAAE,QAA6E,CAAC;IAC3G,MAAM,cAAc,GAAG,QAAQ,EAAE,cAAc,IAAI,eAAe,CAAC;IACnE,MAAM,eAAe,GAAG,QAAQ,EAAE,eAAe,IAAI,gBAAgB,CAAC;IAEtE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,MAAM;QACN,cAAc;QACd,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAwE,EACxE,WAAgC,EAChC,gBAAyB,EACzB,eAAwB;IAExB,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,IAAI,EAAuB,EAAE;QACjC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACnG,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAoB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,WAAuC,EACvC,WAAgC,EAChC,gBAAyB,EACzB,eAAwB;IAExB,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,OAAO,WAAW;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;SAC3G,MAAM,CAAC,CAAC,KAAK,EAAoB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAwB,EAAE,WAAgC;IAC9F,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -16,6 +16,8 @@ function extractGwtSpecs(slice) {
16
16
  given: example.given,
17
17
  when: example.when,
18
18
  then: example.then,
19
+ description: example.description,
20
+ ruleDescription: rule.description,
19
21
  })))
20
22
  : [];
21
23
  }
@@ -36,6 +38,8 @@ function buildCommandMapping(gwtSpecs) {
36
38
  given: gwt.given,
37
39
  when: gwt.when,
38
40
  then: gwt.then,
41
+ description: gwt.description,
42
+ ruleDescription: gwt.ruleDescription,
39
43
  });
40
44
  }
41
45
  }
@@ -44,34 +48,15 @@ function buildCommandMapping(gwtSpecs) {
44
48
  function enhanceMapping(mapping) {
45
49
  const enhancedMapping = {};
46
50
  for (const command in mapping) {
47
- const merged = mergeGwtConditions(mapping[command]);
48
- const successfulData = findSuccessfulExampleData(merged);
49
- enhancedMapping[command] = merged.map((gwt) => ({
51
+ const conditions = mapping[command];
52
+ const successfulData = findSuccessfulExampleData(conditions);
53
+ enhancedMapping[command] = conditions.map((gwt) => ({
50
54
  ...gwt,
51
55
  failingFields: findFailingFields(gwt, successfulData),
52
56
  }));
53
57
  }
54
58
  return enhancedMapping;
55
59
  }
56
- function mergeGwtConditions(gwts) {
57
- const map = new Map();
58
- for (const gwt of gwts) {
59
- // Handle both single command and array of events in when clause
60
- const whenData = Array.isArray(gwt.when) ? gwt.when[0]?.exampleData : gwt.when.exampleData;
61
- const key = JSON.stringify(whenData ?? {});
62
- const existing = map.get(key) ?? [];
63
- map.set(key, [...existing, gwt]);
64
- }
65
- return Array.from(map.values()).map((conditions) => {
66
- const first = conditions[0];
67
- const combinedThen = conditions.flatMap((g) => g.then);
68
- return {
69
- given: conditions.flatMap((g) => g.given ?? []),
70
- when: first.when,
71
- then: combinedThen,
72
- };
73
- });
74
- }
75
60
  function findSuccessfulExampleData(gwts) {
76
61
  const successful = gwts.find((gwt) => gwt.then.some((t) => typeof t === 'object' && t !== null && 'eventRef' in t));
77
62
  const whenData = Array.isArray(successful?.when) ? successful?.when[0]?.exampleData : successful?.when?.exampleData;
@@ -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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"}
@@ -0,0 +1,29 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,55 @@
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
@@ -0,0 +1 @@
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"}
@@ -5,4 +5,5 @@ export * from './states';
5
5
  export * from './messages';
6
6
  export * from './query';
7
7
  export * from './projection';
8
+ export * from './imports';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
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"}
@@ -5,4 +5,5 @@ export * from './states.js';
5
5
  export * from './messages.js';
6
6
  export * from './query.js';
7
7
  export * from './projection.js';
8
+ export * from './imports.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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"}
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"}
@@ -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;AA0KD,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;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;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;AAoMD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CA+B1G"}
@@ -1,5 +1,6 @@
1
1
  import { extractCommandsFromGwt, extractCommandsFromThen } from './commands.js';
2
2
  import { extractEventsFromGiven, extractEventsFromThen, extractEventsFromWhen } from './events.js';
3
+ import { extractFieldsFromMessage } from './fields.js';
3
4
  import { extractProjectionIdField } from './projection.js';
4
5
  import { extractStatesFromData, extractStatesFromTarget } from './states.js';
5
6
  import createDebug from 'debug';
@@ -51,9 +52,9 @@ function extractMessagesForCommand(slice, allMessages) {
51
52
  debugCommand(' Command schemas: %o', Object.keys(commandSchemasByName));
52
53
  const events = gwtSpecs.flatMap((gwt) => {
53
54
  const givenEventsOnly = gwt.given?.filter((item) => 'eventRef' in item);
54
- const givenEvents = extractEventsFromGiven(givenEventsOnly, allMessages);
55
+ const givenEvents = extractEventsFromGiven(givenEventsOnly, allMessages, slice.name);
55
56
  const thenEventsOnly = gwt.then.filter((item) => 'eventRef' in item);
56
- const thenEvents = extractEventsFromThen(thenEventsOnly, allMessages);
57
+ const thenEvents = extractEventsFromThen(thenEventsOnly, allMessages, slice.name);
57
58
  debugCommand(' GWT: given=%d events, then=%d events', givenEvents.length, thenEvents.length);
58
59
  return [...givenEvents, ...thenEvents];
59
60
  });
@@ -86,12 +87,38 @@ function extractMessagesForQuery(slice, allMessages) {
86
87
  const projectionIdField = extractProjectionIdField(slice);
87
88
  debugQuery(' Projection ID field: %s', projectionIdField ?? 'none');
88
89
  const events = gwtSpecs.flatMap((gwt) => {
89
- const eventsFromWhen = Array.isArray(gwt.when)
90
- ? gwt.when.filter((item) => 'eventRef' in item)
90
+ const eventsFromGiven = Array.isArray(gwt.given)
91
+ ? gwt.given.filter((item) => 'eventRef' in item)
91
92
  : [];
92
- return extractEventsFromGiven(eventsFromWhen, allMessages);
93
+ let eventsFromWhen = [];
94
+ if (Array.isArray(gwt.when)) {
95
+ eventsFromWhen = gwt.when.filter((item) => 'eventRef' in item);
96
+ }
97
+ else if (gwt.when != null && typeof gwt.when === 'object' && 'eventRef' in gwt.when) {
98
+ // when is a single object, convert to array
99
+ const whenItem = gwt.when;
100
+ if (whenItem.eventRef && whenItem.eventRef.trim() !== '') {
101
+ eventsFromWhen = [whenItem];
102
+ }
103
+ }
104
+ const givenEvents = extractEventsFromGiven(eventsFromGiven, allMessages);
105
+ const whenEvents = eventsFromWhen
106
+ .map((eventExample) => {
107
+ const fields = extractFieldsFromMessage(eventExample.eventRef, 'event', allMessages);
108
+ const messageDef = allMessages.find((m) => m.type === 'event' && m.name === eventExample.eventRef);
109
+ const metadata = messageDef?.metadata;
110
+ return {
111
+ type: eventExample.eventRef,
112
+ fields,
113
+ source: 'when', // Mark as 'when' source for query events
114
+ sourceFlowName: metadata?.sourceFlowName,
115
+ sourceSliceName: metadata?.sourceSliceName,
116
+ };
117
+ })
118
+ .filter((event) => event.type !== undefined);
119
+ return [...givenEvents, ...whenEvents];
93
120
  });
94
- debugQuery(' Extracted %d events from given', events.length);
121
+ debugQuery(' Extracted %d events total', events.length);
95
122
  const states = extractStatesFromTarget(slice, allMessages);
96
123
  debugQuery(' Extracted %d states from target', states.length);
97
124
  const result = {
@@ -111,7 +138,6 @@ function extractMessagesForReact(slice, allMessages) {
111
138
  return EMPTY_EXTRACTED_MESSAGES;
112
139
  }
113
140
  const specs = slice.server?.specs;
114
- // Extract all examples from specs/rules structure
115
141
  const rules = specs?.rules;
116
142
  const gwtSpecs = Array.isArray(rules) && rules.length > 0
117
143
  ? rules.flatMap((rule) => rule.examples.map((example) => ({
@@ -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,6 +1,8 @@
1
1
  import { EventExample, Slice } from '@auto-engineer/flow';
2
2
  interface QueryGwtCondition {
3
- given: EventExample[];
3
+ description: string;
4
+ given?: EventExample[];
5
+ when: EventExample[];
4
6
  then: Array<{
5
7
  stateRef: string;
6
8
  exampleData: Record<string, unknown>;
@@ -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,CAuBtE"}
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,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 +1,18 @@
1
1
  export function buildQueryGwtMapping(slice) {
2
- if (slice.type !== 'query') {
2
+ if (slice.type !== 'query')
3
3
  return [];
4
- }
5
4
  const specs = slice.server?.specs;
6
5
  const rules = specs?.rules;
7
- const gwtSpecs = Array.isArray(rules) && rules.length > 0
8
- ? rules.flatMap((rule) => rule.examples.map((example) => ({
9
- given: Array.isArray(example.when) ? example.when : [], // For query slices, when contains the given events
10
- then: example.then,
11
- })))
12
- : [];
13
- return gwtSpecs.map((gwt) => ({
14
- given: gwt.given.filter((item) => 'eventRef' in item),
15
- then: gwt.then.filter((item) => 'stateRef' in item),
16
- }));
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
17
  }
18
18
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/codegen/extract/query.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,oBAAoB,CAAC,KAAY;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;IAC3B,MAAM,QAAQ,GACZ,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,mDAAmD;YAC3G,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC,CACJ;QACH,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAwB,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC;QAC3E,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CACnB,CAAC,IAAI,EAAsE,EAAE,CAAC,UAAU,IAAI,IAAI,CACjG;KACF,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/codegen/extract/query.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,oBAAoB,CAAC,KAAY;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;IAE3B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExG,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACzB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3G,OAAO;YACL,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACvD,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmE,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC;SAC9G,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffoldFromSchema.d.ts","sourceRoot":"","sources":["../../../src/codegen/scaffoldFromSchema.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAS,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAmDzD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA4XD,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,IAAI,EAAE,EACb,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,EACpC,OAAO,SAAqB,GAC3B,OAAO,CAAC,QAAQ,EAAE,CAAC,CA2BrB;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAkB7D;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,IAAI,EAAE,EACb,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,OAAO,SAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"scaffoldFromSchema.d.ts","sourceRoot":"","sources":["../../../src/codegen/scaffoldFromSchema.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAS,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAuDzD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqYD,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,IAAI,EAAE,EACb,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,EACpC,OAAO,SAAqB,GAC3B,OAAO,CAAC,QAAQ,EAAE,CAAC,CA2BrB;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAkB7D;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,IAAI,EAAE,EACb,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,OAAO,SAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -14,7 +14,7 @@ const debugFlow = createDebug('emmett:scaffold:flow');
14
14
  const debugSlice = createDebug('emmett:scaffold:slice');
15
15
  const debugPlan = createDebug('emmett:scaffold:plan');
16
16
  const debugFormat = createDebug('emmett:scaffold:format');
17
- import { buildCommandGwtMapping, buildQueryGwtMapping, extractMessagesFromSpecs, extractProjectionName, } from './extract/index.js';
17
+ import { buildCommandGwtMapping, buildQueryGwtMapping, extractMessagesFromSpecs, extractProjectionName, groupEventImports, getAllEventTypes, getLocalEvents, createEventUnionType, } from './extract/index.js';
18
18
  function extractGwtSpecs(slice) {
19
19
  if (!('server' in slice))
20
20
  return [];
@@ -225,6 +225,10 @@ async function prepareTemplateData(slice, flow, commands, events, states, comman
225
225
  debug(' Unique commands: %d', uniqueCommands.length);
226
226
  const allowedForSlice = new Set(Object.keys(gwtMapping));
227
227
  const filteredCommands = allowedForSlice.size > 0 ? uniqueCommands.filter((c) => allowedForSlice.has(c.type)) : uniqueCommands;
228
+ const eventImportGroups = groupEventImports({ currentSliceName: slice.name, events });
229
+ const allEventTypesArray = getAllEventTypes(events);
230
+ const allEventTypes = createEventUnionType(events);
231
+ const localEvents = getLocalEvents(events);
228
232
  return {
229
233
  flowName: flow.name,
230
234
  sliceName: slice.name,
@@ -246,6 +250,10 @@ async function prepareTemplateData(slice, flow, commands, events, states, comman
246
250
  ? allMessages.find((m) => m.name === slice.server?.data?.[0]?.target?.name)
247
251
  : undefined,
248
252
  integrations,
253
+ eventImportGroups,
254
+ allEventTypes,
255
+ allEventTypesArray,
256
+ localEvents,
249
257
  };
250
258
  }
251
259
  function annotateEventSources(events, flows, fallbackFlowName, fallbackSliceName) {