@andrew-coleman andrew-coleman released this May 24, 2018 · 41 commits to master since this release

Assets 2
  • Fully test and fix bugs in async mode (PR #219)
  • Publish Typescript definition file (issue #182)
  • Numeric precision should be 15 decimal digits, not 13 (issue 194)
  • Defining functions for use with $match etc. (issue #213)
  • Fix regression in $substring for negative start position & length (issue #204)
  • Fix for 'sort' syntax error (issue #210)
  • Various code optimizations (issues #184, #205, #164)
  • Add support for node 10.x (PR #228)

@andrew-coleman andrew-coleman released this Mar 28, 2018 · 56 commits to master since this release

Assets 2
  • $formatNumber should use zero-digit character for padding (issue #161)
  • Handle undefined inputs in $formatNumber (issue #165)
  • Handle surrogate pairs as single char in string functions (issue #156)
  • Throw error if multiple group-by expressions evaluate to same key (issue #163)

@andrew-coleman andrew-coleman released this Feb 16, 2018 · 63 commits to master since this release

Assets 2
  • Enforce consistent syntax error when attempting to use unquoted numeric property names (issue #147)
  • Invalid token on LHS of binding operator is now a syntax error rather than dynamic (runtime) error (issue #148)
  • Fix corruption of predicated function calls within lambda functions (PR 149)

@andrew-coleman andrew-coleman released this Feb 5, 2018 · 68 commits to master since this release

Assets 2
  • Update $toMillis() to allow more complete range of ISO 8601 compatible dates (issue #140)
  • Fix $append() so that it doesn't mutate the first argument (issue #139)

@andrew-coleman andrew-coleman released this Jan 22, 2018 · 72 commits to master since this release

Assets 2
  • Restructured the entire test suite to be implementation language agnostic (PR #122)
  • Provide es5 as main entry point, es6 as module entry point (PR #106)
  • Added Typescript definitions to package (PR #114)
  • Changes to how 'singleton sequences' are handled (issue #93)
  • Unary negation of undefined (no match) should return undefined (issue #99)

@andrew-coleman andrew-coleman released this Nov 14, 2017 · 90 commits to master since this release

Assets 2
  • Object transformation syntax should work with arrays of objects as well as objects (issue #94)

@andrew-coleman andrew-coleman released this Nov 8, 2017 · 92 commits to master since this release

Assets 2
  • New object transformation syntax ~> |...|...| (issue #70)
  • New functions
    • $formatNumber - formats a decimal number to a string using a picture specification defined in XPath F&O spec (issue #54)
    • $formatBase - converts a number to a string in a specified radix
    • $pad - pads a string to a minimum width with leading or trailing padding characters
    • $toMillis - converts an ISO 8601 formatted date/time string to number of milliseconds since the epoch (issue #55)
    • $fromMillis - converts the number of milliseconds since the epoch to an ISO 8601 formatted date/time string (issue #55)
    • $clone - returns a deep copy of an object - used internally by the object transform syntax; overridable by custom implementation. Do not use directly in expressions. (issue #70)

@andrew-coleman andrew-coleman released this Oct 30, 2017 · 94 commits to master since this release

Assets 2
  • $lookup() function throws an error when the property has a null value (issue #85)

@andrew-coleman andrew-coleman released this Oct 30, 2017 · 96 commits to master since this release

Assets 2
  • Support extension functions that mix sync/async behaviours (issue #77)

@andrew-coleman andrew-coleman released this Sep 19, 2017 · 101 commits to master since this release

Assets 2
  • Fix S0202 error insert to report token value, not token type (PR #74)
  • Remove use of array iterators because they were failing to transpile to ES5 correctly (issue #78)