@sassoftware/postgrest-client
TypeScript icon, indicating that this package has built-in type declarations

0.6.2 • Public • Published

PostgREST Client

General purpose type-safe TypeScript client for PostgREST.

Table of Contents

Overview

The PostgREST Client is a type-safe TypeScript client designed for use with PostgREST. It allows for efficient and straightforward interaction with PostgREST APIs, offering a comprehensive suite of features for various operations.

demo

Features

  • 🔳 Read
    • 🔳 Horizontal filtering
      • 🔳 Operators
      • ✅ Logical operators
      • ⬜ Operator modifiers
      • 🔳 Pattern matching
      • ⬜ Full-text search
    • ✅ Vertical filtering
      • ✅ Renaming columns
      • ✅ Casting columns
      • ✅ JSON columns
      • ✅ Composite/Array columns
      • ✅ Ordering
      • ✅ Limits and pagination
      • ✅ Count
  • ✅ Head
  • ✅ Insert
    • prefer: return= header
    • ✅ Bulk insert
    • prefer: missing= header
    • ✅ specifying columns
  • ✅ Update
    • ✅ Limited update
  • ✅ Upsert
    • prefer: resolution= header
    • ✅ On conflict
  • ✅ Put
  • ✅ Delete
    • prefer: return= header
    • ✅ Limited delete
  • ⬜ Stored procedures
  • 🔳 Schemas
  • 🔳 Resource embedding
    • ✅ Foreign key joins
    • ✅ Foreign key joins on write
    • ✅ Nested embedding
    • ✅ Embedded filtering
    • ⬜ Top-level filtering
    • ⬜ Null filtering
    • ✅ Empty embedded
    • ✅ Embedded ordering
    • ⬜ Top-level ordering
    • ⬜ Spread embedded resources
  • 🔳 Resource representation
    • ✅ Singular or plural
    • ⬜ Stripped nulls
    • ⬜ Response format
  • ⬜ Options method
  • ✅ URL grammar
    • ✅ Unicode support
    • ✅ Table / Columns with spaces
    • ✅ Reserved characters

Installation

To get started with the PostgREST Client detailed instructions are available in our Getting Started Documentation.

Examples

Using schema from PostgREST documentation for examples.

import {
  PostgrestClient,
  type PostgresTable,
} from '@sassoftware/postgrest-client';

type DB = {
  films: PostgresTable<{ id: number; title: string }, 'id'>;
};

const pgClient = new PostgrestClient<DB>({ base: '/api' });
const { rows } = await pgClient.get({ query: pgClient.query('films') });

For more examples and detailed usage instructions, visit our Queries Documentation.

Contributing

We welcome your contributions! Please read CONTRIBUTING.md for details on how to submit contributions to this project.

License

This project is licensed under the Apache 2.0 License.

Additional Resources

Readme

Keywords

none

Package Sidebar

Install

npm i @sassoftware/postgrest-client

Weekly Downloads

2

Version

0.6.2

License

Apache-2.0

Unpacked Size

414 kB

Total Files

20

Last publish

Collaborators

  • daarth
  • martin-coutts-sas
  • romacf
  • mtlhmo
  • timothy.crider-sas
  • mtlstg
  • kenjackson
  • ryanauldsas
  • mtlsmc
  • coalman
  • jefurbee
  • devakumaraswamy
  • ckedwards
  • rbtlevey
  • brmorr
  • bjtomlin
  • jolyna