High-quality JavaScript bindings for OCaml
- OCaml 99.9%
| .github/workflows | ||
| lib | ||
| script | ||
| .gitattributes | ||
| .gitignore | ||
| .ocamlformat | ||
| .ocamlformat-ignore | ||
| CHANGES.md | ||
| dune | ||
| dune-project | ||
| es5.opam | ||
| es2015.opam | ||
| es2016.opam | ||
| es2017.opam | ||
| es2018.opam | ||
| es2019.opam | ||
| es2020.opam | ||
| LICENSE | ||
| Makefile | ||
| node.opam | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| vscode-jsonrpc.opam | ||
| vscode-languageclient.opam | ||
| vscode-languageserver-protocol.opam | ||
| vscode-languageserver-types.opam | ||
| vscode-test.opam | ||
| vscode.opam | ||
OCaml JavaScript bindings
High-quality JavaScript bindings for OCaml.
Want bindings for a library? Open an issue!
The bindings have been generated using ts2ocaml from the TypeScript type definitions found in https://github.com/Microsoft/TypeScript/tree/master/lib.
The generated bindings have then been manually modified to improve the API. Notably the bindings differ from the underlying implementation in the following ways:
- No
ArrayLike,ArrayBufferLike,PromiseLikeand co. OCaml does not have implicits (yet), so we just replace all of these with their counterparts (ArrayLikeis replaced byArray) - We don't include Symbols accessors.
gen_js_apidoes not support this, and it really does not seem useful anyways
The bindings don't depend on any PPX (and in particular, they don't depend on gen_js_api). Instead, the generated bindings are promoted and the installable libraries copies the promoted files.
To do
- Replace
castwithinclude module type of - Create the
onfunctions - investigate long function variants (
''''') - Add builder for VSCode