@coveo/headless 3.29.2-pre.fbfa5ff328 → 3.29.2
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/dist/cjs/case-assist/headless.cjs +1 -1
- package/dist/cjs/case-assist/node.cjs.stats.json +1 -1
- package/dist/cjs/commerce/headless.cjs +1 -1
- package/dist/cjs/commerce/node.cjs.stats.json +1 -1
- package/dist/cjs/headless.cjs +1 -1
- package/dist/cjs/insight/headless.cjs +1 -1
- package/dist/cjs/insight/node.cjs.stats.json +1 -1
- package/dist/cjs/node.cjs.stats.json +1 -1
- package/dist/cjs/recommendation/headless.cjs +1 -1
- package/dist/cjs/recommendation/node.cjs.stats.json +1 -1
- package/dist/cjs/ssr/headless.cjs +1 -1
- package/dist/cjs/ssr/node.cjs.stats.json +1 -1
- package/dist/cjs/ssr-commerce/headless.cjs +1 -1
- package/dist/cjs/ssr-commerce/node.cjs.stats.json +1 -1
- package/dist/cjs/ssr-commerce-next/headless.cjs +1 -1
- package/dist/cjs/ssr-commerce-next/node.cjs.stats.json +1 -1
- package/dist/cjs/ssr-next/headless.cjs +1 -1
- package/dist/cjs/ssr-next/node.cjs.stats.json +1 -1
- package/dist/definitions/ssr/commerce/types/kind.d.ts +3 -0
- package/dist/definitions/ssr-commerce-next.index.d.ts +3 -4
- package/dist/definitions/ssr-commerce.index.d.ts +1 -1
- package/dist/definitions/ssr-next/commerce/controllers/recommendations/headless-recommendations.ssr.d.ts +4 -8
- package/dist/definitions/ssr-next/commerce/engine/commerce-engine.ssr.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/factories/build-factory.d.ts +1 -5
- package/dist/definitions/ssr-next/commerce/factories/hydrated-state-factory.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/factories/recommendation-hydrated-state-factory.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/factories/recommendation-static-state-factory.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/factories/static-state-factory.d.ts +1 -2
- package/dist/definitions/ssr-next/commerce/types/build.d.ts +2 -2
- package/dist/definitions/ssr-next/commerce/types/controller-definitions.d.ts +5 -9
- package/dist/definitions/ssr-next/commerce/types/controller-inference.d.ts +2 -7
- package/dist/definitions/ssr-next/commerce/types/engine.d.ts +7 -5
- package/dist/definitions/ssr-next/commerce/types/fetch-static-state.d.ts +2 -2
- package/dist/definitions/ssr-next/commerce/types/hydrate-static-state.d.ts +4 -4
- package/dist/definitions/ssr-next/commerce/utils/engine-wiring.d.ts +1 -2
- package/dist/definitions/ssr-next/common/builders/static-controller-builder.d.ts +1 -6
- package/dist/definitions/ssr-next/common/types/controller-inference.d.ts +6 -0
- package/dist/definitions/ssr-next/common/types/controllers.d.ts +0 -24
- package/dist/definitions/ssr-next/common/types/engine.d.ts +2 -44
- package/dist/definitions/ssr-next/{common → search}/controller-utils.d.ts +3 -3
- package/dist/definitions/ssr-next/search/controllers/breadcrumb-manager/headless-breadcrumb-manager.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/context/headless-context.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/dictionary-field-context/headless-dictionary-field-context.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/facet-manager/headless-facet-manager.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/facets/automatic-facet-generator/headless-automatic-facet-generator.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/facets/category-facet/headless-category-facet.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/facets/facet/headless-facet.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-facet.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-filter.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-facet.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-filter.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/field-suggestions/category-facet/headless-category-field-suggestions.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/field-suggestions/facet/headless-field-suggestions.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/folded-result-list/headless-folded-result-list.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/history-manager/headless-history-manager.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/instant-results/instant-results.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/pager/headless-pager.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/query-error/headless-query-error.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/query-summary/headless-query-summary.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/quickview/headless-quickview.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/recent-results-list/headless-recent-results-list.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/relevance-inspector/headless-relevance-inspector.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/result-list/headless-result-list.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/results-per-page/headless-results-per-page.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/search-box/headless-search-box.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/search-parameter-manager/headless-search-parameter-manager.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/search-status/headless-search-status.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/smart-snippet/headless-smart-snippet.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/smart-snippet-questions-list/headless-smart-snippet-questions-list.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/sort/headless-sort.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/static-filter/headless-static-filter.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/tab/headless-tab.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/tab-manager/headless-tab-manager.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/triggers/headless-execute-trigger.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/triggers/headless-notify-trigger.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/triggers/headless-query-trigger.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/triggers/headless-redirection-trigger.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/controllers/url-manager/headless-url-manager.ssr.d.ts +1 -1
- package/dist/definitions/ssr-next/search/engine/search-engine.ssr.d.ts +6 -13
- package/dist/definitions/ssr-next/search/types/build.d.ts +12 -0
- package/dist/definitions/ssr-next/search/types/controller-definition.d.ts +28 -0
- package/dist/definitions/ssr-next/{common/types/inference.d.ts → search/types/controller-inference.d.ts} +3 -6
- package/dist/definitions/ssr-next/search/types/engine.d.ts +52 -0
- package/dist/definitions/ssr-next/{common → search}/types/fetch-static-state.d.ts +5 -4
- package/dist/definitions/ssr-next/{common → search}/types/hydrate-static-state.d.ts +5 -6
- package/dist/definitions/ssr-next.index.d.ts +6 -4
- package/dist/definitions/test/mock-ssr-controller-definitions.d.ts +1 -4
- package/dist/esm/ssr/commerce/types/kind.js +3 -1
- package/dist/esm/ssr-commerce-next.index.js +0 -1
- package/dist/esm/ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.js +1 -1
- package/dist/esm/ssr-next/commerce/controllers/cart/headless-cart.ssr.js +1 -3
- package/dist/esm/ssr-next/commerce/controllers/context/headless-context.ssr.js +2 -4
- package/dist/esm/ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.js +1 -1
- package/dist/esm/ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.js +1 -1
- package/dist/esm/ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.js +3 -6
- package/dist/esm/ssr-next/commerce/controllers/recommendations/headless-recommendations.ssr.js +2 -4
- package/dist/esm/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.js +1 -1
- package/dist/esm/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.js +1 -1
- package/dist/esm/ssr-next/commerce/factories/hydrated-state-factory.js +1 -1
- package/dist/esm/ssr-next/commerce/factories/recommendation-hydrated-state-factory.js +1 -1
- package/dist/esm/ssr-next/commerce/factories/recommendation-static-state-factory.js +1 -1
- package/dist/esm/ssr-next/commerce/factories/static-state-factory.js +1 -1
- package/dist/esm/ssr-next/common/builders/static-controller-builder.js +0 -11
- package/dist/esm/ssr-next/{common → search}/controller-utils.js +2 -2
- package/dist/esm/ssr-next/search/engine/search-engine.ssr.js +1 -1
- package/dist/esm/ssr-next/search/types/engine.js +1 -0
- package/dist/esm/ssr-next/search/types/fetch-static-state.js +1 -0
- package/dist/esm/ssr-next/search/types/hydrate-static-state.js +1 -0
- package/dist/esm/test/mock-ssr-controller-definitions.js +0 -2
- package/dist/esm/utils/version.js +1 -1
- package/dist/quantic/browser.cjs.stats.json +1 -1
- package/dist/quantic/case-assist/browser.cjs.stats.json +1 -1
- package/dist/quantic/case-assist/headless.js +1 -1
- package/dist/quantic/case-assist/headless.js.map +1 -1
- package/dist/quantic/commerce/browser.cjs.stats.json +1 -1
- package/dist/quantic/commerce/headless.js +1 -1
- package/dist/quantic/commerce/headless.js.map +1 -1
- package/dist/quantic/headless.js +1 -1
- package/dist/quantic/headless.js.map +1 -1
- package/dist/quantic/insight/browser.cjs.stats.json +1 -1
- package/dist/quantic/insight/headless.js +1 -1
- package/dist/quantic/insight/headless.js.map +1 -1
- package/dist/quantic/recommendation/browser.cjs.stats.json +1 -1
- package/dist/quantic/recommendation/headless.js +1 -1
- package/dist/quantic/recommendation/headless.js.map +1 -1
- package/package.json +1 -1
- package/dist/definitions/ssr-next/commerce/types/kind.d.ts +0 -9
- package/dist/definitions/ssr-next/common/types/build.d.ts +0 -12
- package/dist/esm/ssr-next/commerce/types/kind.js +0 -14
- /package/dist/esm/ssr-next/common/types/{build.js → controller-inference.js} +0 -0
- /package/dist/esm/ssr-next/{common/types/fetch-static-state.js → search/types/build.js} +0 -0
- /package/dist/esm/ssr-next/{common/types/hydrate-static-state.js → search/types/controller-definition.js} +0 -0
- /package/dist/esm/ssr-next/{common/types/inference.js → search/types/controller-inference.js} +0 -0
|
@@ -117,13 +117,12 @@ export { defineQueryTrigger } from './ssr-next/commerce/controllers/triggers/hea
|
|
|
117
117
|
export type { RedirectionTrigger, RedirectionTriggerDefinition, RedirectionTriggerState, } from './ssr-next/commerce/controllers/triggers/headless-redirection-trigger.ssr.js';
|
|
118
118
|
export { defineRedirectionTrigger } from './ssr-next/commerce/controllers/triggers/headless-redirection-trigger.ssr.js';
|
|
119
119
|
export { defineCommerceEngine } from './ssr-next/commerce/engine/commerce-engine.ssr.js';
|
|
120
|
-
export type {
|
|
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 {
|
|
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
|
-
export type { CommerceEngineDefinition, CommerceEngineDefinitionBuildResult, EngineStaticState, FetchStaticState, HydrateStaticState, HydrateStaticStateOptions, } from './ssr-next/commerce/types/engine.js';
|
|
126
|
-
export { Kind } from './ssr-next/commerce/types/kind.js';
|
|
125
|
+
export type { CommerceEngineDefinition, CommerceEngineDefinitionBuildResult, CommerceEngineDefinitionOptions, EngineStaticState, FetchStaticState, HydrateStaticState, HydrateStaticStateOptions, } from './ssr-next/commerce/types/engine.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';
|
|
@@ -121,7 +121,7 @@ export type { CommerceEngineDefinition } from './ssr/commerce/engine/commerce-en
|
|
|
121
121
|
export { defineCommerceEngine } from './ssr/commerce/engine/commerce-engine.ssr.js';
|
|
122
122
|
export type { CommerceEngineDefinitionOptions, SSRCommerceEngine as CommerceEngine, } from './ssr/commerce/factories/build-factory.js';
|
|
123
123
|
export { SolutionType } from './ssr/commerce/types/controller-constants.js';
|
|
124
|
-
export type { ControllerDefinition, ControllerDefinitionsMap, ControllerWithKind,
|
|
124
|
+
export type { ControllerDefinition, ControllerDefinitionsMap, ControllerWithKind, EngineDefinitionControllersPropsOption, HydratedState, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, OptionsTuple, } from './ssr/commerce/types/controller-definitions.js';
|
|
125
125
|
export type { InferBuildResult, InferControllerFromDefinition, InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition, InferHydratedState, InferStaticState, } from './ssr/commerce/types/controller-inference.js';
|
|
126
126
|
export type { Build, BuildOptions, EngineDefinition, EngineStaticState, FetchStaticState, FetchStaticStateOptions, FromBuildResult, FromBuildResultOptions, HydrateStaticState, HydrateStaticStateOptions, } from './ssr/commerce/types/engine.js';
|
|
127
127
|
export { Kind } from './ssr/commerce/types/kind.js';
|
|
@@ -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;
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* Utility functions to be used for Commerce Server Side Rendering.
|
|
3
3
|
*/
|
|
4
4
|
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
5
|
-
import type { CommerceEngineDefinitionOptions } from '../factories/build-factory.js';
|
|
6
5
|
import { SolutionType } from '../types/controller-constants.js';
|
|
7
6
|
import type { ControllerDefinitionsMap } from '../types/controller-definitions.js';
|
|
8
|
-
import type { CommerceEngineDefinition } from '../types/engine.js';
|
|
7
|
+
import type { CommerceEngineDefinition, CommerceEngineDefinitionOptions } from '../types/engine.js';
|
|
9
8
|
/**
|
|
10
9
|
* Initializes a Commerce engine definition in SSR with given controllers definitions and commerce engine config.
|
|
11
10
|
* @param options - The commerce engine definition
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { Action } from '@reduxjs/toolkit';
|
|
2
2
|
import { type CommerceEngine } from '../../../app/commerce-engine/commerce-engine.js';
|
|
3
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
4
|
-
import type { SSRCommerceEngineOptions } from '../types/build.js';
|
|
5
3
|
import { SolutionType } from '../types/controller-constants.js';
|
|
6
|
-
import type {
|
|
7
|
-
import type { BuildParameters, CommerceControllerDefinitionsMap, EngineDefinitionOptions } from '../types/engine.js';
|
|
4
|
+
import type { BuildParameters, CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions } from '../types/engine.js';
|
|
8
5
|
/**
|
|
9
6
|
* The SSR commerce engine.
|
|
10
7
|
*
|
|
@@ -16,7 +13,6 @@ export interface SSRCommerceEngine extends CommerceEngine {
|
|
|
16
13
|
*/
|
|
17
14
|
waitForRequestCompletedAction(): Promise<Action>[];
|
|
18
15
|
}
|
|
19
|
-
export type CommerceEngineDefinitionOptions<TControllers extends ControllerDefinitionsMap<Controller> = ControllerDefinitionsMap<Controller>> = EngineDefinitionOptions<SSRCommerceEngineOptions, TControllers>;
|
|
20
16
|
export declare const buildFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => <T extends SolutionType>(solutionType: T) => (...[buildOptions]: BuildParameters<TControllerDefinitions>) => Promise<{
|
|
21
17
|
engine: SSRCommerceEngine;
|
|
22
18
|
controllers: import("../types/controller-inference.js").InferControllersMapFromDefinition<TControllerDefinitions, T>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { SolutionType } from '../types/controller-constants.js';
|
|
2
2
|
import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
|
|
3
|
-
import type { CommerceControllerDefinitionsMap, HydrateStaticStateFunction } from '../types/engine.js';
|
|
4
|
-
import { type CommerceEngineDefinitionOptions } from './build-factory.js';
|
|
3
|
+
import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, HydrateStaticStateFunction } from '../types/engine.js';
|
|
5
4
|
export declare function hydratedStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (solutionType: SolutionType) => HydrateStaticStateFunction<TControllerDefinitions>;
|
package/dist/definitions/ssr-next/commerce/factories/recommendation-hydrated-state-factory.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import type { CommerceControllerDefinitionsMap, HydrateStaticStateFunction } from '../types/engine.js';
|
|
2
|
-
import { type CommerceEngineDefinitionOptions } from './build-factory.js';
|
|
1
|
+
import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, HydrateStaticStateFunction } from '../types/engine.js';
|
|
3
2
|
export declare function hydratedRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): HydrateStaticStateFunction<TControllerDefinitions>;
|
package/dist/definitions/ssr-next/commerce/factories/recommendation-static-state-factory.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
|
|
2
|
-
import type { CommerceControllerDefinitionsMap, FetchStaticStateFunction } from '../types/engine.js';
|
|
3
|
-
import { type CommerceEngineDefinitionOptions } from './build-factory.js';
|
|
2
|
+
import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, FetchStaticStateFunction } from '../types/engine.js';
|
|
4
3
|
export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): FetchStaticStateFunction<TControllerDefinitions>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SolutionType } from '../types/controller-constants.js';
|
|
2
2
|
import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
|
|
3
|
-
import type { CommerceControllerDefinitionsMap, FetchStaticStateFunction } from '../types/engine.js';
|
|
4
|
-
import { type CommerceEngineDefinitionOptions } from './build-factory.js';
|
|
3
|
+
import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, FetchStaticStateFunction } from '../types/engine.js';
|
|
5
4
|
export declare function fetchStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (solutionType: SolutionType) => FetchStaticStateFunction<TControllerDefinitions>;
|
|
@@ -6,7 +6,7 @@ import type { CartInitialState } from '../controllers/cart/headless-cart.ssr.js'
|
|
|
6
6
|
import type { ContextOptions } from '../controllers/context/headless-context.ssr.js';
|
|
7
7
|
import type { ParameterManagerState, Parameters } from '../controllers/parameter-manager/headless-core-parameter-manager.ssr.js';
|
|
8
8
|
import type { SolutionType } from './controller-constants.js';
|
|
9
|
-
import type {
|
|
9
|
+
import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap, IsRecommendationController } from './controller-definitions.js';
|
|
10
10
|
import type { CommerceEngineDefinitionBuildResult } from './engine.js';
|
|
11
11
|
export interface SearchBuildConfig extends CommonBuildConfig {
|
|
12
12
|
searchParams: ParameterManagerState<Parameters & {
|
|
@@ -86,4 +86,4 @@ export type BuildConfig<TControllers extends ControllerDefinitionsMap<Controller
|
|
|
86
86
|
/**
|
|
87
87
|
* @internal
|
|
88
88
|
*/
|
|
89
|
-
export type Build<TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = (...params: OptionsTuple<BuildConfig<TControllersDefinitionsMap, TSolutionType> &
|
|
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>>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
2
|
import type { InvalidControllerDefinition } from '../../common/errors.js';
|
|
3
|
+
import type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers } from '../../common/types/controller-inference.js';
|
|
3
4
|
import type { ControllersPropsMap } from '../../common/types/controllers.js';
|
|
4
|
-
import type { HydratedState } from '../../common/types/hydrate-static-state.js';
|
|
5
|
-
import type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers } from '../../common/types/inference.js';
|
|
6
5
|
import type { HasKey, HasRequiredKeys, OptionsTuple } from '../../common/types/utilities.js';
|
|
7
6
|
import type { CartDefinition } from '../controllers/cart/headless-cart.ssr.js';
|
|
8
7
|
import type { ContextDefinition } from '../controllers/context/headless-context.ssr.js';
|
|
@@ -10,7 +9,7 @@ import type { ParameterManagerDefinition } from '../controllers/parameter-manage
|
|
|
10
9
|
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
11
10
|
import { type recommendationInternalOptionKey, SolutionType } from './controller-constants.js';
|
|
12
11
|
import type { ListingAndStandaloneController, ListingOnlyController, NonRecommendationController, RecommendationOnlyController, SearchAndListingController, SearchOnlyController, UniversalController } from './controller-scopes.js';
|
|
13
|
-
import type {
|
|
12
|
+
import type { HydratedState } from './hydrate-static-state.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;
|
|
@@ -83,9 +79,9 @@ export type FilteredBakedInControllers<TSolutionType extends SolutionType> = {
|
|
|
83
79
|
*/
|
|
84
80
|
export type AugmentedControllerDefinition<TControllerDefinitions extends ControllerDefinitionsMap<Controller>> = TControllerDefinitions & BakedInControllerDefinitions;
|
|
85
81
|
/**
|
|
86
|
-
* This type defines the required and optional controller props for the engine definition.
|
|
82
|
+
* This type defines the required and optional controller props for the commerce engine definition.
|
|
87
83
|
*/
|
|
88
|
-
export type
|
|
84
|
+
export type CommerceEngineDefinitionControllersPropsOption<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, TSolutionType extends SolutionType> = RequiredEngineDefinitionControllersPropsOption<TControllers, TControllersPropsMap, TSolutionType>;
|
|
89
85
|
type RequiredEngineDefinitionControllersPropsOption<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, TSolutionType extends SolutionType> = {
|
|
90
86
|
[K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : IsRecommendationController<TControllers[K]> extends never ? HasRequiredKeys<DefaultControllerProps<TControllers, TControllersPropsMap, K>> extends false ? never : 'controllers' : never]: DefaultControllerProps<TControllers, TControllersPropsMap, K>;
|
|
91
87
|
};
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
|
+
import type { InferHydratedState, InferStaticState } from '../../common/types/engine.js';
|
|
2
3
|
import type { HasKey, HasKeys } from '../../common/types/utilities.js';
|
|
3
4
|
import type { SolutionType } from './controller-constants.js';
|
|
4
5
|
import type { ControllerDefinition, ControllerDefinitionsMap, ControllerDefinitionWithoutProps, ControllerDefinitionWithProps, InferControllerStaticStateFromController } from './controller-definitions.js';
|
|
5
|
-
export type InferStaticState
|
|
6
|
-
fetchStaticState(...args: unknown[]): Promise<unknown>;
|
|
7
|
-
}> = Awaited<ReturnType<T['fetchStaticState']>>;
|
|
8
|
-
export type InferHydratedState<T extends {
|
|
9
|
-
hydrateStaticState(...args: unknown[]): Promise<unknown>;
|
|
10
|
-
}> = Awaited<ReturnType<T['hydrateStaticState']>>;
|
|
6
|
+
export type { InferStaticState, InferHydratedState };
|
|
11
7
|
type InferControllerPropsFromDefinition<TController extends ControllerDefinition<Controller>> = TController extends ControllerDefinitionWithProps<Controller, infer Props> ? Props : TController extends ControllerDefinitionWithoutProps<Controller> ? {} : unknown;
|
|
12
8
|
export type InferControllerPropsMapFromDefinitions<TControllers extends ControllerDefinitionsMap<Controller>> = {
|
|
13
9
|
[K in keyof TControllers as HasKeys<InferControllerPropsFromDefinition<TControllers[K]>> extends false ? never : K]: InferControllerPropsFromDefinition<TControllers[K]>;
|
|
@@ -19,4 +15,3 @@ export type InferControllersMapFromDefinition<TControllers extends ControllerDef
|
|
|
19
15
|
export type InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
|
|
20
16
|
[K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : K]: InferControllerStaticStateFromController<InferControllerFromDefinition<TControllers[K]>> & InferControllerPropsFromDefinition<TControllers[K]>;
|
|
21
17
|
};
|
|
22
|
-
export {};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
-
import type { EngineConfiguration } from '../../../app/engine-configuration.js';
|
|
3
2
|
import type { NavigatorContextProvider } from '../../../app/navigator-context-provider.js';
|
|
4
3
|
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
5
4
|
import type { ControllerStaticStateMap, ControllersMap } from '../../common/types/controllers.js';
|
|
6
5
|
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
7
|
-
import type { Build } from './build.js';
|
|
6
|
+
import type { Build, SSRCommerceEngineOptions } from './build.js';
|
|
8
7
|
import type { SolutionType } from './controller-constants.js';
|
|
9
8
|
import type { BakedInControllers, ControllerDefinitionsMap } from './controller-definitions.js';
|
|
10
9
|
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition } from './controller-inference.js';
|
|
@@ -19,9 +18,12 @@ type ReservedControllerNames = 'context' | 'parameterManager' | 'cart';
|
|
|
19
18
|
type ValidateControllerNames<T extends ControllerDefinitionsMap<Controller>> = {
|
|
20
19
|
[K in keyof T]: K extends ReservedControllerNames ? `ERROR: Controller name "${K & string}" is reserved and cannot be used. Reserved names are: context, parameterManager, cart. Please choose a different controller name.` : T[K];
|
|
21
20
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
/**
|
|
22
|
+
* The options to create a Commerce engine definition in SSR.
|
|
23
|
+
*
|
|
24
|
+
* @group Engine
|
|
25
|
+
*/
|
|
26
|
+
export type CommerceEngineDefinitionOptions<TControllers extends ControllerDefinitionsMap<Controller> = ControllerDefinitionsMap<Controller>> = SSRCommerceEngineOptions & {
|
|
25
27
|
/**
|
|
26
28
|
* The controllers to initialize with the commerce engine.
|
|
27
29
|
*/
|
|
@@ -3,11 +3,11 @@ import type { Controller } from '../../../controllers/controller/headless-contro
|
|
|
3
3
|
import type { ControllerStaticStateMap, 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 {
|
|
6
|
+
import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap, FilteredBakedInControllers, OptionsTuple } from './controller-definitions.js';
|
|
7
7
|
import type { EngineStaticState } from './engine.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> &
|
|
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>>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { UnknownAction } from '@reduxjs/toolkit';
|
|
2
2
|
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
3
3
|
import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
|
|
4
|
-
import type { HydratedState } from '../../common/types/hydrate-static-state.js';
|
|
5
|
-
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
6
4
|
import type { BuildConfig } from './build.js';
|
|
7
5
|
import type { SolutionType } from './controller-constants.js';
|
|
8
|
-
import type {
|
|
6
|
+
import type { CommerceEngineDefinitionControllersPropsOption, ControllerDefinitionsMap, OptionsTuple } from './controller-definitions.js';
|
|
7
|
+
import type { CommerceEngineDefinitionBuildResult } from './engine.js';
|
|
8
|
+
export type HydratedState<TControllers extends ControllersMap> = CommerceEngineDefinitionBuildResult<TControllers>;
|
|
9
9
|
export interface HydrateStaticStateOptions<TSearchAction> {
|
|
10
10
|
searchActions: TSearchAction[];
|
|
11
11
|
}
|
|
@@ -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> &
|
|
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>>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { CommerceEngineConfiguration } from '../../../app/commerce-engine/commerce-engine.js';
|
|
2
|
-
import type { CommerceEngineDefinitionOptions } from '../factories/build-factory.js';
|
|
3
2
|
import type { CommonBuildConfig } from '../types/build.js';
|
|
4
|
-
import type { CommerceControllerDefinitionsMap } from '../types/engine.js';
|
|
3
|
+
import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions } from '../types/engine.js';
|
|
5
4
|
export declare function extendEngineConfiguration<TControllerDefinitions extends CommerceControllerDefinitionsMap>(configuration: CommerceEngineDefinitionOptions<TControllerDefinitions>['configuration'], commonBuildOptions: CommonBuildConfig): CommerceEngineConfiguration;
|
|
@@ -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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
|
+
import type { ControllerStaticState, ControllersMap } from './controllers.js';
|
|
3
|
+
export type InferControllerStaticStateFromController<TController extends Controller> = ControllerStaticState<TController['state']>;
|
|
4
|
+
export type InferControllerStaticStateMapFromControllers<TControllers extends ControllersMap> = {
|
|
5
|
+
[K in keyof TControllers]: InferControllerStaticStateFromController<TControllers[K]>;
|
|
6
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
|
|
2
1
|
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
3
2
|
export interface ControllersMap {
|
|
4
3
|
[customName: string]: Controller;
|
|
@@ -15,29 +14,6 @@ export interface BaseControllerDefinitionWithoutProps<TEngine, TController exten
|
|
|
15
14
|
export interface BaseControllerDefinitionWithProps<TEngine, TController extends Controller, TProps> {
|
|
16
15
|
buildWithProps(engine: TEngine, props?: TProps, ...args: unknown[]): TController;
|
|
17
16
|
}
|
|
18
|
-
export interface ControllerDefinitionWithoutProps<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller> {
|
|
19
|
-
/**
|
|
20
|
-
* Creates an instance of the given controller.
|
|
21
|
-
*
|
|
22
|
-
* @param engine - The search engine.
|
|
23
|
-
* @returns The controller.
|
|
24
|
-
*/
|
|
25
|
-
build(engine: TEngine): TController;
|
|
26
|
-
}
|
|
27
|
-
export interface ControllerDefinitionWithProps<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller, TProps> {
|
|
28
|
-
/**
|
|
29
|
-
* Creates an instance of the given controller.
|
|
30
|
-
*
|
|
31
|
-
* @param engine - The search engine.
|
|
32
|
-
* @param props - The controller properties.
|
|
33
|
-
* @returns The controller.
|
|
34
|
-
*/
|
|
35
|
-
buildWithProps(engine: TEngine, props?: TProps): TController;
|
|
36
|
-
}
|
|
37
|
-
export type ControllerDefinition<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller> = ControllerDefinitionWithoutProps<TEngine, TController> | ControllerDefinitionWithProps<TEngine, TController, unknown>;
|
|
38
|
-
export interface ControllerDefinitionsMap<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller> {
|
|
39
|
-
[customName: string]: ControllerDefinition<TEngine, TController>;
|
|
40
|
-
}
|
|
41
17
|
export interface ControllersPropsMap {
|
|
42
18
|
[customName: string]: unknown;
|
|
43
19
|
}
|
|
@@ -1,47 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type { EngineConfiguration } from '../../../app/engine-configuration.js';
|
|
4
|
-
import type { NavigatorContextProvider } from '../../../app/navigator-context-provider.js';
|
|
5
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
6
|
-
import type { Build } from './build.js';
|
|
7
|
-
import type { ControllerDefinitionsMap, ControllerStaticStateMap, ControllersMap, ControllersPropsMap } from './controllers.js';
|
|
8
|
-
import type { FetchStaticState } from './fetch-static-state.js';
|
|
9
|
-
import type { HydrateStaticState } from './hydrate-static-state.js';
|
|
10
|
-
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition } from './inference.js';
|
|
11
|
-
import type { HasKeys } from './utilities.js';
|
|
12
|
-
export type EngineDefinitionOptions<TOptions extends {
|
|
13
|
-
configuration: EngineConfiguration;
|
|
14
|
-
}, TControllers extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>> = TOptions & {
|
|
15
|
-
/**
|
|
16
|
-
* The controllers to initialize with the search engine.
|
|
17
|
-
*/
|
|
18
|
-
controllers?: TControllers;
|
|
19
|
-
};
|
|
20
|
-
export type EngineBuildResult<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllerDefinitionsMap<TEngine, Controller>, TEngineOptions> = Build<TEngine, TEngineOptions, InferControllersMapFromDefinition<TControllers>, InferControllerPropsMapFromDefinitions<TControllers>>;
|
|
21
|
-
export interface EngineDefinition<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllerDefinitionsMap<TEngine, Controller>> {
|
|
22
|
-
/**
|
|
23
|
-
* Fetches the static state on the server side using your engine definition.
|
|
24
|
-
*/
|
|
25
|
-
fetchStaticState: FetchStaticState<AnyAction, InferControllerStaticStateMapFromDefinitions<TControllers>, InferControllerPropsMapFromDefinitions<TControllers>>;
|
|
26
|
-
/**
|
|
27
|
-
* Fetches the hydrated state on the client side using your engine definition and the static state.
|
|
28
|
-
*/
|
|
29
|
-
hydrateStaticState: HydrateStaticState<TEngine, InferControllersMapFromDefinition<TControllers>, AnyAction, InferControllerPropsMapFromDefinitions<TControllers>>;
|
|
30
|
-
/**
|
|
31
|
-
* Sets the navigator context provider.
|
|
32
|
-
* 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.
|
|
33
|
-
*
|
|
34
|
-
* Note: The implementation specifics of the navigator context provider depend on the Node.js framework being utilized. It is the developer's responsibility to appropriately define and implement the navigator context provider to ensure accurate navigation context is available throughout the application. If the user fails to provide a navigator context provider, a warning will be logged either on the server or the browser console.
|
|
35
|
-
*/
|
|
36
|
-
setNavigatorContextProvider: (navigatorContextProvider: NavigatorContextProvider) => void;
|
|
37
|
-
}
|
|
38
|
-
export interface EngineDefinitionBuildResult<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllersMap> {
|
|
39
|
-
engine: TEngine;
|
|
40
|
-
controllers: TControllers;
|
|
41
|
-
}
|
|
42
|
-
export type EngineDefinitionControllersPropsOption<TControllersPropsMap extends ControllersPropsMap> = HasKeys<TControllersPropsMap> extends false ? {} : {
|
|
43
|
-
controllers: TControllersPropsMap;
|
|
44
|
-
};
|
|
1
|
+
import type { UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
+
import type { ControllerStaticStateMap } from './controllers.js';
|
|
45
3
|
export interface EngineStaticState<TSearchAction extends UnknownAction, TControllers extends ControllerStaticStateMap> {
|
|
46
4
|
searchAction: TSearchAction;
|
|
47
5
|
controllers: TControllers;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { UnknownAction } from '@reduxjs/toolkit';
|
|
2
2
|
import type { CoreEngine, CoreEngineNext } from '../../app/engine.js';
|
|
3
3
|
import type { Controller } from '../../controllers/controller/headless-controller.js';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition } from './types/inference.js';
|
|
4
|
+
import type { EngineStaticState } from '../common/types/engine.js';
|
|
5
|
+
import type { ControllerDefinitionsMap } from './types/controller-definition.js';
|
|
6
|
+
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition } from './types/controller-inference.js';
|
|
7
7
|
export declare function buildControllerDefinitions<TControllerDefinitionsMap extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>, TEngine extends CoreEngine | CoreEngineNext>({ definitionsMap, engine, propsMap, }: {
|
|
8
8
|
definitionsMap: TControllerDefinitionsMap;
|
|
9
9
|
engine: TEngine;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type BreadcrumbManager } from '../../../../controllers/breadcrumb-manager/headless-breadcrumb-manager.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../controllers/breadcrumb-manager/headless-breadcrumb-manager.js';
|
|
5
5
|
export interface BreadcrumbManagerDefinition extends ControllerDefinitionWithoutProps<SearchEngine, BreadcrumbManager> {
|
|
6
6
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type Context } from '../../../../controllers/context/headless-context.js';
|
|
3
3
|
import type { ContextProps } from '../../../../controllers/core/context/headless-core-context.js';
|
|
4
|
-
import type { ControllerDefinitionWithProps } from '
|
|
4
|
+
import type { ControllerDefinitionWithProps } from '../../types/controller-definition.js';
|
|
5
5
|
export * from '../../../../controllers/context/headless-context.js';
|
|
6
6
|
export interface ContextDefinition extends ControllerDefinitionWithProps<SearchEngine, Context, ContextProps> {
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CoreEngine } from '../../../../app/engine.js';
|
|
2
2
|
import { type DictionaryFieldContext } from '../../../../controllers/dictionary-field-context/headless-dictionary-field-context.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../controllers/dictionary-field-context/headless-dictionary-field-context.js';
|
|
5
5
|
export interface DictionaryFieldContextDefinition extends ControllerDefinitionWithoutProps<CoreEngine, DictionaryFieldContext> {
|
|
6
6
|
}
|
package/dist/definitions/ssr-next/search/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type DidYouMean } from '../../../../controllers/did-you-mean/headless-did-you-mean.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../controllers/did-you-mean/headless-did-you-mean.js';
|
|
5
5
|
export interface DidYouMeanDefinition extends ControllerDefinitionWithoutProps<SearchEngine, DidYouMean> {
|
|
6
6
|
}
|
package/dist/definitions/ssr-next/search/controllers/facet-manager/headless-facet-manager.ssr.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type FacetManager } from '../../../../controllers/facet-manager/headless-facet-manager.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../controllers/facet-manager/headless-facet-manager.js';
|
|
5
5
|
export interface FacetManagerDefinition extends ControllerDefinitionWithoutProps<SearchEngine, FacetManager> {
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type AutomaticFacetGenerator, type AutomaticFacetGeneratorProps } from '../../../../../controllers/facets/automatic-facet-generator/headless-automatic-facet-generator.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../controllers/facets/automatic-facet-generator/headless-automatic-facet-generator.js';
|
|
5
5
|
export interface AutomaticFacetGeneratorDefinition extends ControllerDefinitionWithoutProps<SearchEngine, AutomaticFacetGenerator> {
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type CategoryFacet, type CategoryFacetProps } from '../../../../../controllers/facets/category-facet/headless-category-facet.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../controllers/facets/category-facet/headless-category-facet.js';
|
|
5
5
|
export interface CategoryFacetDefinition extends ControllerDefinitionWithoutProps<SearchEngine, CategoryFacet> {
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type Facet, type FacetProps } from '../../../../../controllers/facets/facet/headless-facet.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../controllers/facets/facet/headless-facet.js';
|
|
5
5
|
export interface FacetDefinition extends ControllerDefinitionWithoutProps<SearchEngine, Facet> {
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type DateFacet, type DateFacetProps } from '../../../../../../controllers/facets/range-facet/date-facet/headless-date-facet.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../../controllers/facets/range-facet/date-facet/headless-date-facet.js';
|
|
5
5
|
export { buildDateRange } from '../../../../../../controllers/facets/range-facet/date-facet/headless-date-facet.js';
|
|
6
6
|
export interface DateFacetDefinition extends ControllerDefinitionWithoutProps<SearchEngine, DateFacet> {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type DateFilter, type DateFilterProps } from '../../../../../../controllers/facets/range-facet/date-facet/headless-date-filter.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../../controllers/facets/range-facet/date-facet/headless-date-filter.js';
|
|
5
5
|
export interface DateFilterDefinition extends ControllerDefinitionWithoutProps<SearchEngine, DateFilter> {
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type NumericFacet, type NumericFacetProps } from '../../../../../../controllers/facets/range-facet/numeric-facet/headless-numeric-facet.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../../controllers/facets/range-facet/numeric-facet/headless-numeric-facet.js';
|
|
5
5
|
export { buildNumericRange } from '../../../../../../controllers/facets/range-facet/numeric-facet/headless-numeric-facet.js';
|
|
6
6
|
export interface NumericFacetDefinition extends ControllerDefinitionWithoutProps<SearchEngine, NumericFacet> {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type NumericFilter, type NumericFilterProps } from '../../../../../../controllers/facets/range-facet/numeric-facet/headless-numeric-filter.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../../controllers/facets/range-facet/numeric-facet/headless-numeric-filter.js';
|
|
5
5
|
export interface NumericFilterDefinition extends ControllerDefinitionWithoutProps<SearchEngine, NumericFilter> {
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type CategoryFieldSuggestions, type CategoryFieldSuggestionsProps } from '../../../../../controllers/field-suggestions/category-facet/headless-category-field-suggestions.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../controllers/field-suggestions/category-facet/headless-category-field-suggestions.js';
|
|
5
5
|
export interface CategoryFieldSuggestionsDefinition extends ControllerDefinitionWithoutProps<SearchEngine, CategoryFieldSuggestions> {
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type FieldSuggestions, type FieldSuggestionsProps } from '../../../../../controllers/field-suggestions/facet/headless-field-suggestions.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../../controllers/field-suggestions/facet/headless-field-suggestions.js';
|
|
5
5
|
export interface FieldSuggestionsDefinition extends ControllerDefinitionWithoutProps<SearchEngine, FieldSuggestions> {
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SearchEngine } from '../../../../app/search-engine/search-engine.js';
|
|
2
2
|
import { type FoldedResultList, type FoldedResultListProps } from '../../../../controllers/folded-result-list/headless-folded-result-list.js';
|
|
3
|
-
import type { ControllerDefinitionWithoutProps } from '
|
|
3
|
+
import type { ControllerDefinitionWithoutProps } from '../../types/controller-definition.js';
|
|
4
4
|
export * from '../../../../controllers/folded-result-list/headless-folded-result-list.js';
|
|
5
5
|
export interface FoldedResultListDefinition extends ControllerDefinitionWithoutProps<SearchEngine, FoldedResultList> {
|
|
6
6
|
}
|