You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Experimental [RPC protocol](https://capnproto.org/rpc.html) is supported ([level 1](https://capnproto.org/rpc.html#protocol-features).)
55
+
Experimental [RPC protocol](https://capnproto.org/rpc.html) is supported ([level 1](https://capnproto.org/rpc.html#protocol-features)).
56
+
57
+
See [tests](./test/integration/rpc.spec.ts) for some examples.
56
58
57
59
## Status
58
60
59
61
This project is a rework<sup>1</sup> of [jdiaz5513/capnp-ts](https://github.com/jdiaz5513/capnp-ts/) by Julián Díaz and is under development.
60
62
61
63
**<sup>1</sup> Changes from `capnp-ts`:**
62
64
63
-
-[x] Internal refactors and simplifications as was playing around.
64
-
-[x] Compiler, runtime, and std lib published via a single and compact ESM-only package with subpath exports.
65
-
-[x] Compiler updated to use Typescript v5 API
66
-
-[x] Output files can be `.ts` (new), `.js` (ESM instead of CJS), and `.d.ts` and has no `.capnp` suffix.
67
-
-[x] Compiler API can be used via the `capnp-es/compiler` subpath export programmatically.
68
-
-[x] Use native `TextEncoder` and `TextDecoder` for utf8 encoding
69
-
-[x] Enums are typed plain JS objects (this way `.ts` files work with strip-only ts loaders without enum support.)
70
-
-[x] Compiler CLI can directly accept a path to `.capnp` files and internally use `capnpc`
71
-
-[x] Built-in schemas are compiled from source (compiler, compiles itself. so cool right?)
72
-
-[x] Use reflection (getter setters) to access structs.
73
-
-[x] RPC level 1
74
-
-[ ][TODO] Investigate runtime performance. Some language features make full traverse slow, especially on Node.js < 22, Bun is fast and all good.
75
-
-[ ][PLANNED] Investigate the possibility of bundling the wasm version of `capnp`
65
+
- Internal refactors and simplifications as was playing around.
66
+
- Compiler, runtime, and std lib published via a single and compact ESM-only package with subpath exports.
67
+
- Compiler updated to use Typescript v5 API
68
+
- Output files can be `.ts` (new), `.js` (ESM instead of CJS), and `.d.ts` and has no `.capnp` suffix.
69
+
- Compiler API can be used via the `capnp-es/compiler` subpath export programmatically.
70
+
- Use native `TextEncoder` and `TextDecoder` for utf8 encoding
71
+
- Enums are typed plain JS objects (this way `.ts` files work with strip-only ts loaders without enum support.)
72
+
- Compiler CLI can directly accept a path to `.capnp` files and internally use `capnpc`
73
+
- Built-in schemas are compiled from source (compiler, compiles itself. so cool right?)
74
+
- Use reflection (getter setters) to access structs.
0 commit comments