Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add featured snippet DA interfaces for the builtin fieldType #207

Merged
merged 2 commits into from
Aug 15, 2022

Conversation

yen-tt
Copy link
Contributor

@yen-tt yen-tt commented Aug 15, 2022

  • add MultiLineTextFeaturedSnippetDirectAnswer and RichTextFeaturedSnippetDirectAnswer for the two types that fieldType of featured snippet direct answer can be.
    • multi_line_text for feature snippet DA have non optional value field of type string
    • rich_text for feature snippet DA does not have value field so that is omitted in the interface
  • the old FeaturedSnippetDirectAnswer is now the base interface BaseFeaturedSnippetDirectAnswer that the specific interfaces extend from. The new FeaturedSnippetDirectAnswer is the union type.

J=SLAP-2330
TEST=auto&manual

oshi confirmed the structure of multi_line_text and rich_text through examples listed in the comments under this item where rich_text does NOT provide value field and multi_line_text does.

tested locally that:

  • 'value' field is not present in IDE for the switch case 'richtext'

Screen Shot 2022-08-15 at 1 19 51 PM

- 'value' field is present, of type string, and NOT optional in IDE for the switch case 'multi_line_text'

Screen Shot 2022-08-15 at 1 21 57 PM

@yen-tt yen-tt requested a review from a team as a code owner August 15, 2022 17:35
@coveralls
Copy link

coveralls commented Aug 15, 2022

Pull Request Test Coverage Report for Build 2862788583

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 90.408%

Totals Coverage Status
Change from base Build 2861902935: 0.0%
Covered Lines: 214
Relevant Lines: 231

💛 - Coveralls

*
* @public
*/
export interface RichTextFeaturedSnippetDirectAnswer extends Omit<BaseFeaturedSnippetDirectAnswer<string>, 'value'> {
Copy link
Contributor

@oshi97 oshi97 Aug 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you sure you don't want to put RichTextFeaturedSnippetDirectAnswer, MultiLineTextFeaturedSnippetDirectAnswer, and BaseFeaturedSnippetDirectAnswer into FeaturedSnippetDirectAnswer.ts ? There's a lot of jumping around when I try to navigate the code, and each file is less than 20 lines (with ~4 of those lines being import statements) and I don't see them getting much bigger in the future

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would only add about ~30 lines to FeaturedSnippetDirectAnswer.ts, I feel like that's totally reasonable

Copy link
Contributor

@oshi97 oshi97 Aug 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess for me it just feels like there's a lot of small files and it's hard to quickly form a mental model around what we're working with? Mostly because of the large number of adjectives we've had to prefix DirectAnswer with
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, I can combine them

@yen-tt yen-tt requested review from oshi97 and nmanu1 August 15, 2022 18:56
Copy link
Contributor

@oshi97 oshi97 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@yen-tt yen-tt merged commit 3126bfa into develop Aug 15, 2022
@yen-tt yen-tt deleted the dev/featured-snippet-interfaces branch August 15, 2022 19:46
@yen-tt yen-tt mentioned this pull request Sep 6, 2022
yen-tt added a commit that referenced this pull request Sep 8, 2022
## Version 2.0.0

### Changes
- `additionalQueryParameter` is now a public field in `SearchConfig` models (#217)

### Breaking Changes
- Updated default and sandbox URL endpoints from `../answers/..` to `../search/..` as part of rebranding process (#196 )
- Restructured StaticFilters models for better developer experience and enforce proper restriction in the kind of combinations of filters supported by the backend
  - Now, static filters can be either a field value filter or a nested object that is composed by combining field value filters. (#201 )
  - `ConjunctionStaticFilter` and `DisjunctionStaticFilter` models were created to reflect such limitation. For example, ANDs of ORs combination is allowed, ORs of ANDs combination is not allowed.  (#204 )
- Updated `FieldValueDirectAnswer` model to properly handle different `value` types. Previously, FieldValueDirectAnswer interface enforces that the `value` field will always be of type `string`. Now, `FieldValueDirectAnswer` is a union type of predefined interfaces with known `value` type and `UnknownFieldValueDirectAnswer` with a generic `value` type for other `fieldType` outside of `BuiltInFieldType`. (#200 #202 )
   - The newly added built-in interfaces can be found in the document page [**here**](https://github.com/yext/search-core/blob/develop/docs/search-core.fieldvaluedirectanswer.md)  (#206 #208 #210 #211 #205 #209 #203 #220 )
- Narrow down `FeaturedSnippetDirectAnswer` TypeScript model to be a union type of   `MultiLineTextSnippetDirectAnswer` and `RichTextSnippetDirectAnswer` as a featured snippet direct answer can only be of fieldType `multi_line_text` or `rich_text`. (#207 #212 )
- All exports marked as `@deprecated` in previous version(s) as part of the rebranding process is now removed in V2 (#216 )
  - For more details, the deprecated identifiers are listed in [v1.8 release notes](https://github.com/yext/search-core/releases/tag/v1.8.0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants