All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to Semantic Versioning.
- Update dependencies [Pagan Gazzard]
- Avoid setting
property
/count
/options
for expands when not provided [Pagan Gazzard] - Avoid setting nested
property
forPropertyPath
when not provided [Pagan Gazzard]
- Use bind vars for $top and $skip options [Pagan Gazzard]
- Fix type checking of the declaration file [Pagan Gazzard]
- Update dependency husky to v9 [Self-hosted Renovate Bot]
- Update dependency peggy to v4 [Self-hosted Renovate Bot]
- Update dependency lint-staged to v15 [Self-hosted Renovate Bot]
- Update dependency @balena/lint to v8 [Self-hosted Renovate Bot]
- Optimize by moving constant values into global init [fisehara]
- Update dependencies [fisehara]
- Allow running CI on external PRs [Pagan Gazzard]
- Use optional chaining operator [Pagan Gazzard]
- Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard]
- Update to peggy 3 and make us of the repetition operator [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Use const/let as appropriate [Pagan Gazzard]
- Use shorthand object notation [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Test that
/$count
works with a$filter
containing an 'and' [Thodoris Greasidis]
- Switch from balenaCI to flowzone [Pagan Gazzard]
- Add support for
/$count
with nested$filter
in $orderby & $orderby [Thodoris Greasidis]
- Add source map [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Remove circleci [Pagan Gazzard]
- Remove some typescript strict mode exceptions [Pagan Gazzard]
- Convert tests to type checked javascript [Pagan Gazzard]
- Switch to peggy for compiling the grammar [Pagan Gazzard]
- Delete CODEOWNERS [Thodoris Greasidis]
- Ensure boundaries on keywords to fix parsing of eg
note eq 'foobar'
[Pagan Gazzard]
- Optimize
QuotedText
for the common case of few/no apostrophes [Pagan Gazzard]
- Optimize number parsing [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Add support for metadata argument in $format [Pagan Gazzard]
- Add support for specifying named keys [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Rename to @balena/odata-parser [Pagan Gazzard]
- Update to @balena/lint 5.x [Pagan Gazzard]
- Drop support for nodejs 8 [Pagan Gazzard]
- CI: Add nodejs 14 to the test matrix [Pagan Gazzard]
- CI: Remove circleci publishing in favor of balenaCI [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- ✨: Add support for canAccess method call on resource [Andreas Fitzek]
- Add CODEOWNERS [Pagan Gazzard]
- Add support for
/$count
in filters [Pagan Gazzard]
- Optimise merging of operands in
FilterByExpressionLoop
[Pagan Gazzard]
- Accept
+
in place of%20
as some tools encode spaces that way [Pagan Gazzard]
- Accept trailing
?
with no query parameters [Pagan Gazzard]
- Support
;
for separating expand options [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Add typings [Pagan Gazzard]
- Fix adding parameter alias to the options object [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Update README npm badge and change github links to balena-io-modules [Lucian]
- Drop node 4 support [Pagan Gazzard]
- Use a prepare script instead of committing compiled files [Pagan Gazzard]
- Convert to pegjs [Pagan Gazzard]
- Correctly fail on empty options that are invalid [Pagan Gazzard]
- Fix
in
for text literals. #25 [Pagan Gazzard]
- Add support for the
in
operator. #24 [Pagan Gazzard]
- Add support for parameter aliases of literal values. #22 [Pagan Gazzard]
- Fix tests indentations. #23 [Pagan Gazzard]
- Check lhs is an array before trying to merge matching operators, fixes cases where the lhs is "null", eg "null eq Foo" #21 [Pagan Gazzard]
- Switch to using a precedence climbing method for handling precedence, it offers much better performance and also makes the precedence ordering clearer. #16 [Pagan Gazzard]
- Remove redundant section from
FilterNegateExpression
which is already covered byFilterByValue
->GroupedPrecedenceExpression
#17 [Pagan Gazzard]
- Use the compiled odata-parser for tests rather than compiling on the fly. #18 [Pagan Gazzard]
- Optimise
Boolean
#19 [Pagan Gazzard]
- Optimise
QueryOption
/ExpandPathOption
#20 [Pagan Gazzard]
- Optimise
ResourceName
further. #15 [Pagan Gazzard] - Optimise
FilterByValue
by checking the more common options first where possible. #15 [Pagan Gazzard] - Optimise
ExpandPathOption
andQueryOption
by checking the more common options first. #15 [Pagan Gazzard] - Optimise
spaces
#15 [Pagan Gazzard] - Optimise
ResourceName
. #15 [Pagan Gazzard] - Optimise
ODataParser.space
#15 [Pagan Gazzard]
- Update dependencies #14 [Pagan Gazzard]
- Inline
Apostrophe
intoReservedUriComponent
. #13 [Pagan Gazzard]
- Optimise the
FilterMethodCallExpr
. #12 [Pagan Gazzard]
- Optimise the custom
space
rule. It is a very hot rule and gains significant benefits from this. #11 [Pagan Gazzard]
- Add node 10 to the circleci tests #10 [Pagan Gazzard]
- Move circle.yml to .circleci/config.yml #10 [Pagan Gazzard]
- Refactor
ReservedUriComponent
to improve performance of the generated code #9 [Pagan Gazzard]
- Fix parsing of reserved options if the $ is quoted #8 [Pagan Gazzard]
- Set up circleci auto-publishing #7 [Pagan Gazzard]
- Added versionist #6 [Giovanni Garufi]
- Added
ExternalKeyBind
- Added batch support
- Return the odata tree and bindings separately, so that is is possible to easily reuse trees even when bindings change.
- Added the ability to process only a given rule, making sure the rule is successful.
- Added support for /$count
- Added support for ?$count=(true|false)
- Fixed duration literals to follow the OData spec.
- Added support for negative numbers.
- Added support for duration literals.
- Added all OData 4 functions.
- Added a boolean property filter test.
- Allowed a lambda alias to be any valid resource name and to be only a valid resource name, rather than any single character.
- Updated ometa-js
- Added tests for grandchild lambdas.
- Allow
test.only
/test.skip
to work with expand tests. - Fix nested expand tests not actually testing nested expands.
- Added support for brackets (and a bunch of other chars), as well as '', in quoted text.
- Switched to being a scoped package.
- Added support for options in a $expand (eg
/a?$expand=b($filter=c eq 'd')
)