MCPcopy Create free account
hub / github.com/DeepNotesApp/DeepNotes / createComputedDict

Function createComputedDict

packages/@stdlib/vue/src/computed-dict.ts:12–37  ·  view source on GitHub ↗
(params: {
  get: (key: K) => V;
  set?: (key: K, value: V) => void;
})

Source from the content-addressed store, hash-verified

10}): (key: K) => WritableComputedRef<V>;
11
12export function createComputedDict<K = string, V = any>(params: {
13 get: (key: K) => V;
14 set?: (key: K, value: V) => void;
15}): unknown {
16 const dict = new Map<K, ComputedRef<V> | WritableComputedRef<V>>();
17
18 return (key: K) => {
19 let result: ComputedRef<V> | WritableComputedRef<V> | undefined =
20 dict.get(key);
21
22 if (result == null) {
23 if ('set' in params) {
24 result = computed({
25 get: () => params.get(key),
26 set: (value) => params.set?.(key, value),
27 });
28 } else {
29 result = computed(() => params.get(key));
30 }
31
32 dict.set(key, result);
33 }
34
35 return result;
36 };
37}

Callers 1

wrapSlimFunction · 0.90

Calls 2

getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected