MCPcopy Create free account
hub / github.com/tinyplex/tinybase / useCreatePersister

Function useCreatePersister

docs/pseudo.esm.sh/tinybase@9.0.0/ui-solid/index.js:1090–1122  ·  view source on GitHub ↗
(store, create, then, destroy)

Source from the content-addressed store, hash-verified

1088 [checkpointId]
1089);
1090var useCreatePersister = (store, create, then, destroy) => {
1091 const [persister, setPersister] = createSignal();
1092 createEffect(() => {
1093 let current = true;
1094 let createdPersister;
1095 const destroyPersister = (persister2) => {
1096 persister2.destroy();
1097 destroy?.(persister2);
1098 };
1099 (async () => {
1100 const resolvedStore = getThing(store);
1101 createdPersister = resolvedStore ? await create(resolvedStore) : void 0;
1102 if (!current) {
1103 if (createdPersister) {
1104 destroyPersister(createdPersister);
1105 }
1106 return;
1107 }
1108 setPersister(() => createdPersister);
1109 if (createdPersister && then) {
1110 await then(createdPersister);
1111 }
1112 })();
1113 onCleanup(() => {
1114 current = false;
1115 setPersister(() => void 0);
1116 if (createdPersister) {
1117 destroyPersister(createdPersister);
1118 }
1119 });
1120 });
1121 return persister;
1122};
1123var usePersisterIds = () => useThingIds(OFFSET_PERSISTER);
1124var usePersister = (id) => useThing(id, OFFSET_PERSISTER);
1125var usePersisterOrPersisterById = (persisterOrPersisterId) => useThingOrThingById(persisterOrPersisterId, OFFSET_PERSISTER);

Callers

nothing calls this directly

Calls 2

getThingFunction · 0.70
destroyPersisterFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…