{"id":23331138,"url":"https://github.com/sassoftware/postgrest-client","last_synced_at":"2025-06-27T03:37:01.551Z","repository":{"id":218751256,"uuid":"744591931","full_name":"sassoftware/postgrest-client","owner":"sassoftware","description":"General purpose type-safe TypeScript client for PostgREST. Supports select, insert, update, upsert, delete queries with composite joins, resource embedding, full JSON column data handling and typing.","archived":false,"fork":false,"pushed_at":"2024-10-01T20:12:24.000Z","size":18893,"stargazers_count":15,"open_issues_count":3,"forks_count":0,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-06-09T09:02:14.026Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sassoftware.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-17T16:03:44.000Z","updated_at":"2025-06-02T22:12:35.000Z","dependencies_parsed_at":"2024-10-26T00:40:50.777Z","dependency_job_id":null,"html_url":"https://github.com/sassoftware/postgrest-client","commit_stats":{"total_commits":26,"total_committers":1,"mean_commits":26.0,"dds":0.0,"last_synced_commit":"858881d3346b41e5cb437f2314bfe01db575326f"},"previous_names":["sassoftware/postgrest-client"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/sassoftware/postgrest-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fpostgrest-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fpostgrest-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fpostgrest-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fpostgrest-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sassoftware","download_url":"https://codeload.github.com/sassoftware/postgrest-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sassoftware%2Fpostgrest-client/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260907157,"owners_count":23080612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-20T22:31:17.429Z","updated_at":"2025-06-27T03:37:01.516Z","avatar_url":"https://github.com/sassoftware.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PostgREST Client\n\n**General purpose type-safe TypeScript client for PostgREST.**\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Contributing](#contributing)\n- [License](#license)\n- [Additional Resources](#additional-resources)\n\n## Overview\n\nThe 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.\n\n![demo](https://github.com/sassoftware/postgrest-client/blob/main/docs/demo.gif)\n\n### Features\n\n- 🔳 Read\n  - 🔳 Horizontal filtering\n    - 🔳 Operators\n    - ✅ Logical operators\n    - ⬜ Operator modifiers\n    - 🔳 Pattern matching\n    - ⬜ Full-text search\n  - ✅ Vertical filtering\n    - ✅ Renaming columns\n    - ✅ Casting columns\n    - ✅ JSON columns\n    - ✅ Composite/Array columns\n    - ✅ Ordering\n    - ✅ Limits and pagination\n    - ✅ Count\n- ✅ Head\n- ✅ Insert\n  - ✅ `prefer: return=` header\n  - ✅ Bulk insert\n  - ✅ `prefer: missing=` header\n  - ✅ specifying columns\n- ✅ Update\n  - ✅ Limited update\n- ✅ Upsert\n  - ✅ `prefer: resolution=` header\n  - ✅ On conflict\n- ✅ Put\n- ✅ Delete\n  - ✅ `prefer: return=` header\n  - ✅ Limited delete\n- ⬜ Stored procedures\n- 🔳 Schemas\n- 🔳 Resource embedding\n  - ✅ Foreign key joins\n  - ✅ Foreign key joins on write\n  - ✅ Nested embedding\n  - ✅ Embedded filtering\n  - ✅ Top-level filtering\n  - ⬜ Null filtering\n  - ✅ Empty embedded\n  - ✅ Embedded ordering\n  - ✅ Top-level ordering\n  - ⬜ Spread embedded resources\n- 🔳 Resource representation\n  - ✅ Singular or plural\n  - ⬜ Stripped nulls\n  - ⬜ Response format\n- ⬜ Options method\n- ✅ URL grammar\n  - ✅ Unicode support\n  - ✅ Table / Columns with spaces\n  - ✅ Reserved characters\n\n### Installation\n\nTo get started with the PostgREST Client detailed instructions are available in our [Getting Started Documentation](https://github.com/sassoftware/postgrest-client/blob/main/docs/getting-started.md).\n\n### Examples\n\nUsing schema from [PostgREST documentation](https://postgrest.org/en/stable/references/api/resource_embedding.html#relationships) for examples.\n\n```ts\nimport {\n  PostgrestClient,\n  type PostgresTable,\n} from '@sassoftware/postgrest-client';\n\ntype DB = {\n  films: PostgresTable\u003c{ id: number; title: string }, 'id'\u003e;\n};\n\nconst pgClient = new PostgrestClient\u003cDB\u003e({ base: '/api' });\nconst { rows } = await pgClient.get({ query: pgClient.query('films') });\n```\n\nFor more examples and detailed usage instructions, visit our [Queries Documentation](https://github.com/sassoftware/postgrest-client/blob/main/docs/queries.md).\n\n## Contributing\n\nWe welcome your contributions! Please read [CONTRIBUTING.md](https://github.com/sassoftware/postgrest-client/blob/main/CONTRIBUTING.md) for details on how to submit contributions to this project.\n\n## License\n\nThis project is licensed under the [Apache 2.0 License](https://github.com/sassoftware/postgrest-client/blob/main/LICENSE).\n\n## Additional Resources\n\n- [Getting Started Documentation](https://github.com/sassoftware/postgrest-client/blob/main/docs/getting-started.md)\n- [Queries Documentation](https://github.com/sassoftware/postgrest-client/blob/main/docs/queries.md)\n- More examples available in TSDocs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsassoftware%2Fpostgrest-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsassoftware%2Fpostgrest-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsassoftware%2Fpostgrest-client/lists"}