From d703ec1481f9836ed5122177ec72ee468893a060 Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 13:29:56 -0400 Subject: [PATCH 1/9] support custom types --- ....basefieldvaluedirectanswer.entityname.md} | 4 +-- ...asefieldvaluedirectanswer.fieldapiname.md} | 4 +-- ...e.basefieldvaluedirectanswer.fieldname.md} | 4 +-- ...re.basefieldvaluedirectanswer.fieldtype.md | 13 +++++++ .../search-core.basefieldvaluedirectanswer.md | 28 +++++++++++++++ ...sefieldvaluedirectanswer.relatedresult.md} | 4 +-- ...h-core.basefieldvaluedirectanswer.type.md} | 4 +-- ...-core.basefieldvaluedirectanswer.value.md} | 4 +-- ...basefieldvaluedirectanswer.verticalkey.md} | 4 +-- ...earch-core.customdirectanswer.fieldtype.md | 11 ++++++ docs/search-core.customdirectanswer.md | 21 +++++++++++ docs/search-core.directanswer.fieldtype.md | 2 +- docs/search-core.directanswer.md | 2 +- docs/search-core.enumorliteral.md | 13 +++++++ ...e.featuredsnippetdirectanswer.fieldtype.md | 2 +- ...search-core.featuredsnippetdirectanswer.md | 2 +- ...h-core.fieldvaluedirectanswer.fieldtype.md | 13 ------- docs/search-core.fieldvaluedirectanswer.md | 21 +++-------- docs/search-core.md | 5 ++- etc/search-core.api.md | 36 ++++++++++++------- src/models/index.ts | 15 +++++--- .../response/UniversalSearchResponse.ts | 4 +-- .../response/VerticalSearchResponse.ts | 6 ++-- .../BaseFieldValueDirectAnswer.ts} | 9 ++--- .../{ => directanswer}/BuiltInFieldType.ts | 0 .../directanswer/CustomDirectAnswer.ts | 10 ++++++ .../{ => directanswer}/DirectAnswer.ts | 5 +-- .../{ => directanswer}/DirectAnswerType.ts | 0 .../FeaturedSnippetDirectAnswer.ts | 7 ++-- .../directanswer/FieldValueDirectAnswer.ts | 9 +++++ src/models/utils/EnumOrLiteral.ts | 7 ++++ .../searchservice/createDirectAnswer.ts | 6 ++-- .../searchservice/createDirectAnswer.ts | 2 +- 33 files changed, 193 insertions(+), 84 deletions(-) rename docs/{search-core.fieldvaluedirectanswer.entityname.md => search-core.basefieldvaluedirectanswer.entityname.md} (54%) rename docs/{search-core.fieldvaluedirectanswer.fieldapiname.md => search-core.basefieldvaluedirectanswer.fieldapiname.md} (53%) rename docs/{search-core.fieldvaluedirectanswer.fieldname.md => search-core.basefieldvaluedirectanswer.fieldname.md} (53%) create mode 100644 docs/search-core.basefieldvaluedirectanswer.fieldtype.md create mode 100644 docs/search-core.basefieldvaluedirectanswer.md rename docs/{search-core.fieldvaluedirectanswer.relatedresult.md => search-core.basefieldvaluedirectanswer.relatedresult.md} (53%) rename docs/{search-core.fieldvaluedirectanswer.type.md => search-core.basefieldvaluedirectanswer.type.md} (60%) rename docs/{search-core.fieldvaluedirectanswer.value.md => search-core.basefieldvaluedirectanswer.value.md} (63%) rename docs/{search-core.fieldvaluedirectanswer.verticalkey.md => search-core.basefieldvaluedirectanswer.verticalkey.md} (53%) create mode 100644 docs/search-core.customdirectanswer.fieldtype.md create mode 100644 docs/search-core.customdirectanswer.md create mode 100644 docs/search-core.enumorliteral.md delete mode 100644 docs/search-core.fieldvaluedirectanswer.fieldtype.md rename src/models/searchservice/response/{FieldValueDirectAnswer.ts => directanswer/BaseFieldValueDirectAnswer.ts} (77%) rename src/models/searchservice/response/{ => directanswer}/BuiltInFieldType.ts (100%) create mode 100644 src/models/searchservice/response/directanswer/CustomDirectAnswer.ts rename src/models/searchservice/response/{ => directanswer}/DirectAnswer.ts (80%) rename src/models/searchservice/response/{ => directanswer}/DirectAnswerType.ts (100%) rename src/models/searchservice/response/{ => directanswer}/FeaturedSnippetDirectAnswer.ts (79%) create mode 100644 src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts create mode 100644 src/models/utils/EnumOrLiteral.ts diff --git a/docs/search-core.fieldvaluedirectanswer.entityname.md b/docs/search-core.basefieldvaluedirectanswer.entityname.md similarity index 54% rename from docs/search-core.fieldvaluedirectanswer.entityname.md rename to docs/search-core.basefieldvaluedirectanswer.entityname.md index 7cd22617..940dbe03 100644 --- a/docs/search-core.fieldvaluedirectanswer.entityname.md +++ b/docs/search-core.basefieldvaluedirectanswer.entityname.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) > [entityName](./search-core.fieldvaluedirectanswer.entityname.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [entityName](./search-core.basefieldvaluedirectanswer.entityname.md) -## FieldValueDirectAnswer.entityName property +## BaseFieldValueDirectAnswer.entityName property The name of the entity that direct answer came from. diff --git a/docs/search-core.fieldvaluedirectanswer.fieldapiname.md b/docs/search-core.basefieldvaluedirectanswer.fieldapiname.md similarity index 53% rename from docs/search-core.fieldvaluedirectanswer.fieldapiname.md rename to docs/search-core.basefieldvaluedirectanswer.fieldapiname.md index f6827355..572606ec 100644 --- a/docs/search-core.fieldvaluedirectanswer.fieldapiname.md +++ b/docs/search-core.basefieldvaluedirectanswer.fieldapiname.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) > [fieldApiName](./search-core.fieldvaluedirectanswer.fieldapiname.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [fieldApiName](./search-core.basefieldvaluedirectanswer.fieldapiname.md) -## FieldValueDirectAnswer.fieldApiName property +## BaseFieldValueDirectAnswer.fieldApiName property The field api name of the direct answer. diff --git a/docs/search-core.fieldvaluedirectanswer.fieldname.md b/docs/search-core.basefieldvaluedirectanswer.fieldname.md similarity index 53% rename from docs/search-core.fieldvaluedirectanswer.fieldname.md rename to docs/search-core.basefieldvaluedirectanswer.fieldname.md index fd8b6cff..c796d903 100644 --- a/docs/search-core.fieldvaluedirectanswer.fieldname.md +++ b/docs/search-core.basefieldvaluedirectanswer.fieldname.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) > [fieldName](./search-core.fieldvaluedirectanswer.fieldname.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [fieldName](./search-core.basefieldvaluedirectanswer.fieldname.md) -## FieldValueDirectAnswer.fieldName property +## BaseFieldValueDirectAnswer.fieldName property The field name of the direct answer. diff --git a/docs/search-core.basefieldvaluedirectanswer.fieldtype.md b/docs/search-core.basefieldvaluedirectanswer.fieldtype.md new file mode 100644 index 00000000..a5f67900 --- /dev/null +++ b/docs/search-core.basefieldvaluedirectanswer.fieldtype.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [fieldType](./search-core.basefieldvaluedirectanswer.fieldtype.md) + +## BaseFieldValueDirectAnswer.fieldType property + +The field type of the direct answer. + +Signature: + +```typescript +fieldType: EnumOrLiteral | 'unknown'; +``` diff --git a/docs/search-core.basefieldvaluedirectanswer.md b/docs/search-core.basefieldvaluedirectanswer.md new file mode 100644 index 00000000..892b6578 --- /dev/null +++ b/docs/search-core.basefieldvaluedirectanswer.md @@ -0,0 +1,28 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) + +## BaseFieldValueDirectAnswer interface + +A direct answer where the answer came from a field from the knowledge graph. + +Signature: + +```typescript +export interface BaseFieldValueDirectAnswer extends DirectAnswer +``` +Extends: [DirectAnswer](./search-core.directanswer.md)<T> + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [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. | +| [fieldType](./search-core.basefieldvaluedirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType](./search-core.builtinfieldtype.md)> \| 'unknown' | The field type of the direct answer. | +| [relatedResult](./search-core.basefieldvaluedirectanswer.relatedresult.md) | [Result](./search-core.result.md) | The entity associated with the direct answer. | +| [type](./search-core.basefieldvaluedirectanswer.type.md) | [DirectAnswerType.FieldValue](./search-core.directanswertype.md) | [DirectAnswerType](./search-core.directanswertype.md).FieldValue. | +| [value](./search-core.basefieldvaluedirectanswer.value.md) | T | The result of the direct answer. | +| [verticalKey](./search-core.basefieldvaluedirectanswer.verticalkey.md) | string | The vertical key of the direct answer. | + diff --git a/docs/search-core.fieldvaluedirectanswer.relatedresult.md b/docs/search-core.basefieldvaluedirectanswer.relatedresult.md similarity index 53% rename from docs/search-core.fieldvaluedirectanswer.relatedresult.md rename to docs/search-core.basefieldvaluedirectanswer.relatedresult.md index fe294b19..f0ba3c81 100644 --- a/docs/search-core.fieldvaluedirectanswer.relatedresult.md +++ b/docs/search-core.basefieldvaluedirectanswer.relatedresult.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) > [relatedResult](./search-core.fieldvaluedirectanswer.relatedresult.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [relatedResult](./search-core.basefieldvaluedirectanswer.relatedresult.md) -## FieldValueDirectAnswer.relatedResult property +## BaseFieldValueDirectAnswer.relatedResult property The entity associated with the direct answer. diff --git a/docs/search-core.fieldvaluedirectanswer.type.md b/docs/search-core.basefieldvaluedirectanswer.type.md similarity index 60% rename from docs/search-core.fieldvaluedirectanswer.type.md rename to docs/search-core.basefieldvaluedirectanswer.type.md index 83b42814..7417b8a1 100644 --- a/docs/search-core.fieldvaluedirectanswer.type.md +++ b/docs/search-core.basefieldvaluedirectanswer.type.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) > [type](./search-core.fieldvaluedirectanswer.type.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [type](./search-core.basefieldvaluedirectanswer.type.md) -## FieldValueDirectAnswer.type property +## BaseFieldValueDirectAnswer.type property [DirectAnswerType](./search-core.directanswertype.md).FieldValue. diff --git a/docs/search-core.fieldvaluedirectanswer.value.md b/docs/search-core.basefieldvaluedirectanswer.value.md similarity index 63% rename from docs/search-core.fieldvaluedirectanswer.value.md rename to docs/search-core.basefieldvaluedirectanswer.value.md index 7ea836d8..6dfb597d 100644 --- a/docs/search-core.fieldvaluedirectanswer.value.md +++ b/docs/search-core.basefieldvaluedirectanswer.value.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) > [value](./search-core.fieldvaluedirectanswer.value.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [value](./search-core.basefieldvaluedirectanswer.value.md) -## FieldValueDirectAnswer.value property +## BaseFieldValueDirectAnswer.value property The result of the direct answer. diff --git a/docs/search-core.fieldvaluedirectanswer.verticalkey.md b/docs/search-core.basefieldvaluedirectanswer.verticalkey.md similarity index 53% rename from docs/search-core.fieldvaluedirectanswer.verticalkey.md rename to docs/search-core.basefieldvaluedirectanswer.verticalkey.md index 5f9197cc..ddd7ae49 100644 --- a/docs/search-core.fieldvaluedirectanswer.verticalkey.md +++ b/docs/search-core.basefieldvaluedirectanswer.verticalkey.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) > [verticalKey](./search-core.fieldvaluedirectanswer.verticalkey.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [verticalKey](./search-core.basefieldvaluedirectanswer.verticalkey.md) -## FieldValueDirectAnswer.verticalKey property +## BaseFieldValueDirectAnswer.verticalKey property The vertical key of the direct answer. diff --git a/docs/search-core.customdirectanswer.fieldtype.md b/docs/search-core.customdirectanswer.fieldtype.md new file mode 100644 index 00000000..016b4fdb --- /dev/null +++ b/docs/search-core.customdirectanswer.fieldtype.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [CustomDirectAnswer](./search-core.customdirectanswer.md) > [fieldType](./search-core.customdirectanswer.fieldtype.md) + +## CustomDirectAnswer.fieldType property + +Signature: + +```typescript +fieldType: 'unknown'; +``` diff --git a/docs/search-core.customdirectanswer.md b/docs/search-core.customdirectanswer.md new file mode 100644 index 00000000..df13674a --- /dev/null +++ b/docs/search-core.customdirectanswer.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [CustomDirectAnswer](./search-core.customdirectanswer.md) + +## CustomDirectAnswer interface + +A [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) with a field type outside of [BuiltInFieldType](./search-core.builtinfieldtype.md). + +Signature: + +```typescript +export interface CustomDirectAnswer extends BaseFieldValueDirectAnswer +``` +Extends: [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md)<T> + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [fieldType](./search-core.customdirectanswer.fieldtype.md) | 'unknown' | | + diff --git a/docs/search-core.directanswer.fieldtype.md b/docs/search-core.directanswer.fieldtype.md index 837d6826..03a13438 100644 --- a/docs/search-core.directanswer.fieldtype.md +++ b/docs/search-core.directanswer.fieldtype.md @@ -9,5 +9,5 @@ The field type of the direct answer. Signature: ```typescript -fieldType: BuiltInFieldType | string; +fieldType: EnumOrLiteral | 'unknown'; ``` diff --git a/docs/search-core.directanswer.md b/docs/search-core.directanswer.md index 611dabe3..9092439a 100644 --- a/docs/search-core.directanswer.md +++ b/docs/search-core.directanswer.md @@ -16,7 +16,7 @@ export interface DirectAnswer | Property | Type | Description | | --- | --- | --- | -| [fieldType](./search-core.directanswer.fieldtype.md) | [BuiltInFieldType](./search-core.builtinfieldtype.md) \| string | The field type of the direct answer. | +| [fieldType](./search-core.directanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType](./search-core.builtinfieldtype.md)> \| 'unknown' | The field type of the direct answer. | | [relatedResult](./search-core.directanswer.relatedresult.md) | [Result](./search-core.result.md) | The entity associated with the direct answer. | | [type](./search-core.directanswer.type.md) | [DirectAnswerType](./search-core.directanswertype.md) | The [DirectAnswerType](./search-core.directanswertype.md). | | [value?](./search-core.directanswer.value.md) | T | (Optional) The result of the direct answer. | diff --git a/docs/search-core.enumorliteral.md b/docs/search-core.enumorliteral.md new file mode 100644 index 00000000..7dc80b4c --- /dev/null +++ b/docs/search-core.enumorliteral.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@yext/search-core](./search-core.md) > [EnumOrLiteral](./search-core.enumorliteral.md) + +## EnumOrLiteral type + +Produces a union type from the enum passed as a generic which consists of the enum values and the string literals of the enum. + +Signature: + +```typescript +export declare type EnumOrLiteral = T | `${T}`; +``` diff --git a/docs/search-core.featuredsnippetdirectanswer.fieldtype.md b/docs/search-core.featuredsnippetdirectanswer.fieldtype.md index 8f587d72..9088419c 100644 --- a/docs/search-core.featuredsnippetdirectanswer.fieldtype.md +++ b/docs/search-core.featuredsnippetdirectanswer.fieldtype.md @@ -9,5 +9,5 @@ The field type of the direct answer. Signature: ```typescript -fieldType: BuiltInFieldType | string; +fieldType: EnumOrLiteral | 'unknown'; ``` diff --git a/docs/search-core.featuredsnippetdirectanswer.md b/docs/search-core.featuredsnippetdirectanswer.md index b1727936..6440d3ab 100644 --- a/docs/search-core.featuredsnippetdirectanswer.md +++ b/docs/search-core.featuredsnippetdirectanswer.md @@ -17,7 +17,7 @@ export interface FeaturedSnippetDirectAnswer extends DirectAnswer<[BuiltInFieldType](./search-core.builtinfieldtype.md)> \| 'unknown' | The field type of the direct answer. | | [relatedResult](./search-core.featuredsnippetdirectanswer.relatedresult.md) | [Result](./search-core.result.md) | The entity associated with 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. | diff --git a/docs/search-core.fieldvaluedirectanswer.fieldtype.md b/docs/search-core.fieldvaluedirectanswer.fieldtype.md deleted file mode 100644 index 4d4165f7..00000000 --- a/docs/search-core.fieldvaluedirectanswer.fieldtype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) > [fieldType](./search-core.fieldvaluedirectanswer.fieldtype.md) - -## FieldValueDirectAnswer.fieldType property - -The field type of the direct answer. - -Signature: - -```typescript -fieldType: BuiltInFieldType | string; -``` diff --git a/docs/search-core.fieldvaluedirectanswer.md b/docs/search-core.fieldvaluedirectanswer.md index d8566716..9c1b0bb4 100644 --- a/docs/search-core.fieldvaluedirectanswer.md +++ b/docs/search-core.fieldvaluedirectanswer.md @@ -2,27 +2,14 @@ [Home](./index.md) > [@yext/search-core](./search-core.md) > [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) -## FieldValueDirectAnswer interface +## FieldValueDirectAnswer type -A direct answer where the answer came from a field from the knowledge graph. +Possible built-in and custom [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) interfaces Signature: ```typescript -export interface FieldValueDirectAnswer extends DirectAnswer +export declare type FieldValueDirectAnswer = CustomDirectAnswer; ``` -Extends: [DirectAnswer](./search-core.directanswer.md)<T> - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [entityName](./search-core.fieldvaluedirectanswer.entityname.md) | string | The name of the entity that direct answer came from. | -| [fieldApiName](./search-core.fieldvaluedirectanswer.fieldapiname.md) | string | The field api name of the direct answer. | -| [fieldName](./search-core.fieldvaluedirectanswer.fieldname.md) | string | The field name of the direct answer. | -| [fieldType](./search-core.fieldvaluedirectanswer.fieldtype.md) | [BuiltInFieldType](./search-core.builtinfieldtype.md) \| string | The field type of the direct answer. | -| [relatedResult](./search-core.fieldvaluedirectanswer.relatedresult.md) | [Result](./search-core.result.md) | The entity associated with the direct answer. | -| [type](./search-core.fieldvaluedirectanswer.type.md) | [DirectAnswerType.FieldValue](./search-core.directanswertype.md) | [DirectAnswerType](./search-core.directanswertype.md).FieldValue. | -| [value](./search-core.fieldvaluedirectanswer.value.md) | T | The result of the direct answer. | -| [verticalKey](./search-core.fieldvaluedirectanswer.verticalkey.md) | string | The vertical key of the direct answer. | +References: [CustomDirectAnswer](./search-core.customdirectanswer.md) diff --git a/docs/search-core.md b/docs/search-core.md index 0c117f68..35514501 100644 --- a/docs/search-core.md +++ b/docs/search-core.md @@ -51,8 +51,10 @@ | [AutocompleteResult](./search-core.autocompleteresult.md) | An autocomplete suggestion. | | [AutocompleteService](./search-core.autocompleteservice.md) | A service for autocomplete requests. | | [BaseAnswersConfig](./search-core.baseanswersconfig.md) | | +| [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. | +| [CustomDirectAnswer](./search-core.customdirectanswer.md) | A [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) with a field type outside of [BuiltInFieldType](./search-core.builtinfieldtype.md). | | [DirectAnswer](./search-core.directanswer.md) | A direct answer to a search. | | [DisplayableFacet](./search-core.displayablefacet.md) | A [Facet](./search-core.facet.md) which contains extra fields meant to be displayed to the end user. | | [DisplayableFacetOption](./search-core.displayablefacetoption.md) | A [FacetOption](./search-core.facetoption.md) with extra data meant to be displayed to the end user. | @@ -61,7 +63,6 @@ | [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. | -| [FieldValueDirectAnswer](./search-core.fieldvaluedirectanswer.md) | A direct answer where the answer came from a field from the knowledge graph. | | [FieldValueFilter](./search-core.fieldvaluefilter.md) | Represents a filter which compares values to a single field. | | [FilterSearchRequest](./search-core.filtersearchrequest.md) | Options for a filtersearch request. | | [FilterSearchResponse](./search-core.filtersearchresponse.md) | The response of a filtersearch request. | @@ -109,6 +110,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 | | [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/etc/search-core.api.md b/etc/search-core.api.md index b6c1b135..f217c3d6 100644 --- a/etc/search-core.api.md +++ b/etc/search-core.api.md @@ -80,6 +80,18 @@ export interface AutocompleteService { export interface BaseAnswersConfig extends BaseSearchConfig { } +// @public +export interface BaseFieldValueDirectAnswer extends DirectAnswer { + entityName: string; + fieldApiName: string; + fieldName: string; + fieldType: EnumOrLiteral | 'unknown'; + relatedResult: Result; + type: DirectAnswerType.FieldValue; + value: T; + verticalKey: string; +} + // @public export interface BaseSearchConfig { // @alpha @@ -108,9 +120,15 @@ export interface ClientSDKHeaderValues { // @public export type Context = any; +// @public +export interface CustomDirectAnswer extends BaseFieldValueDirectAnswer { + // (undocumented) + fieldType: 'unknown'; +} + // @public export interface DirectAnswer { - fieldType: BuiltInFieldType | string; + fieldType: EnumOrLiteral | 'unknown'; relatedResult: Result; type: DirectAnswerType; value?: T; @@ -160,6 +178,9 @@ export interface Endpoints { verticalSearch?: string; } +// @public +export type EnumOrLiteral = T | `${T}`; + // @public export enum ErrorType { BackendError = "BACKEND_ERROR", @@ -192,7 +213,7 @@ export interface FailedVertical { // @public export interface FeaturedSnippetDirectAnswer extends DirectAnswer { - fieldType: BuiltInFieldType | string; + fieldType: EnumOrLiteral | 'unknown'; relatedResult: Result; snippet: Snippet; type: DirectAnswerType.FeaturedSnippet; @@ -201,16 +222,7 @@ export interface FeaturedSnippetDirectAnswer extends DirectAnswer extends DirectAnswer { - entityName: string; - fieldApiName: string; - fieldName: string; - fieldType: BuiltInFieldType | string; - relatedResult: Result; - type: DirectAnswerType.FieldValue; - value: T; - verticalKey: string; -} +export type FieldValueDirectAnswer = CustomDirectAnswer; // @public export interface FieldValueFilter { diff --git a/src/models/index.ts b/src/models/index.ts index 8e18e9e0..dcd08c5b 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -51,10 +51,13 @@ 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'; -export { FieldValueDirectAnswer } from './searchservice/response/FieldValueDirectAnswer'; -export { FeaturedSnippetDirectAnswer } from './searchservice/response/FeaturedSnippetDirectAnswer'; -export { DirectAnswerType } from './searchservice/response/DirectAnswerType'; +export { DirectAnswer } from './searchservice/response/directanswer/DirectAnswer'; +export { BaseFieldValueDirectAnswer } from './searchservice/response/directanswer/BaseFieldValueDirectAnswer'; +export { FieldValueDirectAnswer } from './searchservice/response/directanswer/FieldValueDirectAnswer'; +export { CustomDirectAnswer } from './searchservice/response/directanswer/CustomDirectAnswer'; +export { FeaturedSnippetDirectAnswer } from './searchservice/response/directanswer/FeaturedSnippetDirectAnswer'; +export { DirectAnswerType } from './searchservice/response/directanswer/DirectAnswerType'; +export { BuiltInFieldType } from './searchservice/response/directanswer/BuiltInFieldType'; export { DisplayableFacet, DisplayableFacetOption } from './searchservice/response/DisplayableFacet'; export { HighlightedFields } from './searchservice/response/HighlightedFields'; export { HighlightedValue } from './searchservice/response/HighlightedValue'; @@ -70,7 +73,6 @@ export { VerticalSearchResponse } from './searchservice/response/VerticalSearchR export { Snippet } from './searchservice/response/Snippet'; export { ErrorType } from './searchservice/response/ErrorType'; export { FailedVertical } from './searchservice/response/FailedVertical'; -export { BuiltInFieldType } from './searchservice/response/BuiltInFieldType'; // Search service common models export { Matcher } from './searchservice/common/Matcher'; @@ -79,3 +81,6 @@ export { LowerNumberRangeLimit, UpperNumberRangeLimit } from './searchservice/common/NumberRangeValue'; + +// Utils +export { EnumOrLiteral } from './utils/EnumOrLiteral'; diff --git a/src/models/searchservice/response/UniversalSearchResponse.ts b/src/models/searchservice/response/UniversalSearchResponse.ts index f8e2a30c..c1ddb4ec 100644 --- a/src/models/searchservice/response/UniversalSearchResponse.ts +++ b/src/models/searchservice/response/UniversalSearchResponse.ts @@ -1,7 +1,7 @@ import { VerticalResults } from './VerticalResults'; import { SearchIntent } from './SearchIntent'; -import { FeaturedSnippetDirectAnswer } from './FeaturedSnippetDirectAnswer'; -import { FieldValueDirectAnswer } from './FieldValueDirectAnswer'; +import { FeaturedSnippetDirectAnswer } from './directanswer/FeaturedSnippetDirectAnswer'; +import { FieldValueDirectAnswer } from './directanswer/FieldValueDirectAnswer'; import { SpellCheck } from './SpellCheck'; import { LocationBias } from './LocationBias'; import { QueryRulesActionsData } from './QueryRulesActionsData'; diff --git a/src/models/searchservice/response/VerticalSearchResponse.ts b/src/models/searchservice/response/VerticalSearchResponse.ts index 7a0d0a1c..54904f63 100644 --- a/src/models/searchservice/response/VerticalSearchResponse.ts +++ b/src/models/searchservice/response/VerticalSearchResponse.ts @@ -1,7 +1,7 @@ import { VerticalResults } from './VerticalResults'; import { SearchIntent } from './SearchIntent'; -import { FeaturedSnippetDirectAnswer } from './FeaturedSnippetDirectAnswer'; -import { FieldValueDirectAnswer } from './FieldValueDirectAnswer'; +import { FeaturedSnippetDirectAnswer } from './directanswer/FeaturedSnippetDirectAnswer'; +import { FieldValueDirectAnswer } from './directanswer/FieldValueDirectAnswer'; import { DisplayableFacet } from './DisplayableFacet'; import { LocationBias } from './LocationBias'; import { SpellCheck } from './SpellCheck'; @@ -35,4 +35,4 @@ export interface VerticalSearchResponse { uuid: string, /** {@inheritDoc QueryRulesActionsData} */ queryRulesActionsData?: QueryRulesActionsData[] -} \ No newline at end of file +} diff --git a/src/models/searchservice/response/FieldValueDirectAnswer.ts b/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts similarity index 77% rename from src/models/searchservice/response/FieldValueDirectAnswer.ts rename to src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts index 5b5846c7..e192bffd 100644 --- a/src/models/searchservice/response/FieldValueDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts @@ -1,14 +1,15 @@ import { DirectAnswer } from './DirectAnswer'; import { DirectAnswerType } from './DirectAnswerType'; import { BuiltInFieldType } from './BuiltInFieldType'; -import { Result } from './Result'; +import { Result } from '../Result'; +import { EnumOrLiteral } from '../../../utils/EnumOrLiteral'; /** * A direct answer where the answer came from a field from the knowledge graph. * * @public */ -export interface FieldValueDirectAnswer extends DirectAnswer { +export interface BaseFieldValueDirectAnswer extends DirectAnswer { /** {@link DirectAnswerType}.FieldValue. */ type: DirectAnswerType.FieldValue, /** {@inheritDoc DirectAnswer.value} */ @@ -18,11 +19,11 @@ export interface FieldValueDirectAnswer extends DirectAnswer { /** {@inheritDoc DirectAnswer.verticalKey} */ verticalKey: string, /** {@inheritDoc DirectAnswer.fieldType} */ - fieldType: BuiltInFieldType | string, + fieldType: EnumOrLiteral | 'unknown', /** The name of the entity that direct answer came from. */ entityName: string, /** The field name of the direct answer. */ fieldName: string, /** The field api name of the direct answer. */ fieldApiName: string -} \ No newline at end of file +} diff --git a/src/models/searchservice/response/BuiltInFieldType.ts b/src/models/searchservice/response/directanswer/BuiltInFieldType.ts similarity index 100% rename from src/models/searchservice/response/BuiltInFieldType.ts rename to src/models/searchservice/response/directanswer/BuiltInFieldType.ts diff --git a/src/models/searchservice/response/directanswer/CustomDirectAnswer.ts b/src/models/searchservice/response/directanswer/CustomDirectAnswer.ts new file mode 100644 index 00000000..832da9c7 --- /dev/null +++ b/src/models/searchservice/response/directanswer/CustomDirectAnswer.ts @@ -0,0 +1,10 @@ +import { BaseFieldValueDirectAnswer } from './BaseFieldValueDirectAnswer'; + +/** + * A {@link BaseFieldValueDirectAnswer} with a field type outside of {@link BuiltInFieldType}. + * + * @public + */ +export interface CustomDirectAnswer extends BaseFieldValueDirectAnswer{ + fieldType: 'unknown' +} diff --git a/src/models/searchservice/response/DirectAnswer.ts b/src/models/searchservice/response/directanswer/DirectAnswer.ts similarity index 80% rename from src/models/searchservice/response/DirectAnswer.ts rename to src/models/searchservice/response/directanswer/DirectAnswer.ts index 055d743d..86ae77ca 100644 --- a/src/models/searchservice/response/DirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/DirectAnswer.ts @@ -1,6 +1,7 @@ -import { Result } from './Result'; +import { Result } from '../Result'; import { DirectAnswerType } from './DirectAnswerType'; import { BuiltInFieldType } from './BuiltInFieldType'; +import { EnumOrLiteral } from '../../../utils/EnumOrLiteral'; /** * A direct answer to a search. @@ -22,5 +23,5 @@ export interface DirectAnswer { /** The vertical key of the direct answer. */ verticalKey: string, /** The field type of the direct answer. */ - fieldType: BuiltInFieldType | string + fieldType: EnumOrLiteral | 'unknown' } \ No newline at end of file diff --git a/src/models/searchservice/response/DirectAnswerType.ts b/src/models/searchservice/response/directanswer/DirectAnswerType.ts similarity index 100% rename from src/models/searchservice/response/DirectAnswerType.ts rename to src/models/searchservice/response/directanswer/DirectAnswerType.ts diff --git a/src/models/searchservice/response/FeaturedSnippetDirectAnswer.ts b/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts similarity index 79% rename from src/models/searchservice/response/FeaturedSnippetDirectAnswer.ts rename to src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts index 4bf565d2..c6f3f310 100644 --- a/src/models/searchservice/response/FeaturedSnippetDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts @@ -1,8 +1,9 @@ import { DirectAnswer } from './DirectAnswer'; import { DirectAnswerType } from './DirectAnswerType'; import { BuiltInFieldType } from './BuiltInFieldType'; -import { Result } from './Result'; -import { Snippet } from './Snippet'; +import { Result } from '../Result'; +import { Snippet } from '../Snippet'; +import { EnumOrLiteral } from '../../../utils/EnumOrLiteral'; /** * A direct answer which was found within a document. @@ -19,7 +20,7 @@ export interface FeaturedSnippetDirectAnswer extends DirectAnswer | 'unknown', /** The snippet where the direct answer was found. */ snippet: Snippet } \ No newline at end of file diff --git a/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts b/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts new file mode 100644 index 00000000..759f7781 --- /dev/null +++ b/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts @@ -0,0 +1,9 @@ +import { CustomDirectAnswer } from './CustomDirectAnswer'; + +/** + * Possible built-in and custom {@link BaseFieldValueDirectAnswer} interfaces + * + * @public + */ +//add other builtin field value direct answer interfaces here +export type FieldValueDirectAnswer = CustomDirectAnswer; \ No newline at end of file diff --git a/src/models/utils/EnumOrLiteral.ts b/src/models/utils/EnumOrLiteral.ts new file mode 100644 index 00000000..b630513e --- /dev/null +++ b/src/models/utils/EnumOrLiteral.ts @@ -0,0 +1,7 @@ +/** + * Produces a union type from the enum passed as a generic which consists of the enum values + * and the string literals of the enum. + * + * @public + */ +export type EnumOrLiteral = T | `${T}`; diff --git a/src/transformers/searchservice/createDirectAnswer.ts b/src/transformers/searchservice/createDirectAnswer.ts index fdc1cc40..e36d6051 100644 --- a/src/transformers/searchservice/createDirectAnswer.ts +++ b/src/transformers/searchservice/createDirectAnswer.ts @@ -1,6 +1,6 @@ -import { FeaturedSnippetDirectAnswer } from '../../models/searchservice/response/FeaturedSnippetDirectAnswer'; -import { FieldValueDirectAnswer } from '../../models/searchservice/response/FieldValueDirectAnswer'; -import { DirectAnswerType } from '../../models/searchservice/response/DirectAnswerType'; +import { FeaturedSnippetDirectAnswer } from '../../models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer'; +import { FieldValueDirectAnswer } from '../../models/searchservice/response/directanswer/FieldValueDirectAnswer'; +import { DirectAnswerType } from '../../models/searchservice/response/directanswer/DirectAnswerType'; import { ResultsFactory } from './ResultsFactory'; export function createDirectAnswer(data: any): FeaturedSnippetDirectAnswer | FieldValueDirectAnswer { diff --git a/tests/transformers/searchservice/createDirectAnswer.ts b/tests/transformers/searchservice/createDirectAnswer.ts index eb1d54fa..dbec66af 100644 --- a/tests/transformers/searchservice/createDirectAnswer.ts +++ b/tests/transformers/searchservice/createDirectAnswer.ts @@ -1,5 +1,5 @@ import { createDirectAnswer } from '../../../src/transformers/searchservice/createDirectAnswer'; -import { DirectAnswerType } from '../../../src/models/searchservice/response/DirectAnswerType'; +import { DirectAnswerType } from '../../../src/models/searchservice/response/directanswer/DirectAnswerType'; it('can create a FeaturedSnippetDirectAnswer', () => { const apiFeaturedSnippetDirectAnswer = { From 445c0eb6600944666e69a830c345a64b0afaa9fa Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 13:42:43 -0400 Subject: [PATCH 2/9] update test --- docs/search-core.builtinfieldtype.md | 3 +- ...arch-core.customfieldvalueda.fieldtype.md} | 4 +-- ...r.md => search-core.customfieldvalueda.md} | 8 ++--- docs/search-core.fieldvaluedirectanswer.md | 4 +-- docs/search-core.md | 2 +- etc/search-core.api.md | 8 +++-- src/models/index.ts | 2 +- .../response/directanswer/BuiltInFieldType.ts | 6 ++-- ...mDirectAnswer.ts => CustomFieldValueDA.ts} | 2 +- .../directanswer/FieldValueDirectAnswer.ts | 4 +-- .../searchservice/createDirectAnswer.ts | 3 +- .../searchservice/createDirectAnswer.ts | 34 +++++++++++++++++++ 12 files changed, 59 insertions(+), 21 deletions(-) rename docs/{search-core.customdirectanswer.fieldtype.md => search-core.customfieldvalueda.fieldtype.md} (53%) rename docs/{search-core.customdirectanswer.md => search-core.customfieldvalueda.md} (70%) rename src/models/searchservice/response/directanswer/{CustomDirectAnswer.ts => CustomFieldValueDA.ts} (79%) diff --git a/docs/search-core.builtinfieldtype.md b/docs/search-core.builtinfieldtype.md index 85a39da5..60e7601f 100644 --- a/docs/search-core.builtinfieldtype.md +++ b/docs/search-core.builtinfieldtype.md @@ -16,5 +16,6 @@ export declare enum BuiltInFieldType | Member | Value | Description | | --- | --- | --- | -| Address | "address" | | +| MultiLineText | "multi_line_text" | | +| Phone | "phone" | | diff --git a/docs/search-core.customdirectanswer.fieldtype.md b/docs/search-core.customfieldvalueda.fieldtype.md similarity index 53% rename from docs/search-core.customdirectanswer.fieldtype.md rename to docs/search-core.customfieldvalueda.fieldtype.md index 016b4fdb..9430b7e9 100644 --- a/docs/search-core.customdirectanswer.fieldtype.md +++ b/docs/search-core.customfieldvalueda.fieldtype.md @@ -1,8 +1,8 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [CustomDirectAnswer](./search-core.customdirectanswer.md) > [fieldType](./search-core.customdirectanswer.fieldtype.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [CustomFieldValueDA](./search-core.customfieldvalueda.md) > [fieldType](./search-core.customfieldvalueda.fieldtype.md) -## CustomDirectAnswer.fieldType property +## CustomFieldValueDA.fieldType property Signature: diff --git a/docs/search-core.customdirectanswer.md b/docs/search-core.customfieldvalueda.md similarity index 70% rename from docs/search-core.customdirectanswer.md rename to docs/search-core.customfieldvalueda.md index df13674a..bb6f8637 100644 --- a/docs/search-core.customdirectanswer.md +++ b/docs/search-core.customfieldvalueda.md @@ -1,15 +1,15 @@ -[Home](./index.md) > [@yext/search-core](./search-core.md) > [CustomDirectAnswer](./search-core.customdirectanswer.md) +[Home](./index.md) > [@yext/search-core](./search-core.md) > [CustomFieldValueDA](./search-core.customfieldvalueda.md) -## CustomDirectAnswer interface +## CustomFieldValueDA interface A [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) with a field type outside of [BuiltInFieldType](./search-core.builtinfieldtype.md). Signature: ```typescript -export interface CustomDirectAnswer extends BaseFieldValueDirectAnswer +export interface CustomFieldValueDA extends BaseFieldValueDirectAnswer ``` Extends: [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md)<T> @@ -17,5 +17,5 @@ export interface CustomDirectAnswer extends BaseFieldValueDirectAns | Property | Type | Description | | --- | --- | --- | -| [fieldType](./search-core.customdirectanswer.fieldtype.md) | 'unknown' | | +| [fieldType](./search-core.customfieldvalueda.fieldtype.md) | 'unknown' | | diff --git a/docs/search-core.fieldvaluedirectanswer.md b/docs/search-core.fieldvaluedirectanswer.md index 9c1b0bb4..c9adb87a 100644 --- a/docs/search-core.fieldvaluedirectanswer.md +++ b/docs/search-core.fieldvaluedirectanswer.md @@ -9,7 +9,7 @@ Possible built-in and custom [BaseFieldValueDirectAnswer](./search-core.basefiel Signature: ```typescript -export declare type FieldValueDirectAnswer = CustomDirectAnswer; +export declare type FieldValueDirectAnswer = CustomFieldValueDA; ``` -References: [CustomDirectAnswer](./search-core.customdirectanswer.md) +References: [CustomFieldValueDA](./search-core.customfieldvalueda.md) diff --git a/docs/search-core.md b/docs/search-core.md index 35514501..cfee31a7 100644 --- a/docs/search-core.md +++ b/docs/search-core.md @@ -54,7 +54,7 @@ | [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. | -| [CustomDirectAnswer](./search-core.customdirectanswer.md) | A [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) with a field type outside of [BuiltInFieldType](./search-core.builtinfieldtype.md). | +| [CustomFieldValueDA](./search-core.customfieldvalueda.md) | A [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) with a field type outside of [BuiltInFieldType](./search-core.builtinfieldtype.md). | | [DirectAnswer](./search-core.directanswer.md) | A direct answer to a search. | | [DisplayableFacet](./search-core.displayablefacet.md) | A [Facet](./search-core.facet.md) which contains extra fields meant to be displayed to the end user. | | [DisplayableFacetOption](./search-core.displayablefacetoption.md) | A [FacetOption](./search-core.facetoption.md) with extra data meant to be displayed to the end user. | diff --git a/etc/search-core.api.md b/etc/search-core.api.md index f217c3d6..44bc3195 100644 --- a/etc/search-core.api.md +++ b/etc/search-core.api.md @@ -108,7 +108,9 @@ export interface BaseSearchConfig { // @public export enum BuiltInFieldType { // (undocumented) - Address = "address" + MultiLineText = "multi_line_text", + // (undocumented) + Phone = "phone" } // @public @@ -121,7 +123,7 @@ export interface ClientSDKHeaderValues { export type Context = any; // @public -export interface CustomDirectAnswer extends BaseFieldValueDirectAnswer { +export interface CustomFieldValueDA extends BaseFieldValueDirectAnswer { // (undocumented) fieldType: 'unknown'; } @@ -222,7 +224,7 @@ export interface FeaturedSnippetDirectAnswer extends DirectAnswer extends BaseFieldValueDirectAnswer{ +export interface CustomFieldValueDA extends BaseFieldValueDirectAnswer{ fieldType: 'unknown' } diff --git a/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts b/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts index 759f7781..de951a5d 100644 --- a/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts @@ -1,4 +1,4 @@ -import { CustomDirectAnswer } from './CustomDirectAnswer'; +import { CustomFieldValueDA } from './CustomFieldValueDA'; /** * Possible built-in and custom {@link BaseFieldValueDirectAnswer} interfaces @@ -6,4 +6,4 @@ import { CustomDirectAnswer } from './CustomDirectAnswer'; * @public */ //add other builtin field value direct answer interfaces here -export type FieldValueDirectAnswer = CustomDirectAnswer; \ No newline at end of file +export type FieldValueDirectAnswer = CustomFieldValueDA; \ No newline at end of file diff --git a/src/transformers/searchservice/createDirectAnswer.ts b/src/transformers/searchservice/createDirectAnswer.ts index e36d6051..4b5dafd1 100644 --- a/src/transformers/searchservice/createDirectAnswer.ts +++ b/src/transformers/searchservice/createDirectAnswer.ts @@ -2,6 +2,7 @@ import { FeaturedSnippetDirectAnswer } from '../../models/searchservice/response import { FieldValueDirectAnswer } from '../../models/searchservice/response/directanswer/FieldValueDirectAnswer'; import { DirectAnswerType } from '../../models/searchservice/response/directanswer/DirectAnswerType'; import { ResultsFactory } from './ResultsFactory'; +import { BuiltInFieldType } from '../../models/searchservice/response/directanswer/BuiltInFieldType'; export function createDirectAnswer(data: any): FeaturedSnippetDirectAnswer | FieldValueDirectAnswer { const isFieldValueDirectAnswer = data?.type === DirectAnswerType.FieldValue; @@ -11,7 +12,7 @@ export function createDirectAnswer(data: any): FeaturedSnippetDirectAnswer | Fie value: data.answer.value, relatedResult: ResultsFactory.fromDirectAnswer(data.relatedItem.data), verticalKey: data.relatedItem.verticalConfigId, - fieldType: data.answer.fieldType + fieldType: Object.values(BuiltInFieldType).includes(data.answer.fieldType) ? data.answer.fieldType : 'unknown' }; if (isFieldValueDirectAnswer) { diff --git a/tests/transformers/searchservice/createDirectAnswer.ts b/tests/transformers/searchservice/createDirectAnswer.ts index dbec66af..10a74b6a 100644 --- a/tests/transformers/searchservice/createDirectAnswer.ts +++ b/tests/transformers/searchservice/createDirectAnswer.ts @@ -1,5 +1,7 @@ import { createDirectAnswer } from '../../../src/transformers/searchservice/createDirectAnswer'; import { DirectAnswerType } from '../../../src/models/searchservice/response/directanswer/DirectAnswerType'; +import { CustomFieldValueDA } from '../../../src/models/searchservice/response/directanswer/CustomFieldValueDA'; +import { Source } from '../../../src/models/searchservice/response/Source'; it('can create a FeaturedSnippetDirectAnswer', () => { const apiFeaturedSnippetDirectAnswer = { @@ -59,4 +61,36 @@ it('can create a FieldValueDirectAnswer', () => { fieldType: 'phone' }; expect(actualDirectAnswer).toMatchObject(expectedDirectAnswer); +}); + +it('can create a custom FieldValueDirectAnswer', () => { + const apiFieldValueDirectAnswer = { + type: 'FIELD_VALUE', + answer: { + value: '18888888888', + entityName: 'Barack Obama', + fieldName: 'Phone Number', + fieldApiName: 'mainPhone', + fieldType: 'c010101.specialtype' + }, + relatedItem: { + verticalConfigId: 'people', + data: {} + } + }; + const actualDirectAnswer = createDirectAnswer(apiFieldValueDirectAnswer); + const expectedDirectAnswer: CustomFieldValueDA = { + type: DirectAnswerType.FieldValue, + value: '18888888888', + relatedResult: { + rawData: {}, + source: Source.KnowledgeManager + }, + verticalKey: 'people', + entityName: 'Barack Obama', + fieldName: 'Phone Number', + fieldApiName: 'mainPhone', + fieldType: 'unknown' + }; + expect(actualDirectAnswer).toMatchObject(expectedDirectAnswer); }); \ No newline at end of file From 82f8515d090b9f30b297c37b679fe53164125527 Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 13:50:46 -0400 Subject: [PATCH 3/9] add doc for custom field type --- docs/search-core.customfieldvalueda.fieldtype.md | 2 ++ docs/search-core.customfieldvalueda.md | 2 +- etc/search-core.api.md | 1 - .../searchservice/response/directanswer/CustomFieldValueDA.ts | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/search-core.customfieldvalueda.fieldtype.md b/docs/search-core.customfieldvalueda.fieldtype.md index 9430b7e9..7cac4dca 100644 --- a/docs/search-core.customfieldvalueda.fieldtype.md +++ b/docs/search-core.customfieldvalueda.fieldtype.md @@ -4,6 +4,8 @@ ## CustomFieldValueDA.fieldType property +The field type of the direct answer. + Signature: ```typescript diff --git a/docs/search-core.customfieldvalueda.md b/docs/search-core.customfieldvalueda.md index bb6f8637..ead89dfa 100644 --- a/docs/search-core.customfieldvalueda.md +++ b/docs/search-core.customfieldvalueda.md @@ -17,5 +17,5 @@ export interface CustomFieldValueDA extends BaseFieldValueDirectAns | Property | Type | Description | | --- | --- | --- | -| [fieldType](./search-core.customfieldvalueda.fieldtype.md) | 'unknown' | | +| [fieldType](./search-core.customfieldvalueda.fieldtype.md) | 'unknown' | The field type of the direct answer. | diff --git a/etc/search-core.api.md b/etc/search-core.api.md index 44bc3195..63f16ad0 100644 --- a/etc/search-core.api.md +++ b/etc/search-core.api.md @@ -124,7 +124,6 @@ export type Context = any; // @public export interface CustomFieldValueDA extends BaseFieldValueDirectAnswer { - // (undocumented) fieldType: 'unknown'; } diff --git a/src/models/searchservice/response/directanswer/CustomFieldValueDA.ts b/src/models/searchservice/response/directanswer/CustomFieldValueDA.ts index 59d3c758..db59d5b7 100644 --- a/src/models/searchservice/response/directanswer/CustomFieldValueDA.ts +++ b/src/models/searchservice/response/directanswer/CustomFieldValueDA.ts @@ -6,5 +6,6 @@ import { BaseFieldValueDirectAnswer } from './BaseFieldValueDirectAnswer'; * @public */ export interface CustomFieldValueDA extends BaseFieldValueDirectAnswer{ + /** {@inheritDoc DirectAnswer.fieldType} */ fieldType: 'unknown' } From 891858063c869e51d4ea2b2ed7e7c3ae2300b5a2 Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 13:58:00 -0400 Subject: [PATCH 4/9] update test --- .../directanswer/FieldValueDirectAnswer.ts | 2 +- .../searchservice/createDirectAnswer.ts | 26 ++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts b/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts index de951a5d..a05656c0 100644 --- a/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/FieldValueDirectAnswer.ts @@ -6,4 +6,4 @@ import { CustomFieldValueDA } from './CustomFieldValueDA'; * @public */ //add other builtin field value direct answer interfaces here -export type FieldValueDirectAnswer = CustomFieldValueDA; \ No newline at end of file +export type FieldValueDirectAnswer = CustomFieldValueDA; diff --git a/tests/transformers/searchservice/createDirectAnswer.ts b/tests/transformers/searchservice/createDirectAnswer.ts index 10a74b6a..3201df08 100644 --- a/tests/transformers/searchservice/createDirectAnswer.ts +++ b/tests/transformers/searchservice/createDirectAnswer.ts @@ -67,29 +67,35 @@ it('can create a custom FieldValueDirectAnswer', () => { const apiFieldValueDirectAnswer = { type: 'FIELD_VALUE', answer: { - value: '18888888888', - entityName: 'Barack Obama', - fieldName: 'Phone Number', - fieldApiName: 'mainPhone', + value: { + color: 'yellow', + os: 'android' + }, + entityName: 'Obama Phone', + fieldName: 'Phone Description', + fieldApiName: 'phoneDescription', fieldType: 'c010101.specialtype' }, relatedItem: { - verticalConfigId: 'people', + verticalConfigId: 'phone', data: {} } }; const actualDirectAnswer = createDirectAnswer(apiFieldValueDirectAnswer); const expectedDirectAnswer: CustomFieldValueDA = { type: DirectAnswerType.FieldValue, - value: '18888888888', + value: { + color: 'yellow', + os: 'android' + }, relatedResult: { rawData: {}, source: Source.KnowledgeManager }, - verticalKey: 'people', - entityName: 'Barack Obama', - fieldName: 'Phone Number', - fieldApiName: 'mainPhone', + verticalKey: 'phone', + entityName: 'Obama Phone', + fieldName: 'Phone Description', + fieldApiName: 'phoneDescription', fieldType: 'unknown' }; expect(actualDirectAnswer).toMatchObject(expectedDirectAnswer); From 01e55340da446362cf5f644dada54e8fe9735113 Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 14:38:20 -0400 Subject: [PATCH 5/9] update test --- .../searchservice/createDirectAnswer.ts | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/tests/transformers/searchservice/createDirectAnswer.ts b/tests/transformers/searchservice/createDirectAnswer.ts index 3201df08..d1478ff9 100644 --- a/tests/transformers/searchservice/createDirectAnswer.ts +++ b/tests/transformers/searchservice/createDirectAnswer.ts @@ -82,21 +82,5 @@ it('can create a custom FieldValueDirectAnswer', () => { } }; const actualDirectAnswer = createDirectAnswer(apiFieldValueDirectAnswer); - const expectedDirectAnswer: CustomFieldValueDA = { - type: DirectAnswerType.FieldValue, - value: { - color: 'yellow', - os: 'android' - }, - relatedResult: { - rawData: {}, - source: Source.KnowledgeManager - }, - verticalKey: 'phone', - entityName: 'Obama Phone', - fieldName: 'Phone Description', - fieldApiName: 'phoneDescription', - fieldType: 'unknown' - }; - expect(actualDirectAnswer).toMatchObject(expectedDirectAnswer); + expect(actualDirectAnswer).toMatchObject(expect.objectContaining({ fieldType: 'unknown' })); }); \ No newline at end of file From 637b6d7493d150d2820a8c88378be8a46023b899 Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 14:42:23 -0400 Subject: [PATCH 6/9] remove duplicate fields --- ...ore.basefieldvaluedirectanswer.fieldtype.md | 13 ------------- docs/search-core.basefieldvaluedirectanswer.md | 4 ---- ...basefieldvaluedirectanswer.relatedresult.md | 13 ------------- ...ch-core.basefieldvaluedirectanswer.value.md | 18 ------------------ ...e.basefieldvaluedirectanswer.verticalkey.md | 13 ------------- ...re.featuredsnippetdirectanswer.fieldtype.md | 13 ------------- .../search-core.featuredsnippetdirectanswer.md | 4 ---- ...eaturedsnippetdirectanswer.relatedresult.md | 13 ------------- ...h-core.featuredsnippetdirectanswer.value.md | 18 ------------------ ....featuredsnippetdirectanswer.verticalkey.md | 13 ------------- docs/search-core.snippet.matchedsubstrings.md | 2 +- docs/search-core.snippet.md | 2 +- etc/search-core.api.md | 8 -------- src/models/searchservice/response/Snippet.ts | 2 +- .../directanswer/BaseFieldValueDirectAnswer.ts | 11 ----------- .../FeaturedSnippetDirectAnswer.ts | 13 +------------ 16 files changed, 4 insertions(+), 156 deletions(-) delete mode 100644 docs/search-core.basefieldvaluedirectanswer.fieldtype.md delete mode 100644 docs/search-core.basefieldvaluedirectanswer.relatedresult.md delete mode 100644 docs/search-core.basefieldvaluedirectanswer.value.md delete mode 100644 docs/search-core.basefieldvaluedirectanswer.verticalkey.md delete mode 100644 docs/search-core.featuredsnippetdirectanswer.fieldtype.md delete mode 100644 docs/search-core.featuredsnippetdirectanswer.relatedresult.md delete mode 100644 docs/search-core.featuredsnippetdirectanswer.value.md delete mode 100644 docs/search-core.featuredsnippetdirectanswer.verticalkey.md diff --git a/docs/search-core.basefieldvaluedirectanswer.fieldtype.md b/docs/search-core.basefieldvaluedirectanswer.fieldtype.md deleted file mode 100644 index a5f67900..00000000 --- a/docs/search-core.basefieldvaluedirectanswer.fieldtype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [fieldType](./search-core.basefieldvaluedirectanswer.fieldtype.md) - -## BaseFieldValueDirectAnswer.fieldType property - -The field type of the direct answer. - -Signature: - -```typescript -fieldType: EnumOrLiteral | 'unknown'; -``` diff --git a/docs/search-core.basefieldvaluedirectanswer.md b/docs/search-core.basefieldvaluedirectanswer.md index 892b6578..12960936 100644 --- a/docs/search-core.basefieldvaluedirectanswer.md +++ b/docs/search-core.basefieldvaluedirectanswer.md @@ -20,9 +20,5 @@ 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. | -| [fieldType](./search-core.basefieldvaluedirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<[BuiltInFieldType](./search-core.builtinfieldtype.md)> \| 'unknown' | The field type of the direct answer. | -| [relatedResult](./search-core.basefieldvaluedirectanswer.relatedresult.md) | [Result](./search-core.result.md) | The entity associated with the direct answer. | | [type](./search-core.basefieldvaluedirectanswer.type.md) | [DirectAnswerType.FieldValue](./search-core.directanswertype.md) | [DirectAnswerType](./search-core.directanswertype.md).FieldValue. | -| [value](./search-core.basefieldvaluedirectanswer.value.md) | T | The result of the direct answer. | -| [verticalKey](./search-core.basefieldvaluedirectanswer.verticalkey.md) | string | The vertical key of the direct answer. | diff --git a/docs/search-core.basefieldvaluedirectanswer.relatedresult.md b/docs/search-core.basefieldvaluedirectanswer.relatedresult.md deleted file mode 100644 index f0ba3c81..00000000 --- a/docs/search-core.basefieldvaluedirectanswer.relatedresult.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [relatedResult](./search-core.basefieldvaluedirectanswer.relatedresult.md) - -## BaseFieldValueDirectAnswer.relatedResult property - -The entity associated with the direct answer. - -Signature: - -```typescript -relatedResult: Result; -``` diff --git a/docs/search-core.basefieldvaluedirectanswer.value.md b/docs/search-core.basefieldvaluedirectanswer.value.md deleted file mode 100644 index 6dfb597d..00000000 --- a/docs/search-core.basefieldvaluedirectanswer.value.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [value](./search-core.basefieldvaluedirectanswer.value.md) - -## BaseFieldValueDirectAnswer.value property - -The result of the direct answer. - -Signature: - -```typescript -value: T; -``` - -## Remarks - -A value will not be present if the [DirectAnswer.fieldType](./search-core.directanswer.fieldtype.md) is 'rich\_text'. - diff --git a/docs/search-core.basefieldvaluedirectanswer.verticalkey.md b/docs/search-core.basefieldvaluedirectanswer.verticalkey.md deleted file mode 100644 index ddd7ae49..00000000 --- a/docs/search-core.basefieldvaluedirectanswer.verticalkey.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md) > [verticalKey](./search-core.basefieldvaluedirectanswer.verticalkey.md) - -## BaseFieldValueDirectAnswer.verticalKey property - -The vertical key of the direct answer. - -Signature: - -```typescript -verticalKey: string; -``` diff --git a/docs/search-core.featuredsnippetdirectanswer.fieldtype.md b/docs/search-core.featuredsnippetdirectanswer.fieldtype.md deleted file mode 100644 index 9088419c..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: EnumOrLiteral | 'unknown'; -``` diff --git a/docs/search-core.featuredsnippetdirectanswer.md b/docs/search-core.featuredsnippetdirectanswer.md index 6440d3ab..214889a9 100644 --- a/docs/search-core.featuredsnippetdirectanswer.md +++ b/docs/search-core.featuredsnippetdirectanswer.md @@ -17,10 +17,6 @@ export interface FeaturedSnippetDirectAnswer extends DirectAnswer<[BuiltInFieldType](./search-core.builtinfieldtype.md)> \| 'unknown' | The field type of the direct answer. | -| [relatedResult](./search-core.featuredsnippetdirectanswer.relatedresult.md) | [Result](./search-core.result.md) | The entity associated with 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. | -| [value?](./search-core.featuredsnippetdirectanswer.value.md) | T | (Optional) The result of the direct answer. | -| [verticalKey](./search-core.featuredsnippetdirectanswer.verticalkey.md) | string | The vertical key of the direct answer. | diff --git a/docs/search-core.featuredsnippetdirectanswer.relatedresult.md b/docs/search-core.featuredsnippetdirectanswer.relatedresult.md deleted file mode 100644 index b4225916..00000000 --- a/docs/search-core.featuredsnippetdirectanswer.relatedresult.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) > [relatedResult](./search-core.featuredsnippetdirectanswer.relatedresult.md) - -## FeaturedSnippetDirectAnswer.relatedResult property - -The entity associated with the direct answer. - -Signature: - -```typescript -relatedResult: Result; -``` diff --git a/docs/search-core.featuredsnippetdirectanswer.value.md b/docs/search-core.featuredsnippetdirectanswer.value.md deleted file mode 100644 index 8ede94aa..00000000 --- a/docs/search-core.featuredsnippetdirectanswer.value.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) > [value](./search-core.featuredsnippetdirectanswer.value.md) - -## FeaturedSnippetDirectAnswer.value property - -The result of the direct answer. - -Signature: - -```typescript -value?: T; -``` - -## Remarks - -A value will not be present if the [DirectAnswer.fieldType](./search-core.directanswer.fieldtype.md) is 'rich\_text'. - diff --git a/docs/search-core.featuredsnippetdirectanswer.verticalkey.md b/docs/search-core.featuredsnippetdirectanswer.verticalkey.md deleted file mode 100644 index c7e00c0c..00000000 --- a/docs/search-core.featuredsnippetdirectanswer.verticalkey.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@yext/search-core](./search-core.md) > [FeaturedSnippetDirectAnswer](./search-core.featuredsnippetdirectanswer.md) > [verticalKey](./search-core.featuredsnippetdirectanswer.verticalkey.md) - -## FeaturedSnippetDirectAnswer.verticalKey property - -The vertical key of the direct answer. - -Signature: - -```typescript -verticalKey: string; -``` diff --git a/docs/search-core.snippet.matchedsubstrings.md b/docs/search-core.snippet.matchedsubstrings.md index 7a3945f9..983a7f15 100644 --- a/docs/search-core.snippet.matchedsubstrings.md +++ b/docs/search-core.snippet.matchedsubstrings.md @@ -4,7 +4,7 @@ ## Snippet.matchedSubstrings property -The locations in the document text of the [FeaturedSnippetDirectAnswer.value](./search-core.featuredsnippetdirectanswer.value.md) +The locations in the document text of the [DirectAnswer.value](./search-core.directanswer.value.md) Signature: diff --git a/docs/search-core.snippet.md b/docs/search-core.snippet.md index 50692ffc..35d1cf84 100644 --- a/docs/search-core.snippet.md +++ b/docs/search-core.snippet.md @@ -16,6 +16,6 @@ export interface Snippet | Property | Type | Description | | --- | --- | --- | -| [matchedSubstrings](./search-core.snippet.matchedsubstrings.md) | { offset: number; length: number; }\[\] | The locations in the document text of the [FeaturedSnippetDirectAnswer.value](./search-core.featuredsnippetdirectanswer.value.md) | +| [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 | diff --git a/etc/search-core.api.md b/etc/search-core.api.md index 63f16ad0..1c7e7faa 100644 --- a/etc/search-core.api.md +++ b/etc/search-core.api.md @@ -85,11 +85,7 @@ export interface BaseFieldValueDirectAnswer extends DirectAnswer entityName: string; fieldApiName: string; fieldName: string; - fieldType: EnumOrLiteral | 'unknown'; - relatedResult: Result; type: DirectAnswerType.FieldValue; - value: T; - verticalKey: string; } // @public @@ -214,12 +210,8 @@ export interface FailedVertical { // @public export interface FeaturedSnippetDirectAnswer extends DirectAnswer { - fieldType: EnumOrLiteral | 'unknown'; - relatedResult: Result; snippet: Snippet; type: DirectAnswerType.FeaturedSnippet; - value?: T; - verticalKey: string; } // @public diff --git a/src/models/searchservice/response/Snippet.ts b/src/models/searchservice/response/Snippet.ts index b6b47577..1f2538ff 100644 --- a/src/models/searchservice/response/Snippet.ts +++ b/src/models/searchservice/response/Snippet.ts @@ -6,6 +6,6 @@ export interface Snippet { /** The snippet's body of text */ value: string, - /** The locations in the document text of the {@link FeaturedSnippetDirectAnswer.value} */ + /** The locations in the document text of the {@link DirectAnswer.value} */ matchedSubstrings: { offset: number, length: number }[] } \ No newline at end of file diff --git a/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts b/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts index e192bffd..1537e10c 100644 --- a/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/BaseFieldValueDirectAnswer.ts @@ -1,8 +1,5 @@ import { DirectAnswer } from './DirectAnswer'; import { DirectAnswerType } from './DirectAnswerType'; -import { BuiltInFieldType } from './BuiltInFieldType'; -import { Result } from '../Result'; -import { EnumOrLiteral } from '../../../utils/EnumOrLiteral'; /** * A direct answer where the answer came from a field from the knowledge graph. @@ -12,14 +9,6 @@ import { EnumOrLiteral } from '../../../utils/EnumOrLiteral'; export interface BaseFieldValueDirectAnswer extends DirectAnswer { /** {@link DirectAnswerType}.FieldValue. */ type: DirectAnswerType.FieldValue, - /** {@inheritDoc DirectAnswer.value} */ - value: T, - /** {@inheritDoc DirectAnswer.relatedResult} */ - relatedResult: Result, - /** {@inheritDoc DirectAnswer.verticalKey} */ - verticalKey: string, - /** {@inheritDoc DirectAnswer.fieldType} */ - fieldType: EnumOrLiteral | 'unknown', /** The name of the entity that direct answer came from. */ entityName: string, /** The field name of the direct answer. */ diff --git a/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts b/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts index c6f3f310..e51db0c9 100644 --- a/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts +++ b/src/models/searchservice/response/directanswer/FeaturedSnippetDirectAnswer.ts @@ -1,9 +1,6 @@ import { DirectAnswer } from './DirectAnswer'; import { DirectAnswerType } from './DirectAnswerType'; -import { BuiltInFieldType } from './BuiltInFieldType'; -import { Result } from '../Result'; import { Snippet } from '../Snippet'; -import { EnumOrLiteral } from '../../../utils/EnumOrLiteral'; /** * A direct answer which was found within a document. @@ -13,14 +10,6 @@ import { EnumOrLiteral } from '../../../utils/EnumOrLiteral'; export interface FeaturedSnippetDirectAnswer extends DirectAnswer { /** {@link DirectAnswerType}.FeaturedSnippet. */ type: DirectAnswerType.FeaturedSnippet, - /** {@inheritDoc DirectAnswer.value} */ - value?: T, - /** {@inheritDoc DirectAnswer.relatedResult} */ - relatedResult: Result, - /** {@inheritDoc DirectAnswer.verticalKey} */ - verticalKey: string, - /** {@inheritDoc DirectAnswer.fieldType} */ - fieldType: EnumOrLiteral | 'unknown', /** The snippet where the direct answer was found. */ snippet: Snippet -} \ No newline at end of file +} From c68b17ce2af6a71be7d9ed958a1c17fdda81b548 Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 14:47:19 -0400 Subject: [PATCH 7/9] oops --- tests/transformers/searchservice/createDirectAnswer.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/transformers/searchservice/createDirectAnswer.ts b/tests/transformers/searchservice/createDirectAnswer.ts index d1478ff9..cc0a7b2a 100644 --- a/tests/transformers/searchservice/createDirectAnswer.ts +++ b/tests/transformers/searchservice/createDirectAnswer.ts @@ -1,7 +1,5 @@ import { createDirectAnswer } from '../../../src/transformers/searchservice/createDirectAnswer'; import { DirectAnswerType } from '../../../src/models/searchservice/response/directanswer/DirectAnswerType'; -import { CustomFieldValueDA } from '../../../src/models/searchservice/response/directanswer/CustomFieldValueDA'; -import { Source } from '../../../src/models/searchservice/response/Source'; it('can create a FeaturedSnippetDirectAnswer', () => { const apiFeaturedSnippetDirectAnswer = { From e4e5eda34d04ffd87fc8c55bc567f3ab58e4fc5a Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 14:53:55 -0400 Subject: [PATCH 8/9] --max-warnings=0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f12b5389..ed807eeb 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ }, "scripts": { "test": "npm run lint && jest", - "lint": "eslint .", + "lint": "eslint . --max-warnings=0", "tsc-cjs": "tsc -p tsconfig.cjs.json", "tsc-esm": "tsc -p tsconfig.esm.json", "tsc": "npm run tsc-cjs && npm run tsc-esm", From 1f0cef264829fd05d3179b128e6805bd2132fc92 Mon Sep 17 00:00:00 2001 From: Yen Truong Date: Fri, 12 Aug 2022 15:01:02 -0400 Subject: [PATCH 9/9] nit --- tests/transformers/searchservice/createDirectAnswer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/transformers/searchservice/createDirectAnswer.ts b/tests/transformers/searchservice/createDirectAnswer.ts index cc0a7b2a..9cab2395 100644 --- a/tests/transformers/searchservice/createDirectAnswer.ts +++ b/tests/transformers/searchservice/createDirectAnswer.ts @@ -72,7 +72,7 @@ it('can create a custom FieldValueDirectAnswer', () => { entityName: 'Obama Phone', fieldName: 'Phone Description', fieldApiName: 'phoneDescription', - fieldType: 'c010101.specialtype' + fieldType: 'c3350634.specialtype' }, relatedItem: { verticalConfigId: 'phone',