s-exify

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");
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)")
beautify(input: string): string
A code beautifier function to format S-expression.
beautify("(i32.const\n1234\n)")
beautify("(module ... very long expr ...)")
CLI
The npm package provides a CLI script, s-exify
.
cat out.wat | s-exify
s-exify out.wat
It will output the formatted S-expression as stdout.
License
MIT