@coveo/quantic 3.30.0-pre.7fbcdbbb29 → 3.30.0-pre.aa06ac55c7

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 (26) hide show
  1. package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +8 -8
  2. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/build.d.ts +5 -3
  3. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/kind.d.ts +3 -0
  4. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/build.d.ts +7 -0
  5. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-commerce-next.index.d.ts +1 -2
  6. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controller-utils.d.ts +7 -5
  7. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/recommendations/headless-recommendations.ssr.d.ts +4 -8
  8. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/build-factory.d.ts +5 -3
  9. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/hydrated-state-factory.d.ts +5 -2
  10. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/recommendation-hydrated-state-factory.d.ts +3 -1
  11. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/recommendation-static-state-factory.d.ts +12 -2
  12. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/static-state-factory.d.ts +7 -2
  13. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/build.d.ts +2 -8
  14. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-definitions.d.ts +1 -5
  15. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/engine.d.ts +6 -12
  16. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/utils/recommendation-filter.d.ts +1 -1
  17. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/builders/static-controller-builder.d.ts +1 -6
  18. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/utilities.d.ts +0 -1
  19. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/build.d.ts +2 -6
  20. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/engine.d.ts +1 -1
  21. package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-ssr-controller-definitions.d.ts +0 -3
  22. package/force-app/main/default/staticresources/coveoheadless/headless.js +10 -10
  23. package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +9 -9
  24. package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +7 -7
  25. package/package.json +2 -2
  26. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/kind.d.ts +0 -9
@@ -5,14 +5,16 @@ import type { SSRCommerceEngine } from '../factories/build-factory.js';
5
5
  import type { SolutionType } from './controller-constants.js';
6
6
  import type { ControllerDefinitionsMap, EngineDefinitionBuildResult, EngineDefinitionControllersPropsOption } from './controller-definitions.js';
7
7
  /**
8
- * @deprecated This type should not be used directly.
9
- * @internal
8
+ * @deprecated This type should not be used directly. This interface will be removed in the next major release
10
9
  */
11
10
  export interface BuildOptions<TEngineOptions> {
11
+ /**
12
+ * @deprecated This option will be removed in the next major version.
13
+ */
12
14
  extend?: OptionsExtender<TEngineOptions>;
13
15
  }
14
16
  /**
15
- * @deprecated This type should not be used directly.
17
+ * This type should not be used directly.
16
18
  * @internal
17
19
  */
18
20
  export type Build<TEngineOptions, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = (...params: OptionsTuple<BuildOptions<TEngineOptions> & EngineDefinitionControllersPropsOption<TControllersDefinitionsMap, TControllersProps, TSolutionType>>) => Promise<EngineDefinitionBuildResult<SSRCommerceEngine, TControllersMap>>;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @deprecated This type will be removed in the next major version.
