From 3126bfab1889e04359d9054be0c104f6c5d810d0 Mon Sep 17 00:00:00 2001 From: Yen Truong <36055303+yen-tt@users.noreply.github.com> Date: Mon, 15 Aug 2022 15:46:03 -0400 Subject: [PATCH] add featured snippet DA interfaces for the builtin fieldType (#207) - add `MultiLineTextFeaturedSnippetDirectAnswer` and `RichTextFeaturedSnippetDirectAnswer` for the two types that fieldType of featured snippet direct answer can be. - `multi_line_text` for feature snippet DA have non optional `value` field of type string - `rich_text` for feature snippet DA does not have `value` field so that is omitted in the interface - the old `FeaturedSnippetDirectAnswer` is now the base interface `BaseFeaturedSnippetDirectAnswer` that the specific interfaces extend from. The new `FeaturedSnippetDirectAnswer` is the union type. J=SLAP-2330 TEST=auto&manual oshi confirmed the structure of multi_line_text and rich_text through examples listed in the [comments under this item](https://yexttest.atlassian.net/browse/SLAP-2317) where rich_text does NOT provide `value` field and `multi_line_text` does. tested locally that: - 'value' field is not present in IDE for the switch case 'richtext' Screen Shot 2022-08-15 at 1 19 51 PM - 'value' field is present, of type string, and NOT optional in IDE for the switch case 'multi_line_text' Screen Shot 2022-08-15 at 1 21 57 PM --- ...sefeaturedsnippetdirectanswer.fieldtype.md | 13 +++++++ ...ch-core.basefeaturedsnippetdirectanswer.md | 23 +++++++++++ ...asefeaturedsnippetdirectanswer.snippet.md} | 4 +- ...re.basefeaturedsnippetdirectanswer.type.md | 13 +++++++ .../search-core.basefieldvaluedirectanswer.md | 2 +- ...ch-core.basefieldvaluedirectanswer.type.md | 2 +- ...e.featuredsnippetdirectanswer.fieldtype.md | 13 ------- ...search-core.featuredsnippetdirectanswer.md | 16 ++------ ...h-core.featuredsnippetdirectanswer.type.md | 13 ------- docs/search-core.fieldvaluedirectanswer.md | 2 +- docs/search-core.md | 7 +++- ...xtfeaturedsnippetdirectanswer.fieldtype.md | 13 +++++++ ...ultilinetextfeaturedsnippetdirectanswer.md | 22 +++++++++++ ...netextfeaturedsnippetdirectanswer.value.md | 13 +++++++ ...xtfeaturedsnippetdirectanswer.fieldtype.md | 13 +++++++ ...ore.richtextfeaturedsnippetdirectanswer.md | 21 ++++++++++ etc/search-core.api.md | 24 +++++++++--- src/models/index.ts | 15 ++++++-- .../BaseFieldValueDirectAnswer.ts | 2 +- .../response/directanswer/BuiltInFieldType.ts | 1 + .../response/directanswer/DirectAnswer.ts | 2 +- .../FeaturedSnippetDirectAnswer.ts | 38 +++++++++++++++++-- .../directanswer/FieldValueDirectAnswer.ts | 2 +- 23 files changed, 215 insertions(+), 59 deletions(-) create mode 100644 docs/search-core.basefeaturedsnippetdirectanswer.fieldtype.md create mode 100644 docs/search-core.basefeaturedsnippetdirectanswer.md rename docs/{search-core.featuredsnippetdirectanswer.snippet.md => search-core.basefeaturedsnippetdirectanswer.snippet.md} (52%) create mode 100644 docs/search-core.basefeaturedsnippetdirectanswer.type.md delete mode 100644 docs/search-core.featuredsnippetdirectanswer.fieldtype.md delete mode 100644 docs/search-core.featuredsnippetdirectanswer.type.md create mode 100644 docs/search-core.multilinetextfeaturedsnippetdirectanswer.fieldtype.md create mode 100644 docs/search-core.multilinetextfeaturedsnippetdirectanswer.md create mode 100644 docs/search-core.multilinetextfeaturedsnippetdirectanswer.value.md create mode 100644 docs/search-core.richtextfeaturedsnippetdirectanswer.fieldtype.md create mode 100644 docs/search-core.richtextfeaturedsnippetdirectanswer.md diff --git a/docs/search-core.basefeaturedsnippetdirectanswer.fieldtype.md b/docs/search-core.basefeaturedsnippetdirectanswer.fieldtype.md new file mode 100644 index 00000000..c3599a4c --- /dev/null +++ b/docs/search-core.basefeaturedsnippetdirectanswer.fieldtype.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) > [fieldType](./search-core.basefeaturedsnippetdirectanswer.fieldtype.md) + +## BaseFeaturedSnippetDirectAnswer.fieldType property + +The field type of the direct answer. + +Signature: + +```typescript +fieldType: EnumOrLiteral; +``` diff --git a/docs/search-core.basefeaturedsnippetdirectanswer.md b/docs/search-core.basefeaturedsnippetdirectanswer.md new file mode 100644 index 00000000..a9e8fa56 --- /dev/null +++ b/docs/search-core.basefeaturedsnippetdirectanswer.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) + +## BaseFeaturedSnippetDirectAnswer interface + +A direct answer which was found within a document. + +Signature: + +```typescript +export interface BaseFeaturedSnippetDirectAnswer extends DirectAnswer +``` +Extends: [DirectAnswer](./search-core.directanswer.md)<T> + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [fieldType](./search-core.basefeaturedsnippetdirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType.MultiLineText](./search-core.builtinfieldtype.md) \| [BuiltInFieldType.RichText](./search-core.builtinfieldtype.md)> | The field type of the direct answer. | +| [snippet](./search-core.basefeaturedsnippetdirectanswer.snippet.md) | [Snippet](./search-core.snippet.md) | The snippet where the direct answer was found. | +| [type](./search-core.basefeaturedsnippetdirectanswer.type.md) | [DirectAnswerType.FeaturedSnippet](./search-core.directanswertype.md) | Indicates that the DirectAnswer is a [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md). | + diff --git a/docs/search-core.featuredsnippetdirectanswer.snippet.md b/docs/search-core.basefeaturedsnippetdirectanswer.snippet.md similarity index 52% rename from docs/search-core.featuredsnippetdirectanswer.snippet.md rename to docs/search-core.basefeaturedsnippetdirectanswer.snippet.md index b85ac80f..459f16c4 100644 --- a/docs/search-core.featuredsnippetdirectanswer.snippet.md +++ b/docs/search-core.basefeaturedsnippetdirectanswer.snippet.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) > [snippet](./search-core.featuredsnippetdirectanswer.snippet.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) > [snippet](./search-core.basefeaturedsnippetdirectanswer.snippet.md) -## FeaturedSnippetDirectAnswer.snippet property +## BaseFeaturedSnippetDirectAnswer.snippet property The snippet where the direct answer was found. diff --git a/docs/search-core.basefeaturedsnippetdirectanswer.type.md b/docs/search-core.basefeaturedsnippetdirectanswer.type.md new file mode 100644 index 00000000..973b5e0d --- /dev/null +++ b/docs/search-core.basefeaturedsnippetdirectanswer.type.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) > [type](./search-core.basefeaturedsnippetdirectanswer.type.md) + +## BaseFeaturedSnippetDirectAnswer.type property + +Indicates that the DirectAnswer is a [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md). + +Signature: + +```typescript +type: DirectAnswerType.FeaturedSnippet; +``` diff --git a/docs/search-core.basefieldvaluedirectanswer.md b/docs/search-core.basefieldvaluedirectanswer.md index df8b20d3..9a5f2bc7 100644 --- a/docs/search-core.basefieldvaluedirectanswer.md +++ b/docs/search-core.basefieldvaluedirectanswer.md @@ -20,6 +20,6 @@ export interface BaseFieldValueDirectAnswer extends DirectAnswer | [entityName](./search-core.basefieldvaluedirectanswer.entityname.md) | string | The name of the entity that direct answer came from. | | [fieldApiName](./search-core.basefieldvaluedirectanswer.fieldapiname.md) | string | The field api name of the direct answer. | | [fieldName](./search-core.basefieldvaluedirectanswer.fieldname.md) | string | The field name of the direct answer. | -| [type](./search-core.basefieldvaluedirectanswer.type.md) | [DirectAnswerType.FieldValue](./search-core.directanswertype.md) | [DirectAnswerType](./search-core.directanswertype.md).FieldValue. | +| [type](./search-core.basefieldvaluedirectanswer.type.md) | [DirectAnswerType.FieldValue](./search-core.directanswertype.md) | Indicates that the DirectAnswer is a [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md). | | [value](./search-core.basefieldvaluedirectanswer.value.md) | T | The result of the direct answer. | diff --git a/docs/search-core.basefieldvaluedirectanswer.type.md b/docs/search-core.basefieldvaluedirectanswer.type.md index 7417b8a1..e5083a6c 100644 --- a/docs/search-core.basefieldvaluedirectanswer.type.md +++ b/docs/search-core.basefieldvaluedirectanswer.type.md @@ -4,7 +4,7 @@ ## BaseFieldValueDirectAnswer.type property -[DirectAnswerType](./search-core.directanswertype.md).FieldValue. +Indicates that the DirectAnswer is a [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md). Signature: diff --git a/docs/search-core.featuredsnippetdirectanswer.fieldtype.md b/docs/search-core.featuredsnippetdirectanswer.fieldtype.md deleted file mode 100644 index 457439ec..00000000 --- a/docs/search-core.featuredsnippetdirectanswer.fieldtype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) > [fieldType](./search-core.featuredsnippetdirectanswer.fieldtype.md) - -## FeaturedSnippetDirectAnswer.fieldType property - -The field type of the direct answer. - -Signature: - -```typescript -fieldType: BuiltInFieldType.MultiLineText | BuiltInFieldType.RichText; -``` diff --git a/docs/search-core.featuredsnippetdirectanswer.md b/docs/search-core.featuredsnippetdirectanswer.md index 3e69fcf3..e09c2ad9 100644 --- a/docs/search-core.featuredsnippetdirectanswer.md +++ b/docs/search-core.featuredsnippetdirectanswer.md @@ -2,22 +2,14 @@ [Home](./index.md) > [@yext/search-core](./search-core.md) > [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) -## FeaturedSnippetDirectAnswer interface +## FeaturedSnippetDirectAnswer type -A direct answer which was found within a document. +All possible built-in [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) interfaces. Signature: ```typescript -export interface FeaturedSnippetDirectAnswer extends DirectAnswer +export declare type FeaturedSnippetDirectAnswer = MultiLineTextFeaturedSnippetDirectAnswer | RichTextFeaturedSnippetDirectAnswer; ``` -Extends: [DirectAnswer](./search-core.directanswer.md)<T> - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [fieldType](./search-core.featuredsnippetdirectanswer.fieldtype.md) | [BuiltInFieldType.MultiLineText](./search-core.builtinfieldtype.md) \| [BuiltInFieldType.RichText](./search-core.builtinfieldtype.md) | The field type of the direct answer. | -| [snippet](./search-core.featuredsnippetdirectanswer.snippet.md) | [Snippet](./search-core.snippet.md) | The snippet where the direct answer was found. | -| [type](./search-core.featuredsnippetdirectanswer.type.md) | [DirectAnswerType.FeaturedSnippet](./search-core.directanswertype.md) | [DirectAnswerType](./search-core.directanswertype.md).FeaturedSnippet | +References: [MultiLineTextFeaturedSnippetDirectAnswer](./search-core.multilinetextfeaturedsnippetdirectanswer.md), [RichTextFeaturedSnippetDirectAnswer](./search-core.richtextfeaturedsnippetdirectanswer.md) diff --git a/docs/search-core.featuredsnippetdirectanswer.type.md b/docs/search-core.featuredsnippetdirectanswer.type.md deleted file mode 100644 index a0d5ecd3..00000000 --- a/docs/search-core.featuredsnippetdirectanswer.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) > [type](./search-core.featuredsnippetdirectanswer.type.md) - -## FeaturedSnippetDirectAnswer.type property - -[DirectAnswerType](./search-core.directanswertype.md).FeaturedSnippet - -Signature: - -```typescript -type: DirectAnswerType.FeaturedSnippet; -``` diff --git a/docs/search-core.fieldvaluedirectanswer.md b/docs/search-core.fieldvaluedirectanswer.md index e139a715..efed1aea 100644 --- a/docs/search-core.fieldvaluedirectanswer.md +++ b/docs/search-core.fieldvaluedirectanswer.md @@ -4,7 +4,7 @@ ## FieldValueDirectAnswer type -Possible built-in and custom [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) interfaces +Possible built-in and custom [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) interfaces. Signature: diff --git a/docs/search-core.md b/docs/search-core.md index b6151471..02139104 100644 --- a/docs/search-core.md +++ b/docs/search-core.md @@ -51,6 +51,7 @@ | [AutocompleteResult](./search-core.autocompleteresult.md) | An autocomplete suggestion. | | [AutocompleteService](./search-core.autocompleteservice.md) | A service for autocomplete requests. | | [BaseAnswersConfig](./search-core.baseanswersconfig.md) | | +| [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) | A direct answer which was found within a document. | | [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) | A direct answer where the answer came from a field from the knowledge graph. | | [BaseSearchConfig](./search-core.basesearchconfig.md) | The base configuration options for [SearchCore](./search-core.searchcore.md). | | [ClientSDKHeaderValues](./search-core.clientsdkheadervalues.md) | Additional agents and their versions used to create the Search experience. The information for these agents is added to the Client-SDK HTTP header along with that of the ANSWERS\_CORE agent. | @@ -63,7 +64,6 @@ | [Facet](./search-core.facet.md) | Represents dynamic filter options for the Search API. | | [FacetOption](./search-core.facetoption.md) | A filter associated with the facet. | | [FailedVertical](./search-core.failedvertical.md) | Error information from when a vertical fails to return results. | -| [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) | A direct answer which was found within a document. | | [FieldValueFilter](./search-core.fieldvaluefilter.md) | Represents a filter which compares values to a single field. | | [FieldValueStaticFilter](./search-core.fieldvaluestaticfilter.md) | A [FieldValueFilter](./search-core.fieldvaluefilter.md) with the kind of filter specified to discriminate between static filter types. | | [FilterSearchRequest](./search-core.filtersearchrequest.md) | Options for a filtersearch request. | @@ -74,6 +74,7 @@ | [LocationBoundingBox](./search-core.locationboundingbox.md) | Location boundaries for a filter with "Place" for its [AppliedQueryFilterType](./search-core.appliedqueryfiltertype.md). (e.g. boundary for a locality or region specific location filter) | | [LocationFilterDetails](./search-core.locationfilterdetails.md) | Additional details relevant to the filter with "PLACE" for its [AppliedQueryFilterType](./search-core.appliedqueryfiltertype.md). | | [LowerNumberRangeLimit](./search-core.lowernumberrangelimit.md) | The start limit of [NumberRangeValue](./search-core.numberrangevalue.md). | +| [MultiLineTextFeaturedSnippetDirectAnswer](./search-core.multilinetextfeaturedsnippetdirectanswer.md) | A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'multi\_line\_text' field type. | | [NearFilterValue](./search-core.nearfiltervalue.md) | A filter value for a filter with a $near [Matcher](./search-core.matcher.md). | | [NumberRangeValue](./search-core.numberrangevalue.md) | A filter value for a filter with a $between [Matcher](./search-core.matcher.md). | | [QueryRulesActionsData](./search-core.queryrulesactionsdata.md) | Data returned from the Search query rules system. | @@ -81,6 +82,7 @@ | [QuestionSubmissionResponse](./search-core.questionsubmissionresponse.md) | A representation of a question submission response. | | [QuestionSubmissionService](./search-core.questionsubmissionservice.md) | Submits a custom question to the Search API. | | [Result](./search-core.result.md) | An individual search result. | +| [RichTextFeaturedSnippetDirectAnswer](./search-core.richtextfeaturedsnippetdirectanswer.md) | A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'rich\_text' field type. "value" field is omitted for featured snippet direct answer of this field type. | | [SearchConfigWithApiKey](./search-core.searchconfigwithapikey.md) | Configuration options for [SearchCore](./search-core.searchcore.md), which includes the options from [BaseSearchConfig](./search-core.basesearchconfig.md), but requires apiKey. | | [SearchConfigWithToken](./search-core.searchconfigwithtoken.md) | Configuration options for [SearchCore](./search-core.searchcore.md), which includes the options from [BaseSearchConfig](./search-core.basesearchconfig.md), but requires token. | | [SearchParameterField](./search-core.searchparameterfield.md) | Indicates which entity field to perform the autocomplete request on. | @@ -114,7 +116,8 @@ | [AnswersConfig](./search-core.answersconfig.md) | | | [Context](./search-core.context.md) | Used to trigger Search [Query Rules](https://hitchhikers.yext.com/tracks/answers-advanced/ans302-query-rules/). | | [EnumOrLiteral](./search-core.enumorliteral.md) | Produces a union type from the enum passed as a generic which consists of the enum values and the string literals of the enum. | -| [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) | Possible built-in and custom [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) interfaces | +| [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) | All possible built-in [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) interfaces. | +| [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) | Possible built-in and custom [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) interfaces. | | [HighlightedFields](./search-core.highlightedfields.md) | A mapping of fields to the values emphasized by the Search API. | | [SearchConfig](./search-core.searchconfig.md) | The main configuration options for [SearchCore](./search-core.searchcore.md). For a full description of the options, see [BaseSearchConfig](./search-core.basesearchconfig.md). The config requires either an apiKey or a token. | | [StaticFilter](./search-core.staticfilter.md) | Represents a static filter that will be used to refine results. | diff --git a/docs/search-core.multilinetextfeaturedsnippetdirectanswer.fieldtype.md b/docs/search-core.multilinetextfeaturedsnippetdirectanswer.fieldtype.md new file mode 100644 index 00000000..4ccad829 --- /dev/null +++ b/docs/search-core.multilinetextfeaturedsnippetdirectanswer.fieldtype.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [MultiLineTextFeaturedSnippetDirectAnswer](./search-core.multilinetextfeaturedsnippetdirectanswer.md) > [fieldType](./search-core.multilinetextfeaturedsnippetdirectanswer.fieldtype.md) + +## MultiLineTextFeaturedSnippetDirectAnswer.fieldType property + +The field type of the direct answer. + +Signature: + +```typescript +fieldType: EnumOrLiteral; +``` diff --git a/docs/search-core.multilinetextfeaturedsnippetdirectanswer.md b/docs/search-core.multilinetextfeaturedsnippetdirectanswer.md new file mode 100644 index 00000000..9311570a --- /dev/null +++ b/docs/search-core.multilinetextfeaturedsnippetdirectanswer.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [MultiLineTextFeaturedSnippetDirectAnswer](./search-core.multilinetextfeaturedsnippetdirectanswer.md) + +## MultiLineTextFeaturedSnippetDirectAnswer interface + +A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'multi\_line\_text' field type. + +Signature: + +```typescript +export interface MultiLineTextFeaturedSnippetDirectAnswer extends BaseFeaturedSnippetDirectAnswer +``` +Extends: [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md)<string> + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [fieldType](./search-core.multilinetextfeaturedsnippetdirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType.MultiLineText](./search-core.builtinfieldtype.md)> | The field type of the direct answer. | +| [value](./search-core.multilinetextfeaturedsnippetdirectanswer.value.md) | string | The value of the direct answer. | + diff --git a/docs/search-core.multilinetextfeaturedsnippetdirectanswer.value.md b/docs/search-core.multilinetextfeaturedsnippetdirectanswer.value.md new file mode 100644 index 00000000..d42be387 --- /dev/null +++ b/docs/search-core.multilinetextfeaturedsnippetdirectanswer.value.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [MultiLineTextFeaturedSnippetDirectAnswer](./search-core.multilinetextfeaturedsnippetdirectanswer.md) > [value](./search-core.multilinetextfeaturedsnippetdirectanswer.value.md) + +## MultiLineTextFeaturedSnippetDirectAnswer.value property + +The value of the direct answer. + +Signature: + +```typescript +value: string; +``` diff --git a/docs/search-core.richtextfeaturedsnippetdirectanswer.fieldtype.md b/docs/search-core.richtextfeaturedsnippetdirectanswer.fieldtype.md new file mode 100644 index 00000000..8dcbeb3d --- /dev/null +++ b/docs/search-core.richtextfeaturedsnippetdirectanswer.fieldtype.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [RichTextFeaturedSnippetDirectAnswer](./search-core.richtextfeaturedsnippetdirectanswer.md) > [fieldType](./search-core.richtextfeaturedsnippetdirectanswer.fieldtype.md) + +## RichTextFeaturedSnippetDirectAnswer.fieldType property + +The field type of the direct answer. + +Signature: + +```typescript +fieldType: EnumOrLiteral; +``` diff --git a/docs/search-core.richtextfeaturedsnippetdirectanswer.md b/docs/search-core.richtextfeaturedsnippetdirectanswer.md new file mode 100644 index 00000000..0699a0fa --- /dev/null +++ b/docs/search-core.richtextfeaturedsnippetdirectanswer.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [RichTextFeaturedSnippetDirectAnswer](./search-core.richtextfeaturedsnippetdirectanswer.md) + +## RichTextFeaturedSnippetDirectAnswer interface + +A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'rich\_text' field type. "value" field is omitted for featured snippet direct answer of this field type. + +Signature: + +```typescript +export interface RichTextFeaturedSnippetDirectAnswer extends Omit, 'value'> +``` +Extends: Omit<[BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md)<string>, 'value'> + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [fieldType](./search-core.richtextfeaturedsnippetdirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType.RichText](./search-core.builtinfieldtype.md)> | The field type of the direct answer. | + diff --git a/etc/search-core.api.md b/etc/search-core.api.md index 476d3bff..c98de5a4 100644 --- a/etc/search-core.api.md +++ b/etc/search-core.api.md @@ -80,6 +80,13 @@ export interface AutocompleteService { export interface BaseAnswersConfig extends BaseSearchConfig { } +// @public +export interface BaseFeaturedSnippetDirectAnswer extends DirectAnswer { + fieldType: EnumOrLiteral; + snippet: Snippet; + type: DirectAnswerType.FeaturedSnippet; +} + // @public export interface BaseFieldValueDirectAnswer extends DirectAnswer { entityName: string; @@ -223,11 +230,7 @@ export interface FailedVertical { } // @public -export interface FeaturedSnippetDirectAnswer extends DirectAnswer { - fieldType: BuiltInFieldType.MultiLineText | BuiltInFieldType.RichText; - snippet: Snippet; - type: DirectAnswerType.FeaturedSnippet; -} +export type FeaturedSnippetDirectAnswer = MultiLineTextFeaturedSnippetDirectAnswer | RichTextFeaturedSnippetDirectAnswer; // @public export type FieldValueDirectAnswer = UnknownFieldValueDirectAnswer; @@ -341,6 +344,12 @@ export enum Matcher { NotEquals = "!$eq" } +// @public +export interface MultiLineTextFeaturedSnippetDirectAnswer extends BaseFeaturedSnippetDirectAnswer { + fieldType: EnumOrLiteral; + value: string; +} + // @public export interface NearFilterValue { lat: number; @@ -416,6 +425,11 @@ export interface Result> { source: Source; } +// @public +export interface RichTextFeaturedSnippetDirectAnswer extends Omit, 'value'> { + fieldType: EnumOrLiteral; +} + // @public export const SandboxEndpoints: Required; diff --git a/src/models/index.ts b/src/models/index.ts index 5b118384..c19d32b4 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -57,13 +57,22 @@ export { Direction } from './searchservice/request/Direction'; export { AppliedQueryFilter } from './searchservice/response/AppliedQueryFilter'; export { AppliedQueryFilterType } from './searchservice/response/AppliedQueryFilterType'; export { LocationFilterDetails, LocationBoundingBox } from './searchservice/response/LocationFilterDetails'; + export { DirectAnswer } from './searchservice/response/directanswer/DirectAnswer'; +export { DirectAnswerType } from './searchservice/response/directanswer/DirectAnswerType'; +export { BuiltInFieldType } from './searchservice/response/directanswer/BuiltInFieldType'; + export { BaseFieldValueDirectAnswer } from './searchservice/response/directanswer/BaseFieldValueDirectAnswer'; export { FieldValueDirectAnswer } from './searchservice/response/directanswer/FieldValueDirectAnswer'; export { UnknownFieldValueDirectAnswer } from './searchservice/response/directanswer/UnknownFieldValueDirectAnswer'; -export { FeaturedSnippetDirectAnswer } from './searchservice/response/directanswer/FeaturedSnippetDirectAnswer'; -export { DirectAnswerType } from './searchservice/response/directanswer/DirectAnswerType'; -export { BuiltInFieldType } from './searchservice/response/directanswer/BuiltInFieldType'; + +export { + BaseFeaturedSnippetDirectAnswer, + FeaturedSnippetDirectAnswer, + RichTextFeaturedSnippetDirectAnswer, + MultiLineTextFeaturedSnippetDirectAnswer +} from './searchservice/response/directanswer/FeaturedSnippetDirectAnswer'; + export { DisplayableFacet, DisplayableFacetOption } from './searchservice/response/DisplayableFacet'; export { HighlightedFields } from './searchservice/response/HighlightedFields'; export { HighlightedValue } from './searchservice/response/HighlightedValue'; diff --git a/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts b/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts index 007b66a2..7bca684b 100644 --- a/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts @@ -7,7 +7,7 @@ import { DirectAnswerType } from './DirectAnswerType'; * @public */ export interface BaseFieldValueDirectAnswer extends DirectAnswer { - /** {@link DirectAnswerType}.FieldValue. */ + /** {@inheritDoc DirectAnswerType.FieldValue} */ type: DirectAnswerType.FieldValue, /** The result of the direct answer. */ value: T, diff --git a/src/models/searchservice/response/directanswer/BuiltInFieldType.ts b/src/models/searchservice/response/directanswer/BuiltInFieldType.ts index b8cb2449..b080b809 100644 --- a/src/models/searchservice/response/directanswer/BuiltInFieldType.ts +++ b/src/models/searchservice/response/directanswer/BuiltInFieldType.ts @@ -1,5 +1,6 @@ /** * Possible built-in field types for {@link DirectAnswer.fieldType}. + * * @public */ export enum BuiltInFieldType { diff --git a/src/models/searchservice/response/directanswer/DirectAnswer.ts b/src/models/searchservice/response/directanswer/DirectAnswer.ts index bac21cc8..a4d38b45 100644 --- a/src/models/searchservice/response/directanswer/DirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/DirectAnswer.ts @@ -25,4 +25,4 @@ export interface DirectAnswer { verticalKey: string, /** The field type of the direct answer. */ fieldType: EnumOrLiteral | 'unknown' -} \ No newline at end of file +} diff --git a/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts b/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts index cc581ce1..23a0e882 100644 --- a/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts @@ -2,17 +2,49 @@ import { DirectAnswer } from './DirectAnswer'; import { DirectAnswerType } from './DirectAnswerType'; import { Snippet } from '../Snippet'; import { BuiltInFieldType } from './BuiltInFieldType'; +import { EnumOrLiteral } from '../../../utils/EnumOrLiteral'; /** * A direct answer which was found within a document. * * @public */ -export interface FeaturedSnippetDirectAnswer extends DirectAnswer { - /** {@link DirectAnswerType}.FeaturedSnippet */ +export interface BaseFeaturedSnippetDirectAnswer extends DirectAnswer { + /** {@inheritDoc DirectAnswerType.FeaturedSnippet} */ type: DirectAnswerType.FeaturedSnippet, /** {@inheritDoc DirectAnswer.fieldType} */ - fieldType: BuiltInFieldType.MultiLineText | BuiltInFieldType.RichText, + fieldType: EnumOrLiteral, /** The snippet where the direct answer was found. */ snippet: Snippet } + +/** + * A {@link BaseFeaturedSnippetDirectAnswer} with 'multi_line_text' field type. + * + * @public + */ +export interface MultiLineTextFeaturedSnippetDirectAnswer extends BaseFeaturedSnippetDirectAnswer { + /** The value of the direct answer. */ + value: string, + /** {@inheritDoc DirectAnswer.fieldType} */ + fieldType: EnumOrLiteral +} + +/** + * A {@link BaseFeaturedSnippetDirectAnswer} with 'rich_text' field type. + * "value" field is omitted for featured snippet direct answer of this field type. + * + * @public + */ +export interface RichTextFeaturedSnippetDirectAnswer extends Omit, 'value'> { + /** {@inheritDoc DirectAnswer.fieldType} */ + fieldType: EnumOrLiteral +} + +/** + * All possible built-in {@link BaseFeaturedSnippetDirectAnswer} interfaces. + * + * @public + */ +export type FeaturedSnippetDirectAnswer = + MultiLineTextFeaturedSnippetDirectAnswer | RichTextFeaturedSnippetDirectAnswer; diff --git a/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts b/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts index f9a5abfc..dea868ab 100644 --- a/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts @@ -1,7 +1,7 @@ import { UnknownFieldValueDirectAnswer } from './UnknownFieldValueDirectAnswer'; /** - * Possible built-in and custom {@link BaseFieldValueDirectAnswer} interfaces + * Possible built-in and custom {@link BaseFieldValueDirectAnswer} interfaces. * * @public */