@auto-engineer/server-generator-apollo-emmett 0.13.0 → 0.13.1

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 (92) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +8 -0
  3. package/dist/src/codegen/extract/commands.d.ts +7 -14
  4. package/dist/src/codegen/extract/commands.d.ts.map +1 -1
  5. package/dist/src/codegen/extract/commands.js.map +1 -1
  6. package/dist/src/codegen/extract/data-sink.d.ts +1 -1
  7. package/dist/src/codegen/extract/data-sink.d.ts.map +1 -1
  8. package/dist/src/codegen/extract/data-sink.js +9 -31
  9. package/dist/src/codegen/extract/data-sink.js.map +1 -1
  10. package/dist/src/codegen/extract/events.d.ts +4 -8
  11. package/dist/src/codegen/extract/events.d.ts.map +1 -1
  12. package/dist/src/codegen/extract/events.js.map +1 -1
  13. package/dist/src/codegen/extract/gwt.d.ts +2 -2
  14. package/dist/src/codegen/extract/gwt.d.ts.map +1 -1
  15. package/dist/src/codegen/extract/gwt.js +6 -21
  16. package/dist/src/codegen/extract/gwt.js.map +1 -1
  17. package/dist/src/codegen/extract/messages.d.ts +4 -4
  18. package/dist/src/codegen/extract/messages.d.ts.map +1 -1
  19. package/dist/src/codegen/extract/messages.js +24 -47
  20. package/dist/src/codegen/extract/messages.js.map +1 -1
  21. package/dist/src/codegen/extract/query.d.ts +5 -7
  22. package/dist/src/codegen/extract/query.d.ts.map +1 -1
  23. package/dist/src/codegen/extract/query.js +10 -8
  24. package/dist/src/codegen/extract/query.js.map +1 -1
  25. package/dist/src/codegen/extract/slice-normalizer.d.ts +29 -0
  26. package/dist/src/codegen/extract/slice-normalizer.d.ts.map +1 -0
  27. package/dist/src/codegen/extract/slice-normalizer.js +48 -0
  28. package/dist/src/codegen/extract/slice-normalizer.js.map +1 -0
  29. package/dist/src/codegen/extract/step-converter.d.ts +17 -0
  30. package/dist/src/codegen/extract/step-converter.d.ts.map +1 -0
  31. package/dist/src/codegen/extract/step-converter.js +82 -0
  32. package/dist/src/codegen/extract/step-converter.js.map +1 -0
  33. package/dist/src/codegen/extract/step-types.d.ts +30 -0
  34. package/dist/src/codegen/extract/step-types.d.ts.map +1 -0
  35. package/dist/src/codegen/extract/step-types.js +16 -0
  36. package/dist/src/codegen/extract/step-types.js.map +1 -0
  37. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +1 -1
  38. package/dist/src/codegen/scaffoldFromSchema.js +7 -29
  39. package/dist/src/codegen/scaffoldFromSchema.js.map +1 -1
  40. package/dist/src/codegen/templates/command/commands.specs.ts +33 -28
  41. package/dist/src/codegen/templates/command/decide.specs.specs.ts +153 -138
  42. package/dist/src/codegen/templates/command/decide.specs.ts +169 -146
  43. package/dist/src/codegen/templates/command/events.specs.ts +43 -38
  44. package/dist/src/codegen/templates/command/evolve.specs.ts +38 -33
  45. package/dist/src/codegen/templates/command/handle.specs.ts +71 -61
  46. package/dist/src/codegen/templates/command/mutation.resolver.specs.ts +122 -102
  47. package/dist/src/codegen/templates/command/register.specs.ts +39 -34
  48. package/dist/src/codegen/templates/command/state.specs.ts +39 -34
  49. package/dist/src/codegen/templates/query/projection.specs.specs.ts +399 -359
  50. package/dist/src/codegen/templates/query/projection.specs.ts +242 -216
  51. package/dist/src/codegen/templates/query/projection.specs.ts.ejs +38 -12
  52. package/dist/src/codegen/templates/query/query.resolver.specs.ts +59 -51
  53. package/dist/src/codegen/templates/query/state.specs.ts +1 -1
  54. package/dist/src/codegen/templates/react/react.specs.specs.ts +93 -85
  55. package/dist/src/codegen/templates/react/react.specs.ts +135 -122
  56. package/dist/src/codegen/templates/react/register.specs.ts +135 -122
  57. package/dist/src/codegen/test-data/specVariant1.d.ts.map +1 -1
  58. package/dist/src/codegen/test-data/specVariant1.js +101 -90
  59. package/dist/src/codegen/test-data/specVariant1.js.map +1 -1
  60. package/dist/src/codegen/types.d.ts +5 -7
  61. package/dist/src/codegen/types.d.ts.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +4 -4
  64. package/src/codegen/extract/commands.ts +7 -8
  65. package/src/codegen/extract/data-sink.ts +16 -43
  66. package/src/codegen/extract/events.ts +4 -5
  67. package/src/codegen/extract/gwt.ts +12 -29
  68. package/src/codegen/extract/messages.ts +43 -70
  69. package/src/codegen/extract/query.ts +14 -12
  70. package/src/codegen/extract/slice-normalizer.ts +88 -0
  71. package/src/codegen/extract/step-converter.ts +124 -0
  72. package/src/codegen/extract/step-types.ts +52 -0
  73. package/src/codegen/scaffoldFromSchema.ts +8 -45
  74. package/src/codegen/templates/command/commands.specs.ts +33 -28
  75. package/src/codegen/templates/command/decide.specs.specs.ts +153 -138
  76. package/src/codegen/templates/command/decide.specs.ts +169 -146
  77. package/src/codegen/templates/command/events.specs.ts +43 -38
  78. package/src/codegen/templates/command/evolve.specs.ts +38 -33
  79. package/src/codegen/templates/command/handle.specs.ts +71 -61
  80. package/src/codegen/templates/command/mutation.resolver.specs.ts +122 -102
  81. package/src/codegen/templates/command/register.specs.ts +39 -34
  82. package/src/codegen/templates/command/state.specs.ts +39 -34
  83. package/src/codegen/templates/query/projection.specs.specs.ts +399 -359
  84. package/src/codegen/templates/query/projection.specs.ts +242 -216
  85. package/src/codegen/templates/query/projection.specs.ts.ejs +38 -12
  86. package/src/codegen/templates/query/query.resolver.specs.ts +59 -51
  87. package/src/codegen/templates/query/state.specs.ts +1 -1
  88. package/src/codegen/templates/react/react.specs.specs.ts +93 -85
  89. package/src/codegen/templates/react/react.specs.ts +135 -122
  90. package/src/codegen/templates/react/register.specs.ts +135 -122
  91. package/src/codegen/test-data/specVariant1.ts +101 -90
  92. package/src/codegen/types.ts +6 -4
