@coveo/quantic 3.29.7-pre.da06d2e1ca → 3.29.7-pre.ddf6cab06c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +2 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/controller-definitions.d.ts +3 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-commerce-next.index.d.ts +11 -11
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-commerce.index.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controller-utils.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.d.ts +3 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/cart/headless-cart.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/context/headless-context.ssr.d.ts +2 -3
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +2 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/generator/headless-commerce-facet-generator.ssr.d.ts +3 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/instant-products/headless-instant-products.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.d.ts +3 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.d.ts +3 -13
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.d.ts +3 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/product-view/headless-product-view.ssr.d.ts +1 -3
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/search-box/headless-search-box.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/sort/headless-core-commerce-sort.ssr.d.ts +3 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.d.ts +3 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/triggers/headless-notify-trigger.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/triggers/headless-query-trigger.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/triggers/headless-redirection-trigger.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/engine/commerce-engine.ssr.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/build-factory.d.ts +1 -5
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/hydrated-state-factory.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/recommendation-hydrated-state-factory.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/recommendation-static-state-factory.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/factories/static-state-factory.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/build.d.ts +2 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-definitions.d.ts +7 -52
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-inference.d.ts +2 -7
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/engine.d.ts +7 -5
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/fetch-static-state.d.ts +2 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/hydrate-static-state.d.ts +4 -4
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/utils/engine-wiring.d.ts +1 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/controller-inference.d.ts +6 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/controllers.d.ts +0 -24
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/engine.d.ts +2 -44
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/{common → search}/controller-utils.d.ts +3 -3
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/breadcrumb-manager/headless-breadcrumb-manager.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/context/headless-context.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/dictionary-field-context/headless-dictionary-field-context.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facet-manager/headless-facet-manager.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/automatic-facet-generator/headless-automatic-facet-generator.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/category-facet/headless-category-facet.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/facet/headless-facet.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-facet.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-filter.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-facet.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-filter.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/field-suggestions/category-facet/headless-category-field-suggestions.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/field-suggestions/facet/headless-field-suggestions.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/folded-result-list/headless-folded-result-list.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/history-manager/headless-history-manager.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/instant-results/instant-results.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/pager/headless-pager.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/query-error/headless-query-error.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/query-summary/headless-query-summary.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/quickview/headless-quickview.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/recent-results-list/headless-recent-results-list.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/relevance-inspector/headless-relevance-inspector.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/result-list/headless-result-list.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/results-per-page/headless-results-per-page.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/search-box/headless-search-box.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/search-parameter-manager/headless-search-parameter-manager.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/search-status/headless-search-status.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/smart-snippet/headless-smart-snippet.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/smart-snippet-questions-list/headless-smart-snippet-questions-list.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/sort/headless-sort.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/static-filter/headless-static-filter.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/tab/headless-tab.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/tab-manager/headless-tab-manager.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/triggers/headless-execute-trigger.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/triggers/headless-notify-trigger.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/triggers/headless-query-trigger.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/triggers/headless-redirection-trigger.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/url-manager/headless-url-manager.ssr.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/engine/search-engine.ssr.d.ts +6 -13
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/build.d.ts +12 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/controller-definition.d.ts +28 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/{common/types/inference.d.ts → search/types/controller-inference.d.ts} +3 -6
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/engine.d.ts +52 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/{common → search}/types/fetch-static-state.d.ts +5 -4
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/{common → search}/types/hydrate-static-state.d.ts +5 -6
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next.index.d.ts +6 -4
- package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-ssr-controller-definitions.d.ts +1 -1
- package/force-app/main/default/staticresources/coveoheadless/headless.js +2 -2
- package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +2 -2
- package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +2 -2
- package/package.json +2 -2
- package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/build.d.ts +0 -12
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CorePaginationOptions, Pagination, PaginationOptions, PaginationProps, PaginationState } from '../../../../controllers/commerce/core/pagination/headless-core-commerce-pagination.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { Pagination, PaginationProps, PaginationState, PaginationOptions, CorePaginationOptions, };
|
|
4
|
+
export type PaginationDefinition = SearchAndListingControllerDefinitionWithoutProps<Pagination>;
|
|
4
5
|
/**
|
|
5
6
|
* Defines a `Pagination` controller instance.
|
|
6
7
|
* @group Definers
|
|
@@ -8,4 +9,4 @@ export type { Pagination, PaginationProps, PaginationState, PaginationOptions, C
|
|
|
8
9
|
* @param props - The configurable `Pagination` properties.
|
|
9
10
|
* @returns The `Pagination` controller definition.
|
|
10
11
|
*/
|
|
11
|
-
export declare function definePagination
|
|
12
|
+
export declare function definePagination(props?: PaginationProps): PaginationDefinition;
|
|
@@ -2,25 +2,15 @@ import type { ParameterManager, ParameterManagerProps, ParameterManagerState } f
|
|
|
2
2
|
import type { Parameters } from '../../../../features/commerce/parameters/parameters-actions.js';
|
|
3
3
|
import type { ProductListingParameters } from '../../../../features/commerce/product-listing-parameters/product-listing-parameters-actions.js';
|
|
4
4
|
import type { CommerceSearchParameters } from '../../../../features/commerce/search-parameters/search-parameters-actions.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { SearchAndListingControllerDefinitionWithProps } from '../../types/controller-definitions.js';
|
|
6
6
|
export type { ParameterManager, ParameterManagerProps, ParameterManagerState, Parameters, ProductListingParameters, CommerceSearchParameters, };
|
|
7
|
-
export type ParameterManagerDefinition
|
|
7
|
+
export type ParameterManagerDefinition = SearchAndListingControllerDefinitionWithProps<ParameterManager<ProductListingParameters | CommerceSearchParameters>, SSRParameterManagerProps<ProductListingParameters | CommerceSearchParameters>>;
|
|
8
8
|
/**
|
|
9
9
|
* Defines a `ParameterManager` controller instance.
|
|
10
10
|
* @group Definers
|
|
11
11
|
*
|
|
12
12
|
* @returns The `ParameterManager` controller definition.
|
|
13
13
|
*/
|
|
14
|
-
export declare function defineParameterManager
|
|
14
|
+
export declare function defineParameterManager(): ParameterManagerDefinition;
|
|
15
15
|
export interface SSRParameterManagerProps<T extends Parameters> extends Omit<ParameterManagerProps<T>, 'excludeDefaultParameters'> {
|
|
16
16
|
}
|
|
17
|
-
type MappedParameterTypes<TOptions extends ControllerDefinitionOption | undefined> = TOptions extends {
|
|
18
|
-
listing: true;
|
|
19
|
-
search: true;
|
|
20
|
-
} | undefined ? ProductListingParameters | CommerceSearchParameters : TOptions extends {
|
|
21
|
-
listing: true;
|
|
22
|
-
search: false;
|
|
23
|
-
} ? ProductListingParameters : TOptions extends {
|
|
24
|
-
listing: false;
|
|
25
|
-
search: true;
|
|
26
|
-
} ? CommerceSearchParameters : never;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type ProductListing, type ProductListingState } from '../../../../controllers/commerce/product-listing/headless-product-listing.js';
|
|
2
2
|
import { type Search } from '../../../../controllers/commerce/search/headless-search.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
4
4
|
export type { Search, ProductListing, ProductListingState as ProductListState };
|
|
5
5
|
export type ProductList = Pick<ProductListing | Search, 'state' | 'subscribe' | 'interactiveProduct' | 'promoteChildToParent'>;
|
|
6
|
+
export type ProductListDefinition = SearchAndListingControllerDefinitionWithoutProps<ProductList>;
|
|
6
7
|
/**
|
|
7
8
|
* Defines a `ProductList` controller instance.
|
|
8
9
|
* @group Definers
|
|
9
10
|
*
|
|
10
11
|
* @returns The `ProductList` controller definition.
|
|
11
12
|
*/
|
|
12
|
-
export declare function defineProductList
|
|
13
|
+
export declare function defineProductList(): ProductListDefinition;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type ProductView as BaseProductView } from '../../../../controllers/commerce/product-view/headless-product-view.js';
|
|
2
2
|
import { type Controller } from '../../../../controllers/controller/headless-controller.js';
|
|
3
3
|
import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
4
|
-
|
|
5
|
-
}
|
|
4
|
+
export type ProductViewDefinition = NonRecommendationControllerDefinitionWithoutProps<ProductView>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines a `ProductView` controller instance.
|
|
8
7
|
*
|
|
@@ -17,4 +16,3 @@ interface ProductViewDefinition extends NonRecommendationControllerDefinitionWit
|
|
|
17
16
|
export declare function defineProductView(): ProductViewDefinition;
|
|
18
17
|
export interface ProductView extends BaseProductView, Controller {
|
|
19
18
|
}
|
|
20
|
-
export {};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type RecentQueriesList, type RecentQueriesListInitialState, type RecentQueriesListOptions, type RecentQueriesListProps, type RecentQueriesState } from '../../../../controllers/commerce/recent-queries-list/headless-recent-queries-list.js';
|
|
2
2
|
import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { RecentQueriesListInitialState, RecentQueriesListOptions, RecentQueriesState, RecentQueriesList, RecentQueriesListProps, };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type RecentQueriesListDefinition = NonRecommendationControllerDefinitionWithoutProps<RecentQueriesList>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines the `RecentQueriesList` controller for the purpose of server-side rendering.
|
|
8
7
|
* @group Definers
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type CoreSearchBox, type SearchBox, type SearchBoxOptions, type SearchBoxProps, type SearchBoxState, type Suggestion } from '../../../../controllers/commerce/search-box/headless-search-box.js';
|
|
2
2
|
import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { CoreSearchBox, SearchBox, SearchBoxProps, SearchBoxState, SearchBoxOptions, Suggestion, };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type SearchBoxDefinition = SearchOnlyControllerDefinitionWithoutProps<SearchBox>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines a `SearchBox` controller instance.
|
|
8
7
|
* @group Definers
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Sort, SortProps, SortState } from '../../../../controllers/commerce/core/sort/headless-core-commerce-sort.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { Sort, SortProps, SortState };
|
|
4
|
+
export type SortDefinition = SearchAndListingControllerDefinitionWithoutProps<Sort>;
|
|
4
5
|
/**
|
|
5
6
|
* Defines a `Sort` controller instance.
|
|
6
7
|
* @group Definers
|
|
@@ -8,4 +9,4 @@ export type { Sort, SortProps, SortState };
|
|
|
8
9
|
* @param props - The configurable `Sort` properties.
|
|
9
10
|
* @returns The `Sort` controller definition.
|
|
10
11
|
*/
|
|
11
|
-
export declare function defineSort
|
|
12
|
+
export declare function defineSort(props?: SortProps): SortDefinition;
|
|
@@ -2,8 +2,7 @@ import { type StandaloneSearchBox, type StandaloneSearchBoxState } from '../../.
|
|
|
2
2
|
import type { StandaloneSearchBoxProps } from '../../../../controllers/standalone-search-box/headless-standalone-search-box.js';
|
|
3
3
|
import type { ListingAndStandaloneControllerWithoutProps } from '../../types/controller-definitions.js';
|
|
4
4
|
export type { StandaloneSearchBoxState, StandaloneSearchBox, StandaloneSearchBoxProps, };
|
|
5
|
-
export
|
|
6
|
-
}
|
|
5
|
+
export type StandaloneSearchBoxDefinition = ListingAndStandaloneControllerWithoutProps<StandaloneSearchBox>;
|
|
7
6
|
/**
|
|
8
7
|
* Defines the `StandaloneSearchBox` controller for the purpose of server-side rendering.
|
|
9
8
|
* @group Definers
|
|
@@ -2,12 +2,13 @@ import type { Summary, SummaryState } from '../../../../controllers/commerce/cor
|
|
|
2
2
|
import type { ProductListingSummaryState } from '../../../../controllers/commerce/product-listing/summary/headless-product-listing-summary.js';
|
|
3
3
|
import type { RecommendationsSummaryState } from '../../../../controllers/commerce/recommendations/summary/headless-recommendations-summary.js';
|
|
4
4
|
import type { SearchSummaryState } from '../../../../controllers/commerce/search/summary/headless-search-summary.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
6
6
|
export type { Summary, ProductListingSummaryState, RecommendationsSummaryState, SearchSummaryState, SummaryState, };
|
|
7
|
+
export type SummaryDefinition = SearchAndListingControllerDefinitionWithoutProps<Summary<ProductListingSummaryState | SearchSummaryState | RecommendationsSummaryState>>;
|
|
7
8
|
/**
|
|
8
9
|
* Defines a `Summary` controller instance.
|
|
9
10
|
* @group Definers
|
|
10
11
|
*
|
|
11
12
|
* @returns The `Summary` controller definition.
|
|
12
13
|
*/
|
|
13
|
-
export declare function defineSummary
|
|
14
|
+
export declare function defineSummary(): SummaryDefinition;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { NotifyTrigger, NotifyTriggerState } from '../../../../controllers/core/triggers/headless-core-notify-trigger.js';
|
|
2
2
|
import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { NotifyTrigger, NotifyTriggerState };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type NotifyTriggerDefinition = SearchAndListingControllerDefinitionWithoutProps<NotifyTrigger>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines the `NotifyTrigger` controller for the purpose of server-side rendering.
|
|
8
7
|
* @group Definers
|
|
@@ -2,8 +2,7 @@ import type { QueryTrigger } from '../../../../controllers/core/triggers/headles
|
|
|
2
2
|
import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { QueryTriggerState } from '../../../../controllers/core/triggers/headless-core-query-trigger.js';
|
|
4
4
|
export type { QueryTrigger };
|
|
5
|
-
export
|
|
6
|
-
}
|
|
5
|
+
export type QueryTriggerDefinition = SearchOnlyControllerDefinitionWithoutProps<QueryTrigger>;
|
|
7
6
|
/**
|
|
8
7
|
* Defines the `QueryTrigger` controller for the purpose of server-side rendering.
|
|
9
8
|
* @group Definers
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { RedirectionTrigger, RedirectionTriggerState } from '../../../../controllers/core/triggers/headless-core-redirection-trigger.js';
|
|
2
2
|
import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
|
|
3
3
|
export type { RedirectionTrigger, RedirectionTriggerState };
|
|
4
|
-
export
|
|
5
|
-
}
|
|
4
|
+
export type RedirectionTriggerDefinition = SearchOnlyControllerDefinitionWithoutProps<RedirectionTrigger>;
|
|
6
5
|
/**
|
|
7
6
|
* Defines the `RedirectionTrigger` controller for the purpose of server-side rendering.
|
|
8
7
|
* @group Definers
|
|
@@ -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>;
|
|
@@ -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>;
|
|
@@ -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,15 +1,14 @@
|
|
|
1
1
|
import type { Controller } from '../../../controllers/controller/headless-controller.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers } from '../../common/types/controller-inference.js';
|
|
3
3
|
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
4
|
import type { HasKey, HasRequiredKeys, OptionsTuple } from '../../common/types/utilities.js';
|
|
7
5
|
import type { CartDefinition } from '../controllers/cart/headless-cart.ssr.js';
|
|
8
6
|
import type { ContextDefinition } from '../controllers/context/headless-context.ssr.js';
|
|
9
7
|
import type { ParameterManagerDefinition } from '../controllers/parameter-manager/headless-core-parameter-manager.ssr.js';
|
|
10
8
|
import type { SSRCommerceEngine } from '../factories/build-factory.js';
|
|
11
9
|
import { type recommendationInternalOptionKey, SolutionType } from './controller-constants.js';
|
|
12
|
-
import type { ListingAndStandaloneController,
|
|
10
|
+
import type { ListingAndStandaloneController, NonRecommendationController, RecommendationOnlyController, SearchAndListingController, SearchOnlyController, UniversalController } from './controller-scopes.js';
|
|
11
|
+
import type { HydratedState } from './hydrate-static-state.js';
|
|
13
12
|
import type { Kind } from './kind.js';
|
|
14
13
|
import type { HasSolutionType } from './utilities.js';
|
|
15
14
|
export type { HydratedState, OptionsTuple, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, };
|
|
@@ -48,10 +47,7 @@ export interface ControllerDefinitionsMap<TController extends Controller> {
|
|
|
48
47
|
[customName: string]: ControllerDefinition<TController>;
|
|
49
48
|
}
|
|
50
49
|
type BakedInControllerDefinitions = {
|
|
51
|
-
parameterManager: ParameterManagerDefinition
|
|
52
|
-
listing: true;
|
|
53
|
-
search: true;
|
|
54
|
-
}>;
|
|
50
|
+
parameterManager: ParameterManagerDefinition;
|
|
55
51
|
context: ContextDefinition;
|
|
56
52
|
cart: CartDefinition;
|
|
57
53
|
};
|
|
@@ -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
|
};
|
|
@@ -93,51 +89,10 @@ export type IsRecommendationController<TController extends ControllerDefinition<
|
|
|
93
89
|
type DefaultControllerProps<TControllers extends ControllerDefinitionsMap<Controller>, TControllersPropsMap extends ControllersPropsMap, K extends keyof TControllers> = {
|
|
94
90
|
[I in keyof TControllersPropsMap as I extends K ? I : never]: TControllersPropsMap[I];
|
|
95
91
|
};
|
|
96
|
-
export interface ControllerDefinitionOption {
|
|
97
|
-
/**
|
|
98
|
-
* Whether the controller will be used in a product listing context.
|
|
99
|
-
* @defaultValue true
|
|
100
|
-
*/
|
|
101
|
-
listing?: boolean;
|
|
102
|
-
/**
|
|
103
|
-
* Whether the controller will be used in a search page context.
|
|
104
|
-
* @defaultValue true
|
|
105
|
-
*/
|
|
106
|
-
search?: boolean;
|
|
107
|
-
}
|
|
108
92
|
export type SearchOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & SearchOnlyController;
|
|
109
|
-
type SearchOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchOnlyController;
|
|
110
93
|
export type ListingAndStandaloneControllerWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & ListingAndStandaloneController;
|
|
111
|
-
type ListingOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & ListingOnlyController;
|
|
112
|
-
type ListingOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & ListingOnlyController;
|
|
113
94
|
export type RecommendationOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & RecommendationOnlyController;
|
|
114
95
|
export type NonRecommendationControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & NonRecommendationController;
|
|
115
96
|
export type UniversalControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & UniversalController;
|
|
116
97
|
export type SearchAndListingControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & SearchAndListingController;
|
|
117
|
-
type SearchAndListingControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchAndListingController;
|
|
118
|
-
export type SubControllerDefinitionWithoutProps<TController extends Controller, TDefinition extends ControllerDefinitionOption | undefined> = TDefinition extends {
|
|
119
|
-
listing?: true;
|
|
120
|
-
search?: true;
|
|
121
|
-
} | undefined ? SearchAndListingControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
122
|
-
listing?: true;
|
|
123
|
-
search?: false;
|
|
124
|
-
} ? ListingOnlyControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
125
|
-
listing?: false;
|
|
126
|
-
search?: true;
|
|
127
|
-
} ? SearchOnlyControllerDefinitionWithoutProps<TController> : TDefinition extends {
|
|
128
|
-
listing: false;
|
|
129
|
-
search: false;
|
|
130
|
-
} ? InvalidControllerDefinition : never;
|
|
131
|
-
export type SubControllerDefinitionWithProps<TController extends Controller, TDefinition extends ControllerDefinitionOption | undefined, TProps> = TDefinition extends {
|
|
132
|
-
listing?: true;
|
|
133
|
-
search?: true;
|
|
134
|
-
} | undefined ? SearchAndListingControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
135
|
-
listing?: true;
|
|
136
|
-
search?: false;
|
|
137
|
-
} ? ListingOnlyControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
138
|
-
listing?: false;
|
|
139
|
-
search?: true;
|
|
140
|
-
} ? SearchOnlyControllerDefinitionWithProps<TController, TProps> : TDefinition extends {
|
|
141
|
-
listing: false;
|
|
142
|
-
search: false;
|
|
143
|
-
} ? InvalidControllerDefinition : never;
|
|
98
|
+
export type SearchAndListingControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchAndListingController;
|
|
@@ -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;
|
|
@@ -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
|
}
|