@asterql/formatter
v0.3.0
Published
Deterministic formatter and canonical AST serializer for AsterQL.
Maintainers
Readme
@asterql/formatter
npm install @asterql/formatterDeterministic formatting and canonical AST serialization for AsterQL.
import { canonicalize, format } from "@asterql/formatter";
format('*.posts[status="published"]|sort(-date)[:10]{id,title}');
// *.posts[status == "published"]
// | sort(-date)[:10]{id, title}
canonicalize('*.posts[status="published"]');
// Span-free JSON over the parsed AST.API
format(queryOrAst, { printWidth?: number }): string
canonicalAst(queryOrAst): CanonicalAst
canonicalize(queryOrAst): string
serializeCanonicalAst(queryOrAst): stringFormatting is parse-backed and idempotent. Canonicalization is intentionally separate from formatting so future view hashes do not depend on whitespace or stylistic source text.
