@coveo/quantic 3.30.3 → 3.30.4-pre.003bd2b1f2

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 (27) hide show
  1. package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +10 -8
  2. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/engine.d.ts +2 -0
  3. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/engine.d.ts +2 -0
  4. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/utilities.d.ts +3 -0
  5. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-commerce-next.index.d.ts +1 -1
  6. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/engine/commerce-engine.ssr.d.ts +1 -1
  7. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/build-factory.d.ts +1 -1
  8. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/hydrated-state-factory.d.ts +1 -1
  9. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/recommendation-static-state-factory.d.ts +4 -7
  10. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/static-state-factory.d.ts +1 -2
  11. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/build.d.ts +2 -2
  12. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-definitions.d.ts +2 -2
  13. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/engine.d.ts +2 -2
  14. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/fetch-static-state.d.ts +2 -2
  15. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/hydrate-static-state.d.ts +2 -2
  16. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/augment-preprocess-request.d.ts +2 -2
  17. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/utilities.d.ts +0 -5
  18. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/build.d.ts +3 -4
  19. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/fetch-static-state.d.ts +1 -2
  20. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/hydrate-static-state.d.ts +1 -2
  21. package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-navigator-context.d.ts +2 -0
  22. package/force-app/main/default/staticresources/coveoheadless/headless.js +12 -10
  23. package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +11 -9
  24. package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +9 -7
  25. package/package.json +2 -10
  26. package/scripts/npm/check-sfdx-project.js +1 -1
  27. package/scripts/npm/setup-quantic.js +2 -2
@@ -43,6 +43,8 @@ export interface EngineDefinition<TControllers extends ControllerDefinitionsMap<
43
43
  */
44
44
  build: Build<TEngineOptions, InferControllersMapFromDefinition<TControllers, TSolutionType>, InferControllerPropsMapFromDefinitions<TControllers>, TControllers, TSolutionType>;
45
45
  /**
46
+ * @deprecated This method will be removed in a future major version. Navigator context should be provided directly when fetching the static state.
47
+ *
46
48
  * Sets the navigator context provider.
47
49
  * This provider is essential for retrieving navigation-related data such as referrer, userAgent, location, and clientId, which are crucial for handling both server-side and client-side API requests effectively.
48
50
  *
@@ -27,6 +27,8 @@ export interface EngineDefinition<TEngine extends CoreEngine | CoreEngineNext, T
27
27
  */
28
28
  hydrateStaticState: HydrateStaticState<TEngine, InferControllersMapFromDefinition<TControllers>, AnyAction, InferControllerPropsMapFromDefinitions<TControllers>>;
29
29
  /**
30
+ * @deprecated This method will be removed in a future major version. Navigator context should be provided directly when fetching the static state
31
+ *
30
32
  * Sets the navigator context provider.
31
33
  * This provider is essential for retrieving navigation-related data such as referrer, userAgent, location, and clientId, which are crucial for handling both server-side and client-side API requests effectively.
32
34
  *
@@ -9,6 +9,9 @@ export type HasOptionalKeys<TObject> = TObject extends {} ? {
9
9
  type ExtractRequiredOptions<TOptions> = {
10
10
  [TKey in keyof TOptions as Pick<TOptions, TKey> extends Required<Pick<TOptions, TKey>> ? TKey : never]: TOptions[TKey];
11
11
  };
12
+ /**
13
+ * @deprecated This type will be removed in the next major version.
14
+ */
12
15
  export type OptionsTuple<TOptions> = HasKeys<TOptions> extends false ? [] : HasKeys<ExtractRequiredOptions<TOptions>> extends false ? [options?: TOptions] : [options: TOptions];
13
16
  export type OptionsExtender<TOptions> = (options: TOptions) => TOptions | Promise<TOptions>;
14
17
  export {};
@@ -125,7 +125,7 @@ export { defineCommerceEngine } from './ssr-next/commerce/engine/commerce-engine
125
125
  export type { SSRCommerceEngine as CommerceEngine } from './ssr-next/commerce/factories/build-factory.js';
126
126
  export type { BuildConfig, SSRCommerceEngineOptions as CommerceEngineOptions, } from './ssr-next/commerce/types/build.js';
