@reactor-cloud/data
v0.3.0
Published
Data client for Reactor JS SDK - PostgREST-style query builder
Maintainers
Readme
@reactor-cloud/data
Data client for Reactor. Query your PostgreSQL database using a PostgREST-style API.
Installation
npm install @reactor-cloud/data @reactor-cloud/sharedOr use the unified client:
npm install @reactor-cloud/clientQuick Start
import { DataClient } from '@reactor-cloud/data';
import type { Database } from './database.types';
const data = new DataClient<Database>(ctx);
// Select
const { data: users } = await data.from('users')
.select('id, email, profile:profiles(*)')
.eq('active', true)
.order('created_at', { ascending: false })
.limit(10);
// Insert
const { data: newUser } = await data.from('users')
.insert({ email: '[email protected]', name: 'New User' })
.select()
.single();
// Update
await data.from('users')
.update({ name: 'Updated Name' })
.eq('id', userId);
// Delete
await data.from('users')
.delete()
.eq('id', userId);
// RPC
const { data: result } = await data.rpc('calculate_total', { order_id: '123' });Query Builder
Selecting Data
// Select specific columns
.select('id, name, email')
// Select with relationships
.select('*, posts(*), profile:profiles(*)')
// Count
.select('*', { count: 'exact' })Filtering
.eq('column', value) // equals
.neq('column', value) // not equals
.gt('column', value) // greater than
.gte('column', value) // greater than or equal
.lt('column', value) // less than
.lte('column', value) // less than or equal
.like('column', pattern) // LIKE pattern
.ilike('column', pattern) // case-insensitive LIKE
.is('column', value) // IS (for null, true, false)
.in('column', [values]) // IN array
.contains('column', value) // contains (jsonb/array)
.containedBy('column', val) // contained by
.or(filters) // OR conditions
.not(column, op, value) // NOT
.filter(column, op, value) // generic filterOrdering & Pagination
.order('created_at', { ascending: false })
.limit(10)
.range(0, 9)
.single()
.maybeSingle()TypeScript Support
Generate types from your database:
reactor types generate --output ./database.types.tsDocumentation
License
MIT
