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'
- 'value' field is present, of type string, and NOT optional in IDE for the switch case 'multi_line_text'
---
...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
*/