Commit Graph
63 Commits
Author SHA1 Message Date
Stefan 590f32d3de fix: normalize number during serialization 2025-06-02 14:19:37 +02:00
stefan-gorules 173d7bcb79 feat: improve stack resiliency (#357) 2025-05-27 17:46:00 +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 71b949b1e1 fix: number fn type (#354) 2025-05-23 11:18:23 +02:00
stefan-gorules 157859ca37 fix: lossy exponent fallback (#352) 2025-05-21 11:46:44 +02:00
stefan-gorules e09f2ede5e fix: date method signature (#351) 2025-05-20 00:36:07 +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 f81d1188f6 fix: correctly throw an error when closed bracket is missing in function call (#337) 2025-04-24 11:59:38 +02:00
stefan-gorules d7624311f6 fix: py validate methods (#316)
* fix: py validate methods

* fix
2025-02-15 21:46:55 +01:00
Jake Potrebic 94e1da239a feat: add validation methods to python bindings (#305)
* add validation methods to python bindings

* centralize validation logic

* rename functions

* format
2025-02-15 20:41:18 +01: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 92879f9c05 feat: bump rquickjs, fix loop cache for decisionTable (#274)
* fix: loop cache

* update rquickjs

* bump version
2024-11-19 13:38:17 +01:00
stefan-gorulesandIvan Miletic 47812143a0 feat: passthrough nodes (#261)
* feat: passthrough nodes

* update bindings

* update model

* update exclusion

* fix merge strategy

* fix

* fix merge

* add tests

* fix walk

* fix merge

* fix

* fix: add tests

* fix types

---------

Co-authored-by: Ivan Miletic <vnmiletic@gmail.com>
2024-10-23 15:59:31 +02:00
stefan-gorules 5a37ef319d fix: improve type errors (#259) 2024-10-13 21:08:57 +02:00
stefan-gorules 7b861d0642 feat: deserialize variable type (#256) 2024-10-10 11:20:51 +02:00
stefan-gorules ec6004a6d4 fix: double borrow (#252) 2024-10-04 22:53:49 +02:00
stefan-gorules 9d0ef4060b fix: add operator typecheck (#250) 2024-10-04 14:39:47 +02:00
stefan-gorules 6c85cbc04d fix: number serde (#248) 2024-10-01 09:51:41 +02:00
stefan-gorules 9a873675db fix: number serialization (#247)
* fix: number serialization

* simplify

* fix

* fix

* fix format
2024-09-30 19:57:53 +02: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 9fba1ff7be fix: date fn type (#245) 2024-09-23 10:23:30 +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 719d43a26d feat: upgrade dependencies (#240) 2024-09-10 15:48:39 +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
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
stefan-gorules daecf901e6 feat: custom node (#138)
* feat: custom node

* add zen template, expose $nodes and $root

* add custom handler to go and nodejs

* add support for python, improve bindings, add error to zen template

* fix: correct binding exports for nodejs and python

* fix benchmark

* improve rust api, trim template in zen templates

* update cargo action

* update expression version

* compile action

* fix action format
2024-04-03 16:09:51 +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 16a16c16e3 refactor: update lexer match; remove interval from variable in favor of symbol Object; (#93) 2023-10-06 16:40:35 +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 1b0ff9f6f1 feat: expose expressions through bindings; (#86)
* feat: expose expressions through bindings;

* fix fmt
2023-09-14 16:07:55 +02:00
stefan-gorules 19d529ff89 feat: optional lite regex (#84)
* feat: lite regex

* remove feature flag;

* release under feature
2023-09-13 22:09:49 +02:00
stefan-gorules a03978fbe7 feat: add bigjs to function node; (#77)
* feat: add bigjs to function node;

* fix test

* fix tests

* fix fmt
2023-08-28 17:21: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