18 releases

new 0.1.19 Oct 26, 2024
0.1.14 Sep 10, 2024
0.1.11 Jul 29, 2024
0.1.3 Mar 26, 2024

#887 in Web programming

Download history 45/week @ 2024-07-06 81/week @ 2024-07-13 47/week @ 2024-07-20 181/week @ 2024-07-27 12/week @ 2024-08-03 6/week @ 2024-08-10 133/week @ 2024-08-17 20/week @ 2024-08-24 5/week @ 2024-08-31 243/week @ 2024-09-07 41/week @ 2024-09-14 68/week @ 2024-09-21 303/week @ 2024-09-28 44/week @ 2024-10-05 10/week @ 2024-10-12 125/week @ 2024-10-19

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

Apache-2.0

175KB
4K 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

~1.7–3.5MB
~78K SLoC