( store: MaybeAccessor<Store | undefined>, create: (store: Store) => Thing, )
| 229 | const EMPTY_LISTENER_ARG_GETTERS: ListenerArgGetters = []; |
| 230 | |
| 231 | const useCreate = <Thing extends {destroy?: () => void}>( |
| 232 | store: MaybeAccessor<Store | undefined>, |
| 233 | create: (store: Store) => Thing, |
| 234 | ): Accessor<Thing | undefined> => { |
| 235 | const [thing, setThing] = createSignal<Thing>(); |
| 236 | createEffect(() => { |
| 237 | const resolvedStore = getThing(store); |
| 238 | const newThing = resolvedStore ? create(resolvedStore) : undefined; |
| 239 | setThing(() => newThing); |
| 240 | onCleanup(() => newThing?.destroy?.()); |
| 241 | }); |
| 242 | return thing; |
| 243 | }; |
| 244 | |
| 245 | const addAndDelListener = (thing: any, listenable: string, ...args: any[]) => { |
| 246 | const listenerId = thing?.[ADD + listenable + LISTENER]?.(...args); |
no test coverage detected
searching dependent graphs…