Skip to content

Conversation

@kinyoklion
Copy link
Member

No description provided.

kinyoklion and others added 30 commits May 19, 2022 16:26
Co-authored-by: Alex Engelberg <alex.benjamin.engelberg@gmail.com>
@shortcut-integration
Copy link

This pull request has been linked to Shortcut Story #155108: Implement memory data store..

@kinyoklion kinyoklion changed the title Implement in memory feature store and async wrapper. #3 Implement in memory feature store and async wrapper. May 27, 2022
@kinyoklion kinyoklion changed the base branch from main to rlamb/sc-154353/implement-basic-loggers May 27, 2022 19:55
/**
* Represents an item which can be stored in the feature store.
*/
export interface LDFeatureStoreItem {
Copy link
Member Author

Choose a reason for hiding this comment

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

These interfaces should all be compatible with the data as it already exists. They were just untyped before.
For TS, if people had been using these wrong, and they had implemented their own stores, then they would have to update the types.

Copy link
Member Author

Choose a reason for hiding this comment

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

If they used it correctly, then no changes.

@@ -0,0 +1,75 @@
import { DataKind } from '../api/interfaces';
Copy link
Member Author

Choose a reason for hiding this comment

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

Our existing interface uses callbacks. We will still want to be able to use stores written against them. But we will not want to use callbacks because they make the code an unmaintainable hellscape. So, I am providing this adapter so the code can be written sanely.

import { DataKind } from '../api/interfaces';

export interface VersionedDataKind extends DataKind {
namespace: string,
Copy link
Member Author

Choose a reason for hiding this comment

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

Most of these fields are not used for now, but they will be once a data source is implemented. For now just the namespace is used and only in tests.

These are basically static definitions of the type of data we expect.

@kinyoklion kinyoklion marked this pull request as ready for review May 27, 2022 19:59
Base automatically changed from rlamb/sc-154353/implement-basic-loggers to main June 1, 2022 16:29
kinyoklion and others added 3 commits June 1, 2022 09:29
Co-authored-by: Matthew M. Keeler <keelerm84@gmail.com>
Co-authored-by: Matthew M. Keeler <keelerm84@gmail.com>
@kinyoklion kinyoklion merged commit 42ec433 into main Jun 1, 2022
@kinyoklion kinyoklion deleted the rlamb/sc-155108/implement-memory-store branch June 1, 2022 16:32
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.

3 participants