-
Notifications
You must be signed in to change notification settings - Fork 13
Implement the rest of CEL #62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
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