127
127
  export { SolutionType } from './ssr-next/commerce/types/controller-constants.js';
128
- export type { AugmentedControllerDefinition, CommerceEngineDefinitionControllersPropsOption as EngineDefinitionControllersPropsOption, ControllerDefinition, ControllerDefinitionsMap, HydratedState, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, OptionsTuple, } from './ssr-next/commerce/types/controller-definitions.js';
128
+ export type { AugmentedControllerDefinition, CommerceEngineDefinitionControllersPropsOption as EngineDefinitionControllersPropsOption, ControllerDefinition, ControllerDefinitionsMap, HydratedState, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, } from './ssr-next/commerce/types/controller-definitions.js';
129
129
  export type { InferControllerFromDefinition, InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition, InferHydratedState, InferStaticState, } from './ssr-next/commerce/types/controller-inference.js';
130
130
  export type { CommerceEngineDefinition, CommerceEngineDefinitionBuildResult, CommerceEngineDefinitionOptions, EngineStaticState, FetchStaticState, HydrateStaticState, HydrateStaticStateOptions, } from './ssr-next/commerce/types/engine.js';
131
131
  export type { CommerceAppState, CommerceProductListingParametersState, CommerceSearchParametersState, } from './state/commerce-app-state.js';
@@ -20,7 +20,7 @@ import type { CommerceEngineDefinition, CommerceEngineDefinitionOptions } from '
20
20
  * const { listingEngineDefinition } = defineCommerceEngine(engineConfig);
21
21
  *
22
22
  * const staticState = await listingEngineDefinition.fetchStaticState({
23
- * navigatorContextProvider: () => {/*...* /},
23
+ * navigatorContext: {/*...* /},
24
24
  * context: {/*...* /},
25
25
  * });
26
26
  *
@@ -15,7 +15,7 @@ export interface SSRCommerceEngine extends CommerceEngine {
15
15
  */
16
16
  waitForRequestCompletedAction(): Promise<Action>[];
17
17
  }
18
- export declare const buildFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => <TSolutionType extends SolutionType>(solutionType: TSolutionType) => (...[buildOptions]: FetchStaticStateParameters<TControllerDefinitions, TSolutionType> | HydrateStaticStateParameters<TControllerDefinitions, TSolutionType>) => Promise<{
18
+ export declare const buildFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => <TSolutionType extends SolutionType>(solutionType: TSolutionType) => (buildOptions: FetchStaticStateParameters<TControllerDefinitions, TSolutionType> | HydrateStaticStateParameters<TControllerDefinitions, TSolutionType>) => Promise<{
19
19
  engine: SSRCommerceEngine;
20
20
  controllers: InferControllersMapFromDefinition<TControllerDefinitions, TSolutionType> & BakedInControllers;
21
21
  }>;
@@ -1,7 +1,7 @@
1
1
  import type { SolutionType } from '../types/controller-constants.js';
2
2
  import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
3
3
  import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, HydrateStaticStateParameters } from '../types/engine.js';
4
- export declare function hydratedStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): <TSolutionType extends SolutionType>(solutionType: TSolutionType) => (...params: HydrateStaticStateParameters<TControllerDefinitions, TSolutionType>) => Promise<{
4
+ export declare function hydratedStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): <TSolutionType extends SolutionType>(solutionType: TSolutionType) => (params: HydrateStaticStateParameters<TControllerDefinitions, TSolutionType>) => Promise<{
5
5
  engine: import("./build-factory.js").SSRCommerceEngine;
6
6
  controllers: import("../types/controller-inference.js").InferControllersMapFromDefinition<TControllerDefinitions, TSolutionType> & import("../types/controller-definitions.js").BakedInControllers;
7
7
  }>;
@@ -2,13 +2,10 @@ import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import { SolutionType } from '../types/controller-constants.js';
3
3
  import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
4
4
  import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, FetchStaticStateParameters } from '../types/engine.js';