3
+ */
1
4
  export declare enum Kind {
2
5
  Cart = "CART",
3
6
  Context = "CONTEXT",
@@ -2,11 +2,18 @@ import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
2
2
  import type { ControllersMap, ControllersPropsMap } from './controllers.js';
3
3
  import type { EngineDefinitionBuildResult, EngineDefinitionControllersPropsOption } from './engine.js';
4
4
  import type { OptionsExtender, OptionsTuple } from './utilities.js';
5
+ /**
6
+ * @deprecated This type should not be used directly. This interface will be removed in the next major release
7
+ */
5
8
  interface BuildOptions<TEngineOptions> {
6
9
  /**
7
10
  * @deprecated This option will be removed in the next major version.
8
11
  */
9
12
  extend?: OptionsExtender<TEngineOptions>;
10
13
  }
14
+ /**
15
+ * This type should not be used directly.
16
+ * @internal
17
+ */
11
18
  export type Build<TEngine extends CoreEngine | CoreEngineNext, TEngineOptions, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap> = (...params: OptionsTuple<BuildOptions<TEngineOptions> & EngineDefinitionControllersPropsOption<TControllersProps>>) => Promise<EngineDefinitionBuildResult<TEngine, TControllersMap>>;
12
19
  export {};
@@ -120,10 +120,9 @@ export { defineCommerceEngine } from './ssr-next/commerce/engine/commerce-engine
120
120
  export type { SSRCommerceEngine as CommerceEngine } from './ssr-next/commerce/factories/build-factory.js';
121
121
  export type { BuildConfig, SSRCommerceEngineOptions, } from './ssr-next/commerce/types/build.js';
122
122
  export { SolutionType } from './ssr-next/commerce/types/controller-constants.js';
123
- export type { CommerceEngineDefinitionControllersPropsOption as EngineDefinitionControllersPropsOption, ControllerDefinition, ControllerDefinitionsMap, ControllerWithKind, HydratedState, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, OptionsTuple, } from './ssr-next/commerce/types/controller-definitions.js';
123
+ export type { CommerceEngineDefinitionControllersPropsOption as EngineDefinitionControllersPropsOption, ControllerDefinition, ControllerDefinitionsMap, HydratedState, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, OptionsTuple, } from './ssr-next/commerce/types/controller-definitions.js';
124
124
  export type { InferControllerFromDefinition, InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition, InferHydratedState, InferStaticState, } from './ssr-next/commerce/types/controller-inference.js';
125
125
  export type { CommerceEngineDefinition, CommerceEngineDefinitionBuildResult, CommerceEngineDefinitionOptions, EngineStaticState, FetchStaticState, HydrateStaticState, HydrateStaticStateOptions, } from './ssr-next/commerce/types/engine.js';
126
- export { Kind } from './ssr-next/commerce/types/kind.js';
127
126
  export type { CommerceAppState, CommerceProductListingParametersState, CommerceSearchParametersState, } from './state/commerce-app-state.js';
128
127
  export * from './features/commerce/configuration/configuration-actions-loader.js';
129
128
  export * from './features/commerce/context/cart/cart-actions-loader.js';
@@ -2,13 +2,15 @@ import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { Controller } from '../../controllers/controller/headless-controller.js';
3
3
  import type { SSRCommerceEngine } from './factories/build-factory.js';
4
4
  import type { SolutionType } from './types/controller-constants.js';
5
- import type { ControllerDefinitionOption, ControllerDefinitionsMap } from './types/controller-definitions.js';
5
+ import type { ControllerDefinitionOption, ControllerDefinitionsMap, FilteredBakedInControllers } from './types/controller-definitions.js';
6
6
  import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition } from './types/controller-inference.js';
