Skip to content

Releases: adamhl8/filterql

3.0.2

11 Sep 16:34
v3.0.2
61d01f0
Compare
Choose a tag to compare

Patch Changes

  • Include TypeScript declaration maps in package

3.0.1

28 Aug 23:15
v3.0.1
e2f825c
Compare
Choose a tag to compare

Patch Changes

  • Moved the handling of empty queries to the parser
    • This fixes the case where an error is thrown if the FilterQL.parse method is called with an empty query

3.0.0

28 Aug 18:24
v3.0.0
45134d3
Compare
Choose a tag to compare

Breaking Changes

  • To make the FilterQL API more flexible and clear, the filter method had been renamed to query
    • Change any calls of the filter method to query

Minor Changes

  • Added the parse, applyFilter, and applyOperations methods to the FilterQL class
    • These may be useful in cases where you want to filter and apply operations separately

Patch Changes

  • Added a more explicit check for non-comparable data values to handle some rare cases where a comparison would match when it shouldn't have

2.0.2

26 Aug 18:15
v2.0.2
c6dd018
Compare
Choose a tag to compare
  • Fixed and improved handling of attached operators ((, ), !) on fields and values

2.0.1

24 Aug 20:32
v2.0.1
baf2a8f
Compare
Choose a tag to compare

Breaking Changes

  • Queries are now whitespace-delimited. Previously, a query like title==Matrix was valid. Now it must be title == Matrix.
    • As a result, there are no longer restrictions on what characters can be used in fields or values (values containing whitespace must still be quoted).
  • The FilterQL constructor now takes in one FilterQLArguments argument. Instead of new FilterQL(schema, options?), use new FilterQL({ schema, options?, customOperations? }).

New Features

  • Queries can now contain operations, which can be used to transform the data after filtering.
  • The * character can be used in place of a comparison to match all entries.

1.3.1

17 Aug 23:01
v1.3.1
5b0f99a
Compare
Choose a tag to compare
  • Adjusted when VALUE tokens are detected during lexing (extremely minor performance improvement)

1.3.0

17 Aug 04:34
v1.3.0
7370803
Compare
Choose a tag to compare
  • Added explicit checks for ambiguous syntax in queries using case-insensitive comparisons
    • Now case-insensitive operators must be preceded by whitespace or an error will be thrown
    • For example: say you have a query like ends-in-i==value. Is this ends-in-i == value or ends-in- i== value?

1.2.0

16 Aug 03:13
v1.2.0
4f52adc
Compare
Choose a tag to compare
  • Removed 1, yes, y, 0, no, n as valid boolean values
  • Renamed the ignoreUnknownFields option to allowUnknownFields
    • When true, instead of always matching, the value is compared as normal
  • Added proper handling for some edge cases related to undefined/null comparisons

1.1.1

15 Aug 21:45
v1.1.1
d088284
Compare
Choose a tag to compare
  • Fixed type exports

1.1.0

15 Aug 17:37
v1.1.0
4f7ef5f
Compare
Choose a tag to compare
  • Added optional options object to the FilterQL constructor
    • Added ignoreUnknownFields option
  • Added \ to the list of reserved characters
  • Improved comparison operator validation
  • Added better error types