1
0
mirror of https://github.com/MontFerret/ferret.git synced 2025-08-15 20:02:56 +02:00

207 Commits

Author SHA1 Message Date
Tim Voronov
57390fc901 Refactor error handling and token tracking: replace direct access of TokenHistory with TokenNode, introduce TokenNode struct, enhance TrackingTokenStream to improve token management, update error handling logic to leverage TokenNode traversal, and refine error messaging for syntax errors. 2025-07-30 22:07:03 -04:00
Tim Voronov
0ee8e0fcf6 Remove fql_lexer.go: delete unused generated lexer code from the parser package. 2025-07-26 21:58:20 -04:00
Tim Voronov
5185abd714 Refactor LoopCollectCompiler: replace CollectorSpec with Collector, improve grouping and aggregation handling, update emitter methods, standardize key loading logic, streamline function naming and argument handling, add Count function to collections, and enhance code comments for readability. 2025-07-26 14:55:53 -04:00
Tim Voronov
2248f42c3e Refactor namespaces and standard library integration: remove NamespaceContainer from compiler, migrate namespace logic to runtime, replace WithFunctions with new standard library helpers in tests, and improve error handling in function registration. 2025-07-07 18:03:19 -04:00
Tim Voronov
17a0778331 Refactor FOR and WHILE loop compilation to introduce labeled jumps, add LoopKind distinction for ForIn and ForWhile loops, and improve loop operation consistency. Update integration and bytecode tests with new helper functions and scenarios. 2025-07-02 12:35:40 -04:00
Tim Voronov
223c28aa6b Remove outdated compiler benchmarks, refactor function registration in namespace, and migrate math stdlib functions to simplified argument handling. Add new benchmarks for function calls and sorting scenarios. 2025-06-30 17:02:09 -04:00
Tim Voronov
e09f981560 Refactor loop and dataset handling; introduce Patchx method for emitter, add FindParent to loop table, and update DISTINCT logic with nested loop support. Expand integration tests for DISTINCT scenarios. 2025-06-28 14:29:53 -04:00
Tim Voronov
7dbcc24e04 Add COUNT_DISTINCT function to stdlib collections, update related integration tests, and refactor min/max calculation methods for clarity and consistency. 2025-06-27 14:42:47 -04:00
Tim Voronov
54c036e9c8 Remove unused HTML element attribute manipulation functionality, including attribute getters, setters, and related utility code, across drivers and stdlib. 2025-06-25 20:48:48 -04:00
Tim Voronov
294f04d814 Fixed sorting 2025-05-25 21:22:00 -04:00
Tim Voronov
4f3d25bbcd Refactored sorting 2025-05-08 16:21:30 -04:00
Tim Voronov
69fa23d1b3 Wip 2025-05-08 12:28:57 -04:00
Tim Voronov
c9bccd14e9 Updated imports in stdlib.array 2025-05-07 21:15:52 -04:00
Tim Voronov
4460be9b0a Updated imports in stdlib.testing 2025-05-07 17:26:37 -04:00
Tim Voronov
c52f6680fd Converted math and strings stdlibs 2025-05-06 23:13:21 -04:00
Tim Voronov
96a45b90e8 Added compatibility layer 2025-05-06 11:48:10 -04:00
Tim Voronov
59c67a7f4c Refactored type system 2025-04-08 16:31:14 -04:00
Tim Voronov
1040e000e6 refactoring helpers 2025-03-17 14:46:31 -04:00
Tim Voronov
95fa0d09ad refactoring runtime internal type system 2025-03-11 20:35:49 -04:00
Tim Voronov
866fb9dfca Implemented for-loop limit 2024-11-08 13:10:46 -05:00
Tim Voronov
fb4d383a21 Fixes 2024-11-06 11:29:48 -05:00
Tim Voronov
72d8863a4d FOR LOOP impl 2024-11-01 17:28:02 -04:00
Tim Voronov
edbd3e21f4 Implemented function invocation 2024-10-30 17:20:53 -04:00
Tim Voronov
b4b29197ea Refactored type system 2023-11-20 11:36:05 -05:00
June Hester
99e256eaf2 Add to_binary function (#775)
* Add to_binary function

* Move test to correct package

* Rename unused context parameter

* Run make fmt
2023-03-27 17:05:01 -04:00
Tim Voronov
d201b50c20 Updated dependencies (#769)
* Updated dependencies

* Dropped pre-generics versions of Go

* Updated ANTRL

* Added staticcheck and goimports tools

* Updated build steps

* Fixed unit tests for http funcs
2023-02-07 12:58:43 -05:00
Tim Voronov
be360b4eb4 Added auto-marshalling to http functions 2022-07-30 15:12:48 -04:00
Tim Voronov
b0377c1bcc Added support of parsing DateTime with a custom layout (#721)
* Added support of parsing DateTime with a custom layout
2022-01-02 23:40:42 -05:00
Tim Voronov
847dda1f10 Feature/pre compiled eval scripts (#658)
* Added support of pre-compiled eval expressions

* Added unit tests for eval.Function

* Added RemoteType and RemoteObjectType enums

* Refactored function generation

* Refactored Document and Element loading logic

* Removed redundant fields from cdp.Page

* Exposed eval.Runtime to external callers

* Added new eval.RemoteValue interface
2021-09-19 19:35:54 -04:00
Tim Voronov
90427cd537 Feature/new selector type (#657)
* Added remote type reference resolver

* Added support of XPath query selector

* Added CDP e2e testss covering XPath integration

* Added additional CDP e2e tests covering XPath integration

* Added type check to QuerySelector casting function

* Fixed XPath e2e tests

* Fixed vuln issue

* Added support of XPath selectors to http driver

* Added e2e tests for XPAth
2021-09-16 21:40:20 -04:00
Tim Voronov
e4e98830a0 Feature/eval template (#651)
* Refactored use of eval

* Disable unstable unit test
2021-09-07 16:33:30 -04:00
Tim Voronov
e6dd5689b4 Bugfix/e2e tests (#648)
* Fixed logger level

* Fixed WAITFOR EVENT parser

* Added tracing to Network Manager

* Updated logging

* Swtitched to value type of logger

* Added tracing

* Increased websocket maximum buffer size

* Ignore unimportant error message

* Added support of new CDP API for layouts

* Switched to value type of logger

* Added log level

* Fixed early context cancellation

* Updated example of 'click' action

* Switched to val for elements lookup

* Fixed unit tests

* Refactored 'eval' module

* Fixed SetStyle eval expression

* Fixed style deletion

* Updated logic of setting multiple styles
2021-09-02 11:09:48 -04:00
Tim Voronov
5119d62838 Feature/#478 keyboard events (#618)
* Added support of pressin special keys

* Linting
2021-04-23 10:42:31 -04:00
Roman
08e9054ba4 setting Input charset (#609)
* feat(driver): add Charset param

* feat(driver): add convert to UTF8 by input charset
2021-04-08 18:35:29 -04:00
Tim Voronov
3ddd9b82a8 Bugfix/#597 headers panic (#602)
* Remodeled HTTPHeaders

* Remodeled HTTPCookies

* Fixed cookie.Expires

* Update documentation
2021-03-27 12:47:13 -04:00
Tim Voronov
d55bce325c Bugfix/#597 headers panic (#598)
* Remodeled HTTPHeaders

* Remodeled HTTPCookies
2021-03-26 12:01:00 -04:00
Tim Voronov
2f5954eca3 Added docs about statusCodes 2021-03-06 01:25:37 -05:00
Tim Voronov
b3118ca983 Added DOCUMENT_EXISTS function (#594)
* Added DOCUMENT_EXISTS function

* Added addition unit tests
2021-03-05 12:25:07 -05:00
Tim Voronov
6295919806 #593 handling non-200 status codes 2021-03-05 08:08:28 -05:00
Tim Voronov
79566c3b76 Added support of ignoring page resources (#592)
* Added support of ignoring page resources

* Updatd pipeline scripts

* Updated comments
2021-02-19 11:40:30 -05:00
Tim Voronov
f4876c05a3 Added LIKE operator (#591)
* Added LIKE operator
2021-02-15 11:37:52 -05:00
Tim Voronov
cd1b1cf5c7 Minor updates to #578 2021-01-19 15:23:32 -05:00
Tim Voronov
2baac62d1e Bugfix/#559 html escaping (#573)
Added jettison for json encoding
2020-11-23 20:12:04 -05:00
Tim Voronov
7eed93721c Added support of computed styles (#570)
* Added support of computed styles

* Updated style updates

* Fixed linter issues

* Updated styles manipulation in static driver

* Updated e2e tests

* Updated methods

* Updated e2e tests

* Updated README
2020-11-20 20:09:21 -05:00
Tim Voronov
bd07b84736 Feature/#262 while loop (#567)
* Added new syntax and iterator

* Added FOR-WHILE loop

* Added 'FOR-DO-WHILE loop'
2020-11-10 19:16:22 -05:00
Pierre Brisorgueil
c0f8421eaf fix(html): WAIT_NAVIGATION doc 🐛 (#557) 2020-10-02 11:21:39 -04:00
Tim Voronov
414c16db09 Fixed unit test 2020-09-14 22:40:34 -04:00
Tim Voronov
63efc6721e Updated changelog 2020-09-14 22:25:32 -04:00
Paul
3187f54bf5 fix SCREENSHOT() param type check (#545) 2020-08-11 10:27:01 -04:00
Tim Voronov
d3c28a43ff Added possibility to use any type as a file content (#544) 2020-08-07 22:09:02 -04:00