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

Function useCreatePersister

docs/pseudo.esm.sh/tinybase@9.0.0/ui-react/index.js:1244–1274  ·  view source on GitHub ↗
(store, create, createDeps = EMPTY_ARRAY, then, thenDeps = EMPTY_ARRAY, destroy, destroyDeps = EMPTY_ARRAY)

Source from the content-addressed store, hash-verified

1242 [checkpointId]
1243);
1244var useCreatePersister = (store, create, createDeps = EMPTY_ARRAY, then, thenDeps = EMPTY_ARRAY, destroy, destroyDeps = EMPTY_ARRAY) => {
1245 const [, rerender] = useState();
1246 const [persister, setPersister] = useState();
1247 useEffect(
1248 () => {
1249 (async () => {
1250 const persister2 = store ? await create(store) : void 0;
1251 setPersister(persister2);
1252 if (persister2 && then) {
1253 (async () => {
1254 await then(persister2);
1255 rerender([]);
1256 })();
1257 }
1258 })();
1259 },
1260 // eslint-disable-next-line react-hooks/exhaustive-deps
1261 [store, ...createDeps, ...thenDeps]
1262 );
1263 useEffect(
1264 () => () => {
1265 if (persister) {
1266 persister.destroy();
1267 destroy?.(persister);
1268 }
1269 },
1270 // eslint-disable-next-line react-hooks/exhaustive-deps
1271 [persister, ...destroyDeps]
1272 );
1273 return persister;
1274};
1275var usePersisterIds = () => useThingIds(OFFSET_PERSISTER);
1276var usePersister = (id) => useThing(id, OFFSET_PERSISTER);
1277var usePersisterOrPersisterById = (persisterOrPersisterId) => useThingOrThingById(persisterOrPersisterId, OFFSET_PERSISTER);

Callers

nothing calls this directly

Calls 2

destroyMethod · 0.65
destroyFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…