diff --git a/docs/search-core.basefeaturedsnippetdirectanswer.fieldtype.md b/docs/search-core.basefeaturedsnippetdirectanswer.fieldtype.md
index c3599a4c..4c998ba6 100644
--- a/docs/search-core.basefeaturedsnippetdirectanswer.fieldtype.md
+++ b/docs/search-core.basefeaturedsnippetdirectanswer.fieldtype.md
@@ -9,5 +9,5 @@ The field type of the direct answer.
Signature:
```typescript
-fieldType: EnumOrLiteral;
+fieldType: EnumOrLiteral;
```
diff --git a/docs/search-core.basefeaturedsnippetdirectanswer.md b/docs/search-core.basefeaturedsnippetdirectanswer.md
index a9e8fa56..d23ae803 100644
--- a/docs/search-core.basefeaturedsnippetdirectanswer.md
+++ b/docs/search-core.basefeaturedsnippetdirectanswer.md
@@ -17,7 +17,7 @@ export interface BaseFeaturedSnippetDirectAnswer extends DirectAnsw
| 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. |
+| [fieldType](./search-core.basefeaturedsnippetdirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType.MultiLineText](./search-core.builtinfieldtype.md) \| [BuiltInFieldType.RichText](./search-core.builtinfieldtype.md) \| [BuiltInFieldType.RichText\_v2](./search-core.builtinfieldtype.md) \| [BuiltInFieldType.Html](./search-core.builtinfieldtype.md) \| [BuiltInFieldType.Markdown](./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.builtinfieldtype.md b/docs/search-core.builtinfieldtype.md
index 8c7d0d70..9a398825 100644
--- a/docs/search-core.builtinfieldtype.md
+++ b/docs/search-core.builtinfieldtype.md
@@ -23,12 +23,15 @@ export declare enum BuiltInFieldType
| Email | "email"
| |
| FacebookURL | "facebook_url"
| |
| Hours | "hours"
| |
+| Html | "html"
| |
| InstagramHandle | "instagram_handle"
| |
| Integer | "integer"
| |
| IOSAppURL | "ios_app_url"
| |
+| Markdown | "markdown"
| |
| MultiLineText | "multi_line_text"
| |
| Phone | "phone"
| |
| RichText | "rich_text"
| |
+| RichText\_v2 | "rich_text_v2"
| |
| SingleLineText | "single_line_text"
| |
| TwitterHandle | "twitter_handle"
| |
| URL | "url"
| |
diff --git a/docs/search-core.directanswer.value.md b/docs/search-core.directanswer.value.md
index 77aa935a..5fe63273 100644
--- a/docs/search-core.directanswer.value.md
+++ b/docs/search-core.directanswer.value.md
@@ -14,5 +14,5 @@ value?: T;
## Remarks
-A value will not be present if the [DirectAnswer.type](./search-core.directanswer.type.md) is 'FEATURED\_SNIPPET' and [DirectAnswer.fieldType](./search-core.directanswer.fieldtype.md) is 'rich\_text'.
+A value will not be present if the [DirectAnswer.type](./search-core.directanswer.type.md) is 'FEATURED\_SNIPPET' and [DirectAnswer.fieldType](./search-core.directanswer.fieldtype.md) is 'rich\_text', 'markdown', 'html' or 'rich\_text\_v2'.
diff --git a/docs/search-core.featuredsnippetdirectanswer.md b/docs/search-core.featuredsnippetdirectanswer.md
index fb2a6e1f..04447abb 100644
--- a/docs/search-core.featuredsnippetdirectanswer.md
+++ b/docs/search-core.featuredsnippetdirectanswer.md
@@ -9,7 +9,7 @@ All possible built-in [BaseFeaturedSnippetDirectAnswer](./search-core.basefeatur
Signature:
```typescript
-export declare type FeaturedSnippetDirectAnswer = MultiLineTextSnippetDirectAnswer | RichTextSnippetDirectAnswer;
+export declare type FeaturedSnippetDirectAnswer = MultiLineTextSnippetDirectAnswer | RichTextSnippetDirectAnswer | RichTextV2SnippetDirectAnswer | HTMLSnippetDirectAnswer | MarkdownSnippetDirectAnswer;
```
-References: [MultiLineTextSnippetDirectAnswer](./search-core.multilinetextsnippetdirectanswer.md), [RichTextSnippetDirectAnswer](./search-core.richtextsnippetdirectanswer.md)
+References: [MultiLineTextSnippetDirectAnswer](./search-core.multilinetextsnippetdirectanswer.md), [RichTextSnippetDirectAnswer](./search-core.richtextsnippetdirectanswer.md), [RichTextV2SnippetDirectAnswer](./search-core.richtextv2snippetdirectanswer.md), [HTMLSnippetDirectAnswer](./search-core.htmlsnippetdirectanswer.md), [MarkdownSnippetDirectAnswer](./search-core.markdownsnippetdirectanswer.md)
diff --git a/docs/search-core.htmlsnippetdirectanswer.fieldtype.md b/docs/search-core.htmlsnippetdirectanswer.fieldtype.md
new file mode 100644
index 00000000..a74b7076
--- /dev/null
+++ b/docs/search-core.htmlsnippetdirectanswer.fieldtype.md
@@ -0,0 +1,13 @@
+
+
+[Home](./index.md) > [@yext/search-core](./search-core.md) > [HTMLSnippetDirectAnswer](./search-core.htmlsnippetdirectanswer.md) > [fieldType](./search-core.htmlsnippetdirectanswer.fieldtype.md)
+
+## HTMLSnippetDirectAnswer.fieldType property
+
+The field type of the direct answer.
+
+Signature:
+
+```typescript
+fieldType: EnumOrLiteral;
+```
diff --git a/docs/search-core.htmlsnippetdirectanswer.md b/docs/search-core.htmlsnippetdirectanswer.md
new file mode 100644
index 00000000..030ca161
--- /dev/null
+++ b/docs/search-core.htmlsnippetdirectanswer.md
@@ -0,0 +1,21 @@
+
+
+[Home](./index.md) > [@yext/search-core](./search-core.md) > [HTMLSnippetDirectAnswer](./search-core.htmlsnippetdirectanswer.md)
+
+## HTMLSnippetDirectAnswer interface
+
+A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'html' field type. "value" field is omitted for featured snippet direct answer of this field type.
+
+Signature:
+
+```typescript
+export interface HTMLSnippetDirectAnswer extends Omit, 'value'>
+```
+Extends: Omit<[BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md)<string>, 'value'>
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [fieldType](./search-core.htmlsnippetdirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType.Html](./search-core.builtinfieldtype.md)> | The field type of the direct answer. |
+
diff --git a/docs/search-core.markdownsnippetdirectanswer.fieldtype.md b/docs/search-core.markdownsnippetdirectanswer.fieldtype.md
new file mode 100644
index 00000000..dbaedd5b
--- /dev/null
+++ b/docs/search-core.markdownsnippetdirectanswer.fieldtype.md
@@ -0,0 +1,13 @@
+
+
+[Home](./index.md) > [@yext/search-core](./search-core.md) > [MarkdownSnippetDirectAnswer](./search-core.markdownsnippetdirectanswer.md) > [fieldType](./search-core.markdownsnippetdirectanswer.fieldtype.md)
+
+## MarkdownSnippetDirectAnswer.fieldType property
+
+The field type of the direct answer.
+
+Signature:
+
+```typescript
+fieldType: EnumOrLiteral;
+```
diff --git a/docs/search-core.markdownsnippetdirectanswer.md b/docs/search-core.markdownsnippetdirectanswer.md
new file mode 100644
index 00000000..f64e1d06
--- /dev/null
+++ b/docs/search-core.markdownsnippetdirectanswer.md
@@ -0,0 +1,21 @@
+
+
+[Home](./index.md) > [@yext/search-core](./search-core.md) > [MarkdownSnippetDirectAnswer](./search-core.markdownsnippetdirectanswer.md)
+
+## MarkdownSnippetDirectAnswer interface
+
+A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'markdown' field type. "value" field is omitted for featured snippet direct answer of this field type.
+
+Signature:
+
+```typescript
+export interface MarkdownSnippetDirectAnswer extends Omit, 'value'>
+```
+Extends: Omit<[BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md)<string>, 'value'>
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [fieldType](./search-core.markdownsnippetdirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType.Markdown](./search-core.builtinfieldtype.md)> | The field type of the direct answer. |
+
diff --git a/docs/search-core.md b/docs/search-core.md
index ceda135f..ccbb1740 100644
--- a/docs/search-core.md
+++ b/docs/search-core.md
@@ -77,6 +77,7 @@
| [HolidayHours](./search-core.holidayhours.md) | An interface for holiday hours to use in [BaseFieldValueDirectAnswer.value](./search-core.basefieldvaluedirectanswer.value.md). |
| [Hours](./search-core.hours.md) | An interface for hours fields to use in [BaseFieldValueDirectAnswer.value](./search-core.basefieldvaluedirectanswer.value.md). |
| [HoursDirectAnswer](./search-core.hoursdirectanswer.md) | A [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) interface with 'hours' field type. |
+| [HTMLSnippetDirectAnswer](./search-core.htmlsnippetdirectanswer.md) | A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'html' field type. "value" field is omitted for featured snippet direct answer of this field type. |
| [InstagramHandleDirectAnswer](./search-core.instagramhandledirectanswer.md) | A direct answer for an instagram handle field. |
| [IntegerDirectAnswer](./search-core.integerdirectanswer.md) | A direct answer for an integer field. |
| [Interval](./search-core.interval.md) | An interface for a time interval to use in [BaseFieldValueDirectAnswer.value](./search-core.basefieldvaluedirectanswer.value.md). |
@@ -86,6 +87,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). |
+| [MarkdownSnippetDirectAnswer](./search-core.markdownsnippetdirectanswer.md) | A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'markdown' field type. "value" field is omitted for featured snippet direct answer of this field type. |
| [MultiLineTextSnippetDirectAnswer](./search-core.multilinetextsnippetdirectanswer.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). |
@@ -97,6 +99,7 @@
| [Result](./search-core.result.md) | An individual search result. |
| [RichTextDirectAnswer](./search-core.richtextdirectanswer.md) | A direct answer for a rich text field. |
| [RichTextSnippetDirectAnswer](./search-core.richtextsnippetdirectanswer.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. |
+| [RichTextV2SnippetDirectAnswer](./search-core.richtextv2snippetdirectanswer.md) | A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'rich\_text\_v2' 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. |
diff --git a/docs/search-core.richtextv2snippetdirectanswer.fieldtype.md b/docs/search-core.richtextv2snippetdirectanswer.fieldtype.md
new file mode 100644
index 00000000..1bbf4c0b
--- /dev/null
+++ b/docs/search-core.richtextv2snippetdirectanswer.fieldtype.md
@@ -0,0 +1,13 @@
+
+
+[Home](./index.md) > [@yext/search-core](./search-core.md) > [RichTextV2SnippetDirectAnswer](./search-core.richtextv2snippetdirectanswer.md) > [fieldType](./search-core.richtextv2snippetdirectanswer.fieldtype.md)
+
+## RichTextV2SnippetDirectAnswer.fieldType property
+
+The field type of the direct answer.
+
+Signature:
+
+```typescript
+fieldType: EnumOrLiteral;
+```
diff --git a/docs/search-core.richtextv2snippetdirectanswer.md b/docs/search-core.richtextv2snippetdirectanswer.md
new file mode 100644
index 00000000..aefceeb0
--- /dev/null
+++ b/docs/search-core.richtextv2snippetdirectanswer.md
@@ -0,0 +1,21 @@
+
+
+[Home](./index.md) > [@yext/search-core](./search-core.md) > [RichTextV2SnippetDirectAnswer](./search-core.richtextv2snippetdirectanswer.md)
+
+## RichTextV2SnippetDirectAnswer interface
+
+A [BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md) with 'rich\_text\_v2' field type. "value" field is omitted for featured snippet direct answer of this field type.
+
+Signature:
+
+```typescript
+export interface RichTextV2SnippetDirectAnswer extends Omit, 'value'>
+```
+Extends: Omit<[BaseFeaturedSnippetDirectAnswer](./search-core.basefeaturedsnippetdirectanswer.md)<string>, 'value'>
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [fieldType](./search-core.richtextv2snippetdirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType.RichText\_v2](./search-core.builtinfieldtype.md)> | The field type of the direct answer. |
+
diff --git a/docs/search-core.snippet.md b/docs/search-core.snippet.md
index 35d1cf84..9262bb8b 100644
--- a/docs/search-core.snippet.md
+++ b/docs/search-core.snippet.md
@@ -17,5 +17,5 @@ export interface Snippet
| Property | Type | Description |
| --- | --- | --- |
| [matchedSubstrings](./search-core.snippet.matchedsubstrings.md) | { offset: number; length: number; }\[\] | The locations in the document text of the [DirectAnswer.value](./search-core.directanswer.value.md) |
-| [value](./search-core.snippet.value.md) | string | The snippet's body of text |
+| [value](./search-core.snippet.value.md) | string | The raw snippet value, or HTML if - entity is of type HTML - the conversion to HTML is enabled in search configuration |
diff --git a/docs/search-core.snippet.value.md b/docs/search-core.snippet.value.md
index d061bf0c..80840c67 100644
--- a/docs/search-core.snippet.value.md
+++ b/docs/search-core.snippet.value.md
@@ -4,7 +4,7 @@
## Snippet.value property
-The snippet's body of text
+The raw snippet value, or HTML if - entity is of type HTML - the conversion to HTML is enabled in search configuration
Signature:
diff --git a/etc/search-core.api.md b/etc/search-core.api.md
index a44ffbea..2d46a534 100644
--- a/etc/search-core.api.md
+++ b/etc/search-core.api.md
@@ -90,7 +90,7 @@ export interface AutocompleteService {
// @public
export interface BaseFeaturedSnippetDirectAnswer extends DirectAnswer {
- fieldType: EnumOrLiteral;
+ fieldType: EnumOrLiteral;
snippet: Snippet;
type: DirectAnswerType.FeaturedSnippet;
}
@@ -135,18 +135,24 @@ export enum BuiltInFieldType {
// (undocumented)
Hours = "hours",
// (undocumented)
+ Html = "html",
+ // (undocumented)
InstagramHandle = "instagram_handle",
// (undocumented)
Integer = "integer",
// (undocumented)
IOSAppURL = "ios_app_url",
// (undocumented)
+ Markdown = "markdown",
+ // (undocumented)
MultiLineText = "multi_line_text",
// (undocumented)
Phone = "phone",
// (undocumented)
RichText = "rich_text",
// (undocumented)
+ RichText_v2 = "rich_text_v2",
+ // (undocumented)
SingleLineText = "single_line_text",
// (undocumented)
TwitterHandle = "twitter_handle",
@@ -321,7 +327,7 @@ export interface FailedVertical {
}
// @public
-export type FeaturedSnippetDirectAnswer = MultiLineTextSnippetDirectAnswer | RichTextSnippetDirectAnswer;
+export type FeaturedSnippetDirectAnswer = MultiLineTextSnippetDirectAnswer | RichTextSnippetDirectAnswer | RichTextV2SnippetDirectAnswer | HTMLSnippetDirectAnswer | MarkdownSnippetDirectAnswer;
// @public
export type FieldValueDirectAnswer = UnknownFieldValueDirectAnswer | TextDirectAnswer | UrlDirectAnswer | RichTextDirectAnswer | DecimalDirectAnswer | FacebookUrlDirectAnswer | InstagramHandleDirectAnswer | TwitterHandleDirectAnswer | IosAppUrlDirectAnswer | AndroidAppUrlDirectAnswer | ComplexUrlDirectAnswer | IntegerDirectAnswer | PhoneDirectAnswer | EmailDirectAnswer | AddressDirectAnswer | HoursDirectAnswer;
@@ -419,6 +425,11 @@ export interface HoursDirectAnswer extends BaseFieldValueDirectAnswer;
}
+// @public
+export interface HTMLSnippetDirectAnswer extends Omit, 'value'> {
+ fieldType: EnumOrLiteral;
+}
+
// @public
export interface InstagramHandleDirectAnswer extends BaseFieldValueDirectAnswer {
// (undocumented)
@@ -489,6 +500,11 @@ export interface LowerNumberRangeLimit {
value: number;
}
+// @public
+export interface MarkdownSnippetDirectAnswer extends Omit, 'value'> {
+ fieldType: EnumOrLiteral;
+}
+
// @public
export enum Matcher {
Between = "$between",
@@ -599,6 +615,11 @@ export interface RichTextSnippetDirectAnswer extends Omit;
}
+// @public
+export interface RichTextV2SnippetDirectAnswer extends Omit, 'value'> {
+ fieldType: EnumOrLiteral;
+}
+
// @public @deprecated
export const SandboxEndpoints: Required;
diff --git a/src/models/searchservice/response/Snippet.ts b/src/models/searchservice/response/Snippet.ts
index 1f2538ff..f67fdbfc 100644
--- a/src/models/searchservice/response/Snippet.ts
+++ b/src/models/searchservice/response/Snippet.ts
@@ -4,7 +4,10 @@
* @public
*/
export interface Snippet {
- /** The snippet's body of text */
+ /** The raw snippet value, or HTML if
+ * - entity is of type HTML
+ * - the conversion to HTML is enabled in search configuration
+ * */
value: string,
/** The locations in the document text of the {@link DirectAnswer.value} */
matchedSubstrings: { offset: number, length: number }[]
diff --git a/src/models/searchservice/response/directanswer/BuiltInFieldType.ts b/src/models/searchservice/response/directanswer/BuiltInFieldType.ts
index 8251ecb0..8524c801 100644
--- a/src/models/searchservice/response/directanswer/BuiltInFieldType.ts
+++ b/src/models/searchservice/response/directanswer/BuiltInFieldType.ts
@@ -19,5 +19,8 @@ export enum BuiltInFieldType {
Integer = 'integer',
SingleLineText = 'single_line_text',
RichText = 'rich_text',
- MultiLineText = 'multi_line_text'
+ MultiLineText = 'multi_line_text',
+ RichText_v2 = 'rich_text_v2',
+ Html = 'html',
+ Markdown = 'markdown'
}
\ No newline at end of file
diff --git a/src/models/searchservice/response/directanswer/DirectAnswer.ts b/src/models/searchservice/response/directanswer/DirectAnswer.ts
index a4d38b45..ba01f8cd 100644
--- a/src/models/searchservice/response/directanswer/DirectAnswer.ts
+++ b/src/models/searchservice/response/directanswer/DirectAnswer.ts
@@ -16,7 +16,7 @@ export interface DirectAnswer {
*
* @remarks
* A value will not be present if the {@link DirectAnswer."type"} is 'FEATURED_SNIPPET'
- * and {@link DirectAnswer.fieldType} is 'rich_text'.
+ * and {@link DirectAnswer.fieldType} is 'rich_text', 'markdown', 'html' or 'rich_text_v2'.
*/
value?: T,
/** The entity associated with the direct answer. */
diff --git a/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts b/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts
index ec48022f..cfff5170 100644
--- a/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts
+++ b/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts
@@ -5,7 +5,10 @@ import { BuiltInFieldType } from './BuiltInFieldType';
import { EnumOrLiteral } from '../../../utils/EnumOrLiteral';
import {
MultiLineTextSnippetDirectAnswer,
- RichTextSnippetDirectAnswer
+ RichTextSnippetDirectAnswer,
+ RichTextV2SnippetDirectAnswer,
+ HTMLSnippetDirectAnswer,
+ MarkdownSnippetDirectAnswer
} from './featuredsnippetdirectanswers';
/**
@@ -17,7 +20,12 @@ export interface BaseFeaturedSnippetDirectAnswer extends DirectAnsw
/** {@inheritDoc DirectAnswerType.FeaturedSnippet} */
type: DirectAnswerType.FeaturedSnippet,
/** {@inheritDoc DirectAnswer.fieldType} */
- fieldType: EnumOrLiteral,
+ fieldType: EnumOrLiteral<
+ BuiltInFieldType.MultiLineText |
+ BuiltInFieldType.RichText |
+ BuiltInFieldType.RichText_v2 |
+ BuiltInFieldType.Html |
+ BuiltInFieldType.Markdown>,
/** The snippet where the direct answer was found. */
snippet: Snippet
}
@@ -28,4 +36,8 @@ export interface BaseFeaturedSnippetDirectAnswer extends DirectAnsw
* @public
*/
export type FeaturedSnippetDirectAnswer =
- MultiLineTextSnippetDirectAnswer | RichTextSnippetDirectAnswer;
+ MultiLineTextSnippetDirectAnswer |
+ RichTextSnippetDirectAnswer |
+ RichTextV2SnippetDirectAnswer |
+ HTMLSnippetDirectAnswer |
+ MarkdownSnippetDirectAnswer;
diff --git a/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/HTMLSnippetDirectAnswer.ts b/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/HTMLSnippetDirectAnswer.ts
new file mode 100644
index 00000000..dbb166dd
--- /dev/null
+++ b/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/HTMLSnippetDirectAnswer.ts
@@ -0,0 +1,14 @@
+import { EnumOrLiteral } from '../../../../utils/EnumOrLiteral';
+import { BuiltInFieldType } from '../BuiltInFieldType';
+import { BaseFeaturedSnippetDirectAnswer } from '../FeaturedSnippetDirectAnswer';
+
+/**
+ * A {@link BaseFeaturedSnippetDirectAnswer} with 'html' field type.
+ * "value" field is omitted for featured snippet direct answer of this field type.
+ *
+ * @public
+ */
+export interface HTMLSnippetDirectAnswer extends Omit, 'value'> {
+ /** {@inheritDoc DirectAnswer.fieldType} */
+ fieldType: EnumOrLiteral
+}
diff --git a/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/MarkdownSnippetDirectAnswer.ts b/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/MarkdownSnippetDirectAnswer.ts
new file mode 100644
index 00000000..22b86834
--- /dev/null
+++ b/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/MarkdownSnippetDirectAnswer.ts
@@ -0,0 +1,14 @@
+import { EnumOrLiteral } from '../../../../utils/EnumOrLiteral';
+import { BuiltInFieldType } from '../BuiltInFieldType';
+import { BaseFeaturedSnippetDirectAnswer } from '../FeaturedSnippetDirectAnswer';
+
+/**
+ * A {@link BaseFeaturedSnippetDirectAnswer} with 'markdown' field type.
+ * "value" field is omitted for featured snippet direct answer of this field type.
+ *
+ * @public
+ */
+export interface MarkdownSnippetDirectAnswer extends Omit, 'value'> {
+ /** {@inheritDoc DirectAnswer.fieldType} */
+ fieldType: EnumOrLiteral
+}
diff --git a/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/RichTextV2SnippetDirectAnswer.ts b/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/RichTextV2SnippetDirectAnswer.ts
new file mode 100644
index 00000000..df632e16
--- /dev/null
+++ b/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/RichTextV2SnippetDirectAnswer.ts
@@ -0,0 +1,14 @@
+import { EnumOrLiteral } from '../../../../utils/EnumOrLiteral';
+import { BuiltInFieldType } from '../BuiltInFieldType';
+import { BaseFeaturedSnippetDirectAnswer } from '../FeaturedSnippetDirectAnswer';
+
+/**
+ * A {@link BaseFeaturedSnippetDirectAnswer} with 'rich_text_v2' field type.
+ * "value" field is omitted for featured snippet direct answer of this field type.
+ *
+ * @public
+ */
+export interface RichTextV2SnippetDirectAnswer extends Omit, 'value'> {
+ /** {@inheritDoc DirectAnswer.fieldType} */
+ fieldType: EnumOrLiteral
+}
diff --git a/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/index.ts b/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/index.ts
index 61b085e5..bb7f5b2a 100644
--- a/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/index.ts
+++ b/src/models/searchservice/response/directanswer/featuredsnippetdirectanswers/index.ts
@@ -1,2 +1,5 @@
export { RichTextSnippetDirectAnswer } from './RichTextSnippetDirectAnswer';
export { MultiLineTextSnippetDirectAnswer } from './MultiLineTextSnippetDirectAnswer';
+export { RichTextV2SnippetDirectAnswer } from './RichTextV2SnippetDirectAnswer';
+export {HTMLSnippetDirectAnswer} from './HTMLSnippetDirectAnswer';
+export {MarkdownSnippetDirectAnswer} from './MarkdownSnippetDirectAnswer';
diff --git a/src/transformers/searchservice/createDirectAnswer.ts b/src/transformers/searchservice/createDirectAnswer.ts
index b964b1d5..0157ca3d 100644
--- a/src/transformers/searchservice/createDirectAnswer.ts
+++ b/src/transformers/searchservice/createDirectAnswer.ts
@@ -25,7 +25,11 @@ export function createDirectAnswer(data: any): FeaturedSnippetDirectAnswer | Fie
};
} else if (isFeaturedSnippetDirectAnswer) {
const fieldType = commonDirectAnswerData.fieldType;
- if (fieldType != BuiltInFieldType.MultiLineText && fieldType != BuiltInFieldType.RichText) {
+ if (fieldType != BuiltInFieldType.MultiLineText &&
+ fieldType != BuiltInFieldType.RichText &&
+ fieldType != BuiltInFieldType.RichText_v2 &&
+ fieldType != BuiltInFieldType.Html &&
+ fieldType != BuiltInFieldType.Markdown) {
throw new Error(`Unexpected fieldType for featured snippet direct answer: ${fieldType}`);
}
return {