UNPKG

@empathyco/x-components

Version:
1,428 lines (650 loc) • 22.4 kB
<!-- Do not edit this file. It is automatically generated by API Documenter. --> [Home](./index.md) &gt; [@empathyco/x-types](./x-types.md) ## x-types package Search-types library with the search API models. It also includes model schemas for testing purpose. ## Remarks Entry point to export search-type models and testing schemas in a unified api-extractor model. ## Functions <table><thead><tr><th> Function </th><th> Description </th></tr></thead> <tbody><tr><td> [isBooleanFilter(filter)](./x-types.isbooleanfilter.md) </td><td> Type guard to check if a filter is a [BooleanFilter](./x-types.booleanfilter.md)<!-- -->. </td></tr> <tr><td> [isEditableNumberRangeFacet(facet)](./x-types.iseditablenumberrangefacet.md) </td><td> Type guard to check if a facet is an [EditableNumberRangeFacet](./x-types.editablenumberrangefacet.md)<!-- -->. </td></tr> <tr><td> [isEditableNumberRangeFilter(filter)](./x-types.iseditablenumberrangefilter.md) </td><td> Type guard to check if a filter is an [EditableNumberRangeFilter](./x-types.editablenumberrangefilter.md)<!-- -->. </td></tr> <tr><td> [isFacetFilter(filter)](./x-types.isfacetfilter.md) </td><td> Type guard to check if a filter is a [FacetFilter](./x-types.facetfilter.md)<!-- -->. </td></tr> <tr><td> [isHierarchicalFacet(facet)](./x-types.ishierarchicalfacet.md) </td><td> Type guard to check if a facet is an [HierarchicalFacet](./x-types.hierarchicalfacet.md)<!-- -->. </td></tr> <tr><td> [isHierarchicalFilter(filter)](./x-types.ishierarchicalfilter.md) </td><td> Type guard to check if a filter is a [HierarchicalFilter](./x-types.hierarchicalfilter.md)<!-- -->. </td></tr> <tr><td> [isNumberRangeFacet(facet)](./x-types.isnumberrangefacet.md) </td><td> Type guard to check if a facet is an [NumberRangeFacet](./x-types.numberrangefacet.md)<!-- -->. </td></tr> <tr><td> [isNumberRangeFilter(filter)](./x-types.isnumberrangefilter.md) </td><td> Type guard to check if a filter is a [NumberRangeFilter](./x-types.numberrangefilter.md)<!-- -->. </td></tr> <tr><td> [isRawFilter(filter)](./x-types.israwfilter.md) </td><td> Type guard to check if a filter is a [RawFilter](./x-types.rawfilter.md)<!-- -->. </td></tr> <tr><td> [isSimpleFacet(facet)](./x-types.issimplefacet.md) </td><td> Type guard to check if a facet is an [SimpleFacet](./x-types.simplefacet.md)<!-- -->. </td></tr> <tr><td> [isSimpleFilter(filter)](./x-types.issimplefilter.md) </td><td> Type guard to check if a filter is a [SimpleFilter](./x-types.simplefilter.md)<!-- -->. </td></tr> </tbody></table> ## Interfaces <table><thead><tr><th> Interface </th><th> Description </th></tr></thead> <tbody><tr><td> [AiQuestion](./x-types.aiquestion.md) </td><td> A question is an entity generated by the AI. It contains the question text, the response text and the search queries. </td></tr> <tr><td> [AiQuestionsRequest](./x-types.aiquestionsrequest.md) </td><td> Request for the question endpoint. </td></tr> <tr><td> [AiQuestionsResponse](./x-types.aiquestionsresponse.md) </td><td> Response for the question endpoint. </td></tr> <tr><td> [AiSuggestionSearch](./x-types.aisuggestionsearch.md) </td><td> Each suggestion search is a query and the results of that query. </td></tr> <tr><td> [AiSuggestionsRequest](./x-types.aisuggestionsrequest.md) </td><td> Request for the ai suggestions endpoint. </td></tr> <tr><td> [AiSuggestionsSearchRequest](./x-types.aisuggestionssearchrequest.md) </td><td> Request for the suggestions-search endpoint. </td></tr> <tr><td> [AiSuggestionsSearchResponse](./x-types.aisuggestionssearchresponse.md) </td><td> Response for the AI suggestions search endpoint. </td></tr> <tr><td> [AiTasksRequest](./x-types.aitasksrequest.md) </td><td> Request for the task endpoint. </td></tr> <tr><td> [AiTasksResponse](./x-types.aitasksresponse.md) </td><td> Response for the task endpoint. </td></tr> <tr><td> [Banner](./x-types.banner.md) </td><td> A banner is an image with a title, that when clicked redirect the user to an URL. Often it is represented as a 100% wide element that appears on top of the results inside the grid or between rows. </td></tr> <tr><td> [BooleanFilter](./x-types.booleanfilter.md) </td><td> A boolean filter used in a [FacetFilter](./x-types.facetfilter.md)<!-- -->, which status can be selected or not and it may contains the total results number that the filter should return. </td></tr> <tr><td> [EditableNumberRangeFacet](./x-types.editablenumberrangefacet.md) </td><td> Editable Number Range Facet is a trait for filtering results using user editable [RangeValue](./x-types.rangevalue.md)<!-- -->.Editable means that the value max and min can be changed by the user instead of havingseveral boolean filters with different values. It extends from [Facet](./x-types.facet.md)<!-- -->,changes the modelName and uses [EditableNumberRangeFilter](./x-types.editablenumberrangefilter.md) as filters. </td></tr> <tr><td> [EditableNumberRangeFilter](./x-types.editablenumberrangefilter.md) </td><td> A type of filter used in [EditableNumberRangeFacet](./x-types.editablenumberrangefacet.md) and extends from [FacetFilter](./x-types.facetfilter.md)<!-- -->. This filter has the particularity that its [RangeValue](./x-types.rangevalue.md) is editable by the user. Editable means that the value max and min can be changed by the user instead of having several boolean filters with different values. </td></tr> <tr><td> [ExperienceControlsRequest](./x-types.experiencecontrolsrequest.md) </td><td> Request for Experience Controls endpoint. </td></tr> <tr><td> [ExperienceControlsResponse](./x-types.experiencecontrolsresponse.md) </td><td> Response for the experience controls endpoint. </td></tr> <tr><td> [ExtraParamsRequest](./x-types.extraparamsrequest.md) </td><td> Interface to support extra params in any request. </td></tr> <tr><td> [Facet](./x-types.facet.md) </td><td> Facet is a trait for filtering results. It uses [Filter](./x-types.filter.md) as filters. </td></tr> <tr><td> [FacetFilter](./x-types.facetfilter.md) </td><td> A filter which is associated with a [Facet](./x-types.facet.md)<!-- -->. </td></tr> <tr><td> [FacetsRequest](./x-types.facetsrequest.md) </td><td> The Request for the Facets endpoint. </td></tr> <tr><td> [FacetsResponse](./x-types.facetsresponse.md) </td><td> Response for the facet endpoint. </td></tr> <tr><td> [Filter](./x-types.filter.md) </td><td> A basic filter. </td></tr> <tr><td> [FilterableRequest](./x-types.filterablerequest.md) </td><td> Interface for any Request with a `filters` parameter. </td></tr> <tr><td> [HierarchicalFacet](./x-types.hierarchicalfacet.md) </td><td> Hierarchical facet is a trait for filtering results. It extends from [Facet](./x-types.facet.md) changes the modelName and uses [HierarchicalFilter](./x-types.hierarchicalfilter.md) as filters. </td></tr> <tr><td> [HierarchicalFilter](./x-types.hierarchicalfilter.md) </td><td> A type of filter used in [HierarchicalFacet](./x-types.hierarchicalfacet.md) and extends from [BooleanFilter](./x-types.booleanfilter.md)<!-- -->. This filter has the particularity that it has recursive children. </td></tr> <tr><td> [HistoryQuery](./x-types.historyquery.md) </td><td> Represents a query that has been made by the user. </td></tr> <tr><td> [Identifiable](./x-types.identifiable.md) </td><td> Represents an Object with id property. </td></tr> <tr><td> [IdentifierResultsRequest](./x-types.identifierresultsrequest.md) </td><td> Request for Identifier Results endpoint. </td></tr> <tr><td> [IdentifierResultsResponse](./x-types.identifierresultsresponse.md) </td><td> Response for the identifier results endpoint. </td></tr> <tr><td> [NamedModel](./x-types.namedmodel.md) </td><td> Common interface to ease the differentiate between different model types. </td></tr> <tr><td> [NextQueries](./x-types.nextqueries.md) </td><td> A group of next queries. </td></tr> <tr><td> [NextQueriesRequest](./x-types.nextqueriesrequest.md) </td><td> Request for Next Queries endpoint. </td></tr> <tr><td> [NextQueriesResponse](./x-types.nextqueriesresponse.md) </td><td> Response for the next queries endpoint. </td></tr> <tr><td> [NextQuery](./x-types.nextquery.md) </td><td> A next query is a suggestion of a new query that the user may be interested after searching for an specific term. </td></tr> <tr><td> [NumberRangeFacet](./x-types.numberrangefacet.md) </td><td> Number Range Facet is a trait for filtering results. It extends from [Facet](./x-types.facet.md)<!-- -->, changes the modelName and uses [NumberRangeFilter](./x-types.numberrangefilter.md) as filters. </td></tr> <tr><td> [NumberRangeFilter](./x-types.numberrangefilter.md) </td><td> A type of filter used in [NumberRangeFacet](./x-types.numberrangefacet.md) and extends from [BooleanFilter](./x-types.booleanfilter.md)<!-- -->. This filter has the particularity that its range property is an object with a range of numbers. The difference with [EditableNumberRangeFilter](./x-types.editablenumberrangefilter.md) is that range's values are not editable. There are different NumberRangeFilters within the facet to cover different predefined range options. </td></tr> <tr><td> [PageableRequest](./x-types.pageablerequest.md) </td><td> Interface for any Request which supports pagination. </td></tr> <tr><td> [PartialResult](./x-types.partialresult.md) </td><td> A partial result represents a sub-query of a user search term which normally has not enough results (or not results at all). It includes a preview of these results and the number of total results that match against the sub-query. </td></tr> <tr><td> [PopularSearchesRequest](./x-types.popularsearchesrequest.md) </td><td> Request for Popular Searches endpoint. </td></tr> <tr><td> [PopularSearchesResponse](./x-types.popularsearchesresponse.md) </td><td> Response for the popular searches endpoint. </td></tr> <tr><td> [Previewable](./x-types.previewable.md) </td><td> Represents an item that is searchable, and the results associated to it. </td></tr> <tr><td> [PreviewResults](./x-types.previewresults.md) </td><td> Interface to type the query preview objects. </td></tr> <tr><td> [Promoted](./x-types.promoted.md) </td><td> A promoted is an image with a title, that when clicked redirect the user to an URL. Often it is represented taking up the same space than a normal result. </td></tr> <tr><td> [QueryableRequest](./x-types.queryablerequest.md) </td><td> Interface for any Request with a `query` parameter. </td></tr> <tr><td> [QuerySuggestionsRequest](./x-types.querysuggestionsrequest.md) </td><td> Request for Query Suggestions endpoint. </td></tr> <tr><td> [QuerySuggestionsResponse](./x-types.querysuggestionsresponse.md) </td><td> Response for the query suggestions endpoint. </td></tr> <tr><td> [RangeValue](./x-types.rangevalue.md) </td><td> A numeric range filter value. </td></tr> <tr><td> [RawFilter](./x-types.rawfilter.md) </td><td> A filter which id is the value of the filter. It can be selected or not. </td></tr> <tr><td> [RecommendationsRequest](./x-types.recommendationsrequest.md) </td><td> Request for Recommendations endpoint. </td></tr> <tr><td> [RecommendationsResponse](./x-types.recommendationsresponse.md) </td><td> Response for the recommendations endpoint. </td></tr> <tr><td> [Redirection](./x-types.redirection.md) </td><td> A redirection (AKA Direct Link) is simply a URL. Normally, the user is just redirected to it after making a query that matches the configuration of this URL. In other cases it is shown as a button that the user can click, and which will trigger the redirect action. </td></tr> <tr><td> [RelatedPrompt](./x-types.relatedprompt.md) </td><td> Represents a related prompt. </td></tr> <tr><td> [RelatedPromptNextQuery](./x-types.relatedpromptnextquery.md) </td><td> Represents a related prompt nextQuery. </td></tr> <tr><td> [RelatedPromptsRequest](./x-types.relatedpromptsrequest.md) </td><td> Request for Related Prompts endpoint. </td></tr> <tr><td> [RelatedPromptsResponse](./x-types.relatedpromptsresponse.md) </td><td> Response for the related prompts endpoint. </td></tr> <tr><td> [RelatedTag](./x-types.relatedtag.md) </td><td> A related tag is just a term that refines the current query. </td></tr> <tr><td> [RelatedTagsRequest](./x-types.relatedtagsrequest.md) </td><td> Request for Related Tags endpoint. </td></tr> <tr><td> [RelatedTagsResponse](./x-types.relatedtagsresponse.md) </td><td> Response for the related tags endpoint. </td></tr> <tr><td> [Result](./x-types.result.md) </td><td> A search result. </td></tr> <tr><td> [ResultIdentifier](./x-types.resultidentifier.md) </td><td> The client result identifier (SKU, MOCACO, a simple ID...). </td></tr> <tr><td> [ResultPrice](./x-types.resultprice.md) </td><td> The result price. </td></tr> <tr><td> [ResultRating](./x-types.resultrating.md) </td><td> The result rating. </td></tr> <tr><td> [ResultVariant](./x-types.resultvariant.md) </td><td> A result variant. </td></tr> <tr><td> [SearchRequest](./x-types.searchrequest.md) </td><td> The Request for the Search endpoint. </td></tr> <tr><td> [SearchResponse](./x-types.searchresponse.md) </td><td> Response for the search endpoint. </td></tr> <tr><td> [SemanticQueriesRequest](./x-types.semanticqueriesrequest.md) </td><td> Request for the SemanticQueriesEndpoint. </td></tr> <tr><td> [SemanticQueriesResponse](./x-types.semanticqueriesresponse.md) </td><td> Response for the semantic queries endpoint. </td></tr> <tr><td> [SemanticQuery](./x-types.semanticquery.md) </td><td> A semantic query is a term related to another in a semantic way. </td></tr> <tr><td> [SimpleFacet](./x-types.simplefacet.md) </td><td> Simple facet is a trait for filtering results. It extends from [Facet](./x-types.facet.md)<!-- -->, changes the modelName and uses [SimpleFilter](./x-types.simplefilter.md) as filters. </td></tr> <tr><td> [SimpleFilter](./x-types.simplefilter.md) </td><td> A type of filter used in [SimpleFacet](./x-types.simplefacet.md) and extends from [Filter](./x-types.filter.md)<!-- -->. It can be selected or not. </td></tr> <tr><td> [SortableRequest](./x-types.sortablerequest.md) </td><td> Interface for any Request with sorting. </td></tr> <tr><td> [Stats](./x-types.stats.md) </td><td> Statistics for the current search results. Price - interval of the prices of the results. </td></tr> <tr><td> [StepEmpathising](./x-types.stepempathising.md) </td><td> Model for each step of the empathising task. </td></tr> <tr><td> [Suggestion](./x-types.suggestion.md) </td><td> A suggestion represents a query that has been proposed to the user, due of being popular, matching with the current search query... </td></tr> <tr><td> [Taggable](./x-types.taggable.md) </td><td> A taggable entity. </td></tr> <tr><td> [Tagging](./x-types.tagging.md) </td><td> The tagging user actions. </td></tr> <tr><td> [TaggingRequest](./x-types.taggingrequest.md) </td><td> The request for the tagging API. </td></tr> <tr><td> [TrackableRequest](./x-types.trackablerequest.md) </td><td> Interface for any Request with tagging. </td></tr> <tr><td> [TrackableShowResponse](./x-types.trackableshowresponse.md) </td><td> Response to be implemented by all responses that contain a part to track the show event. </td></tr> <tr><td> [UserInfo](./x-types.userinfo.md) </td><td> The representation of the user. </td></tr> <tr><td> [XComponentsAdapter](./x-types.xcomponentsadapter.md) </td><td> XComponentsAdapter. </td></tr> </tbody></table> ## Variables <table><thead><tr><th> Variable </th><th> Description </th></tr></thead> <tbody><tr><td> [BannerSchema](./x-types.bannerschema.md) </td><td> Jest schema for validating Banner entities. </td></tr> <tr><td> [BooleanFilterModelNames](./x-types.booleanfiltermodelnames.md) </td><td> Const to use in the [BooleanFilterModelName](./x-types.booleanfiltermodelname.md) Type definition and also in Type Guards. </td></tr> <tr><td> [BooleanFilterSchema](./x-types.booleanfilterschema.md) </td><td> Jest schema for validating BooleanFilter entities. </td></tr> <tr><td> [EditableNumberRangeFacetSchema](./x-types.editablenumberrangefacetschema.md) </td><td> Jest schema for validating EditableNumberRangeFacet entity. </td></tr> <tr><td> [EditableNumberRangeFilterSchema](./x-types.editablenumberrangefilterschema.md) </td><td> Jest schema for validating EditableNumberRangeFilterSchema entity. </td></tr> <tr><td> [FacetFilterSchema](./x-types.facetfilterschema.md) </td><td> Jest schema for validating FacetFilter entities. </td></tr> <tr><td> [FacetSchema](./x-types.facetschema.md) </td><td> Jest schema for validating Facet entities. </td></tr> <tr><td> [FilterSchema](./x-types.filterschema.md) </td><td> Jest schema for validating Filter entities. </td></tr> <tr><td> [HierarchicalFacetSchema](./x-types.hierarchicalfacetschema.md) </td><td> Jest schema for validating HierarchicalFacet entity. </td></tr> <tr><td> [HierarchicalFilterSchema](./x-types.hierarchicalfilterschema.md) </td><td> Jest schema for validating HierarchicalFilter entity. </td></tr> <tr><td> [HistoryQuerySchema](./x-types.historyqueryschema.md) </td><td> Jest schema for validating Next query entities. </td></tr> <tr><td> [NextQuerySchema](./x-types.nextqueryschema.md) </td><td> Jest schema for validating Next query entities. </td></tr> <tr><td> [NumberRangeFacetSchema](./x-types.numberrangefacetschema.md) </td><td> Jest schema for validating NumberRangeFacet entity. </td></tr> <tr><td> [NumberRangeFilterSchema](./x-types.numberrangefilterschema.md) </td><td> Jest schema for validating NumberRangeFilter entity. </td></tr> <tr><td> [PromotedSchema](./x-types.promotedschema.md) </td><td> Jest schema for validating Promoted entities. </td></tr> <tr><td> [RawFilterSchema](./x-types.rawfilterschema.md) </td><td> Jest schema for validating RawFilter entities. </td></tr> <tr><td> [RecommendationSchema](./x-types.recommendationschema.md) </td><td> Jest schema for validating Recommendation (AKA Result) entities. </td></tr> <tr><td> [RedirectionSchema](./x-types.redirectionschema.md) </td><td> Jest schema for validating Redirection entities. </td></tr> <tr><td> [RelatedTagSchema](./x-types.relatedtagschema.md) </td><td> Jest schema for validating Related Tag entities. </td></tr> <tr><td> [ResultSchema](./x-types.resultschema.md) </td><td> Jest schema for validating Result entities. </td></tr> <tr><td> [SemanticQuerySchema](./x-types.semanticqueryschema.md) </td><td> Jest schema for validating SemanticQuery entities. </td></tr> <tr><td> [SimpleFacetSchema](./x-types.simplefacetschema.md) </td><td> Jest schema for validating SimpleFacet entity. </td></tr> <tr><td> [SimpleFilterSchema](./x-types.simplefilterschema.md) </td><td> Jest schema for validating SimpleFilter entity. </td></tr> <tr><td> [SuggestionSchema](./x-types.suggestionschema.md) </td><td> Jest schema for validating Suggestion entities. </td></tr> <tr><td> [TaggableSchema](./x-types.taggableschema.md) </td><td> Jest schema for validating Taggable entities. </td></tr> <tr><td> [TaggingRequestSchema](./x-types.taggingrequestschema.md) </td><td> Jest schema for validating TaggingRequest entities. </td></tr> <tr><td> [TaggingSchema](./x-types.taggingschema.md) </td><td> Jest schema for validating Tagging entities. </td></tr> </tbody></table> ## Type Aliases <table><thead><tr><th> Type Alias </th><th> Description </th></tr></thead> <tbody><tr><td> [BooleanFilterModelName](./x-types.booleanfiltermodelname.md) </td><td> Type to ease the usage of a model name in a [BooleanFilter](./x-types.booleanfilter.md) with autocomplete suggestions. </td></tr> <tr><td> [FacetModelName](./x-types.facetmodelname.md) </td><td> Facets model names type. It can be: SimpleFacet, HierarchicalFacet, NumberRangeFacet or EditableNumberRangeFacet. </td></tr> <tr><td> [FilterModelName](./x-types.filtermodelname.md) </td><td> Filters model names type. It can be: [BooleanFilterModelName](./x-types.booleanfiltermodelname.md)<!-- -->, RawFilter or EditableNumberRangeFilter. </td></tr> <tr><td> [ModelNameType](./x-types.modelnametype.md) </td><td> Type to ease the usage of the ModelNames interface with autocomplete suggestions. </td></tr> <tr><td> [Sort](./x-types.sort.md) </td><td> The Sort model represents a way of arranging a list of items. </td></tr> </tbody></table>