Commit Graph
45 Commits
Author SHA1 Message Date
stefan-gorules 602d214b96 feat: expression static analysis (#449)
* feat: expression static analysis

* fix: cargo fmt

* fix: python workflow

* fix: python workflow

* fix: python workflow

* fix: ignore miri test bound by clock

* fix: memory leaks
2026-06-22 15:48:05 +02:00
stefan-gorules 53f3b5a430 feat: merge function (#438)
* feat: merge function

* add mergeDeep function

* default merge to return empty object instead of empty array
2026-03-15 14:44:32 +01:00
stefan-gorules 73d5d5c6cb feat: function scope alias (#426)
* feat: function scope alias

* fix types
2026-01-19 10:44:16 +01:00
stefan-gorules f2fcb95ad9 feat: assignment (#366)
* feat: assignment

* add tests
2025-06-18 10:43:01 +02:00
stefan-gorules bdf51dec11 fix: safe division (#365)
* fix: safe division

* add test
2025-06-16 09:47:35 +02:00
stefan-gorules 815729aca4 fix: update rounding strategy (#361)
* fix: update rounding strategy

* add test
2025-06-03 12:04:47 +02:00
stefan-gorules a911a623cb fix: align date diff with dayjs (#360) 2025-06-03 09:48:57 +02:00
stefan-gorules 29ce060ac7 feat: number scientific notation (#355)
* feat: number scientific notation

* add tests
2025-05-23 11:46:33 +02:00
stefan-gorules 34de232d3a feat: dates min/max (#353) 2025-05-23 11:18:50 +02:00
stefan-gorules d179552b3c feat: trunc function and decimal places for round (optional) (#349) 2025-05-14 08:21:29 +02:00
stefan-gorules 6027f5a6a1 fix: date endOf for a year and isAfter comparison for units (#348)
* fix: date endOf for a year and isAfter comparison for units

* fix test

* improve impl
2025-05-14 01:27:58 +02:00
stefan-gorules de6d13e1c7 feat: date v2 (#345)
* feat: date v2

* implement more date functions

* improve type safety

* add more methods for dates

* update utc to tz and add support

* add unary node behaviour for date methods

* add tests; fix errors in bindings

* add date operators

* fix types

* change set date signature

* update nightly
2025-05-12 22:39:08 +02:00
stefan-gorules 6535d44e03 feat: expression function system (#340)
* feat: expression function system

* cleanup

* improve parser

* revert test changes

* add more tests

* minor fixes
2025-04-28 00:40:32 +02:00
stefan-gorules 36c32814b8 feat: interval iterator (#336) 2025-04-24 12:00:15 +02:00
stefan-gorules ae40aff163 feat: compiled bytecode (#307)
* feat: compiled bytecode

* optimize bytecode

* add compiled expression struct

* add fetch fast and better abstraction

* fix

* rename evaluate_with for Expression<Unary>
2025-02-10 10:07:24 +01:00
stefan-gorules df2a44f8b3 fix: unary closure expression (#301) 2025-01-20 14:08:13 +01:00
kyle-mwnz 49814e1aa0 feat: add trim function to string data type (#279)
* feat: add trim function to string data type

* Linting

* Extra test
2024-11-28 10:15:22 +01:00
stefan-gorules 91598166ce feat: rc variable (#246)
* feat: rc variable

* feat: implement variable in engine

* add exports

* fix bindings and improve clone accuracy

* fix tests, fix bindings

* fix fmt

* improve code
2024-09-30 18:34:54 +02:00
stefan-gorules 3e7cdfcde1 feat: intellisense (#244)
* local: fault tolerant parser

* fix tests

* add intellisense

* fix minor issues

* improve support

* fix fmt

* fix

* fix: improve error messages

* improve error handling and ast

* fix lint

* fix tests

* exclude zen-nodejs from rust tests
2024-09-23 09:23:48 +02:00
stefan-gorules a903982e17 fix: empty object (#241) 2024-09-10 15:48:56 +02:00
stefan-gorules c9d1e9cc32 feat: object support (#226)
* feat: object support

* add object tests

* fix fmt

* fix: fmt
2024-08-08 10:39:32 +02:00
stefan-gorules 7cb676d36a feat: template string (#225)
* feat: template string

* add tests

* fix cargo fmt
2024-08-07 09:50:49 +02:00
stefan-gorules e452df33e9 feat: implement new functions - part 1 (#205)
* feat: implement new functions - part 1

* add enumiter to BuiltInFunction

* fix ci

* remove centos test

* fix workflow
2024-07-04 16:39:58 +02:00
Brian ThorneandBrian Thorne 59371349c3 test: add a few basic tests around numerics (#192)
Co-authored-by: Brian Thorne <brian@partly.com>
2024-06-28 13:52:40 +02:00
stefan-gorules 6271d8ab1a feat: expression chain (#166)
* feat: expression chain

* fix implementation

* fix

* implement env update on expression execution

* fix error handling for serde

* rebase

* update deps

* add $ prefix for expression reference
2024-05-24 14:46:57 +02:00
stefan-gorules 7ce6ceb9e4 feat: fuzzy match (#168) 2024-05-23 12:00:58 +02:00
Ivan Miletic ae68b4a0dd feat: keys function (#135)
* feat: keys function
2024-03-25 16:30:59 +01:00
stefan-gorules 5f423b7910 feat: zen expression rewrite (#107)
* temp: zen-expression rewrite

* rewrite standard parser

* stabilise parser, upgrade dependencies

* implement unary parser

* align builtin behavior

* fix tests and minor bugs

* refactor exports, update docs

* fix expression repl

* cleanup

* cleanup vm

* replace expression with expression-rewrite

* update d.ts file

* fix failing test
2023-12-12 08:50:25 +01:00
stefan-gorules 807537ad77 feat: is numeric function; (#95) 2023-10-13 17:10:42 +02:00
stefan-gorules 7b36527dc7 feat: type conversions; (#94) 2023-10-13 11:23:08 +02:00
stefan-gorules 615d554215 fix: string slices; remove int variable type; (#92) 2023-10-04 08:41:24 +02:00
stefan-gorules 78d8d2632a feat: date functions; (#91)
* feat: date functions;

* add tests
2023-09-21 16:19:43 +02:00
stefan-gorules 7b17575a66 fix: negative value checks (#89)
* fix: negative value checks;

* offset unary fix;

* disable unary csv test;
2023-09-19 11:23:31 +02:00
stefan-gorules 7283047f49 fix: remove missing date fns; (#71) 2023-08-14 01:00:19 +02:00
stefan-gorules e4b2691a06 feat: standardise operators; (#65) 2023-07-28 11:02:25 +02:00
stefan-gorules 404e91dc59 fix: dual arity argument parsing; (#55) 2023-07-18 18:58:04 +03:00
stefan-gorules 0212fe1a0f feat: additional math functions; (#51) 2023-07-02 19:44:26 +02:00
stefan-gorules fe7ba6996d feat: add regular expression functions; (#52)
* feat: add regular expression functions;

* add cargo.toml regex

* fix cargo fmt
2023-07-02 19:42:58 +02:00
stefan-gorules 9caac0c812 fix: expression date range; (#49)
* fix: expression date range;

* restore tests; update v8;

* perf: add precomputation for interval; add standard tests;
2023-07-01 16:59:09 +02:00
Ivan Miletic bd419e6e49 feat: time function (#31)
* feat: time function

* feat: add time formats

* feat: add time formats extended

* fix: test cases
2023-05-02 11:13:48 +02:00
stefan-gorules 1e883cb810 fix: unary reference in string; (#27) 2023-04-26 22:26:14 +02:00
stefan-gorules da231804f7 feat: add flatten and flat map functions; (#26) 2023-04-26 19:43:35 +02:00
stefan-gorules 9f06d96bac refactor: remove exec result; (#25) 2023-04-25 21:13:18 +02:00
stefan-gorules ed64b00edb fix: nested expression scopes; (#23) 2023-04-24 20:59:43 +02:00
Ivan Miletic 062ee5df90 feat: crates restructure (#22) 2023-04-24 20:28:27 +02:00