MCPcopy Index your code
hub / github.com/tinyplex/tinybase / getStoreFunctions

Function getStoreFunctions

src/persisters/common/create.ts:56–98  ·  view source on GitHub ↗
(
  persist: PersistsEnum | any = PersistsValues.StoreOnly,
  store: PersistedStore<typeof persist>,
  isSynchronizer: 0 | 1,
)

Source from the content-addressed store, hash-verified

54const scheduleActions: Map<any, Action[]> = mapNew();
55
56const getStoreFunctions = (
57 persist: PersistsEnum | any = PersistsValues.StoreOnly,
58 store: PersistedStore<typeof persist>,
59 isSynchronizer: 0 | 1,
60):
61 | [
62 isMergeableStore: 0,
63 getContent: () => Content,
64 getChanges: () => Changes,
65 hasChanges: (changes: Changes) => boolean,
66 setDefaultContent: (content: Content | (() => Content)) => Store,
67 ]
68 | [
69 isMergeableStore: 1,
70 getContent: () => MergeableContent,
71 getChanges: () => MergeableChanges<
72 typeof isSynchronizer extends 1 ? false : true
73 >,
74 hasChanges: (changes: MergeableChanges) => boolean,
75 setDefaultContent: (content: Content | (() => Content)) => MergeableStore,
76 ] =>
77 persist != PersistsValues.StoreOnly && store.isMergeable()
78 ? [
79 1,
80 (store as ProtectedMergeableStore).__[1],
81 () =>
82 (store as ProtectedMergeableStore).__[2](
83 !isSynchronizer,
84 ) as MergeableChanges<typeof isSynchronizer extends 1 ? false : true>,
85 ([[changedTables], [changedValues]]: MergeableChanges) =>
86 !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
87 (store as MergeableStore).setDefaultContent,
88 ]
89 : persist != PersistsValues.MergeableStoreOnly
90 ? [
91 0,
92 (store as ProtectedStore)._[7],
93 (store as ProtectedStore)._[8],
94 ([changedTables, changedValues]: Changes) =>
95 !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
96 store.setContent,
97 ]
98 : errorNew('Store type not supported by this Persister');
99
100export const createCustomPersister = <
101 ListenerHandle,

Callers 1

createCustomPersisterFunction · 0.70

Calls 3

objIsEmptyFunction · 0.90
errorNewFunction · 0.90
isMergeableMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…