@@ -24,36 +24,41 @@ const specVariant1: SpecsSchema = {
24
24
 
25
25
  server: {
26
26
  description: 'Handles creation logic',
27
- specs: {
28
- name: 'User can create an item',
29
- rules: [
30
- {
31
- description: 'Valid item data should create item successfully',
32
- examples: [
33
- {
34
- description: 'User creates a new item with valid data',
35
- when: {
36
- commandRef: 'CreateItem',
37
- exampleData: {
38
- itemId: 'item_123',
39
- description: 'A new item',
40
- },
41
- },
42
- then: [
43
- {
44
- eventRef: 'ItemCreated',
45
- exampleData: {
46
- id: 'item_123',
47
- description: 'A new item',
48
- addedAt: '2024-01-15T10:00:00.000Z',
27
+ specs: [
28
+ {
29
+ type: 'gherkin',
30
+ feature: 'User can create an item',
31
+ rules: [
32
+ {
33
+ name: 'Valid item data should create item successfully',
34
+ examples: [
35
+ {
36
+ name: 'User creates a new item with valid data',
37
+ steps: [
38
+ {
39
+ keyword: 'When',
40
+ text: 'CreateItem',
41
+ docString: {
42
+ itemId: 'item_123',
43
+ description: 'A new item',
44
+ },
49
45
  },
50
- },
51
- ],
52
- },
53
- ],
54
- },
55
- ],
56
- },
46
+ {
47
+ keyword: 'Then',
48
+ text: 'ItemCreated',
49
+ docString: {
50
+ id: 'item_123',
51
+ description: 'A new item',
52
+ addedAt: '2024-01-15T10:00:00.000Z',
53
+ },
54
+ },
55
+ ],
56
+ },
57
+ ],
58
+ },
59
+ ],
60
+ },
61
+ ],
57
62
  },
58
63
  },
59
64
  {
@@ -83,39 +88,42 @@ const specVariant1: SpecsSchema = {
83
88
  },
84
89
  },
85
90
  ],