7
- import type { EngineStaticState } from './types/engine.js';
8
- export declare function createStaticState<TSearchAction extends UnknownAction, TControllerDefinitions extends ControllerDefinitionsMap<Controller>>({ searchActions, controllers, }: {
7
+ export declare function createStaticState<TSearchAction extends UnknownAction, TControllerDefinitions extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType>({ searchActions, controllers, }: {
9
8
  searchActions: TSearchAction[];
10
- controllers: InferControllersMapFromDefinition<TControllerDefinitions, SolutionType>;
11
- }): EngineStaticState<TSearchAction, InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, SolutionType>>;
9
+ controllers: Record<string, Controller>;
10
+ }): {
11
+ controllers: InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, TSolutionType> & FilteredBakedInControllers<TSolutionType>;
12
+ searchActions: TSearchAction[];
13
+ };
12
14
  export declare function buildControllerDefinitions<TControllerDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType>({ definitionsMap, engine, solutionType, propsMap, }: {
13
15
  definitionsMap: TControllerDefinitionsMap;
14
16
  engine: SSRCommerceEngine;
@@ -1,13 +1,11 @@
1
- import { type Recommendations, type RecommendationsOptions, type RecommendationsState } from '../../../../controllers/commerce/recommendations/headless-recommendations.js';
1
+ import { type Recommendations, type RecommendationsOptions, type RecommendationsProps, type RecommendationsState } from '../../../../controllers/commerce/recommendations/headless-recommendations.js';
2
2
  import { recommendationInternalOptionKey } from '../../types/controller-constants.js';
3
3
  import type { RecommendationOnlyControllerDefinitionWithProps } from '../../types/controller-definitions.js';
4
4
  export type { Recommendations, RecommendationsState };
5
5
  export type RecommendationsDefinitionMeta = {
6
- [recommendationInternalOptionKey]: {} & RecommendationsOptions;
6
+ [recommendationInternalOptionKey]: {} & RecommendationsProps['options'];
7
7
  };
8
- export interface RecommendationsDefinition extends RecommendationOnlyControllerDefinitionWithProps<Recommendations, {
9
- initialState: Partial<RecommendationsOptions>;
10
- }> {
8
+ export interface RecommendationsDefinition extends RecommendationOnlyControllerDefinitionWithProps<Recommendations, Partial<RecommendationsOptions>> {
11
9
  }
12
10
  /**
13
11
  * Defines a `Recommendations` controller instance.
@@ -16,6 +14,4 @@ export interface RecommendationsDefinition extends RecommendationOnlyControllerD
16
14
  * @param props - The configurable `Recommendations` properties.
17
15
  * @returns The `Recommendations` controller definition.
18
16
  * */
19
- export declare function defineRecommendations(props: {
20
- options: Omit<RecommendationsOptions, 'productId'>;
21
- }): RecommendationsDefinition & RecommendationsDefinitionMeta;
17
+ export declare function defineRecommendations(props: RecommendationsProps): RecommendationsDefinition & RecommendationsDefinitionMeta;
@@ -1,7 +1,9 @@
1
1
  import type { Action } from '@reduxjs/toolkit';
2
2
  import { type CommerceEngine } from '../../../app/commerce-engine/commerce-engine.js';
3
3
  import { SolutionType } from '../types/controller-constants.js';
4
- import type { BuildParameters, CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions } from '../types/engine.js';
4
+ import type { AugmentedControllerDefinition, BakedInControllers } from '../types/controller-definitions.js';
5
+ import type { InferControllersMapFromDefinition } from '../types/controller-inference.js';
6
+ import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, FetchStaticStateParameters, HydrateStaticStateParameters } from '../types/engine.js';
5
7
  /**
6
8
  * The SSR commerce engine.
7
9
  *
@@ -13,7 +15,7 @@ export interface SSRCommerceEngine extends CommerceEngine {
13
15
  */
14
16
  waitForRequestCompletedAction(): Promise<Action>[];
15
17
  }
16
- export declare const buildFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => <T extends SolutionType>(solutionType: T) => (...[buildOptions]: BuildParameters<TControllerDefinitions>) => Promise<{
18
+ export declare const buildFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => <TSolutionType extends SolutionType>(solutionType: TSolutionType) => (...[buildOptions]: FetchStaticStateParameters<TControllerDefinitions, TSolutionType> | HydrateStaticStateParameters<TControllerDefinitions, TSolutionType>) => Promise<{
17
19
  engine: SSRCommerceEngine;
18
- controllers: import("../types/controller-inference.js").InferControllersMapFromDefinition<TControllerDefinitions, T>;
20
+ controllers: InferControllersMapFromDefinition<TControllerDefinitions, TSolutionType> & BakedInControllers;
19
21
  }>;
@@ -1,4 +1,7 @@
1
1
  import type { SolutionType } from '../types/controller-constants.js';
2
2
  import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
3
- import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, HydrateStaticStateFunction } from '../types/engine.js';
4
- export declare function hydratedStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (solutionType: SolutionType) => HydrateStaticStateFunction<TControllerDefinitions>;
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<{
5
+ engine: import("./build-factory.js").SSRCommerceEngine;
6
+ controllers: import("../types/controller-inference.js").InferControllersMapFromDefinition<TControllerDefinitions, TSolutionType> & import("../types/controller-definitions.js").BakedInControllers;
7
+ }>;
@@ -1,2 +1,4 @@
1
+ import { SolutionType } from '../types/controller-constants.js';
2
+ import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
1
3
  import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, HydrateStaticStateFunction } from '../types/engine.js';
2
- export declare function hydratedRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): HydrateStaticStateFunction<TControllerDefinitions>;
4
+ export declare function hydratedRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): HydrateStaticStateFunction<TControllerDefinitions, SolutionType.recommendation>;
@@ -1,3 +1,13 @@
1
+ import type { UnknownAction } from '@reduxjs/toolkit';
2
+ import { SolutionType } from '../types/controller-constants.js';
1
3
  import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
2
- import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, FetchStaticStateFunction } from '../types/engine.js';
3
- export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): FetchStaticStateFunction<TControllerDefinitions>;
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
+ context: import("../../../commerce.index.js").ContextOptions;
9
+ searchParams?: import("../../../commerce.index.js").ParameterManagerState<import("../../../commerce.index.js").Parameters>["parameters"];
10
+ cart?: import("../../../commerce.index.js").CartInitialState;
11
+ productId?: string;
12
+ 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]>[];
13
+ }>;
@@ -1,4 +1,9 @@
1
+ import type { UnknownAction } from '@reduxjs/toolkit';
2
+ import type { BuildConfig } from '../types/build.js';
1
3
  import { SolutionType } from '../types/controller-constants.js';
