5 releases

0.1.5 Apr 18, 2024
0.1.3 Mar 26, 2024
0.1.2 Mar 16, 2024
0.1.1 Feb 21, 2024
0.1.0 Jan 24, 2024

#840 in Web programming

Download history 2/week @ 2024-01-22 145/week @ 2024-02-19 22/week @ 2024-02-26 4/week @ 2024-03-04 109/week @ 2024-03-11 26/week @ 2024-03-18 132/week @ 2024-03-25 21/week @ 2024-04-01 1/week @ 2024-04-08 139/week @ 2024-04-15

294 downloads per month
Used in 2 crates (via turbofuro_runtime)

Apache-2.0

130KB
3K SLoC

Turbofuro Expression Language

Predictable expression language with familiar syntax. You can embed TEL in your application and evaluate user expressions in a safe way.

Features

  • Familiar C/Java/JavaScript like syntax
  • Any JSON is a valid expression
  • No object references objects and arrays are compared by value (deep equality)
  • Available to use on crates.io
  • Compiles to WebAssembly and is available as npm package
  • Value and store (assignment like) expressions

Getting Started

Download repository from GitHub. You will find the TEL implementation in the tel folder. The tel-wasm folder contains the WebAssembly bindings.

Building WebAssembly

Go to tel-wasm folder and run the following command:

wasm-pack build --scope turbofuro

The build will be in the pkg folder.

Running example

There is also an Vite+React example of how to use WASM build in the example folder. You can run it with the following command:

npm install
npm run dev

Note: You need to build WASM before running the example.

Contributing

We welcome all contributions with 💛

Feel free to create issues including those with feature suggestions. If you want to help, but not sure how, reach out to @pr0gramista (Twitter/LinkedIn/email) directly.

License

TEL and Turbofuro OSS parts are licensed under Apache-2.0.

Happy Coding! 🚀

Dependencies

~2.1–3.5MB
~100K SLoC