{"id":24390405,"url":"https://github.com/pgedge/prest-client","last_synced_at":"2026-02-25T10:09:56.944Z","repository":{"id":225368315,"uuid":"764544277","full_name":"pgEdge/prest-client","owner":"pgEdge","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-05T16:31:03.000Z","size":330,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-08-11T20:42:15.515Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pgEdge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-28T09:18:06.000Z","updated_at":"2025-02-07T19:44:04.000Z","dependencies_parsed_at":"2024-03-04T12:37:25.719Z","dependency_job_id":"74ba930e-b60f-470d-a923-0dd997d6c8be","html_url":"https://github.com/pgEdge/prest-client","commit_stats":null,"previous_names":["pgedge/prest-client"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/pgEdge/prest-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgEdge%2Fprest-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgEdge%2Fprest-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgEdge%2Fprest-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgEdge%2Fprest-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgEdge","download_url":"https://codeload.github.com/pgEdge/prest-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgEdge%2Fprest-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29817280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T05:36:42.804Z","status":"ssl_error","status_checked_at":"2026-02-25T05:36:31.934Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2025-01-19T16:17:16.797Z","updated_at":"2026-02-25T10:09:56.904Z","avatar_url":"https://github.com/pgEdge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Prest Client\n\n[![Continuous Integrations](https://github.com/pgEdge/prest-client/actions/workflows/continuous-integrations.yaml/badge.svg?branch=main)](https://github.com/pgEdge/prest-client/actions/workflows/continuous-integrations.yaml)\n[![License](https://badgen.net/github/license/pgEdge/prest-client)](./LICENSE)\n[![Package tree-shaking](https://badgen.net/bundlephobia/tree-shaking/prest-client)](https://bundlephobia.com/package/prest-client)\n[![Package minified \u0026 gzipped size](https://badgen.net/bundlephobia/minzip/prest-client)](https://bundlephobia.com/package/prest-client)\n[![Package dependency count](https://badgen.net/bundlephobia/dependency-count/reactprest-client)](https://bundlephobia.com/package/prest-client)\n\n`prest-client` is a TypeScript/JavaScript library that provides a convenient interface for interacting with the [pRESTd](https://docs.prestd.com/) API. It allows you to perform various operations on your PostgreSQL database, including CRUD operations, filtering, joining tables, advanced queries and so on.\n\n## Features\n\n- **CRUD Operations**: Create, read, update, and delete data from your PostgreSQL database.\n- **Filtering**: Apply various filters to your queries, such as `page`, `pageSize`, `select`, `filterEqual`, and more.\n- **Function Operations**: Perform aggregate functions like `sum`, `avg`, `max`, `min`, `stdDev`, and `variance`.\n- **Advanced Queries**: Utilize advanced query capabilities like `filterRange`, `join`, `textSearch`, and more.\n- **Batch Operations**: Insert multiple rows into a table with a single operation.\n- **TypeScript Support**: Written in TypeScript, providing type safety and better tooling support.\n\n## Installation\n\nThis library is published in the NPM registry and can be installed using any compatible package manager.\n\n```sh\nnpm install prest-client --save\n\n# For Yarn, use the command below.\nyarn add prest-client\n```\n\n### Installation from CDN\n\nThis module has an UMD bundle available through JSDelivr and Unpkg CDNs.\n\n```html\n\u003c!-- For UNPKG use the code below. --\u003e\n\u003cscript src=\"https://unpkg.com/prest-client\"\u003e\u003c/script\u003e\n\n\u003c!-- For JSDelivr use the code below. --\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/prest-client\"\u003e\u003c/script\u003e\n\n\u003cscript\u003e\n  // UMD module is exposed through the \"prestClient\" global variable.\n  console.log(prestClient);\n\u003c/script\u003e\n```\n\n## Usage\n\nHere's a basic example of how to use prest-client:\n\n```typescript\nimport { PrestApiClient, type PrestApiClientOptions } from 'prest-client';\n\nconst options: PrestApiClientOptions = {\n  base_url: envs.BASE_URL,\n  user_name: envs.USER_NAME,\n  password: envs.USER_PASSWORD,\n  database: envs.DATABASE_NAME,\n};\nconst client = new PrestApiClient(options);\n\n// Fetch users\nconst fetchUsers = async () =\u003e {\n  const response = await client.table('users').list().execute();\n  console.log(response);\n};\n\n// Insert data\nconst insertData = async () =\u003e {\n  const data = {\n    user_id: 1,\n    user_name: 'john doe', \n  };\n\n  const response = await client.table('users').insert(data).execute();\n  console.log(response);\n};\n```\n\nFor more examples, please refer to the [examples](https://github.com/pgEdge/prest-client/tree/examples) directory in the repository.\n\n## Documentation\n\n[Documentation generated from source files by Typedoc](./docs/README.md).\n\n## Contributing\n\nContributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.\n\n## License\n\nReleased under [MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgedge%2Fprest-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpgedge%2Fprest-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgedge%2Fprest-client/lists"}