diff --git a/packages/headless/src/app/ssr-engine/ssr-engine.ts b/packages/headless/src/app/ssr-engine/ssr-engine.ts index 11d432605b..9e05cc89cc 100644 --- a/packages/headless/src/app/ssr-engine/ssr-engine.ts +++ b/packages/headless/src/app/ssr-engine/ssr-engine.ts @@ -94,7 +94,7 @@ export interface EngineAndControllers< } export interface OptionsExtender { - (options: TOptions): TOptions | Promise; + (options: TOptions): TOptions; } export interface EngineDefinitionBuildOptionsWithoutProps { @@ -130,7 +130,7 @@ export interface BuildWithProps< TEngineOptions, TControllersProps > - ): Promise>; + ): EngineAndControllers; } export interface BuildWithoutProps< @@ -143,7 +143,7 @@ export interface BuildWithoutProps< */ build( options?: EngineDefinitionBuildOptionsWithoutProps - ): Promise>; + ): EngineAndControllers; } export type FetchInitialStateWithoutProps< @@ -178,7 +178,7 @@ export type HydrateInitialStateWithoutProps< */ hydrateInitialState( options: EngineDefinitionHydrateOptionsWithoutProps - ): Promise>; + ): EngineAndControllers; }; export interface EngineDefinitionWithoutProps< @@ -242,7 +242,7 @@ export type HydrateInitialStateWithProps< TSearchFulfilledAction, TControllersProps > - ): Promise>; + ): EngineAndControllers; }; export interface EngineDefinitionWithProps< @@ -351,15 +351,13 @@ export function defineSearchEngine< controllers: controllerDefinitions, ...engineOptions }: SearchEngineDefinitionOptions): SearchEngineDefinition { - const build: SearchEngineDefinition['build'] = async ( + const build: SearchEngineDefinition['build'] = ( ...[buildOptions]: Parameters< SearchEngineDefinition['build'] > ) => { const engine = buildSearchEngine( - buildOptions?.extend - ? await buildOptions.extend(engineOptions) - : engineOptions + buildOptions?.extend ? buildOptions.extend(engineOptions) : engineOptions ); const controllerOptions = buildOptions && 'controllers' in buildOptions @@ -394,6 +392,7 @@ export function defineSearchEngine< InferControllerSnapshotsMapFromDefinitions > // TODO: Fix no-async-promise-executor + // eslint-disable-next-line no-async-promise-executor >(async (resolve, reject) => { const middleware: Middleware = () => (next) => (action) => { next(action); @@ -413,7 +412,7 @@ export function defineSearchEngine< ...options, middlewares: [...(options.middlewares ?? []), middleware], }); - const {engine, controllers} = await build({ + const {engine, controllers} = build({ extend, ...(executeOptions?.controllers && { controllers: executeOptions.controllers, @@ -423,12 +422,12 @@ export function defineSearchEngine< }); const hydrateInitialState: SearchEngineDefinition['hydrateInitialState'] = - async ( + ( ...[hydrateOptions]: Parameters< SearchEngineDefinition['hydrateInitialState'] > ) => { - const {engine, controllers} = await build( + const {engine, controllers} = build( 'controllers' in hydrateOptions ? ({ controllers: hydrateOptions.controllers,