20 releases

new 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

#909 in Web programming

Download history 128/week @ 2024-08-16 25/week @ 2024-08-23 5/week @ 2024-08-30 227/week @ 2024-09-06 55/week @ 2024-09-13 48/week @ 2024-09-20 280/week @ 2024-09-27 87/week @ 2024-10-04 12/week @ 2024-10-11 119/week @ 2024-10-18 151/week @ 2024-10-25 43/week @ 2024-11-01 15/week @ 2024-11-08 131/week @ 2024-11-15 38/week @ 2024-11-22 6/week @ 2024-11-29

200 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
~89K SLoC