MCPcopy Create free account
hub / github.com/Effect-TS/effect / registerUnsafe

Function registerUnsafe

packages/effect/src/unstable/reactivity/Reactivity.ts:110–133  ·  view source on GitHub ↗
(
    keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>,
    handler: () => void
  )

Source from the content-addressed store, hash-verified

108 ): Effect.Effect<A, E, R> => Effect.tap(effect, invalidate(keys))
109
110 const registerUnsafe = (
111 keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>,
112 handler: () => void
113 ): () => void => {
114 const resolvedKeys: Array<string | number> = []
115 keysToHashes(keys, (hash) => {
116 resolvedKeys.push(hash)
117 let set = handlers.get(hash)
118 if (set === undefined) {
119 set = new Set()
120 handlers.set(hash, set)
121 }
122 set.add(handler)
123 })
124 return () => {
125 for (let i = 0; i < resolvedKeys.length; i++) {
126 const set = handlers.get(resolvedKeys[i])!
127 set.delete(handler)
128 if (set.size === 0) {
129 handlers.delete(resolvedKeys[i])
130 }
131 }
132 }
133 }
134
135 const query = <A, E, R>(
136 keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>,

Callers 1

queryFunction · 0.85

Calls 5

keysToHashesFunction · 0.85
pushMethod · 0.80
getMethod · 0.65
setMethod · 0.65
addMethod · 0.65

Tested by

no test coverage detected