Skip to content

postgrestx-monorepo v0.0.1


postgrestx-monorepo / core/src / PostgrestClient

Class: PostgrestClient

Defined in: packages/core/src/postgrest/client.ts:46

High-level PostgREST client exposing convenience CRUD + RPC helpers.

All helpers return a QueryResult which includes paging metadata parsed from the Content-Range header when available.

Errors are normalized into PostgrestError via normalizeError.

Examples

ts
import { PostgrestClient, createFetchHttpClient } from '@postgrestx/core'
const http = createFetchHttpClient()
const client = new PostgrestClient('https://example.com', http)
ts
const { data, total } = await client.select('users', { select: 'id,name', limit: 20 })
ts
const { data } = await client.select('users', {
  select: '*',
  filters: [ { column: 'status', op: 'eq', value: 'active' } ],
  order: 'created_at.desc'
})
ts
await client.insert('users', { name: 'Ada' }, { prefer: { return: 'representation' } })
ts
const { data } = await client.rpc('search_users', { term: 'ada' })

Constructors

Constructor

new PostgrestClient(baseUrl, http): PostgrestClient

Defined in: packages/core/src/postgrest/client.ts:50

Parameters

baseUrl

string

http

HttpClient

Returns

PostgrestClient

Properties

baseUrl

readonly baseUrl: string

Defined in: packages/core/src/postgrest/client.ts:47


http

readonly http: HttpClient

Defined in: packages/core/src/postgrest/client.ts:48

Methods

select()

select<T>(resource, options?): Promise<QueryResult<T>>

Defined in: packages/core/src/postgrest/client.ts:60

Perform a SELECT query against a table or view.

Type Parameters

T

T = unknown

Parameters

resource

string

Table or view name.

options?

QueryOptions

Query modifiers (filters/order/range/etc).

Returns

Promise<QueryResult<T>>


insert()

insert<T>(resource, body, options?): Promise<QueryResult<T>>

Defined in: packages/core/src/postgrest/client.ts:76

Insert row(s) into a table. When prefer.return includes representation the inserted rows are returned.

Type Parameters

T

T = unknown

Parameters

resource

string

body

unknown

options?

WriteOptions

Returns

Promise<QueryResult<T>>


update()

update<T>(resource, body, options?): Promise<QueryResult<T>>

Defined in: packages/core/src/postgrest/client.ts:99

Update row(s) using filters / range options provided.

Type Parameters

T

T = unknown

Parameters

resource

string

body

unknown

options?

WriteOptions

Returns

Promise<QueryResult<T>>


delete()

delete<T>(resource, options?): Promise<QueryResult<T>>

Defined in: packages/core/src/postgrest/client.ts:122

Delete row(s) matching supplied filters

Type Parameters

T

T = unknown

Parameters

resource

string

options?

QueryOptions

Returns

Promise<QueryResult<T>>


upsert()

upsert<T>(resource, body, options?): Promise<QueryResult<T>>

Defined in: packages/core/src/postgrest/client.ts:136

Upsert (insert or merge) row(s); defaults resolution to merge-duplicates unless overridden.

Type Parameters

T

T = unknown

Parameters

resource

string

body

unknown

options?

WriteOptions

Returns

Promise<QueryResult<T>>


rpc()

rpc<T>(fnName, args?, options?): Promise<QueryResult<T>>

Defined in: packages/core/src/postgrest/client.ts:161

Call a PostgREST RPC function. GET when no args provided, otherwise POST.

Type Parameters

T

T = unknown

Parameters

fnName

string

args?

Record<string, unknown>

options?

QueryOptions & object

Returns

Promise<QueryResult<T>>