86
- specs: {
87
- name: 'Items are available for viewing',
88
- rules: [
89
- {
90
- description: 'Item becomes available after creation event',
91
- examples: [
92
- {
93
- description: 'ItemCreated event makes item available',
94
- when: [
95
- {
96
- eventRef: 'ItemCreated',
97
- exampleData: {
98
- id: 'item_123',
99
- description: 'A new item',
100
- addedAt: '2024-01-15T10:00:00.000Z',
91
+ specs: [
92
+ {
93
+ type: 'gherkin',
94
+ feature: 'Items are available for viewing',
95
+ rules: [
96
+ {
97
+ name: 'Item becomes available after creation event',
98
+ examples: [
99
+ {
100
+ name: 'ItemCreated event makes item available',
101
+ steps: [
102
+ {
103
+ keyword: 'When',
104
+ text: 'ItemCreated',
105
+ docString: {
106
+ id: 'item_123',
107
+ description: 'A new item',
108
+ addedAt: '2024-01-15T10:00:00.000Z',
109
+ },
101
110
  },
102
- },
103
- ],
104
- then: [
105
- {
106
- stateRef: 'AvailableItems',
107
- exampleData: {
108
- id: 'item_123',
109
- description: 'A new item',
110
- addedAt: '2024-01-15T10:00:00.000Z',
111
+ {
112
+ keyword: 'Then',
113
+ text: 'AvailableItems',
114
+ docString: {
115
+ id: 'item_123',
116
+ description: 'A new item',
117
+ addedAt: '2024-01-15T10:00:00.000Z',
118
+ },
111
119
  },
112
- },
113
- ],
114
- },
115
- ],
116
- },
117
- ],
118
- },
120
+ ],
121
+ },
122
+ ],
123
+ },
124
+ ],
125
+ },
126
+ ],
119
127
  },
120
128
  },
121
129
  {
@@ -124,38 +132,41 @@ const specVariant1: SpecsSchema = {
124
132
  description: 'Sends a notification command when a new item is created',
125
133
  server: {
126
134
  description: 'Triggers NotifyNewItem command in response to ItemCreated',
127
- specs: {
128
- name: 'Notify on new item creation',
129
- rules: [
130
- {
131
- description: 'Should send notification when item is created',
132
- examples: [
133
- {
134
- description: 'ItemCreated event triggers notification command',
135
- when: [
136
- {
137
- eventRef: 'ItemCreated',
138
- exampleData: {
139
- id: 'item_123',
140
- description: 'A new item',
141
- addedAt: '2024-01-15T10:00:00.000Z',
135
+ specs: [
136
+ {
137
+ type: 'gherkin',
138
+ feature: 'Notify on new item creation',
139
+ rules: [
140
+ {
141
+ name: 'Should send notification when item is created',
142
+ examples: [
143
+ {
144
+ name: 'ItemCreated event triggers notification command',
145
+ steps: [
146
+ {
147
+ keyword: 'When',
148
+ text: 'ItemCreated',
149
+ docString: {
150
+ id: 'item_123',
151
+ description: 'A new item',
152
+ addedAt: '2024-01-15T10:00:00.000Z',
153
+ },
142
154
  },
143
- },
144
- ],
145
- then: [
146
- {
147
- commandRef: 'NotifyNewItem',
148
- exampleData: {
149
- itemId: 'item_123',
150
- message: 'A new item was added to the system.',
155
+ {
156
+ keyword: 'Then',
157
+ text: 'NotifyNewItem',
158
+ docString: {
159
+ itemId: 'item_123',
160
+ message: 'A new item was added to the system.',
161
+ },
151
162
  },
152
- },
153
- ],
154
- },
155
- ],
156
- },
157
- ],
158
- },
163
+ ],
164
+ },
165
+ ],
166
+ },
167
+ ],
168
+ },
169
+ ],
159
170
  },
160
171
  },
161
172
  ],
@@ -1,4 +1,6 @@
1
- import { CommandExample, EventExample, StateExample } from '@auto-engineer/narrative';
1
+ import type { CommandRef, EventRef, StateRef, ErrorRef } from './extract/step-types';
2
+
3
+ export type { CommandRef, EventRef, StateRef, ErrorRef };
2
4
 
3
5
  export interface Message {
4
6
  type: string;
@@ -29,9 +31,9 @@ export interface MessageDefinition {
29
31
  }
30
32
 
31
33
  export interface GwtCondition {
32
- given?: Array<EventExample | StateExample>;
33
- when: CommandExample | EventExample[];
34
- then: Array<EventExample | StateExample | CommandExample | { errorType: string; message?: string }>;
34
+ given?: EventRef[];
35
+ when: CommandRef | EventRef[];
36
+ then: Array<EventRef | StateRef | CommandRef | ErrorRef>;
35
37
  description?: string;
36
38
  ruleDescription?: string;
37
39
  }