MCPcopy Index your code
hub / github.com/Effect-TS/effect / unsafeRegister

Function unsafeRegister

packages/experimental/src/Reactivity.ts:66–88  ·  view source on GitHub ↗
(
    keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>,
    handler: () => void
  )

Source from the content-addressed store, hash-verified

64 ): Effect.Effect<A, E, R> => Effect.zipLeft(effect, invalidate(keys))
65
66 const unsafeRegister = (
67 keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>,
68 handler: () => void
69 ): () => void => {
70 const resolvedKeys = Array.isArray(keys) ? keys.map(stringOrHash) : recordHashes(keys as any)
71 for (let i = 0; i < resolvedKeys.length; i++) {
72 let set = handlers.get(resolvedKeys[i])
73 if (set === undefined) {
74 set = new Set()
75 handlers.set(resolvedKeys[i], set)
76 }
77 set.add(handler)
78 }
79 return () => {
80 for (let i = 0; i < resolvedKeys.length; i++) {
81 const set = handlers.get(resolvedKeys[i])!
82 set.delete(handler)
83 if (set.size === 0) {
84 handlers.delete(resolvedKeys[i])
85 }
86 }
87 }
88 }
89
90 const query = <A, E, R>(
91 keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>,

Callers 1

queryFunction · 0.85

Calls 5

recordHashesFunction · 0.85
mapMethod · 0.65
getMethod · 0.65
setMethod · 0.65
addMethod · 0.65

Tested by

no test coverage detected