2
4
  import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
3
- import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, FetchStaticStateFunction } from '../types/engine.js';
4
- export declare function fetchStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (solutionType: SolutionType) => FetchStaticStateFunction<TControllerDefinitions>;
5
+ 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> & {
7
+ controllers: import("../types/controller-inference.js").InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, TSolutionType> & import("../types/controller-definitions.js").FilteredBakedInControllers<TSolutionType>;
8
+ searchActions: UnknownAction[];
9
+ }>;
@@ -1,13 +1,11 @@
1
1
  import type { CommerceEngineOptions } from '../../../app/commerce-engine/commerce-engine.js';
2
2
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
3
- import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
4
- import type { HasKey, OptionsTuple } from '../../common/types/utilities.js';
3
+ import type { HasKey } from '../../common/types/utilities.js';
5
4
  import type { CartInitialState } from '../controllers/cart/headless-cart.ssr.js';
6
5
  import type { ContextOptions } from '../controllers/context/headless-context.ssr.js';
7
6
  import type { ParameterManagerState, Parameters } from '../controllers/parameter-manager/headless-core-parameter-manager.ssr.js';
8
7
  import type { SolutionType } from './controller-constants.js';
9
- import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap, IsRecommendationController } from './controller-definitions.js';
10
- import type { CommerceEngineDefinitionBuildResult } from './engine.js';
8
+ import type { ControllerDefinitionsMap, IsRecommendationController } from './controller-definitions.js';
11
9
  export interface SearchBuildConfig extends CommonBuildConfig {
12
10
  searchParams: ParameterManagerState<Parameters & {
13
11
  query: string;
@@ -83,7 +81,3 @@ export interface CommonBuildConfig {
83
81
  cart?: CartInitialState;
84
82
  }
85
83
  export type BuildConfig<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = TSolutionType extends SolutionType.search ? SearchBuildConfig : TSolutionType extends SolutionType.listing ? ListingBuildConfig : TSolutionType extends SolutionType.recommendation ? RecommendationBuildConfig<TControllers> : TSolutionType extends SolutionType.standalone ? CommonBuildConfig : never;
86
- /**
87
- * @internal
88
- */
89
- export type Build<TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = (...params: OptionsTuple<BuildConfig<TControllersDefinitionsMap, TSolutionType> & CommerceEngineDefinitionControllersPropsOption<TControllersDefinitionsMap, TControllersProps, TSolutionType>>) => Promise<CommerceEngineDefinitionBuildResult<TControllersMap>>;
@@ -10,7 +10,6 @@ import type { SSRCommerceEngine } from '../factories/build-factory.js';
10
10
  import { type recommendationInternalOptionKey, SolutionType } from './controller-constants.js';
11
11
  import type { ListingAndStandaloneController, ListingOnlyController, NonRecommendationController, RecommendationOnlyController, SearchAndListingController, SearchOnlyController, UniversalController } from './controller-scopes.js';
12
12
  import type { HydratedState } from './hydrate-static-state.js';
13
- import type { Kind } from './kind.js';
14
13
  import type { HasSolutionType } from './utilities.js';
15
14
  export type { HydratedState, OptionsTuple, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, };
16
15
  export interface ControllerDefinitionWithoutProps<TController extends Controller> {
@@ -23,9 +22,6 @@ export interface ControllerDefinitionWithoutProps<TController extends Controller
23
22
  */
24
23
  build(engine: SSRCommerceEngine, solutionType?: SolutionType): TController;
25
24
  }
26
- export interface ControllerWithKind extends Controller {
27
- _kind: Kind;
28
- }
29
25
  export interface ControllerDefinitionWithProps<TController extends Controller, TProps> {
30
26
  /**
31
27
  * Creates an instance of the given controller.
@@ -35,7 +31,7 @@ export interface ControllerDefinitionWithProps<TController extends Controller, T
35
31
  * @param solutionType - The type of solution for which the controller should be built (e.g. search or listing). This option only applies to sub-controllers.
36
32
  * @returns The created controller instance.
37
33
  */
38
- buildWithProps(engine: SSRCommerceEngine, props?: TProps, solutionType?: SolutionType): TController & ControllerWithKind;
34
+ buildWithProps(engine: SSRCommerceEngine, props?: TProps, solutionType?: SolutionType): TController;
39
35
  }
40
36
  interface SolutionTypeAvailability {
41
37
  [SolutionType.search]?: boolean;
@@ -3,7 +3,7 @@ import type { NavigatorContextProvider } from '../../../app/navigator-context-pr
3
3
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
4
4
  import type { ControllerStaticStateMap, ControllersMap } from '../../common/types/controllers.js';
5
5
  import type { SSRCommerceEngine } from '../factories/build-factory.js';
6
- import type { Build, SSRCommerceEngineOptions } from './build.js';
6
+ import type { SSRCommerceEngineOptions } from './build.js';
7
7
  import type { SolutionType } from './controller-constants.js';
8
8
  import type { BakedInControllers, ControllerDefinitionsMap } from './controller-definitions.js';
9
9
  import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition } from './controller-inference.js';
@@ -60,14 +60,8 @@ export interface CommerceEngineDefinitionBuildResult<TControllers extends Contro
60
60
  controllers: TControllers & BakedInControllers;
61
61
  }
62
62
  export type CommerceControllerDefinitionsMap = ControllerDefinitionsMap<Controller>;
63
- type Definition<TControllerDefinitions extends CommerceControllerDefinitionsMap> = CommerceEngineDefinition<TControllerDefinitions, SolutionType>;
64
- export type FetchStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['fetchStaticState'];
65
- export type HydrateStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['hydrateStaticState'];
66
- export type BuildParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<Build<InferControllersMapFromDefinition<TControllerDefinitions, SolutionType>, InferControllerPropsMapFromDefinitions<TControllerDefinitions>, TControllerDefinitions, SolutionType>>;
67
- export type FetchStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<FetchStaticStateFunction<TControllerDefinitions>>;
68
- export type HydrateStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<HydrateStaticStateFunction<TControllerDefinitions>>;
69
- type Controllers<TControllerDefinitions extends CommerceControllerDefinitionsMap> = InferControllersMapFromDefinition<TControllerDefinitions, SolutionType>;
70
- export type BuildResult<TControllerDefinitions extends CommerceControllerDefinitionsMap> = {
71
- engine: SSRCommerceEngine;
72
- controllers: Controllers<TControllerDefinitions> & BakedInControllers;
73
- };
63
+ type Definition<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = CommerceEngineDefinition<TControllerDefinitions, TSolutionType>;
64
+ type FetchStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Definition<TControllerDefinitions, TSolutionType>['fetchStaticState'];
65
+ export type HydrateStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Definition<TControllerDefinitions, TSolutionType>['hydrateStaticState'];
66
+ export type FetchStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Parameters<FetchStaticStateFunction<TControllerDefinitions, TSolutionType>>;
67
+ export type HydrateStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap, TSolutionType extends SolutionType> = Parameters<HydrateStaticStateFunction<TControllerDefinitions, TSolutionType>>;
@@ -20,5 +20,5 @@ export declare function filterRecommendationControllers<TControllerDefinitions e
20
20
  * @param controllers - A record of all controllers where the key is the controller name and the value is the controller instance.
21
21
  * @param controllerNames - A list of all recommendation controllers to refresh
22
22
  */
23
- refresh(whitelist?: string[]): void;
23
+ refresh(whitelist?: Array<keyof TControllerDefinitions>): void;
24
24
  };
@@ -1,19 +1,14 @@
1
1
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
2
- import type { ControllerWithKind } from '../../commerce/types/controller-definitions.js';
3
- import type { Kind } from '../../commerce/types/kind.js';
4
2
  export type StaticControllerState = {
5
3
  initialState?: Controller['state'];
6
- _kind?: Kind;
7
- } & Pick<ControllerWithKind, 'state'>;
4
+ } & Pick<Controller, 'state'>;
8
5
  /**
9
6
  * Builder class for creating static controller
10
7
  */
11
8
  declare class StaticControllerBuilder {
12
9
  private _state?;
13
- private _kind?;
14
10
  private _initialState?;
15
11
  withState(state: StaticControllerState['state']): this;
16
- withKind(kind: Kind): this;
17
12
  withInitialState(initialState: StaticControllerState['initialState']): this;
18
13
  /**
19
14
  * Builds and returns the static controller state object
@@ -7,5 +7,4 @@ type ExtractRequiredOptions<TOptions> = {
7
7
  [TKey in keyof TOptions as Pick<TOptions, TKey> extends Required<Pick<TOptions, TKey>> ? TKey : never]: TOptions[TKey];
8
8
  };
9
9
  export type OptionsTuple<TOptions> = HasKeys<TOptions> extends false ? [] : HasKeys<ExtractRequiredOptions<TOptions>> extends false ? [options?: TOptions] : [options: TOptions];
10
- export type OptionsExtender<TOptions> = (options: TOptions) => TOptions | Promise<TOptions>;
11
10
  export {};
@@ -1,12 +1,8 @@
1
1
  import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
2
2
  import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
3
- import type { OptionsExtender, OptionsTuple } from '../../common/types/utilities.js';
3
+ import type { OptionsTuple } from '../../common/types/utilities.js';
4
4
  import type { SearchEngineDefinitionBuildResult, SearchEngineDefinitionControllersPropsOption } from './engine.js';
5
- interface BuildOptions<TEngineOptions> {
6
- extend?: OptionsExtender<TEngineOptions>;
7
- }
8
5
  /**
9
6
  * @internal
10
7
  */
11
- export type Build<TEngine extends CoreEngine | CoreEngineNext, TEngineOptions, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap> = (...params: OptionsTuple<BuildOptions<TEngineOptions> & SearchEngineDefinitionControllersPropsOption<TControllersProps>>) => Promise<SearchEngineDefinitionBuildResult<TEngine, TControllersMap>>;
12
- export {};
8
+ export type Build<TEngine extends CoreEngine | CoreEngineNext, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap> = (...params: OptionsTuple<SearchEngineDefinitionControllersPropsOption<TControllersProps>>) => Promise<SearchEngineDefinitionBuildResult<TEngine, TControllersMap>>;
@@ -11,7 +11,7 @@ import type { ControllerDefinitionsMap } from './controller-definition.js';
11
11
  import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition } from './controller-inference.js';
