MCPcopy Create free account
hub / github.com/LeetCode-OpenSource/ayanami / setInstanceInScope

Function setInstanceInScope

src/core/scope/utils.ts:59–72  ·  view source on GitHub ↗
(constructor: ConstructorOf<T>, scope: Scope, newInstance: Instance)

Source from the content-addressed store, hash-verified

57}
58
59function setInstanceInScope<T>(constructor: ConstructorOf<T>, scope: Scope, newInstance: Instance) {
60 const scopeMap: ScopeMap<Scope, Instance> = map.get(constructor) || new Map()
61
62 scopeMap.set(scope, newInstance)
63 map.set(constructor, scopeMap)
64 newInstance[CleanupSymbol] = () => {
65 newInstance.destroy()
66 scopeMap.delete(scope)
67 }
68
69 if (isSSREnabled()) {
70 ayanamiInstances.set(scope, (ayanamiInstances.get(scope) || []).concat(newInstance))
71 }
72}
73
74function getInstanceFrom<T>(constructor: ConstructorOf<T>, scope: Scope): T | undefined {
75 const scopeMap = map.get(constructor)

Callers 1

createInstanceInScopeFunction · 0.85

Calls 2

isSSREnabledFunction · 0.90
destroyMethod · 0.80

Tested by

no test coverage detected