@auto-engineer/server-generator-apollo-emmett 1.124.0 → 1.125.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.
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +5 -5
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +72 -0
- package/dist/src/codegen/extract/type-helpers.d.ts.map +1 -1
- package/dist/src/codegen/extract/type-helpers.js +7 -5
- package/dist/src/codegen/extract/type-helpers.js.map +1 -1
- package/dist/src/codegen/scaffoldFromSchema.d.ts.map +1 -1
- package/dist/src/codegen/scaffoldFromSchema.js +19 -1
- package/dist/src/codegen/scaffoldFromSchema.js.map +1 -1
- package/dist/src/codegen/templates/command/mutation.resolver.specs.ts +0 -1
- package/dist/src/codegen/templates/query/query.resolver.specs.ts +8 -9
- package/dist/src/codegen/templates/query/query.resolver.ts.ejs +9 -3
- package/dist/src/codegen/templates/query/state.specs.ts +63 -0
- package/dist/src/codegen/templates/query/state.ts.ejs +1 -1
- package/dist/src/codegen/templates/react/react.specs.specs.ts +3 -3
- package/dist/src/codegen/templates/react/react.specs.ts +2 -2
- package/dist/src/codegen/templates/react/react.specs.ts.ejs +2 -2
- package/dist/src/codegen/templates/react/react.ts.ejs +138 -64
- package/dist/src/codegen/templates/react/react.ts.specs.ts +243 -1
- package/dist/src/codegen/templates/react/register.specs.ts +281 -14
- package/dist/src/codegen/templates/react/register.ts.ejs +100 -48
- package/dist/src/commands/generate-server.d.ts +1 -0
- package/dist/src/commands/generate-server.d.ts.map +1 -1
- package/dist/src/commands/generate-server.js +18 -0
- package/dist/src/commands/generate-server.js.map +1 -1
- package/dist/src/domain/shared/reactorSpecification.d.ts +5 -5
- package/dist/src/domain/shared/reactorSpecification.d.ts.map +1 -1
- package/dist/src/domain/shared/reactorSpecification.js +1 -2
- package/dist/src/domain/shared/reactorSpecification.js.map +1 -1
- package/dist/src/domain/shared/reactorSpecification.ts +7 -10
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/ketchup-plan.md +4 -30
- package/package.json +4 -4
- package/src/codegen/extract/type-helpers.specs.ts +50 -1
- package/src/codegen/extract/type-helpers.ts +6 -3
- package/src/codegen/scaffoldFromSchema.ts +21 -1
- package/src/codegen/templates/command/mutation.resolver.specs.ts +0 -1
- package/src/codegen/templates/query/query.resolver.specs.ts +8 -9
- package/src/codegen/templates/query/query.resolver.ts.ejs +9 -3
- package/src/codegen/templates/query/state.specs.ts +63 -0
- package/src/codegen/templates/query/state.ts.ejs +1 -1
- package/src/codegen/templates/react/react.specs.specs.ts +3 -3
- package/src/codegen/templates/react/react.specs.ts +2 -2
- package/src/codegen/templates/react/react.specs.ts.ejs +2 -2
- package/src/codegen/templates/react/react.ts.ejs +138 -64
- package/src/codegen/templates/react/react.ts.specs.ts +243 -1
- package/src/codegen/templates/react/register.specs.ts +281 -14
- package/src/codegen/templates/react/register.ts.ejs +100 -48
- package/src/commands/generate-server.specs.ts +32 -0
- package/src/commands/generate-server.ts +20 -0
- package/src/domain/shared/reactorSpecification.ts +7 -10
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type CommandSender, type ErrorConstructor, type
|
|
1
|
+
import { type CommandSender, type ErrorConstructor, type MessageHandlerResult } from '@event-driven-io/emmett';
|
|
2
2
|
type CommandCheck<CommandType> = (command: CommandType) => boolean;
|
|
3
3
|
type ErrorCheck<ErrorType> = (error: ErrorType) => boolean;
|
|
4
4
|
export type ThenThrows<ErrorType extends Error> = (() => void) | ((errorConstructor: ErrorConstructor<ErrorType>) => void) | ((errorCheck: ErrorCheck<ErrorType>) => void) | ((errorConstructor: ErrorConstructor<ErrorType>, errorCheck?: ErrorCheck<ErrorType>) => void);
|
|
5
5
|
interface ReactorSpecificationReturn<Event, Command, Context> {
|
|
6
6
|
when: (event: Event | Event[], context?: Context) => {
|
|
7
|
-
|
|
7
|
+
thenSends: (expectedCommand: Command | Command[] | CommandCheck<Command> | CommandCheck<Command[]>) => Promise<void>;
|
|
8
8
|
thenNothingHappened: () => Promise<void>;
|
|
9
9
|
thenThrows: <ErrorType extends Error = Error>(...args: Parameters<ThenThrows<ErrorType>>) => Promise<void>;
|
|
10
10
|
};
|
|
@@ -18,10 +18,10 @@ export declare const ReactorSpecification: {
|
|
|
18
18
|
for: typeof reactorSpecificationFor;
|
|
19
19
|
};
|
|
20
20
|
type ReactorLike<Event, Context> = {
|
|
21
|
-
handle
|
|
21
|
+
handle(events: Event[], context: Context): MessageHandlerResult | Promise<MessageHandlerResult>;
|
|
22
22
|
} | {
|
|
23
|
-
eachMessage
|
|
24
|
-
}
|
|
23
|
+
eachMessage(event: Event, context: Context): MessageHandlerResult | Promise<MessageHandlerResult>;
|
|
24
|
+
};
|
|
25
25
|
declare function reactorSpecificationFor<Event, Command, Context extends {
|
|
26
26
|
commandSender: CommandSender;
|
|
27
27
|
}>(processorOrReactor: ReactorLike<Event, Context> | (() => ReactorLike<Event, Context>), createContext: (commandSender: CommandSender) => Context): ReactorSpecification<Event, Command, Context>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactorSpecification.d.ts","sourceRoot":"","sources":["../../../../src/domain/shared/reactorSpecification.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,
|
|
1
|
+
{"version":3,"file":"reactorSpecification.d.ts","sourceRoot":"","sources":["../../../../src/domain/shared/reactorSpecification.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAEjC,KAAK,YAAY,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;AAEnE,KAAK,UAAU,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;AAE3D,MAAM,MAAM,UAAU,CAAC,SAAS,SAAS,KAAK,IAC1C,CAAC,MAAM,IAAI,CAAC,GACZ,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GACzD,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAC7C,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;AAElG,UAAU,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO;IAC1D,IAAI,EAAE,CACJ,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,OAAO,CAAC,EAAE,OAAO,KACd;QACH,SAAS,EAAE,CACT,eAAe,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KACnF,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,UAAU,EAAE,CAAC,SAAS,SAAS,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5G,CAAC;CACH;AAED,MAAM,MAAM,oBAAoB,CAC9B,KAAK,EACL,OAAO,EACP,OAAO,SAAS;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,IACjF,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE1F,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAuBF,KAAK,WAAW,CAAC,KAAK,EAAE,OAAO,IAC3B;IAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAAE,GACnG;IAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAAE,CAAC;AAE1G,iBAAS,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAS;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,EAC/F,kBAAkB,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EACrF,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,OAAO,GACvD,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAkI/C"}
|
|
@@ -64,7 +64,7 @@ function reactorSpecificationFor(processorOrReactor, createContext) {
|
|
|
64
64
|
return mockCommandSender.sentCommands;
|
|
65
65
|
};
|
|
66
66
|
return {
|
|
67
|
-
|
|
67
|
+
thenSends: async (expectedCommand) => {
|
|
68
68
|
try {
|
|
69
69
|
const sentCommands = await handle();
|
|
70
70
|
if (typeof expectedCommand === 'function') {
|
|
@@ -125,7 +125,6 @@ function reactorSpecificationFor(processorOrReactor, createContext) {
|
|
|
125
125
|
};
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
|
-
// eslint-disable-next-line complexity
|
|
129
128
|
function assertCommandsMatch(actual, expected, index) {
|
|
130
129
|
const actualCopy = { ...actual };
|
|
131
130
|
const expectedCopy = { ...expected };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactorSpecification.js","sourceRoot":"","sources":["../../../../src/domain/shared/reactorSpecification.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EAGV,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"reactorSpecification.js","sourceRoot":"","sources":["../../../../src/domain/shared/reactorSpecification.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
type CommandSender,
|
|
5
5
|
type ErrorConstructor,
|
|
6
6
|
isErrorConstructor,
|
|
7
|
-
type
|
|
7
|
+
type MessageHandlerResult,
|
|
8
8
|
} from '@event-driven-io/emmett';
|
|
9
9
|
|
|
10
10
|
type CommandCheck<CommandType> = (command: CommandType) => boolean;
|
|
@@ -22,7 +22,9 @@ interface ReactorSpecificationReturn<Event, Command, Context> {
|
|
|
22
22
|
event: Event | Event[],
|
|
23
23
|
context?: Context,
|
|
24
24
|
) => {
|
|
25
|
-
|
|
25
|
+
thenSends: (
|
|
26
|
+
expectedCommand: Command | Command[] | CommandCheck<Command> | CommandCheck<Command[]>,
|
|
27
|
+
) => Promise<void>;
|
|
26
28
|
thenNothingHappened: () => Promise<void>;
|
|
27
29
|
thenThrows: <ErrorType extends Error = Error>(...args: Parameters<ThenThrows<ErrorType>>) => Promise<void>;
|
|
28
30
|
};
|
|
@@ -60,12 +62,8 @@ function createMockCommandSender<Command>(): MockCommandSender<Command> {
|
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
type ReactorLike<Event, Context> =
|
|
63
|
-
|
|
64
|
-
| {
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
66
|
-
| { eachMessage: (event: Event, context: Context) => Promise<any> }
|
|
67
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
68
|
-
| MessageProcessor<any, any, any>;
|
|
65
|
+
| { handle(events: Event[], context: Context): MessageHandlerResult | Promise<MessageHandlerResult> }
|
|
66
|
+
| { eachMessage(event: Event, context: Context): MessageHandlerResult | Promise<MessageHandlerResult> };
|
|
69
67
|
|
|
70
68
|
function reactorSpecificationFor<Event, Command, Context extends { commandSender: CommandSender }>(
|
|
71
69
|
processorOrReactor: ReactorLike<Event, Context> | (() => ReactorLike<Event, Context>),
|
|
@@ -124,7 +122,7 @@ function reactorSpecificationFor<Event, Command, Context extends { commandSender
|
|
|
124
122
|
};
|
|
125
123
|
|
|
126
124
|
return {
|
|
127
|
-
|
|
125
|
+
thenSends: async (
|
|
128
126
|
expectedCommand: Command | Command[] | CommandCheck<Command> | CommandCheck<Command[]>,
|
|
129
127
|
): Promise<void> => {
|
|
130
128
|
try {
|
|
@@ -206,7 +204,6 @@ interface CommandWithMetadata {
|
|
|
206
204
|
metadata?: Record<string, unknown>;
|
|
207
205
|
}
|
|
208
206
|
|
|
209
|
-
// eslint-disable-next-line complexity
|
|
210
207
|
function assertCommandsMatch<Command>(actual: Command, expected: Command, index?: number): void {
|
|
211
208
|
const actualCopy = { ...actual } as CommandWithMetadata & Record<string, unknown>;
|
|
212
209
|
const expectedCopy = { ...expected } as CommandWithMetadata & Record<string, unknown>;
|