mirror of
https://github.com/Z3Prover/z3
synced 2026-02-09 18:40:51 +00:00
* Initial plan * Add FP and String/Seq type definitions to TypeScript bindings Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Implement FP and String/Seq in TypeScript high-level bindings Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Add comprehensive tests for FP and String/Seq APIs Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Fix build errors: Add isFP to test scope and use eqIdentity for Sort comparison Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Fix code formatting with Prettier for WASM build Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Fix FPNum.value() to use Z3_get_numeral_double instead of parsing string Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Simplify length check for empty sequence Refactor length check for empty sequence in tests. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com> |
||
|---|---|---|
| .. | ||
| examples | ||
| scripts | ||
| src | ||
| .nvmrc | ||
| .prettierrc.json | ||
| jest.config.js | ||
| package-lock.json | ||
| package.json | ||
| PUBLISHED_README.md | ||
| README.md | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
| typedoc.json | ||
TypeScript Bindings
This directory contains JavaScript code to automatically derive TypeScript bindings for the C API, which are published on npm as z3-solver.
The readme for the bindings themselves is located in PUBLISHED_README.md.
Building
You'll need to have emscripten set up, along with all of its dependencies. The easiest way to do that is with emsdk. Newer versions of emscripten may break the build; you can find the version used in CI in this file.
Then run npm i to install dependencies, npm run build:ts to build the TypeScript wrapper, and npm run build:wasm to build the wasm artifact.
Build on your own
Consult the file build-wasm.ts for configurations used for building wasm.
Tests
Run npm test after building to run tests.