10 releases

new 0.1.10 Jul 19, 2024
0.1.9 Jul 5, 2024
0.1.8 Jun 28, 2024
0.1.6 May 23, 2024
0.1.0 Jan 24, 2024

#799 in Web programming

Download history 132/week @ 2024-03-25 21/week @ 2024-04-01 1/week @ 2024-04-08 139/week @ 2024-04-15 101/week @ 2024-05-20 5/week @ 2024-05-27 153/week @ 2024-06-03 20/week @ 2024-06-10 126/week @ 2024-06-24 124/week @ 2024-07-01 19/week @ 2024-07-08

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

Apache-2.0

155KB
3.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

~1.7–3MB
~87K SLoC