ccorcos / tuple-database

406 stars 19 forks source link

useTupleDatabase not working with async storage #21

Closed lirbank closed 1 year ago

lirbank commented 1 year ago

Consider the following:

const storage = new IndexedDbTupleStorage("objectStoreName");
const db = new AsyncTupleDatabase(storage);
const client = new AsyncTupleDatabaseClient<Schema>(db);

function useStuff() {
  const r = useTupleDatabase<Schema, string, []>(
    client, // <-- AsyncTupleDatabaseClient<Schema>
    (client) => { // <-- TupleDatabaseClientApi<Schema>
      console.log(client);

      return "stuff";
    },
    []
  );

  console.log("r", r);

  return r
}

Here TS will complain on the first argument to useTupleDatabase, since TupleDatabaseClient is expected but AsyncTupleDatabaseClient is provided.

lirbank commented 1 year ago

Never mind, I found it:

import { useAsyncTupleDatabase } from "tuple-database/useAsyncTupleDatabase";