From 4d3e77eaa905ee6814a278c407766bb9bb6f33a6 Mon Sep 17 00:00:00 2001 From: juliannzhou <65748924+juliannzhou@users.noreply.github.com> Date: Wed, 10 Aug 2022 14:49:04 -0400 Subject: [PATCH] make value generic and create fieldType enum for FieldValueDirectAnswer --- .../searchservice/response/DirectAnswer.ts | 4 ++-- .../response/DirectAnswerFieldType.ts | 22 +++++++++++++++++++ .../response/FeaturedSnippetDirectAnswer.ts | 2 +- .../response/FieldValueDirectAnswer.ts | 4 ++-- 4 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 src/models/searchservice/response/DirectAnswerFieldType.ts diff --git a/src/models/searchservice/response/DirectAnswer.ts b/src/models/searchservice/response/DirectAnswer.ts index 7a4b2eed..6efb354d 100644 --- a/src/models/searchservice/response/DirectAnswer.ts +++ b/src/models/searchservice/response/DirectAnswer.ts @@ -6,7 +6,7 @@ import { DirectAnswerType } from './DirectAnswerType'; * * @public */ -export interface DirectAnswer { +export interface DirectAnswer { /** The {@link DirectAnswerType}. */ type: DirectAnswerType, /** @@ -15,7 +15,7 @@ export interface DirectAnswer { * @remarks * A value will not be present if the {@link DirectAnswer.fieldType} is 'rich_text'. */ - value?: string, + value?: T, /** The entity associated with the direct answer. */ relatedResult: Result, /** The vertical key of the direct answer. */ diff --git a/src/models/searchservice/response/DirectAnswerFieldType.ts b/src/models/searchservice/response/DirectAnswerFieldType.ts new file mode 100644 index 00000000..eda3768c --- /dev/null +++ b/src/models/searchservice/response/DirectAnswerFieldType.ts @@ -0,0 +1,22 @@ +/** + * Type for value of DirectAnswer. + * + * @public + */ +export enum DirectAnswerFieldType { + Url = 'url', + ComplexUrl = 'complex_url', + IOSAppUrl = 'ios_app_url', + AndroidAppUrl = 'android_app_url', + FacebookUrl = 'facebook_url', + Email = 'email', + InstagramHandle = 'instagram_handle', + TwitterHandle = 'twitter_handle', + Phone = 'phone', + Address = 'address', + Hours = 'hours', + Decimal = 'decimal', + RichText = 'rich_text', + SingleLineText = 'single_line_text', + MultiLineText = 'multi_line_text' +} \ No newline at end of file diff --git a/src/models/searchservice/response/FeaturedSnippetDirectAnswer.ts b/src/models/searchservice/response/FeaturedSnippetDirectAnswer.ts index 1c2138c8..3eec4d58 100644 --- a/src/models/searchservice/response/FeaturedSnippetDirectAnswer.ts +++ b/src/models/searchservice/response/FeaturedSnippetDirectAnswer.ts @@ -8,7 +8,7 @@ import { Snippet } from './Snippet'; * * @public */ -export interface FeaturedSnippetDirectAnswer extends DirectAnswer { +export interface FeaturedSnippetDirectAnswer extends DirectAnswer { /** {@link DirectAnswerType}.FeaturedSnippet. */ type: DirectAnswerType.FeaturedSnippet, /** {@inheritDoc DirectAnswer.value} */ diff --git a/src/models/searchservice/response/FieldValueDirectAnswer.ts b/src/models/searchservice/response/FieldValueDirectAnswer.ts index 32b7a438..6f6fa5d2 100644 --- a/src/models/searchservice/response/FieldValueDirectAnswer.ts +++ b/src/models/searchservice/response/FieldValueDirectAnswer.ts @@ -7,11 +7,11 @@ import { Result } from './Result'; * * @public */ -export interface FieldValueDirectAnswer extends DirectAnswer { +export interface FieldValueDirectAnswer extends DirectAnswer { /** {@link DirectAnswerType}.FieldValue. */ type: DirectAnswerType.FieldValue, /** {@inheritDoc DirectAnswer.value} */ - value: string, + value: T, /** {@inheritDoc DirectAnswer.relatedResult} */ relatedResult: Result, /** {@inheritDoc DirectAnswer.verticalKey} */