Daniel Wirtz 164f134053
Even more math (#56)
Remaining implementations of JavaScript's Math functions (except sin/cos/tan), both double (Math) and single (Mathf) precision, ported from musl incl. tests from libc-test, plus some changes to match JS semantics. Also binds fmod to `%` and pow to `**`.
2018-03-30 17:25:54 +02:00
..
2018-03-30 17:25:54 +02:00
2018-03-26 16:54:25 +02:00

Compiler frontend for node.js

Usage

For an up to date list of available command line options, see:

$> asc --help

API

The API accepts the same options as the CLI but also lets you override stdout and stderr and/or provide a callback. Example:

const asc = require("assemblyscript/bin/asc.js");
asc.main([
  "myModule.ts",
  "--binaryFile", "myModule.wasm",
  "--optimize",
  "--sourceMap",
  "--measure"
], {
  stdout: process.stdout,
  stderr: process.stderr
}, function(err) {
  if (err)
    throw err;
  ...
});

Available command line options can also be obtained programmatically:

const options = require("assemblyscript/bin/asc.json");
...

You can also compile a source string directly, eg. in a browser environment:

const asc = require('assemblyscript/dist/asc')

const input = '...'
const args = { optimize: 2 }

asc.compileString(input, args)
  .then(({ wasm, wast, stdout, stderr }) => {
    // ...
  })
  .catch(({ err, stdout, stderr }) => {
    // ...
  })