0.3.2 • Published 5 years ago

s-exify v0.3.2

Weekly downloads
14
License
MIT
Repository
github
Last release
5 years ago

s-exify

Build Status

Beautifier for S-expression, mainly for WAT

Install

npm install s-exify

API

The s-exify module exports the following members.

TypeScript:

import { SExp, parse, beautify } from "s-exify";

JavaScript:

const { parse, beautify } = require("s-exify");

// for mjs
import { parse, beautify } from "s-exify/module";

type SExp

TypeScript only. A type for parsed S-expression, which is basically nested array of strings.

const sExp: SExp = [
  "module",
  ["global", "$g", ["import", `"js"`, `"global"`], ["mut", "i32"]]
];

parse(input: string): SExp

A parse function to literally parse a string into SExp.

parse("(i32.const 1234)") // => ["i32.const", "1234"]

beautify(input: string): string

A code beautifier function to format S-expression.

beautify("(i32.const\n1234\n)") // => (i32.const 1234)
beautify("(module ... very long expr ...)") // => (module↵ ...

CLI

The npm package provides a CLI script, s-exify.

cat out.wat | s-exify # with pipe
s-exify out.wat # with a file

It will output the formatted S-expression as stdout.

License

MIT

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago