@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.
- package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +8 -8
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/build.d.ts +5 -3
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/kind.d.ts +3 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/build.d.ts +7 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-commerce-next.index.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controller-utils.d.ts +7 -5
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/recommendations/headless-recommendations.ssr.d.ts +4 -8
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/build-factory.d.ts +5 -3
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/hydrated-state-factory.d.ts +5 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/recommendation-hydrated-state-factory.d.ts +3 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/recommendation-static-state-factory.d.ts +12 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/static-state-factory.d.ts +7 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/build.d.ts +2 -8
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-definitions.d.ts +1 -5
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/engine.d.ts +6 -12
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/utils/recommendation-filter.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/builders/static-controller-builder.d.ts +1 -6
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/utilities.d.ts +0 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/build.d.ts +2 -6
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/engine.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-ssr-controller-definitions.d.ts +0 -3
- package/force-app/main/default/staticresources/coveoheadless/headless.js +10 -10
- package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +9 -9
- package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +7 -7
- package/package.json +2 -2
- 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
|
-
*
|
|
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>>;
|
package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/build.d.ts
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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:
|
|
11
|
-
}):
|
|
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]: {} &
|
|
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 {
|
|
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
|
|
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:
|
|
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,
|
|
4
|
-
export declare function hydratedStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (solutionType:
|
|
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
|
|
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,
|
|
3
|
-
export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<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,
|
|
4
|
-
export declare function fetchStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (solutionType:
|
|
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 {
|
|
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 {
|
|
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
|
|
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 {
|
|
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,
|
|
64
|
-
|
|
65
|
-
export type HydrateStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['hydrateStaticState'];
|
|
66
|
-
export type
|
|
67
|
-
export type
|
|
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?:
|
|
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
|
-
|
|
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 {
|
|
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,
|
|
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
|
|
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 {};
|