@dataql/react-native
Version:
DataQL React Native SDK with offline-first capabilities and clean API
34 lines (33 loc) • 1.43 kB
JavaScript
// Main client
export { DataQLClient } from "./DataQLClient";
// Database schema
export * from "./db/schema";
// React hooks
export { useQuery, useLiveQuery, // DataQL-style live query with tableName/filter signature
useMutation, useSync, useNetworkStatus, } from "./hooks/useDataQL";
// Advanced live query hook - raw Drizzle useLiveQuery for direct database queries
// Usage: const { data } = useRawLiveQuery(db.select().from(schema.users));
export { useRawLiveQuery } from "./hooks/useDataQL";
// Core classes (for advanced usage)
export { DatabaseClient } from "./db/client";
export { OfflineCacheManager } from "./cache/OfflineCacheManager";
export { SyncManager } from "./sync/SyncManager";
// Helper functions
export function createDefaultConfig(workerUrl, databaseName = "dataql.db", options) {
return {
databaseName,
syncConfig: {
workerUrl,
syncInterval: options?.syncInterval ?? 30000, // 30 seconds
retryCount: options?.retryCount ?? 3,
batchSize: options?.batchSize ?? 50,
autoSync: options?.autoSync ?? true,
customConnection: options?.customConnection,
workerBinding: options?.workerBinding,
},
enableChangeListener: options?.enableChangeListener ?? true,
debug: options?.debug ?? false,
};
}
// Re-export database migrations hook
export { useDatabaseMigrations } from "./db/client";