20 releases

0.1.21 Dec 8, 2024
0.1.20 Nov 19, 2024
0.1.19 Oct 26, 2024
0.1.11 Jul 29, 2024
0.1.3 Mar 26, 2024

#907 in Web programming

Download history 8/week @ 2024-08-26 2/week @ 2024-09-02 262/week @ 2024-09-09 27/week @ 2024-09-16 65/week @ 2024-09-23 331/week @ 2024-09-30 18/week @ 2024-10-07 8/week @ 2024-10-14 251/week @ 2024-10-21 22/week @ 2024-10-28 52/week @ 2024-11-04 163/week @ 2024-11-18 10/week @ 2024-11-25 93/week @ 2024-12-02 62/week @ 2024-12-09

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

Apache-2.0

180KB
4.5K 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

~3–5MB
~88K SLoC