Updates in to the latest spec changes #63
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This updates a number of things to deal with changes in the CQL2 spec. Most of these changes came in opengeospatial/ogcapi-features#831
Breaking changes include:
Previously, all "user defined" functions were in an object like this
{"function": {"name": "custom"}}
. Now, these are collapsed into the existing built-in "op" expressions. So{"op": "custom", args: []}
is the equivalent (args are required).Previously, case insensitive and accent insensitive expressions were in
{"casei": "Foo"}
and{"accenti": "bǎr"}
type expressions. Now these are collapsed into the existing built-in "op" expressions. So{"op": "casei", "args": ["Foo"]}
and{"op": "accenti", "args": ["bǎr"]}
.Another change here is that interval arrays are string literals instead of date/timestamp objects. This was either my misreading the spec previously or another change.
I've added validation for all JSON output using the latest CQL2 JSON Schema.
This should be more stable now since voting on the spec is underway.
Fixes #62.