3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-07 01:54:08 +00:00
z3/src/api/js
Guillaume Bagan 0c9a5f69fd
JS/TS: add Optimize class (#6712)
* implement  Optimize class for the high level Typescript API

* javascript and wasm: add _malloc to exported functions

fix the bug https://github.com/Z3Prover/z3/issues/6709

* javascript: add tests for the Optimize class

* javascript: no reason that minimize and optimize must be constants
2023-05-06 11:53:43 -07:00
..
examples [WIP] More TS Binding Features (#6412) 2023-02-11 15:48:29 -08:00
scripts JS/TS: add Optimize class (#6712) 2023-05-06 11:53:43 -07:00
src JS/TS: add Optimize class (#6712) 2023-05-06 11:53:43 -07:00
.nvmrc Add high level bindings for js (#6048) 2022-06-14 09:55:58 -07:00
.prettierrc.json Add high level bindings for js (#6048) 2022-06-14 09:55:58 -07:00
jest.config.js Add high level bindings for js (#6048) 2022-06-14 09:55:58 -07:00
package-lock.json [WIP] More TS Binding Features (#6412) 2023-02-11 15:48:29 -08:00
package.json [WIP] More TS Binding Features (#6412) 2023-02-11 15:48:29 -08:00
PUBLISHED_README.md Remove usages of Z3_bool, just use bool. 2022-07-30 05:49:05 +02:00
README.md add pointer to build parameters to README #6518 2023-01-02 16:49:31 -08:00
tsconfig.build.json Add high level bindings for js (#6048) 2022-06-14 09:55:58 -07:00
tsconfig.json Add high level bindings for js (#6048) 2022-06-14 09:55:58 -07:00
typedoc.json Add high level bindings for js (#6048) 2022-06-14 09:55:58 -07:00

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.

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

Current tests are very minimal: test-ts-api.ts contains a couple real cases translated very mechanically from this file.