jsonlogic
json-logic-rs
jsonlogic | json-logic-rs | |
---|---|---|
1 | 1 | |
141 | 34 | |
- | - | |
5.5 | 4.4 | |
17 days ago | 17 days ago | |
Go | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jsonlogic
-
JsonLogic
I did a rules engine to the company that I work based in this specification, but using go language. It is a very successful project because our clients can create rules without tech people around in our frontend, it's very easy to translate our rules into json and store it.
I even did a library to implement it in go language: https://github.com/diegoholiveira/jsonlogic
json-logic-rs
-
JsonLogic
We built a rust version of this that provides a Python package via CFFI and a node package via WASM, because we found that the different implementations for different languages were pretty buggy and would sometimes resolve expressions differently. Also the original project in JS seems to be largely unmaintained. The rust version goes to great lengths to reimplement weird JS typecasting so as to be fully compatible with the original.
https://github.com/Bestowinc/json-logic-rs
I am currently working on an extension to add functions and more strongly typed operators to avoid the hassle of JS’ type conversion.
What are some alternatives?
json-logic-js - Build complex rules, serialize them as JSON, and execute them in JavaScript
cel-spec - Common Expression Language -- specification and binary representation
dhall-lang - Maintainable configuration files
jaspr - Modern web framework for building websites in Dart. Supports SPAs and SSR.
sci - Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
jaspr - Lisp for JSON
secure-json-logic - Use logic-objects from uncertain sources and run them locally without breaking the own system