latest
anpete/fastexpr.jsA blazingly fast, single-file, zero dependency JavaScript expression parser.
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




JSR Score
100%
Published
a year ago (1.0.2)
fastexpr.js
A blazingly fast, single-file, zero dependency JavaScript expression parser.
Features
- Fast. Hand-coded lexer and top-down operator precedence parser. Twice as fast as
esprima
. - Small. Less than 10KB minified and gzipped.
- Compatible. Parses all valid JavaScript expressions. Produces an
esprima
style AST.
Usage:
import {parse} from '@anpete/fastexpr'; const expr = (s: string) => `hello from ${s}!`; const ast = parse(expr.toString()); console.log(ast);
which produces:
{ type: "ArrowFunctionExpression", params: [ { type: "IdentifierExpression", name: "s" } ], body: { type: "TemplateLiteralExpression", quasis: [ { type: "TemplateExpression", value: { cooked: "hello from " }, tail: false }, { type: "TemplateExpression", value: { cooked: "!" }, tail: true } ], expressions: [ { type: "IdentifierExpression", name: "s" } ] } }
Add Package
deno add jsr:@anpete/fastexpr
Import symbol
import * as fastexpr from "@anpete/fastexpr";
Import directly with a jsr specifier
import * as fastexpr from "jsr:@anpete/fastexpr";
Add Package
pnpm i jsr:@anpete/fastexpr
pnpm dlx jsr add @anpete/fastexpr
Import symbol
import * as fastexpr from "@anpete/fastexpr";
Add Package
yarn add jsr:@anpete/fastexpr
yarn dlx jsr add @anpete/fastexpr
Import symbol
import * as fastexpr from "@anpete/fastexpr";
Add Package
vlt install jsr:@anpete/fastexpr
Import symbol
import * as fastexpr from "@anpete/fastexpr";
Add Package
npx jsr add @anpete/fastexpr
Import symbol
import * as fastexpr from "@anpete/fastexpr";
Add Package
bunx jsr add @anpete/fastexpr
Import symbol
import * as fastexpr from "@anpete/fastexpr";