Implement the rest of CEL#62
Conversation
- Merged optional chaining and quoted identifier support with existing collection macros - Combined CST definitions from both branches - Integrated parser changes for better identifier handling - Resolved visitor conflicts while preserving all functionality
|
Whoa, what a wonderful PR! |
- Merged optional chaining and quoted identifier support - Kept collection macros functionality - Resolved conflicts in cst-definitions.d.ts, parser.ts, and visitor.ts
|
Please take care of these issues so I can proceed with the review: 1. Eslint IssuesThere are 575 eslint problems (538 errors, 37 warnings). While not all of them are significant, a large portion is, such as: const result: any = {}
// can be
const result: Record<string, unknown> = {}
// no IF statements in the tests, etc.
// no unused variables2. Code FormattingPlease run prettier on all the files to ensure they align with the repository conventions. 3. CommentsPlease address the comments I left. Also the |
|
Hey i just saw this PR, I was about to open a few issues without knowing this exists. @Flaque are you still working on this? I also need this in my project and would like to know the progress and if you need some help. |
|
@SksOp I think there is no progress on it. You can fix the issue I listed above. Happy to merge it once it's resolved |
Overview
This PR adds support for the rest of CEL.
We @ sfcompute.com are interested in using CEL for ourselves, but would like a reasonable typescript implementation to exist.
So this PR hooks up the conformance tests from the CEL spec into a test framework, and then iteratively makes all of them pass.
It adds functionally every missing feature and resolves a lot of the edge cases from the existing implementation.
Apologies for the large PR!
Checklist before requesting a review