12
12
  import type { FetchStaticState } from './fetch-static-state.js';
13
13
  import type { HydrateStaticState } from './hydrate-static-state.js';
14
- export type EngineBuildResult<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllerDefinitionsMap<TEngine, Controller>, TEngineOptions> = Build<TEngine, TEngineOptions, InferControllersMapFromDefinition<TControllers>, InferControllerPropsMapFromDefinitions<TControllers>>;
14
+ export type EngineBuildResult<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllerDefinitionsMap<TEngine, Controller>> = Build<TEngine, InferControllersMapFromDefinition<TControllers>, InferControllerPropsMapFromDefinitions<TControllers>>;
15
15
  /**
16
16
  * The options to create a search engine definition in SSR.
17
17
  *
@@ -1,6 +1,5 @@
1
1
  import type { SearchEngine } from '../app/search-engine/search-engine.js';
2
2
  import type { Controller } from '../controllers/controller/headless-controller.js';
3
- import type { Kind } from '../ssr/commerce/types/kind.js';
4
3
  import type { ControllerDefinitionWithoutProps, ControllerDefinitionWithProps } from '../ssr/common/types/controllers.js';
5
4
  import { recommendationInternalOptionKey } from '../ssr-next/commerce/types/controller-constants.js';
6
5
  interface MockController {
@@ -29,7 +28,6 @@ export declare function defineMockCommerceControllerWithProps(options?: Solution
29
28
  buildWithProps: import("vitest").Mock<(engine: any, props: any) => {
30
29
  state: {};
31
30
  subscribe(listener: () => void): import("redux").Unsubscribe;
32
- _kind: Kind;
33
31
  }>;
34
32
  listing: boolean;
35
33
  search: boolean;
@@ -44,7 +42,6 @@ export declare function defineMockRecommendationDefinition(slotId: string): {
44
42
  buildWithProps: import("vitest").Mock<(engine: any, props: any) => {
45
43
  state: {};
46
44
  subscribe(listener: () => void): import("redux").Unsubscribe;
47
- _kind: Kind;
48
45
  }>;
49
46
  };
50
47
  export {};