{"id":15061217,"url":"https://github.com/webeetle/jrpc-client","last_synced_at":"2026-01-03T03:10:05.827Z","repository":{"id":164338667,"uuid":"639774845","full_name":"webeetle/JRPC-Client","owner":"webeetle","description":"JRPC-Client is a simple JSON-RPC 2.0 client for node.js and browser, developed in typescript for work synergy with JRPC-Server.","archived":false,"fork":false,"pushed_at":"2023-05-19T08:23:10.000Z","size":115,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-24T21:00:46.032Z","etag":null,"topics":["json","json-api","json-rpc","json-schema","typescript"],"latest_commit_sha":null,"homepage":"","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/webeetle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2023-05-12T07:43:18.000Z","updated_at":"2023-05-13T09:37:08.000Z","dependencies_parsed_at":"2024-09-24T23:11:55.051Z","dependency_job_id":"fce6d9b9-ee1f-48c6-919b-1b1754d0e531","html_url":"https://github.com/webeetle/JRPC-Client","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webeetle%2FJRPC-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webeetle%2FJRPC-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webeetle%2FJRPC-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webeetle%2FJRPC-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webeetle","download_url":"https://codeload.github.com/webeetle/JRPC-Client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243707382,"owners_count":20334619,"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":["json","json-api","json-rpc","json-schema","typescript"],"created_at":"2024-09-24T23:11:53.070Z","updated_at":"2026-01-03T03:10:05.780Z","avatar_url":"https://github.com/webeetle.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JRPC-Client\n\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/webeetle/JRPC-Client/actions/workflows/npm-publish-github-packages.yml\" alt=\"Build Status\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/webeetle/JRPC-Client/npm-publish-github-packages.yml\" alt=\"Build Status\"\u003e\n    \u003c/a\u003e\n    \u003c!-- \u003ca href=\"https://app.codacy.com/gh/webeetle/JRPC-Client/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade\" alt=\"Codacy Badge\"\u003e\n        \u003cimg src=\"https://img.shields.io/codacy/grade/9769707d98ea442683e4bf1f70fbcf46\" alt=\"Codacy Badge\"\u003e\n    \u003c/a\u003e --\u003e\n    \u003c!-- \u003ca href=\"https://app.codecov.io/gh/webeetle/JRPC-Server\" alt=\"Codecov\"\u003e\n        \u003cimg src=\"https://img.shields.io/codecov/c/gh/webeetle/JRPC-Server\" alt=\"Codecov\"\u003e\n    \u003c/a\u003e --\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/top/webeetle/JRPC-Client\" alt=\"Language\"\u003e\n    \u003ca href=\"https://github.com/webeetle/JRPC-Client/commits\" alt=\"Last Commit\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/last-commit/webeetle/JRPC-Client\" alt=\"Last Commit\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.npmjs.com/package/@habeetat/jrpc-client\" alt=\"NPM Version\"\u003e\n        \u003cimg src=\"https://img.shields.io/npm/v/@habeetat/jrpc-client/latest\" alt=\"NPM Version\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/webeetle/JRPC-Client/blob/master/LICENSE.md\" alt=\"License\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/webeetle/JRPC-Client\" alt=\"License\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nJRPC-Client is a simple JSON-RPC 2.0 client for node.js and browser, developed in typescript for work synergy with [JRPC-Server](https://github.com/webeetle/JRPC-Server).\n\n## Install\n\n```bash\nnpm i @habeetat/jrpc-client\n```\n\n## Todo\n\n- [ ] Test\n- [ ] Documentation\n- [ ] Enable test in github action\n\n## How to use\n\n```typescript\nexport interface TestServerRpcMethods {\n    /**\n     * say hi\n     */\n    hi(person: { name: string, bithday: Date }): Promise\u003cstring\u003e;\n\n    /**\n     * sum two numbers\n     */\n    sum(a: number, b: number): Promise\u003cnumber\u003e;\n\n    /**\n     * get all todos\n     */\n    getTodos(): Promise\u003c{ id: number, text: string, completed: boolean }[]\u003e;\n}\n\n(async () =\u003e {\n    const resolver = async (url: string, data: string, resolve: (result: any) =\u003e void) =\u003e {\n        console.log(`send to ${url} data ${data}`);\n    };\n    const client = new RpcClient\u003cTestServerRpcMethods\u003e(\"http://localhost:3000/rpc\", resolver);\n    const proxy = client.createProxy();\n    const result = await proxy.hi({ name: \"John\", bithday: new Date() });\n})();\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebeetle%2Fjrpc-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebeetle%2Fjrpc-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebeetle%2Fjrpc-client/lists"}