5
- export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (...params: FetchStaticStateParameters<TControllerDefinitions, SolutionType.recommendation>) => Promise<{
6
- controllers: import("../types/controller-inference.js").InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, SolutionType.recommendation> & import("../types/controller-definitions.js").FilteredBakedInControllers<SolutionType.recommendation>;
7
- searchActions: UnknownAction[];
8
- navigatorContextProvider: import("../../../ssr.index.js").NavigatorContextProvider;
9
- context: import("../../../commerce.index.js").ContextOptions;
10
- searchParams?: import("../../../commerce.index.js").ParameterManagerState<import("../../../commerce.index.js").Parameters>["parameters"];
11
- cart?: import("../../../commerce.index.js").CartInitialState;
5
+ export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (params: FetchStaticStateParameters<TControllerDefinitions, SolutionType.recommendation>) => Promise<import("../types/build.js").CommonBuildConfig & {
12
6
  productId?: string;
13
7
  recommendations: Extract<keyof TControllerDefinitions, { [K in keyof TControllerDefinitions]: import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K], SolutionType.recommendation> extends never ? never : import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K], typeof import("../types/controller-constants.js").recommendationInternalOptionKey> extends never ? never : K; }[keyof TControllerDefinitions]>[];
8
+ } & { [K_1 in keyof TControllerDefinitions as import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K_1], SolutionType.recommendation> extends never ? never : import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K_1], typeof import("../types/controller-constants.js").recommendationInternalOptionKey> extends never ? import("../../common/types/utilities.js").HasRequiredKeys<import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions> extends infer T extends import("../../common/types/controllers.js").ControllersPropsMap ? { [I in keyof T as I extends K_1 ? I : never]: import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions>[I]; } : never> extends false ? never : "controllers" : never]: import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions> extends infer T_1 extends import("../../common/types/controllers.js").ControllersPropsMap ? { [I in keyof T_1 as I extends K_1 ? I : never]: import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions>[I]; } : never; } & {
9
+ controllers: import("../types/controller-inference.js").InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, SolutionType.recommendation> & import("../types/controller-definitions.js").FilteredBakedInControllers<SolutionType.recommendation>;
10
+ searchActions: UnknownAction[];
14
11
  }>;
@@ -1,9 +1,8 @@
1
1
  import type { UnknownAction } from '@reduxjs/toolkit';
2
- import type { BuildConfig } from '../types/build.js';
3
2
  import { SolutionType } from '../types/controller-constants.js';
4
3
  import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
5
4
  import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, FetchStaticStateParameters } from '../types/engine.js';
6
- export declare function fetchStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): <TSolutionType extends SolutionType>(solutionType: TSolutionType) => (...params: FetchStaticStateParameters<TControllerDefinitions, TSolutionType>) => Promise<BuildConfig<TControllerDefinitions, TSolutionType> & {
5
+ export declare function fetchStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): <TSolutionType extends SolutionType>(solutionType: TSolutionType) => (params: FetchStaticStateParameters<TControllerDefinitions, TSolutionType>) => Promise<import("../types/build.js").BuildConfig<TControllerDefinitions, TSolutionType> & { [K in keyof TControllerDefinitions as import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K], TSolutionType> extends never ? never : import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K], typeof import("../types/controller-constants.js").recommendationInternalOptionKey> extends never ? import("../../common/types/utilities.js").HasRequiredKeys<import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions> extends infer T extends import("../../common/types/controllers.js").ControllersPropsMap ? { [I in keyof T as I extends K ? I : never]: import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions>[I]; } : never> extends false ? never : "controllers" : never]: import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions> extends infer T_1 extends import("../../common/types/controllers.js").ControllersPropsMap ? { [I in keyof T_1 as I extends K ? I : never]: import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions>[I]; } : never; } & {
7
6
  controllers: import("../types/controller-inference.js").InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, TSolutionType> & import("../types/controller-definitions.js").FilteredBakedInControllers<TSolutionType>;
8
7
  searchActions: UnknownAction[];
9
8
  }>;
@@ -1,5 +1,5 @@
1
1
  import type { CommerceEngineOptions } from '../../../app/commerce-engine/commerce-engine.js';
2
- import type { NavigatorContextProvider } from '../../../app/navigator-context-provider.js';
2
+ import type { NavigatorContext } from '../../../app/navigator-context-provider.js';
3
3
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
4
4
  import type { HasKey } from '../../common/types/utilities.js';
5
5
  import type { CartInitialState } from '../controllers/cart/headless-cart.ssr.js';
@@ -72,7 +72,7 @@ export interface ListingBuildConfig extends CommonBuildConfig {
72
72
  export interface StandaloneBuildConfig extends CommonBuildConfig {
73
73
  }
74
74
  export interface CommonBuildConfig {
75
- navigatorContextProvider: NavigatorContextProvider;
75
+ navigatorContext: NavigatorContext;
76
76
  context: ContextOptions;
77
77
  searchParams?: ParameterManagerState<Parameters>['parameters'];
78
78
  cart?: CartInitialState;
@@ -1,7 +1,7 @@
1
1
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
2
2
  import type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers } from '../../common/types/controller-inference.js';
3
3
  import type { ControllersPropsMap } from '../../common/types/controllers.js';
4
- import type { HasKey, HasRequiredKeys, OptionsTuple } from '../../common/types/utilities.js';
4
+ import type { HasKey, HasRequiredKeys } from '../../common/types/utilities.js';
5
5
  import type { CartDefinition } from '../controllers/cart/headless-cart.ssr.js';
6
6
  import type { ContextDefinition } from '../controllers/context/headless-context.ssr.js';
7
7
  import type { ParameterManagerDefinition } from '../controllers/parameter-manager/headless-core-parameter-manager.ssr.js';
@@ -10,7 +10,7 @@ import { type recommendationInternalOptionKey, SolutionType } from './controller
10
10
  import type { ListingAndStandaloneController, NonRecommendationController, RecommendationOnlyController, SearchAndListingController, SearchOnlyController, UniversalController } from './controller-scopes.js';
11
11
  import type { HydratedState } from './hydrate-static-state.js';
12
12
  import type { HasSolutionType } from './utilities.js';
13
- export type { HydratedState, OptionsTuple, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, };
13
+ export type { HydratedState, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, };
14
14
  export interface ControllerDefinitionWithoutProps<TController extends Controller> {
15
15
  /**
16
16
  * Creates an instance of the given controller.
@@ -52,5 +52,5 @@ export type CommerceControllerDefinitionsMap = ControllerDefinitionsMap<Controll
52
52
  type Definition<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = CommerceEngineDefinition<TControllerDefinitions, TSolutionType>;
53
53
  type FetchStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Definition<TControllerDefinitions, TSolutionType>['fetchStaticState'];
54
54
  export type HydrateStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Definition<TControllerDefinitions, TSolutionType>['hydrateStaticState'];
55
- export type FetchStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Parameters<FetchStaticStateFunction<TControllerDefinitions, TSolutionType>>;
56
- export type HydrateStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Parameters<HydrateStaticStateFunction<TControllerDefinitions, TSolutionType>>;
55
+ export type FetchStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Parameters<FetchStaticStateFunction<TControllerDefinitions, TSolutionType>>[0];
56
+ export type HydrateStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Parameters<HydrateStaticStateFunction<TControllerDefinitions, TSolutionType>>[0];
@@ -4,10 +4,10 @@ import type { ControllerStaticStateMap, ControllersPropsMap } from '../../common
4
4
  import type { EngineStaticState } from '../../common/types/engine.js';
5
5
  import type { BuildConfig } from './build.js';
6
6
  import type { SolutionType } from './controller-constants.js';
7
- import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap, FilteredBakedInControllers, OptionsTuple } from './controller-definitions.js';
7
+ import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap, FilteredBakedInControllers } from './controller-definitions.js';
8
8
  /**
9
9
  * Executes only the initial search for a given configuration, then returns a resumable snapshot of engine state along with the state of the controllers.
10
10
  *
11
11
  * Useful for static generation and server-side rendering.
12
12
  */
13
- export type FetchStaticState<TSearchAction extends UnknownAction, TControllersStaticState extends ControllerStaticStateMap, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = (...params: OptionsTuple<BuildConfig<TControllersDefinitionsMap, TSolutionType> & CommerceEngineDefinitionControllersPropsOption<TControllersDefinitionsMap, TControllersProps, TSolutionType>>) => Promise<EngineStaticState<TSearchAction, TControllersStaticState & FilteredBakedInControllers<TSolutionType>> & BuildConfig<TControllersDefinitionsMap, TSolutionType>>;
13
+ export type FetchStaticState<TSearchAction extends UnknownAction, TControllersStaticState extends ControllerStaticStateMap, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = (params: BuildConfig<TControllersDefinitionsMap, TSolutionType> & CommerceEngineDefinitionControllersPropsOption<TControllersDefinitionsMap, TControllersProps, TSolutionType>) => Promise<EngineStaticState<TSearchAction, TControllersStaticState & FilteredBakedInControllers<TSolutionType>> & BuildConfig<TControllersDefinitionsMap, TSolutionType>>;
@@ -3,7 +3,7 @@ import type { Controller } from '../../../controllers/controller/headless-contro
3
3
  import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
4
4
  import type { BuildConfig } from './build.js';
5
5
  import type { SolutionType } from './controller-constants.js';
6
- import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap, OptionsTuple } from './controller-definitions.js';
6
+ import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap } from './controller-definitions.js';
7
7
  import type { CommerceEngineDefinitionBuildResult } from './engine.js';
