Skip to content

Commit

Permalink
Add ComplexUrlDirectAnswer (#211)
Browse files Browse the repository at this point in the history
tested that displayUrl can be optional by deleting it in Knowledge Graph.

J=SLAP-2309
TEST=manual
  • Loading branch information
oshi97 committed Aug 16, 2022
1 parent cb04888 commit b69f8e5
Show file tree
Hide file tree
Showing 15 changed files with 145 additions and 5 deletions.
1 change: 1 addition & 0 deletions docs/search-core.builtinfieldtype.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export declare enum BuiltInFieldType
| Member | Value | Description |
| --- | --- | --- |
| AndroidAppURL | <code>&quot;android_app_url&quot;</code> | |
| ComplexURL | <code>&quot;complex_url&quot;</code> | |
| Decimal | <code>&quot;decimal&quot;</code> | |
| FacebookURL | <code>&quot;facebook_url&quot;</code> | |
| InstagramHandle | <code>&quot;instagram_handle&quot;</code> | |
Expand Down
11 changes: 11 additions & 0 deletions docs/search-core.complexurl.displayurl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [ComplexURL](./search-core.complexurl.md) &gt; [displayUrl](./search-core.complexurl.displayurl.md)

## ComplexURL.displayUrl property

<b>Signature:</b>

```typescript
displayUrl?: string;
```
22 changes: 22 additions & 0 deletions docs/search-core.complexurl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [ComplexURL](./search-core.complexurl.md)

## ComplexURL interface

The shape of a [BuiltInFieldType.ComplexURL](./search-core.builtinfieldtype.md) DirectAnswer value

<b>Signature:</b>

```typescript
export interface ComplexURL
```

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [displayUrl?](./search-core.complexurl.displayurl.md) | string | <i>(Optional)</i> |
| [preferDisplayUrl](./search-core.complexurl.preferdisplayurl.md) | boolean | |
| [url](./search-core.complexurl.url.md) | string | |

11 changes: 11 additions & 0 deletions docs/search-core.complexurl.preferdisplayurl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [ComplexURL](./search-core.complexurl.md) &gt; [preferDisplayUrl](./search-core.complexurl.preferdisplayurl.md)

## ComplexURL.preferDisplayUrl property

<b>Signature:</b>

```typescript
preferDisplayUrl: boolean;
```
11 changes: 11 additions & 0 deletions docs/search-core.complexurl.url.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [ComplexURL](./search-core.complexurl.md) &gt; [url](./search-core.complexurl.url.md)

## ComplexURL.url property

<b>Signature:</b>

```typescript
url: string;
```
11 changes: 11 additions & 0 deletions docs/search-core.complexurldirectanswer.fieldtype.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [ComplexUrlDirectAnswer](./search-core.complexurldirectanswer.md) &gt; [fieldType](./search-core.complexurldirectanswer.fieldtype.md)

## ComplexUrlDirectAnswer.fieldType property

<b>Signature:</b>

```typescript
fieldType: EnumOrLiteral<BuiltInFieldType.ComplexURL>;
```
21 changes: 21 additions & 0 deletions docs/search-core.complexurldirectanswer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [ComplexUrlDirectAnswer](./search-core.complexurldirectanswer.md)

## ComplexUrlDirectAnswer interface

A direct answer for a complex url field.

<b>Signature:</b>

```typescript
export interface ComplexUrlDirectAnswer extends BaseFieldValueDirectAnswer<ComplexURL>
```
<b>Extends:</b> [BaseFieldValueDirectAnswer](./search-core.basefieldvaluedirectanswer.md)<!-- -->&lt;[ComplexURL](./search-core.complexurl.md)<!-- -->&gt;
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [fieldType](./search-core.complexurldirectanswer.fieldtype.md) | [EnumOrLiteral](./search-core.enumorliteral.md)<!-- -->&lt;[BuiltInFieldType.ComplexURL](./search-core.builtinfieldtype.md)<!-- -->&gt; | |
4 changes: 2 additions & 2 deletions docs/search-core.fieldvaluedirectanswer.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Possible built-in and custom [BaseFieldValueDirectAnswer](./search-core.basefiel
<b>Signature:</b>

```typescript
export declare type FieldValueDirectAnswer = UnknownFieldValueDirectAnswer | TextDirectAnswer | UrlDirectAnswer | RichTextDirectAnswer | DecimalDirectAnswer | FacebookUrlDirectAnswer | InstagramHandleDirectAnswer | TwitterHandleDirectAnswer | IosAppUrlDirectAnswer | AndroidAppUrlDirectAnswer | IntegerDirectAnswer;
export declare type FieldValueDirectAnswer = UnknownFieldValueDirectAnswer | TextDirectAnswer | UrlDirectAnswer | RichTextDirectAnswer | DecimalDirectAnswer | FacebookUrlDirectAnswer | InstagramHandleDirectAnswer | TwitterHandleDirectAnswer | IosAppUrlDirectAnswer | AndroidAppUrlDirectAnswer | ComplexUrlDirectAnswer | IntegerDirectAnswer;
```
<b>References:</b> [UnknownFieldValueDirectAnswer](./search-core.unknownfieldvaluedirectanswer.md)<!-- -->, [TextDirectAnswer](./search-core.textdirectanswer.md)<!-- -->, [UrlDirectAnswer](./search-core.urldirectanswer.md)<!-- -->, [RichTextDirectAnswer](./search-core.richtextdirectanswer.md)<!-- -->, [DecimalDirectAnswer](./search-core.decimaldirectanswer.md)<!-- -->, [FacebookUrlDirectAnswer](./search-core.facebookurldirectanswer.md)<!-- -->, [InstagramHandleDirectAnswer](./search-core.instagramhandledirectanswer.md)<!-- -->, [TwitterHandleDirectAnswer](./search-core.twitterhandledirectanswer.md)<!-- -->, [IosAppUrlDirectAnswer](./search-core.iosappurldirectanswer.md)<!-- -->, [AndroidAppUrlDirectAnswer](./search-core.androidappurldirectanswer.md)<!-- -->, [IntegerDirectAnswer](./search-core.integerdirectanswer.md)
<b>References:</b> [UnknownFieldValueDirectAnswer](./search-core.unknownfieldvaluedirectanswer.md)<!-- -->, [TextDirectAnswer](./search-core.textdirectanswer.md)<!-- -->, [UrlDirectAnswer](./search-core.urldirectanswer.md)<!-- -->, [RichTextDirectAnswer](./search-core.richtextdirectanswer.md)<!-- -->, [DecimalDirectAnswer](./search-core.decimaldirectanswer.md)<!-- -->, [FacebookUrlDirectAnswer](./search-core.facebookurldirectanswer.md)<!-- -->, [InstagramHandleDirectAnswer](./search-core.instagramhandledirectanswer.md)<!-- -->, [TwitterHandleDirectAnswer](./search-core.twitterhandledirectanswer.md)<!-- -->, [IosAppUrlDirectAnswer](./search-core.iosappurldirectanswer.md)<!-- -->, [AndroidAppUrlDirectAnswer](./search-core.androidappurldirectanswer.md)<!-- -->, [ComplexUrlDirectAnswer](./search-core.complexurldirectanswer.md)<!-- -->, [IntegerDirectAnswer](./search-core.integerdirectanswer.md)

2 changes: 2 additions & 0 deletions docs/search-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@
| [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. |
| [ComplexURL](./search-core.complexurl.md) | The shape of a [BuiltInFieldType.ComplexURL](./search-core.builtinfieldtype.md) DirectAnswer value |
| [ComplexUrlDirectAnswer](./search-core.complexurldirectanswer.md) | A direct answer for a complex url field. |
| [ConjunctionStaticFilter](./search-core.conjunctionstaticfilter.md) | A static filter composed by combining other static filters with the logical AND operator. |
| [DecimalDirectAnswer](./search-core.decimaldirectanswer.md) | A direct answer for a decimal field, which is a number represented using a string. |
| [DirectAnswer](./search-core.directanswer.md) | A direct answer to a search. |
Expand Down
20 changes: 19 additions & 1 deletion etc/search-core.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@ export enum BuiltInFieldType {
// (undocumented)
AndroidAppURL = "android_app_url",
// (undocumented)
ComplexURL = "complex_url",
// (undocumented)
Decimal = "decimal",
// (undocumented)
FacebookURL = "facebook_url",
Expand Down Expand Up @@ -149,6 +151,22 @@ export interface ClientSDKHeaderValues {
ANSWERS_CORE?: never;
}

// @public
export interface ComplexURL {
// (undocumented)
displayUrl?: string;
// (undocumented)
preferDisplayUrl: boolean;
// (undocumented)
url: string;
}

// @public
export interface ComplexUrlDirectAnswer extends BaseFieldValueDirectAnswer<ComplexURL> {
// (undocumented)
fieldType: EnumOrLiteral<BuiltInFieldType.ComplexURL>;
}

// @public
export interface ConjunctionStaticFilter {
combinator: FilterCombinator.AND;
Expand Down Expand Up @@ -267,7 +285,7 @@ export interface FailedVertical {
export type FeaturedSnippetDirectAnswer = MultiLineTextSnippetDirectAnswer | RichTextSnippetDirectAnswer;

// @public
export type FieldValueDirectAnswer = UnknownFieldValueDirectAnswer | TextDirectAnswer | UrlDirectAnswer | RichTextDirectAnswer | DecimalDirectAnswer | FacebookUrlDirectAnswer | InstagramHandleDirectAnswer | TwitterHandleDirectAnswer | IosAppUrlDirectAnswer | AndroidAppUrlDirectAnswer | IntegerDirectAnswer;
export type FieldValueDirectAnswer = UnknownFieldValueDirectAnswer | TextDirectAnswer | UrlDirectAnswer | RichTextDirectAnswer | DecimalDirectAnswer | FacebookUrlDirectAnswer | InstagramHandleDirectAnswer | TwitterHandleDirectAnswer | IosAppUrlDirectAnswer | AndroidAppUrlDirectAnswer | ComplexUrlDirectAnswer | IntegerDirectAnswer;

// @public
export interface FieldValueFilter {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*/
export enum BuiltInFieldType {
URL = 'url',
// ComplexURL = 'complex_url',
ComplexURL = 'complex_url',
IOSAppURL = 'ios_app_url',
AndroidAppURL = 'android_app_url',
FacebookURL = 'facebook_url',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
RichTextDirectAnswer,
UrlDirectAnswer,
TextDirectAnswer,
ComplexUrlDirectAnswer,
IntegerDirectAnswer
} from './fieldvaluedirectanswers';

Expand All @@ -28,4 +29,5 @@ export type FieldValueDirectAnswer =
TwitterHandleDirectAnswer |
IosAppUrlDirectAnswer |
AndroidAppUrlDirectAnswer |
ComplexUrlDirectAnswer |
IntegerDirectAnswer;
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { EnumOrLiteral } from '../../../../utils/EnumOrLiteral';
import { BaseFieldValueDirectAnswer } from '../BaseFieldValueDirectAnswer';
import { BuiltInFieldType } from '../BuiltInFieldType';

/**
* A direct answer for a complex url field.
*
* @public
*/
export interface ComplexUrlDirectAnswer extends BaseFieldValueDirectAnswer<ComplexURL> {
fieldType: EnumOrLiteral<BuiltInFieldType.ComplexURL>
}

/**
* The shape of a {@link BuiltInFieldType.ComplexURL} DirectAnswer value
*
* @public
*/
export interface ComplexURL {
url: string,
displayUrl?: string,
preferDisplayUrl: boolean
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ export { FacebookUrlDirectAnswer } from './FacebookUrlDirectAnswer';
export { RichTextDirectAnswer } from './RichTextDirectAnswer';
export { UrlDirectAnswer } from './UrlDirectAnswer';
export { TextDirectAnswer } from './TextDirectAnswer';
export { ComplexUrlDirectAnswer, ComplexURL } from './ComplexUrlDirectAnswer';
export { IntegerDirectAnswer } from './IntegerDirectAnswer';
8 changes: 7 additions & 1 deletion test-site/src/ts/initDirectAnswers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ const FIELD_VALUE_QUERIES = {
'oliver shi my rich text field', // string
'oliver shi multi line rich text' // string[]
],
[BuiltInFieldType.ComplexURL]: [
'oliver shi website url' // ComplexUrl
],
[BuiltInFieldType.Integer]: [
'oliver shi outdoor pools?' // number
]
Expand Down Expand Up @@ -115,6 +118,9 @@ function ensureFieldValueSwitchability(da: FieldValueDirectAnswer) {
case BuiltInFieldType.URL:
console.log(da.value);
break;
case BuiltInFieldType.ComplexURL:
console.log(da.value);
break;
case BuiltInFieldType.Integer:
console.log(da.value);
break;
Expand All @@ -135,4 +141,4 @@ function ensureFeaturedSnippetSwitchability(da: FeaturedSnippetDirectAnswer) {
console.log(da.value);
break;
}
}
}

0 comments on commit b69f8e5

Please sign in to comment.