feelin
feelin copied to clipboard
A DMN FEEL parser and interpreter written in JavaScript
I tried tracking down in DMN-TCK if there's a test case for this, but couldn't easily find one. I also couldn't find an explicit case in the DMN 1.3 FEEL...
Maybe I misunderstood something, but the two behaviors (trivial Boolean logic) below are weird? - [https://nikku.github.io/feel-playground/?e=true&c=%7B%0A++%22%3F%22+%3A+false%0A%7D%0A&t=unaryTests&st=true](https://nikku.github.io/feel-playground/?e=true&c=%7B%0A++%22%3F%22+%3A+false%0A%7D%0A&t=unaryTests&st=true) - [https://nikku.github.io/feel-playground/?e=false&c=%7B%0A++%22%3F%22+%3A+false%0A%7D%0A&t=unaryTests&st=true](https://nikku.github.io/feel-playground/?e=false&c=%7B%0A++%22%3F%22+%3A+false%0A%7D%0A&t=unaryTests&st=true)
### Describe the Bug This is a follow-up to https://github.com/nikku/feelin/issues/62. Uncertain if this is 100% a bug, but see: https://nikku.github.io/feel-playground/?e=sum%28%5B1%2C2%5D%29&c=%7B%0A++%22sum%22+%3A+20%0A%7D%0A&t=expression&st=true. Basically, context variables are overriding base functions now following the...
### Describe the Bug #### Case: comparing date with datetime. Javascript([feelin](https://github.com/nikku/feelin)) only have one date object that includes both date and time, meanwhile [FEEL Scala](https://github.com/camunda/feel-scala) is more strict that date...
### Describe the Bug Addition of time and duration types should create a time type (See [Camunda docs](https://docs.camunda.io/docs/components/modeler/feel/language-guide/feel-temporal-expressions/#addition)). If the **first** and _second_ argument of addition are **time** and _duration_...
__Describe the Bug__ As a user I want to extract a value from a list. While [`[ { a: 1 } ][a]`](https://nikku.github.io/feel-playground/?e=vegetables%5Ba%5D&c=%7B%0A++%22vegetables%22%3A+%5B+%7B+%22a%22%3A+1+%7D%2C+%7B+%22a%22%3A+3+%7D+%5D%0A%7D&t=expression) seems to be the intuitive way to do...
### Describe the solution Null safety ``` null instance of Any = false null instance of boolean = false ``` Recognize all built-in types: ``` date("FOO") instance of date =...
__Is your feature request related to a problem? Please describe__ As a user I want to know why `null` conversion takes place, and get notified accordingly. __Describe the solution you'd...
__Is your feature request related to a problem? Please describe__ The DMN spec mandates that temporal and range type expose certain meta-data via properties: ![image](https://github.com/nikku/feelin/assets/58601/c4df0a95-558b-4485-a544-5953dcd83136) __Describe the solution you'd like__...
In DMN FEEL rounding is [_half-even_](https://en.wikipedia.org/wiki/Rounding#Round_half_to_even) not _up_ as it is in our current implementation. ``` round(1.5) = 2 round(2.5) = 2 ```