@electric-sql/client v0.6.5
TypeScript client for ElectricSQL
Real-time Postgres sync for modern apps.
Electric provides an HTTP interface to Postgres to enable a massive number of clients to query and get real-time updates to subsets of the database, called Shapes. In this way, Electric turns Postgres into a real-time database.
The TypeScript client helps ease reading Shapes from the HTTP API in the browser and other JavaScript environments, such as edge functions and server-side Node/Bun/Deno applications. It supports both fine-grained and coarse-grained reactivity patterns — you can subscribe to see every row that changes, or you can just subscribe to get the whole shape whenever it changes.
Install
The client is published on NPM as @electric-sql/client
:
npm i @electric-sql/client
How to use
The client exports a ShapeStream
class for getting updates to shapes on a row-by-row basis as well as a Shape
class for getting updates to the entire shape.
ShapeStream
import { ShapeStream } from '@electric-sql/client'
// Passes subscribers rows as they're inserted, updated, or deleted
const stream = new ShapeStream({
url: `${BASE_URL}/v1/shape/foo`,
})
stream.subscribe(messages => {
// messages is an array with one or more row updates
// and the stream will wait for all subscribers to process them
// before proceeding
})
Shape
import { ShapeStream, Shape } from '@electric-sql/client'
const stream = new ShapeStream({
url: `${BASE_URL}/v1/shape/foo`,
})
const shape = new Shape(stream)
// Returns promise that resolves with the latest shape data once it's fully loaded
await shape.value
// passes subscribers shape data when the shape updates
shape.subscribe(shapeData => {
// shapeData is a Map of the latest value of each row in a shape.
}
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
3 years ago
3 years ago
3 years ago