8
8
  export type HydratedState<TControllers extends ControllersMap> = CommerceEngineDefinitionBuildResult<TControllers>;
9
9
  export interface HydrateStaticStateOptions<TSearchAction> {
@@ -14,4 +14,4 @@ export interface HydrateStaticStateOptions<TSearchAction> {
14
14
  *
15
15
  * Useful when hydrating a server-side-rendered engine.
16
16
  */
17
- export type HydrateStaticState<TControllers extends ControllersMap, TSearchAction extends UnknownAction, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = (...params: OptionsTuple<HydrateStaticStateOptions<TSearchAction> & BuildConfig<TControllersDefinitionsMap, TSolutionType> & CommerceEngineDefinitionControllersPropsOption<TControllersDefinitionsMap, TControllersProps, TSolutionType>>) => Promise<HydratedState<TControllers>>;
17
+ export type HydrateStaticState<TControllers extends ControllersMap, TSearchAction extends UnknownAction, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = (params: HydrateStaticStateOptions<TSearchAction> & BuildConfig<TControllersDefinitionsMap, TSolutionType> & CommerceEngineDefinitionControllersPropsOption<TControllersDefinitionsMap, TControllersProps, TSolutionType>) => Promise<HydratedState<TControllers>>;
@@ -1,9 +1,9 @@
1
1
  import type { PlatformClientOrigin, PlatformRequestOptions, PreprocessRequest, RequestMetadata } from '../../api/preprocess-request.js';
2
2
  import { type LoggerOptions } from '../../app/logger.js';
3
- import type { NavigatorContextProvider } from '../../app/navigator-context-provider.js';
3
+ import type { NavigatorContext } from '../../app/navigator-context-provider.js';
4
4
  export interface AugmentPreprocessRequestOptions {
5
+ navigatorContext: NavigatorContext;
5
6
  preprocessRequest?: PreprocessRequest;
6
- navigatorContextProvider?: NavigatorContextProvider;
7
7
  loggerOptions?: LoggerOptions;
8
8
  }
9
9
  export declare function augmentPreprocessRequestWithForwardedFor(options: AugmentPreprocessRequestOptions): (request: PlatformRequestOptions, clientOrigin: PlatformClientOrigin, metadata?: RequestMetadata) => Promise<PlatformRequestOptions>;
@@ -3,8 +3,3 @@ export type HasKeys<TObject> = TObject extends {} ? keyof TObject extends never
3
3
  export type HasRequiredKeys<TObject> = TObject extends {} ? {
4
4
  [K in keyof TObject]-?: {} extends Pick<TObject, K> ? never : K;
5
5
  }[keyof TObject] extends never ? false : true : boolean;
6
- type ExtractRequiredOptions<TOptions> = {
7
- [TKey in keyof TOptions as Pick<TOptions, TKey> extends Required<Pick<TOptions, TKey>> ? TKey : never]: TOptions[TKey];
8
- };
9
- export type OptionsTuple<TOptions> = HasKeys<TOptions> extends false ? [] : HasKeys<ExtractRequiredOptions<TOptions>> extends false ? [options?: TOptions] : [options: TOptions];
10
- export {};
@@ -1,12 +1,11 @@
1
1
  import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
2
- import type { NavigatorContextProvider } from '../../../app/navigator-context-provider.js';
2
+ import type { NavigatorContext } from '../../../app/navigator-context-provider.js';
3
3
  import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
4
- import type { OptionsTuple } from '../../common/types/utilities.js';
5
4
  import type { SearchEngineDefinitionBuildResult, SearchEngineDefinitionControllersPropsOption } from './engine.js';
6
5
  export type BuildConfig = {
7
- navigatorContextProvider: NavigatorContextProvider;
6
+ navigatorContext: NavigatorContext;
8
7
  };
9
8
  /**
10
9
  * @internal
11
10
  */
12
- export type Build<TEngine extends CoreEngine | CoreEngineNext, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap> = (...params: OptionsTuple<SearchEngineDefinitionControllersPropsOption<TControllersProps>>) => Promise<SearchEngineDefinitionBuildResult<TEngine, TControllersMap>>;
11
+ export type Build<TEngine extends CoreEngine | CoreEngineNext, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap> = (props: SearchEngineDefinitionControllersPropsOption<TControllersProps>) => Promise<SearchEngineDefinitionBuildResult<TEngine, TControllersMap>>;
@@ -1,7 +1,6 @@
1
1
  import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { ControllerStaticStateMap, ControllersPropsMap } from '../../common/types/controllers.js';
3
3
  import type { EngineStaticState } from '../../common/types/engine.js';
4
- import type { OptionsTuple } from '../../common/types/utilities.js';
5
4
  import type { BuildConfig } from './build.js';
6
5
  import type { SearchEngineDefinitionControllersPropsOption } from './engine.js';
7
6
  /**
@@ -9,4 +8,4 @@ import type { SearchEngineDefinitionControllersPropsOption } from './engine.js';
9
8
  *
10
9
  * Useful for static generation and server-side rendering.
11
10
  */
12
- export type FetchStaticState<TSearchAction extends UnknownAction, TControllersStaticState extends ControllerStaticStateMap, TControllersProps extends ControllersPropsMap> = (...params: OptionsTuple<BuildConfig & SearchEngineDefinitionControllersPropsOption<TControllersProps>>) => Promise<EngineStaticState<TSearchAction, TControllersStaticState> & BuildConfig>;
11
+ export type FetchStaticState<TSearchAction extends UnknownAction, TControllersStaticState extends ControllerStaticStateMap, TControllersProps extends ControllersPropsMap> = (params: BuildConfig & SearchEngineDefinitionControllersPropsOption<TControllersProps>) => Promise<EngineStaticState<TSearchAction, TControllersStaticState> & BuildConfig>;
@@ -1,7 +1,6 @@
1
1
  import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
3
3
  import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
4
- import type { OptionsTuple } from '../../common/types/utilities.js';
5
4
  import type { BuildConfig } from './build.js';
6
5
  import type { SearchEngineDefinitionBuildResult, SearchEngineDefinitionControllersPropsOption } from './engine.js';
7
6
  export type HydratedState<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllersMap> = SearchEngineDefinitionBuildResult<TEngine, TControllers>;
@@ -13,5 +12,5 @@ interface HydrateStaticStateOptions<TSearchAction> {
13
12
  *
14
13
  * Useful when hydrating a server-side-rendered engine.
15
14
  */
16
- export type HydrateStaticState<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllersMap, TSearchAction extends UnknownAction, TControllersProps extends ControllersPropsMap> = (...params: OptionsTuple<BuildConfig & HydrateStaticStateOptions<TSearchAction> & SearchEngineDefinitionControllersPropsOption<TControllersProps>>) => Promise<HydratedState<TEngine, TControllers>>;
15
+ export type HydrateStaticState<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllersMap, TSearchAction extends UnknownAction, TControllersProps extends ControllersPropsMap> = (params: BuildConfig & HydrateStaticStateOptions<TSearchAction> & SearchEngineDefinitionControllersPropsOption<TControllersProps>) => Promise<HydratedState<TEngine, TControllers>>;
17
16
  export {};
@@ -0,0 +1,2 @@
1
+ import type { NavigatorContext } from '../app/navigator-context-provider.js';
2
+ export declare const buildMockNavigatorContext: (context?: Partial<NavigatorContext>) => NavigatorContext;