@coveo/headless 3.27.8-pre.5f8a67af1e → 3.27.8-pre.63fc406dfa
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/commerce/headless.cjs +1 -1
- package/dist/cjs/headless.cjs +1 -1
- package/dist/cjs/insight/headless.cjs +1 -1
- package/dist/cjs/recommendation/headless.cjs +1 -1
- package/dist/cjs/ssr/headless.cjs +1 -1
- package/dist/cjs/ssr-commerce/headless.cjs +1 -1
- package/dist/definitions/features/commerce/product-listing/product-listing-selectors.d.ts +2 -2
- package/dist/definitions/features/commerce/search/search-selectors.d.ts +2 -2
- package/dist/esm/utils/version.js +1 -1
- package/dist/quantic/case-assist/headless.js +1 -1
- package/dist/quantic/commerce/headless.js +1 -1
- package/dist/quantic/headless.js +1 -1
- package/dist/quantic/insight/headless.js +1 -1
- package/dist/quantic/recommendation/headless.js +1 -1
- package/package.json +1 -13
- package/dist/cjs/ssr-commerce-next/headless.cjs +0 -19530
- package/dist/cjs/ssr-commerce-next/node.cjs.stats.json +0 -1
- package/dist/cjs/ssr-next/headless.cjs +0 -22437
- package/dist/cjs/ssr-next/node.cjs.stats.json +0 -1
- package/dist/definitions/ssr-commerce-next.index.d.ts +0 -170
- package/dist/definitions/ssr-next/commerce/controller-utils.d.ts +0 -19
- package/dist/definitions/ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.d.ts +0 -10
- package/dist/definitions/ssr-next/commerce/controllers/cart/headless-cart.ssr.d.ts +0 -15
- package/dist/definitions/ssr-next/commerce/controllers/context/headless-context.ssr.d.ts +0 -12
- package/dist/definitions/ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +0 -10
- package/dist/definitions/ssr-next/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.d.ts +0 -15
- package/dist/definitions/ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.d.ts +0 -66
- package/dist/definitions/ssr-next/commerce/controllers/instant-products/headless-instant-products.ssr.d.ts +0 -12
- package/dist/definitions/ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.d.ts +0 -11
- package/dist/definitions/ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.d.ts +0 -25
- package/dist/definitions/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.d.ts +0 -12
- package/dist/definitions/ssr-next/commerce/controllers/product-view/headless-product-view.ssr.d.ts +0 -20
- package/dist/definitions/ssr-next/commerce/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/commerce/controllers/recommendations/headless-recommendations.ssr.d.ts +0 -17
- package/dist/definitions/ssr-next/commerce/controllers/search-box/headless-search-box.ssr.d.ts +0 -12
- package/dist/definitions/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.d.ts +0 -11
- package/dist/definitions/ssr-next/commerce/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-notify-trigger.ssr.d.ts +0 -12
- package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-query-trigger.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/commerce/controllers/triggers/headless-redirection-trigger.ssr.d.ts +0 -12
- package/dist/definitions/ssr-next/commerce/engine/commerce-engine.ssr.d.ts +0 -25
- package/dist/definitions/ssr-next/commerce/factories/build-factory.d.ts +0 -22
- package/dist/definitions/ssr-next/commerce/factories/hydrated-state-factory.d.ts +0 -4
- package/dist/definitions/ssr-next/commerce/factories/recommendation-hydrated-state-factory.d.ts +0 -3
- package/dist/definitions/ssr-next/commerce/factories/recommendation-static-state-factory.d.ts +0 -3
- package/dist/definitions/ssr-next/commerce/factories/static-state-factory.d.ts +0 -4
- package/dist/definitions/ssr-next/commerce/types/build.d.ts +0 -10
- package/dist/definitions/ssr-next/commerce/types/controller-constants.d.ts +0 -7
- package/dist/definitions/ssr-next/commerce/types/controller-definitions.d.ts +0 -220
- package/dist/definitions/ssr-next/commerce/types/controller-inference.d.ts +0 -24
- package/dist/definitions/ssr-next/commerce/types/controller-scopes.d.ts +0 -71
- package/dist/definitions/ssr-next/commerce/types/engine.d.ts +0 -75
- package/dist/definitions/ssr-next/commerce/types/fetch-static-state.d.ts +0 -17
- package/dist/definitions/ssr-next/commerce/types/from-build-result.d.ts +0 -19
- package/dist/definitions/ssr-next/commerce/types/hydrate-static-state.d.ts +0 -20
- package/dist/definitions/ssr-next/commerce/types/kind.d.ts +0 -9
- package/dist/definitions/ssr-next/commerce/utils/recommendation-filter.d.ts +0 -11
- package/dist/definitions/ssr-next/common/augment-preprocess-request.d.ts +0 -9
- package/dist/definitions/ssr-next/common/controller-utils.d.ts +0 -16
- package/dist/definitions/ssr-next/common/errors.d.ts +0 -9
- package/dist/definitions/ssr-next/common/types/build.d.ts +0 -9
- package/dist/definitions/ssr-next/common/types/controllers.d.ts +0 -37
- package/dist/definitions/ssr-next/common/types/engine.d.ts +0 -60
- package/dist/definitions/ssr-next/common/types/fetch-static-state.d.ts +0 -17
- package/dist/definitions/ssr-next/common/types/from-build-result.d.ts +0 -8
- package/dist/definitions/ssr-next/common/types/hydrate-static-state.d.ts +0 -21
- package/dist/definitions/ssr-next/common/types/inference.d.ts +0 -19
- package/dist/definitions/ssr-next/common/types/utilities.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/breadcrumb-manager/headless-breadcrumb-manager.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/context/headless-context.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/dictionary-field-context/headless-dictionary-field-context.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/facet-manager/headless-facet-manager.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/facets/automatic-facet-generator/headless-automatic-facet-generator.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/facets/category-facet/headless-category-facet.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/facets/facet/headless-facet.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-facet.ssr.d.ts +0 -15
- package/dist/definitions/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-filter.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-facet.ssr.d.ts +0 -15
- package/dist/definitions/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-filter.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/field-suggestions/category-facet/headless-category-field-suggestions.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/field-suggestions/facet/headless-field-suggestions.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/folded-result-list/headless-folded-result-list.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/history-manager/headless-history-manager.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/instant-results/instant-results.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/pager/headless-pager.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/query-error/headless-query-error.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/query-summary/headless-query-summary.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/quickview/headless-quickview.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/recent-results-list/headless-recent-results-list.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/relevance-inspector/headless-relevance-inspector.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/result-list/headless-result-list.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/results-per-page/headless-results-per-page.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/search-box/headless-search-box.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/search-parameter-manager/headless-search-parameter-manager.ssr.d.ts +0 -16
- package/dist/definitions/ssr-next/search/controllers/search-status/headless-search-status.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/smart-snippet/headless-smart-snippet.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/smart-snippet-questions-list/headless-smart-snippet-questions-list.ssr.d.ts +0 -15
- package/dist/definitions/ssr-next/search/controllers/sort/headless-sort.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/static-filter/headless-static-filter.ssr.d.ts +0 -15
- package/dist/definitions/ssr-next/search/controllers/tab/headless-tab.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/tab-manager/headless-tab-manager.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/triggers/headless-execute-trigger.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/triggers/headless-notify-trigger.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/triggers/headless-query-trigger.ssr.d.ts +0 -14
- package/dist/definitions/ssr-next/search/controllers/triggers/headless-redirection-trigger.ssr.d.ts +0 -13
- package/dist/definitions/ssr-next/search/controllers/url-manager/headless-url-manager.ssr.d.ts +0 -16
- package/dist/definitions/ssr-next/search/engine/search-engine.ssr.d.ts +0 -35
- package/dist/definitions/ssr-next.index.d.ts +0 -219
- package/dist/esm/ssr-commerce-next.index.js +0 -130
- package/dist/esm/ssr-next/commerce/controller-utils.js +0 -42
- package/dist/esm/ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.js +0 -21
- package/dist/esm/ssr-next/commerce/controllers/cart/headless-cart.ssr.js +0 -24
- package/dist/esm/ssr-next/commerce/controllers/context/headless-context.ssr.js +0 -24
- package/dist/esm/ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.js +0 -13
- package/dist/esm/ssr-next/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.js +0 -15
- package/dist/esm/ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.js +0 -93
- package/dist/esm/ssr-next/commerce/controllers/instant-products/headless-instant-products.ssr.js +0 -15
- package/dist/esm/ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.js +0 -22
- package/dist/esm/ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.js +0 -70
- package/dist/esm/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.js +0 -21
- package/dist/esm/ssr-next/commerce/controllers/product-view/headless-product-view.ssr.js +0 -29
- package/dist/esm/ssr-next/commerce/controllers/recent-queries-list/headless-recent-queries-list.ssr.js +0 -16
- package/dist/esm/ssr-next/commerce/controllers/recommendations/headless-recommendations.ssr.js +0 -25
- package/dist/esm/ssr-next/commerce/controllers/search-box/headless-search-box.ssr.js +0 -13
- package/dist/esm/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.js +0 -22
- package/dist/esm/ssr-next/commerce/controllers/standalone-search-box/headless-standalone-search-box.ssr.js +0 -15
- package/dist/esm/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.js +0 -21
- package/dist/esm/ssr-next/commerce/controllers/triggers/headless-notify-trigger.ssr.js +0 -14
- package/dist/esm/ssr-next/commerce/controllers/triggers/headless-query-trigger.ssr.js +0 -13
- package/dist/esm/ssr-next/commerce/controllers/triggers/headless-redirection-trigger.ssr.js +0 -13
- package/dist/esm/ssr-next/commerce/engine/commerce-engine.ssr.js +0 -68
- package/dist/esm/ssr-next/commerce/factories/build-factory.js +0 -90
- package/dist/esm/ssr-next/commerce/factories/hydrated-state-factory.js +0 -23
- package/dist/esm/ssr-next/commerce/factories/recommendation-hydrated-state-factory.js +0 -23
- package/dist/esm/ssr-next/commerce/factories/recommendation-static-state-factory.js +0 -36
- package/dist/esm/ssr-next/commerce/factories/static-state-factory.js +0 -41
- package/dist/esm/ssr-next/commerce/types/build.js +0 -1
- package/dist/esm/ssr-next/commerce/types/controller-constants.js +0 -9
- package/dist/esm/ssr-next/commerce/types/controller-definitions.js +0 -1
- package/dist/esm/ssr-next/commerce/types/controller-inference.js +0 -1
- package/dist/esm/ssr-next/commerce/types/controller-scopes.js +0 -1
- package/dist/esm/ssr-next/commerce/types/engine.js +0 -1
- package/dist/esm/ssr-next/commerce/types/fetch-static-state.js +0 -1
- package/dist/esm/ssr-next/commerce/types/from-build-result.js +0 -1
- package/dist/esm/ssr-next/commerce/types/hydrate-static-state.js +0 -1
- package/dist/esm/ssr-next/commerce/types/kind.js +0 -14
- package/dist/esm/ssr-next/commerce/utils/recommendation-filter.js +0 -49
- package/dist/esm/ssr-next/common/augment-preprocess-request.js +0 -23
- package/dist/esm/ssr-next/common/controller-utils.js +0 -29
- package/dist/esm/ssr-next/common/errors.js +0 -25
- package/dist/esm/ssr-next/common/types/build.js +0 -1
- package/dist/esm/ssr-next/common/types/controllers.js +0 -1
- package/dist/esm/ssr-next/common/types/engine.js +0 -1
- package/dist/esm/ssr-next/common/types/fetch-static-state.js +0 -1
- package/dist/esm/ssr-next/common/types/from-build-result.js +0 -1
- package/dist/esm/ssr-next/common/types/hydrate-static-state.js +0 -1
- package/dist/esm/ssr-next/common/types/inference.js +0 -1
- package/dist/esm/ssr-next/common/types/utilities.js +0 -1
- package/dist/esm/ssr-next/search/controllers/breadcrumb-manager/headless-breadcrumb-manager.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/context/headless-context.ssr.js +0 -19
- package/dist/esm/ssr-next/search/controllers/dictionary-field-context/headless-dictionary-field-context.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/did-you-mean/headless-did-you-mean.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/facet-manager/headless-facet-manager.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/facets/automatic-facet-generator/headless-automatic-facet-generator.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/facets/category-facet/headless-category-facet.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/facets/facet/headless-facet.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-facet.ssr.js +0 -15
- package/dist/esm/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-filter.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-facet.ssr.js +0 -15
- package/dist/esm/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-filter.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/field-suggestions/category-facet/headless-category-field-suggestions.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/field-suggestions/facet/headless-field-suggestions.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/folded-result-list/headless-folded-result-list.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/history-manager/headless-history-manager.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/instant-results/instant-results.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/pager/headless-pager.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/query-error/headless-query-error.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/query-summary/headless-query-summary.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/quickview/headless-quickview.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/recent-queries-list/headless-recent-queries-list.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/recent-results-list/headless-recent-results-list.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/relevance-inspector/headless-relevance-inspector.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/result-list/headless-result-list.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/results-per-page/headless-results-per-page.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/search-box/headless-search-box.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/search-parameter-manager/headless-search-parameter-manager.ssr.js +0 -58
- package/dist/esm/ssr-next/search/controllers/search-status/headless-search-status.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/smart-snippet/headless-smart-snippet.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/smart-snippet-questions-list/headless-smart-snippet-questions-list.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/sort/headless-sort.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/standalone-search-box/headless-standalone-search-box.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/static-filter/headless-static-filter.ssr.js +0 -15
- package/dist/esm/ssr-next/search/controllers/tab/headless-tab.ssr.js +0 -14
- package/dist/esm/ssr-next/search/controllers/tab-manager/headless-tab-manager.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/triggers/headless-execute-trigger.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/triggers/headless-notify-trigger.ssr.js +0 -12
- package/dist/esm/ssr-next/search/controllers/triggers/headless-query-trigger.ssr.js +0 -13
- package/dist/esm/ssr-next/search/controllers/triggers/headless-redirection-trigger.ssr.js +0 -12
- package/dist/esm/ssr-next/search/controllers/url-manager/headless-url-manager.ssr.js +0 -16
- package/dist/esm/ssr-next/search/engine/search-engine.ssr.js +0 -105
- package/dist/esm/ssr-next.index.js +0 -146
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { SolutionType } from '../types/controller-constants.js';
|
|
2
|
-
import type { CommerceControllerDefinitionsMap, HydrateStaticStateFunction } from '../types/engine.js';
|
|
3
|
-
import { type CommerceEngineDefinitionOptions } from './build-factory.js';
|
|
4
|
-
export declare const hydratedStaticStateFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => (solutionType: SolutionType) => HydrateStaticStateFunction<TControllerDefinitions>;
|
package/dist/definitions/ssr-next/commerce/factories/recommendation-hydrated-state-factory.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { CommerceControllerDefinitionsMap, HydrateStaticStateFunction } from '../types/engine.js';
|
|
2
|
-
import { type CommerceEngineDefinitionOptions } from './build-factory.js';
|
|
3
|
-
export declare function hydratedRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): HydrateStaticStateFunction<TControllerDefinitions>;
|
package/dist/definitions/ssr-next/commerce/factories/recommendation-static-state-factory.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { CommerceControllerDefinitionsMap, FetchStaticStateFunction } from '../types/engine.js';
|
|
2
|
-
import { type CommerceEngineDefinitionOptions } from './build-factory.js';
|
|
3
|
-
export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): FetchStaticStateFunction<TControllerDefinitions>;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { SolutionType } from '../types/controller-constants.js';
|
|
2
|
-
import type { CommerceControllerDefinitionsMap, FetchStaticStateFunction } from '../types/engine.js';
|
|
3
|
-
import { type CommerceEngineDefinitionOptions } from './build-factory.js';
|
|
4
|
-
export declare const fetchStaticStateFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => (solutionType: SolutionType) => FetchStaticStateFunction<TControllerDefinitions>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
|
-
import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
|
|
3
|
-
import type { OptionsExtender, OptionsTuple } from '../../common/types/utilities.js';
|
|
4
|
-
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
5
|
-
import type { SolutionType } from './controller-constants.js';
|
|
6
|
-
import type { ControllerDefinitionsMap, EngineDefinitionBuildResult, EngineDefinitionControllersPropsOption } from './controller-definitions.js';
|
|
7
|
-
export interface BuildOptions<TEngineOptions> {
|
|
8
|
-
extend?: OptionsExtender<TEngineOptions>;
|
|
9
|
-
}
|
|
10
|
-
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,220 +0,0 @@
|
|
|
1
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
|
-
import type { InvalidControllerDefinition } from '../../common/errors.js';
|
|
3
|
-
import type { ControllersPropsMap } from '../../common/types/controllers.js';
|
|
4
|
-
import type { EngineDefinitionBuildResult } from '../../common/types/engine.js';
|
|
5
|
-
import type { HydratedState } from '../../common/types/hydrate-static-state.js';
|
|
6
|
-
import type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers } from '../../common/types/inference.js';
|
|
7
|
-
import type { HasKey, HasOptionalKeys, HasRequiredKeys, OptionsTuple } from '../../common/types/utilities.js';
|
|
8
|
-
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
9
|
-
import { type recommendationInternalOptionKey, SolutionType } from './controller-constants.js';
|
|
10
|
-
import type { ListingAndStandaloneController, ListingOnlyController, NonRecommendationController, RecommendationOnlyController, SearchAndListingController, SearchOnlyController, UniversalController } from './controller-scopes.js';
|
|
11
|
-
import type { Kind } from './kind.js';
|
|
12
|
-
export type { EngineDefinitionBuildResult, HydratedState, OptionsTuple, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, };
|
|
13
|
-
export type RecommendationControllerSettings = {
|
|
14
|
-
/**
|
|
15
|
-
* Toggle to enable or disable the recommendation controller.
|
|
16
|
-
* When set to `true`, the controller will perform a recommendation request server-side.
|
|
17
|
-
*
|
|
18
|
-
* @default false
|
|
19
|
-
*/
|
|
20
|
-
enabled?: boolean;
|
|
21
|
-
};
|
|
22
|
-
export interface ControllerDefinitionWithoutProps<TController extends Controller> {
|
|
23
|
-
/**
|
|
24
|
-
* Creates an instance of the given controller.
|
|
25
|
-
*
|
|
26
|
-
* @param engine - The search engine.
|
|
27
|
-
* @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.
|
|
28
|
-
* @returns The created controller instance.
|
|
29
|
-
*/
|
|
30
|
-
build(engine: SSRCommerceEngine, solutionType?: SolutionType): TController;
|
|
31
|
-
}
|
|
32
|
-
export interface ControllerWithKind extends Controller {
|
|
33
|
-
_kind: Kind;
|
|
34
|
-
}
|
|
35
|
-
export interface ControllerDefinitionWithProps<TController extends Controller, TProps> {
|
|
36
|
-
/**
|
|
37
|
-
* Creates an instance of the given controller.
|
|
38
|
-
*
|
|
39
|
-
* @param engine - The search engine.
|
|
40
|
-
* @param props - The controller properties.
|
|
41
|
-
* @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.
|
|
42
|
-
* @returns The created controller instance.
|
|
43
|
-
*/
|
|
44
|
-
buildWithProps(engine: SSRCommerceEngine, props?: TProps, solutionType?: SolutionType): TController & ControllerWithKind;
|
|
45
|
-
}
|
|
46
|
-
interface SolutionTypeAvailability {
|
|
47
|
-
[SolutionType.search]?: boolean;
|
|
48
|
-
[SolutionType.listing]?: boolean;
|
|
49
|
-
[SolutionType.standalone]?: boolean;
|
|
50
|
-
[SolutionType.recommendation]?: boolean;
|
|
51
|
-
}
|
|
52
|
-
export type ControllerDefinition<TController extends Controller> = SolutionTypeAvailability & (ControllerDefinitionWithoutProps<TController> | ControllerDefinitionWithProps<TController, unknown>);
|
|
53
|
-
export interface ControllerDefinitionsMap<TController extends Controller> {
|
|
54
|
-
[customName: string]: ControllerDefinition<TController>;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* This type defines the required and optional controller props for the engine definition.
|
|
58
|
-
*/
|
|
59
|
-
export type EngineDefinitionControllersPropsOption<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, TSolutionType extends SolutionType> = OptionalEngineDefinitionControllersPropsOption<TControllers, TControllersPropsMap, TSolutionType> & RequiredEngineDefinitionControllersPropsOption<TControllers, TControllersPropsMap, TSolutionType>;
|
|
60
|
-
/**
|
|
61
|
-
* Represents an optional engine definition for controller properties.
|
|
62
|
-
*
|
|
63
|
-
* This type is used to define a map of optional controller properties based on the provided
|
|
64
|
-
* controller definitions, controller properties map, and solution type.
|
|
65
|
-
*
|
|
66
|
-
* @template TControllers - A map of controller definitions.
|
|
67
|
-
* @template TControllersPropsMap - A map of controller properties.
|
|
68
|
-
* @template TSolutionType - The type of solution.
|
|
69
|
-
*
|
|
70
|
-
* The type iterates over the controller keys (defined in the engine definition) and includes only those keys where:
|
|
71
|
-
* 1. The controller can be used for a specific solution type (HasKey<TControllers[K], TSolutionType> is not 'never').
|
|
72
|
-
* 2. The controller properties have optional options (HasOptionalKeys<ConditionalControllerProps<...>> is true).
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* Given the following controller definitions:
|
|
76
|
-
* ```
|
|
77
|
-
* const {recommendationEngineDefinition} = defineCommerceEngine({
|
|
78
|
-
* controllers: {
|
|
79
|
-
* popularViewed: defineRecommendations({
|
|
80
|
-
* options: {slotId: 'slot-id'}
|
|
81
|
-
* })
|
|
82
|
-
* }
|
|
83
|
-
* });
|
|
84
|
-
* ```
|
|
85
|
-
*
|
|
86
|
-
* The following code will not throw an error since the 'popularViewed' controller props are optional
|
|
87
|
-
* ```
|
|
88
|
-
* recommendationEngineDefinition.fetchStaticState({
|
|
89
|
-
* controllers: {
|
|
90
|
-
* popularViewed: {enabled: true, productId: 'some-product-id'} // This is optional
|
|
91
|
-
* }
|
|
92
|
-
* })
|
|
93
|
-
* ```
|
|
94
|
-
*
|
|
95
|
-
* The following code (with no arguments) is also valid because the 'popularViewed' controller props are optional, and there are no other required controller props in the engine definition.
|
|
96
|
-
* ```
|
|
97
|
-
* recommendationEngineDefinition.fetchStaticState()
|
|
98
|
-
* ```
|
|
99
|
-
*/
|
|
100
|
-
type OptionalEngineDefinitionControllersPropsOption<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, TSolutionType extends SolutionType> = {
|
|
101
|
-
[K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : HasOptionalKeys<ConditionalControllerProps<TControllers, TControllersPropsMap, TSolutionType, K>> extends false ? never : 'controllers']?: ConditionalControllerProps<TControllers, TControllersPropsMap, TSolutionType, K>;
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* Represents a type that defines the required controller properties for engine definition controllers.
|
|
105
|
-
*
|
|
106
|
-
* @template TControllers - A map of controller definitions.
|
|
107
|
-
* @template TControllersPropsMap - A map of controller properties.
|
|
108
|
-
* @template TSolutionType - The type of solution being used.
|
|
109
|
-
*
|
|
110
|
-
* The type iterates over the controller keys (defined in the engine definition) and includes only those keys where:
|
|
111
|
-
* 1. The controller can be used for a specific solution type (HasKey<TControllers[K], TSolutionType> is not 'never').
|
|
112
|
-
* 2. The controller properties have required options (HasRequiredKeys<ConditionalControllerProps<...>> is true).
|
|
113
|
-
*
|
|
114
|
-
* The resulting type maps the valid keys to their corresponding conditional controller properties.
|
|
115
|
-
*
|
|
116
|
-
* @example
|
|
117
|
-
* Given the following controller definitions:
|
|
118
|
-
* ```
|
|
119
|
-
* const {standaloneEngineDefinition} = defineCommerceEngine({
|
|
120
|
-
* controllers: {cart: defineCart()},
|
|
121
|
-
* });
|
|
122
|
-
* ```
|
|
123
|
-
*
|
|
124
|
-
* The following code will not throw an error since the 'cart' controller props are required for the standalone engine definition:
|
|
125
|
-
* ```
|
|
126
|
-
* standaloneEngineDefinition.fetchStaticState({
|
|
127
|
-
* controllers: {
|
|
128
|
-
* cart: {initialState: {items: []}},
|
|
129
|
-
* },
|
|
130
|
-
* })
|
|
131
|
-
* ```
|
|
132
|
-
*
|
|
133
|
-
*/
|
|
134
|
-
type RequiredEngineDefinitionControllersPropsOption<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, TSolutionType extends SolutionType> = {
|
|
135
|
-
[K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : HasRequiredKeys<ConditionalControllerProps<TControllers, TControllersPropsMap, TSolutionType, K>> extends false ? never : 'controllers']: ConditionalControllerProps<TControllers, TControllersPropsMap, TSolutionType, K>;
|
|
136
|
-
};
|
|
137
|
-
type IsRecommendationController<TController extends ControllerDefinition<Controller>> = HasKey<TController, typeof recommendationInternalOptionKey>;
|
|
138
|
-
/**
|
|
139
|
-
* This type ensures that recommendation controller props are optional, while other controller props remain required.
|
|
140
|
-
*
|
|
141
|
-
* It works by checking if the controller definition includes the `recommendationInternalOptionKey`.
|
|
142
|
-
*
|
|
143
|
-
* - If the key is present, the controller props are made optional.
|
|
144
|
-
* - If the key is absent, the controller props are required.
|
|
145
|
-
*
|
|
146
|
-
* Example:
|
|
147
|
-
*
|
|
148
|
-
* ```typescript
|
|
149
|
-
* type ControllerProps = InferControllerPropsFromDefinition<{
|
|
150
|
-
* recommendation: defineRecommendation({}),
|
|
151
|
-
* cart: defineCart(),
|
|
152
|
-
* }>;
|
|
153
|
-
*
|
|
154
|
-
* // In this example:
|
|
155
|
-
* // - The `recommendation` controller props are optional.
|
|
156
|
-
* // - The `cart` controller props are required.
|
|
157
|
-
*
|
|
158
|
-
* const props: ControllerProps = {
|
|
159
|
-
* cart: {initialState: {items: []}},
|
|
160
|
-
* // recommendation props can be omitted
|
|
161
|
-
* };
|
|
162
|
-
* ```
|
|
163
|
-
*/
|
|
164
|
-
type RecommendationControllerProps<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, K extends keyof TControllers> = {
|
|
165
|
-
[I in keyof TControllersPropsMap as I extends K ? IsRecommendationController<TControllers[I]> extends never ? never : I : never]?: TControllersPropsMap[I];
|
|
166
|
-
} & {
|
|
167
|
-
[I in keyof TControllersPropsMap as I extends K ? IsRecommendationController<TControllers[I]> extends never ? I : never : never]: TControllersPropsMap[I];
|
|
168
|
-
};
|
|
169
|
-
type DefaultControllerProps<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, K extends keyof TControllers> = {
|
|
170
|
-
[I in keyof TControllersPropsMap as I extends K ? I : never]: TControllersPropsMap[I];
|
|
171
|
-
};
|
|
172
|
-
type ConditionalControllerProps<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, TSolutionType extends SolutionType, K extends keyof TControllers> = TSolutionType extends SolutionType.recommendation ? RecommendationControllerProps<TControllers, TControllersPropsMap, K> : DefaultControllerProps<TControllers, TControllersPropsMap, K>;
|
|
173
|
-
export interface ControllerDefinitionOption {
|
|
174
|
-
/**
|
|
175
|
-
* Whether the controller will be used in a product listing context.
|
|
176
|
-
* @defaultValue true
|
|
177
|
-
*/
|
|
178
|
-
listing?: boolean;
|
|
179
|
-
/**
|
|
180
|
-
* Whether the controller will be used in a search page context.
|
|
181
|
-
* @defaultValue true
|
|
182
|
-
*/
|
|
183
|
-
search?: boolean;
|
|
184
|
-
}
|
|
185
|
-
export type SearchOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & SearchOnlyController;
|
|
186
|
-
type SearchOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchOnlyController;
|
|
187
|
-
export type ListingAndStandaloneControllerWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & ListingAndStandaloneController;
|
|
188
|
-
type ListingOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & ListingOnlyController;
|
|
189
|
-
type ListingOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & ListingOnlyController;
|
|
190
|
-
export type RecommendationOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & RecommendationOnlyController;
|
|
191
|
-
export type NonRecommendationControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & NonRecommendationController;
|
|
192
|
-
export type UniversalControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & UniversalController;
|
|
193
|
-
export type SearchAndListingControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & SearchAndListingController;
|
|
194
|
-
type SearchAndListingControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchAndListingController;
|
|
195
|
-
export type SubControllerDefinitionWithoutProps<TController extends Controller, TDefinition extends ControllerDefinitionOption | undefined> = TDefinition extends {
|
|
196
|
-
listing?: true;
|
|
197
|
-
search?: true;
|
|
198
|
-
} | undefined ? SearchAndListingControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
199
|
-
listing?: true;
|
|
200
|
-
search?: false;
|
|
201
|
-
} ? ListingOnlyControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
202
|
-
listing?: false;
|
|
203
|
-
search?: true;
|
|
204
|
-
} ? SearchOnlyControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
205
|
-
listing: false;
|
|
206
|
-
search: false;
|
|
207
|
-
} ? InvalidControllerDefinition : never;
|
|
208
|
-
export type SubControllerDefinitionWithProps<TController extends Controller, TDefinition extends ControllerDefinitionOption | undefined, TProps> = TDefinition extends {
|
|
209
|
-
listing?: true;
|
|
210
|
-
search?: true;
|
|
211
|
-
} | undefined ? SearchAndListingControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
212
|
-
listing?: true;
|
|
213
|
-
search?: false;
|
|
214
|
-
} ? ListingOnlyControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
215
|
-
listing?: false;
|
|
216
|
-
search?: true;
|
|
217
|
-
} ? SearchOnlyControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
218
|
-
listing: false;
|
|
219
|
-
search: false;
|
|
220
|
-
} ? InvalidControllerDefinition : never;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
|
-
import type { HasKey, HasKeys } from '../../common/types/utilities.js';
|
|
3
|
-
import type { recommendationInternalOptionKey, SolutionType } from './controller-constants.js';
|
|
4
|
-
import type { ControllerDefinition, ControllerDefinitionsMap, ControllerDefinitionWithoutProps, ControllerDefinitionWithProps, InferControllerStaticStateFromController, RecommendationControllerSettings } from './controller-definitions.js';
|
|
5
|
-
export type InferStaticState<T extends {
|
|
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']>>;
|
|
11
|
-
export type InferBuildResult<T extends {
|
|
12
|
-
build(...args: unknown[]): Promise<unknown>;
|
|
13
|
-
}> = Awaited<ReturnType<T['build']>>;
|
|
14
|
-
export type InferControllerPropsFromDefinition<TController extends ControllerDefinition<Controller>> = TController extends ControllerDefinitionWithProps<Controller, infer Props> ? HasKey<TController, typeof recommendationInternalOptionKey> extends never ? Props : Props & RecommendationControllerSettings : TController extends ControllerDefinitionWithoutProps<Controller> ? HasKey<TController, typeof recommendationInternalOptionKey> extends never ? {} : RecommendationControllerSettings : unknown;
|
|
15
|
-
export type InferControllerPropsMapFromDefinitions<TControllers extends ControllerDefinitionsMap<Controller>> = {
|
|
16
|
-
[K in keyof TControllers as HasKeys<InferControllerPropsFromDefinition<TControllers[K]>> extends false ? never : K]: InferControllerPropsFromDefinition<TControllers[K]>;
|
|
17
|
-
};
|
|
18
|
-
export type InferControllerFromDefinition<TDefinition extends ControllerDefinition<Controller>> = TDefinition extends ControllerDefinition<infer TController> ? TController : never;
|
|
19
|
-
export type InferControllersMapFromDefinition<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
|
|
20
|
-
[K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : K]: InferControllerFromDefinition<TControllers[K]>;
|
|
21
|
-
};
|
|
22
|
-
export type InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
|
|
23
|
-
[K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : K]: InferControllerStaticStateFromController<InferControllerFromDefinition<TControllers[K]>>;
|
|
24
|
-
};
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { SolutionType } from './controller-constants.js';
|
|
2
|
-
export interface NonRecommendationController {
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
[SolutionType.search]: true;
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
[SolutionType.listing]: true;
|
|
11
|
-
/**
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
-
[SolutionType.standalone]: true;
|
|
15
|
-
}
|
|
16
|
-
export interface UniversalController {
|
|
17
|
-
/**
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
20
|
-
[SolutionType.search]: true;
|
|
21
|
-
/**
|
|
22
|
-
* @internal
|
|
23
|
-
*/
|
|
24
|
-
[SolutionType.listing]: true;
|
|
25
|
-
/**
|
|
26
|
-
* @internal
|
|
27
|
-
*/
|
|
28
|
-
[SolutionType.standalone]: true;
|
|
29
|
-
/**
|
|
30
|
-
* @internal
|
|
31
|
-
*/
|
|
32
|
-
[SolutionType.recommendation]: true;
|
|
33
|
-
}
|
|
34
|
-
export interface SearchOnlyController {
|
|
35
|
-
/**
|
|
36
|
-
* @internal
|
|
37
|
-
*/
|
|
38
|
-
[SolutionType.search]: true;
|
|
39
|
-
}
|
|
40
|
-
export interface ListingOnlyController {
|
|
41
|
-
/**
|
|
42
|
-
* @internal
|
|
43
|
-
*/
|
|
44
|
-
[SolutionType.listing]: true;
|
|
45
|
-
}
|
|
46
|
-
export interface RecommendationOnlyController {
|
|
47
|
-
/**
|
|
48
|
-
* @internal
|
|
49
|
-
*/
|
|
50
|
-
[SolutionType.recommendation]: true;
|
|
51
|
-
}
|
|
52
|
-
export interface SearchAndListingController {
|
|
53
|
-
/**
|
|
54
|
-
* @internal
|
|
55
|
-
*/
|
|
56
|
-
[SolutionType.search]: true;
|
|
57
|
-
/**
|
|
58
|
-
* @internal
|
|
59
|
-
*/
|
|
60
|
-
[SolutionType.listing]: true;
|
|
61
|
-
}
|
|
62
|
-
export interface ListingAndStandaloneController {
|
|
63
|
-
/**
|
|
64
|
-
* @internal
|
|
65
|
-
*/
|
|
66
|
-
[SolutionType.listing]: true;
|
|
67
|
-
/**
|
|
68
|
-
* @internal
|
|
69
|
-
*/
|
|
70
|
-
[SolutionType.standalone]: true;
|
|
71
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import type { UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
-
import type { EngineConfiguration } from '../../../app/engine-configuration.js';
|
|
3
|
-
import type { NavigatorContextProvider } from '../../../app/navigator-context-provider.js';
|
|
4
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
5
|
-
import type { ControllerStaticStateMap } from '../../common/types/controllers.js';
|
|
6
|
-
import type { FromBuildResultOptions } from '../../common/types/from-build-result.js';
|
|
7
|
-
import type { CommerceEngineDefinition } from '../engine/commerce-engine.ssr.js';
|
|
8
|
-
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
9
|
-
import type { Build, BuildOptions } from './build.js';
|
|
10
|
-
import type { SolutionType } from './controller-constants.js';
|
|
11
|
-
import type { ControllerDefinitionsMap } from './controller-definitions.js';
|
|
12
|
-
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition } from './controller-inference.js';
|
|
13
|
-
import type { FetchStaticState, FetchStaticStateOptions } from './fetch-static-state.js';
|
|
14
|
-
import type { FromBuildResult } from './from-build-result.js';
|
|
15
|
-
import type { HydrateStaticState, HydrateStaticStateOptions } from './hydrate-static-state.js';
|
|
16
|
-
export type { FromBuildResult, FromBuildResultOptions, HydrateStaticState, HydrateStaticStateOptions, FetchStaticState, FetchStaticStateOptions, Build, BuildOptions, };
|
|
17
|
-
export interface EngineStaticState<TSearchAction extends UnknownAction, TControllers extends ControllerStaticStateMap> {
|
|
18
|
-
searchActions: TSearchAction[];
|
|
19
|
-
controllers: TControllers;
|
|
20
|
-
}
|
|
21
|
-
export type EngineDefinitionOptions<TOptions extends {
|
|
22
|
-
configuration: EngineConfiguration;
|
|
23
|
-
}, TControllers extends ControllerDefinitionsMap<Controller>> = TOptions & {
|
|
24
|
-
/**
|
|
25
|
-
* The controllers to initialize with the commerce engine.
|
|
26
|
-
*/
|
|
27
|
-
controllers?: TControllers;
|
|
28
|
-
};
|
|
29
|
-
export interface EngineDefinition<TControllers extends ControllerDefinitionsMap<Controller>, TEngineOptions, TSolutionType extends SolutionType> {
|
|
30
|
-
/**
|
|
31
|
-
* Fetches the static state on the server side using your engine definition.
|
|
32
|
-
*/
|
|
33
|
-
fetchStaticState: FetchStaticState<InferControllersMapFromDefinition<TControllers, TSolutionType>, UnknownAction, InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllers, TSolutionType>, InferControllerPropsMapFromDefinitions<TControllers>, TControllers, TSolutionType>;
|
|
34
|
-
/**
|
|
35
|
-
* Fetches the hydrated state on the client side using your engine definition and the static state.
|
|
36
|
-
*/
|
|
37
|
-
hydrateStaticState: HydrateStaticState<InferControllersMapFromDefinition<TControllers, TSolutionType>, UnknownAction, InferControllerPropsMapFromDefinitions<TControllers>, TControllers, TSolutionType>;
|
|
38
|
-
/**
|
|
39
|
-
* Builds an engine and its controllers from an engine definition.
|
|
40
|
-
*/
|
|
41
|
-
build: Build<TEngineOptions, InferControllersMapFromDefinition<TControllers, TSolutionType>, InferControllerPropsMapFromDefinitions<TControllers>, TControllers, TSolutionType>;
|
|
42
|
-
/**
|
|
43
|
-
* Sets the navigator context provider.
|
|
44
|
-
* 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.
|
|
45
|
-
*
|
|
46
|
-
* 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.
|
|
47
|
-
*/
|
|
48
|
-
setNavigatorContextProvider: (navigatorContextProvider: NavigatorContextProvider) => void;
|
|
49
|
-
/**
|
|
50
|
-
* Returns the access token.
|
|
51
|
-
*/
|
|
52
|
-
getAccessToken: () => string;
|
|
53
|
-
/**
|
|
54
|
-
* Updates the access token.
|
|
55
|
-
* @param accessToken - The access token to update.
|
|
56
|
-
*/
|
|
57
|
-
setAccessToken: (accessToken: string) => void;
|
|
58
|
-
}
|
|
59
|
-
export type CommerceControllerDefinitionsMap = ControllerDefinitionsMap<Controller>;
|
|
60
|
-
type Definition<TControllerDefinitions extends CommerceControllerDefinitionsMap> = CommerceEngineDefinition<TControllerDefinitions, SolutionType>;
|
|
61
|
-
type BuildFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['build'];
|
|
62
|
-
export type FetchStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['fetchStaticState'];
|
|
63
|
-
export type HydrateStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['hydrateStaticState'];
|
|
64
|
-
type FetchStaticStateFromBuildResultFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = FetchStaticStateFunction<TControllerDefinitions>['fromBuildResult'];
|
|
65
|
-
type HydrateStaticStateFromBuildResultFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = HydrateStaticStateFunction<TControllerDefinitions>['fromBuildResult'];
|
|
66
|
-
export type BuildParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<BuildFunction<TControllerDefinitions>>;
|
|
67
|
-
export type FetchStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<FetchStaticStateFunction<TControllerDefinitions>>;
|
|
68
|
-
export type HydrateStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<HydrateStaticStateFunction<TControllerDefinitions>>;
|
|
69
|
-
export type FetchStaticStateFromBuildResultParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<FetchStaticStateFromBuildResultFunction<TControllerDefinitions>>;
|
|
70
|
-
export type HydrateStaticStateFromBuildResultParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<HydrateStaticStateFromBuildResultFunction<TControllerDefinitions>>;
|
|
71
|
-
type Controllers<TControllerDefinitions extends CommerceControllerDefinitionsMap> = InferControllersMapFromDefinition<TControllerDefinitions, SolutionType>;
|
|
72
|
-
export type BuildResult<TControllerDefinitions extends CommerceControllerDefinitionsMap> = {
|
|
73
|
-
engine: SSRCommerceEngine;
|
|
74
|
-
controllers: Controllers<TControllerDefinitions>;
|
|
75
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
3
|
-
import type { ControllerStaticStateMap, ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
|
|
4
|
-
import type { SolutionType } from './controller-constants.js';
|
|
5
|
-
import type { ControllerDefinitionsMap, EngineDefinitionControllersPropsOption, OptionsTuple } from './controller-definitions.js';
|
|
6
|
-
import type { EngineStaticState } from './engine.js';
|
|
7
|
-
import type { FromBuildResult } from './from-build-result.js';
|
|
8
|
-
export type FetchStaticStateOptions = {};
|
|
9
|
-
export type FetchStaticState<TControllers extends ControllersMap, TSearchAction extends UnknownAction, TControllersStaticState extends ControllerStaticStateMap, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
|
|
10
|
-
/**
|
|
11
|
-
* Executes only the initial search for a given configuration, then returns a resumable snapshot of engine state along with the state of the controllers.
|
|
12
|
-
*
|
|
13
|
-
* Useful for static generation and server-side rendering.
|
|
14
|
-
*/
|
|
15
|
-
(...params: OptionsTuple<FetchStaticStateOptions & EngineDefinitionControllersPropsOption<TControllersDefinitionsMap, TControllersProps, TSolutionType>>): Promise<EngineStaticState<TSearchAction, TControllersStaticState>>;
|
|
16
|
-
fromBuildResult: FromBuildResult<TControllers, FetchStaticStateOptions, EngineStaticState<TSearchAction, TControllersStaticState>>;
|
|
17
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { ControllersMap } from '../../common/types/controllers.js';
|
|
2
|
-
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
3
|
-
import type { EngineDefinitionBuildResult } from './controller-definitions.js';
|
|
4
|
-
interface FromBuildResultOptions<TControllers extends ControllersMap> {
|
|
5
|
-
/**
|
|
6
|
-
* The build result of the engine
|
|
7
|
-
*/
|
|
8
|
-
buildResult: EngineDefinitionBuildResult<SSRCommerceEngine, TControllers>;
|
|
9
|
-
/**
|
|
10
|
-
* An optional array of keys representing the recommendation controllers to refresh.
|
|
11
|
-
* If a recommendation key defined in your engine definition is present in this list, the associate recommendation controller
|
|
12
|
-
* will query the API.
|
|
13
|
-
*
|
|
14
|
-
* This is applicable only if the engine is a recommendation engine.
|
|
15
|
-
*/
|
|
16
|
-
allowedRecommendationKeys?: string[];
|
|
17
|
-
}
|
|
18
|
-
export type FromBuildResult<TControllers extends ControllersMap, TOptions, TReturn> = (options: FromBuildResultOptions<TControllers> & TOptions) => Promise<TReturn>;
|
|
19
|
-
export {};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
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
|
-
import type { SolutionType } from './controller-constants.js';
|
|
7
|
-
import type { ControllerDefinitionsMap, EngineDefinitionControllersPropsOption, OptionsTuple } from './controller-definitions.js';
|
|
8
|
-
import type { FromBuildResult } from './from-build-result.js';
|
|
9
|
-
export interface HydrateStaticStateOptions<TSearchAction> {
|
|
10
|
-
searchActions: TSearchAction[];
|
|
11
|
-
}
|
|
12
|
-
export type HydrateStaticState<TControllers extends ControllersMap, TSearchAction extends UnknownAction, TControllersProps extends ControllersPropsMap, TControllersDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
|
|
13
|
-
/**
|
|
14
|
-
* Creates a new engine from the snapshot of the engine created in SSR with fetchStaticState.
|
|
15
|
-
*
|
|
16
|
-
* Useful when hydrating a server-side-rendered engine.
|
|
17
|
-
*/
|
|
18
|
-
(...params: OptionsTuple<HydrateStaticStateOptions<TSearchAction> & EngineDefinitionControllersPropsOption<TControllersDefinitionsMap, TControllersProps, TSolutionType>>): Promise<HydratedState<SSRCommerceEngine, TControllers>>;
|
|
19
|
-
fromBuildResult: FromBuildResult<TControllers, HydrateStaticStateOptions<TSearchAction>, HydratedState<SSRCommerceEngine, TControllers>>;
|
|
20
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare enum Kind {
|
|
2
|
-
Cart = "CART",
|
|
3
|
-
Context = "CONTEXT",
|
|
4
|
-
ParameterManager = "PARAMETER_MANAGER",
|
|
5
|
-
Recommendations = "RECOMMENDATIONS"
|
|
6
|
-
}
|
|
7
|
-
export declare function createControllerWithKind<TController, TKind extends Kind>(controller: TController, kind: TKind): TController & {
|
|
8
|
-
_kind: TKind;
|
|
9
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
|
-
import type { ControllerDefinitionsMap } from '../types/controller-definitions.js';
|
|
3
|
-
export declare function filterRecommendationControllers<TControllerDefinitions extends ControllerDefinitionsMap<Controller>>(controllers: Record<string, Controller>, controllerDefinitions: TControllerDefinitions): {
|
|
4
|
-
/**
|
|
5
|
-
* Go through all the controllers passed in argument and only refresh recommendation controllers.
|
|
6
|
-
*
|
|
7
|
-
* @param controllers - A record of all controllers where the key is the controller name and the value is the controller instance.
|
|
8
|
-
* @param controllerNames - A list of all recommendation controllers to refresh
|
|
9
|
-
*/
|
|
10
|
-
refresh(whitelist?: string[]): void;
|
|
11
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { PlatformClientOrigin, PlatformRequestOptions, PreprocessRequest, RequestMetadata } from '../../api/preprocess-request.js';
|
|
2
|
-
import { type LoggerOptions } from '../../app/logger.js';
|
|
3
|
-
import type { NavigatorContextProvider } from '../../app/navigator-context-provider.js';
|
|
4
|
-
export interface AugmentPreprocessRequestOptions {
|
|
5
|
-
preprocessRequest?: PreprocessRequest;
|
|
6
|
-
navigatorContextProvider?: NavigatorContextProvider;
|
|
7
|
-
loggerOptions?: LoggerOptions;
|
|
8
|
-
}
|
|
9
|
-
export declare function augmentPreprocessRequestWithForwardedFor(options: AugmentPreprocessRequestOptions): (request: PlatformRequestOptions, clientOrigin: PlatformClientOrigin, metadata?: RequestMetadata) => Promise<PlatformRequestOptions>;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
-
import type { CoreEngine, CoreEngineNext } from '../../app/engine.js';
|
|
3
|
-
import type { Controller } from '../../controllers/controller/headless-controller.js';
|
|
4
|
-
import type { ControllerDefinitionsMap, ControllersMap } from './types/controllers.js';
|
|
5
|
-
import type { EngineStaticState } from './types/engine.js';
|
|
6
|
-
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromControllers, InferControllersMapFromDefinition } from './types/inference.js';
|
|
7
|
-
export declare function buildControllerDefinitions<TControllerDefinitionsMap extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>, TEngine extends CoreEngine | CoreEngineNext>({ definitionsMap, engine, propsMap, }: {
|
|
8
|
-
definitionsMap: TControllerDefinitionsMap;
|
|
9
|
-
engine: TEngine;
|
|
10
|
-
propsMap: InferControllerPropsMapFromDefinitions<TControllerDefinitionsMap>;
|
|
11
|
-
}): InferControllersMapFromDefinition<TControllerDefinitionsMap>;
|
|
12
|
-
export declare function createStaticState<TSearchAction extends UnknownAction>({ searchAction, controllers, }: {
|
|
13
|
-
searchAction: TSearchAction;
|
|
14
|
-
controllers: ControllersMap;
|
|
15
|
-
}): EngineStaticState<TSearchAction, InferControllerStaticStateMapFromControllers<ControllersMap>>;
|
|
16
|
-
export declare function composeFunction<TParameters extends Array<unknown>, TReturn, TChildren extends {}>(parentFunction: (...params: TParameters) => TReturn, children: TChildren): TChildren & ((...params: TParameters) => TReturn);
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare class InvalidControllerDefinition extends Error {
|
|
2
|
-
constructor();
|
|
3
|
-
}
|
|
4
|
-
export declare class MissingControllerProps extends Error {
|
|
5
|
-
constructor(controller: string);
|
|
6
|
-
}
|
|
7
|
-
export declare class MultipleRecommendationError extends Error {
|
|
8
|
-
constructor(slotId: string);
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
|
|
2
|
-
import type { ControllersMap, ControllersPropsMap } from './controllers.js';
|
|
3
|
-
import type { EngineDefinitionBuildResult, EngineDefinitionControllersPropsOption } from './engine.js';
|
|
4
|
-
import type { OptionsExtender, OptionsTuple } from './utilities.js';
|
|
5
|
-
interface BuildOptions<TEngineOptions> {
|
|
6
|
-
extend?: OptionsExtender<TEngineOptions>;
|
|
7
|
-
}
|
|
8
|
-
export type Build<TEngine extends CoreEngine | CoreEngineNext, TEngineOptions, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap> = (...params: OptionsTuple<BuildOptions<TEngineOptions> & EngineDefinitionControllersPropsOption<TControllersProps>>) => Promise<EngineDefinitionBuildResult<TEngine, TControllersMap>>;
|
|
9
|
-
export {};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
|
|
2
|
-
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
3
|
-
export interface ControllersMap {
|
|
4
|
-
[customName: string]: Controller;
|
|
5
|
-
}
|
|
6
|
-
export interface ControllerStaticState<TState> {
|
|
7
|
-
state: TState;
|
|
8
|
-
}
|
|
9
|
-
export interface ControllerStaticStateMap {
|
|
10
|
-
[customName: string]: ControllerStaticState<unknown>;
|
|
11
|
-
}
|
|
12
|
-
export interface ControllerDefinitionWithoutProps<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller> {
|
|
13
|
-
/**
|
|
14
|
-
* Creates an instance of the given controller.
|
|
15
|
-
*
|
|
16
|
-
* @param engine - The search engine.
|
|
17
|
-
* @returns The controller.
|
|
18
|
-
*/
|
|
19
|
-
build(engine: TEngine): TController;
|
|
20
|
-
}
|
|
21
|
-
export interface ControllerDefinitionWithProps<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller, TProps> {
|
|
22
|
-
/**
|
|
23
|
-
* Creates an instance of the given controller.
|
|
24
|
-
*
|
|
25
|
-
* @param engine - The search engine.
|
|
26
|
-
* @param props - The controller properties.
|
|
27
|
-
* @returns The controller.
|
|
28
|
-
*/
|
|
29
|
-
buildWithProps(engine: TEngine, props?: TProps): TController;
|
|
30
|
-
}
|
|
31
|
-
export type ControllerDefinition<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller> = ControllerDefinitionWithoutProps<TEngine, TController> | ControllerDefinitionWithProps<TEngine, TController, unknown>;
|
|
32
|
-
export interface ControllerDefinitionsMap<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller> {
|
|
33
|
-
[customName: string]: ControllerDefinition<TEngine, TController>;
|
|
34
|
-
}
|
|
35
|
-
export interface ControllersPropsMap {
|
|
36
|
-
[customName: string]: unknown;
|
|
37
|
-
}
|