add triplit client
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { TriplitClient } from '@triplit/client';
|
||||
import { schema } from './schema';
|
||||
import {
|
||||
PUBLIC_TRIPLIT_SERVER_URL,
|
||||
PUBLIC_TRIPLIT_TOKEN,
|
||||
} from '$env/static/public';
|
||||
import { browser } from '$app/environment';
|
||||
|
||||
// The TriplitClient has 4 main options
|
||||
// - storage: The storage engine you want to use. This can be
|
||||
// 'memory' or 'indexeddb'.
|
||||
// - schema: The schema you defined for your app, which
|
||||
// will be used to generate types for client methods
|
||||
// and handle local database operations
|
||||
// - serverUrl: The URL of your Triplit server
|
||||
// - token: The token you got from the Triplit dashboard
|
||||
//
|
||||
// Without the serverUrl or token, the client will operate in
|
||||
// offline mode
|
||||
|
||||
export const triplit = new TriplitClient({
|
||||
storage: browser ? 'indexeddb' : 'memory',
|
||||
schema,
|
||||
serverUrl: PUBLIC_TRIPLIT_SERVER_URL,
|
||||
token: PUBLIC_TRIPLIT_TOKEN,
|
||||
autoConnect: browser,
|
||||
// Ensure offline-first behavior
|
||||
syncSchema: false, // Don't wait for schema sync to read local data
|
||||
});
|
||||
// @ts-expect-error
|
||||
if (typeof window !== 'undefined') window.triplit = triplit;
|
||||
export const Query = triplit.query;
|
||||
Reference in New Issue
Block a user