Skip to content

Releases: conorbrandon/ts-dynamodb

v1.2.1

11 Jun 22:25
Compare
Choose a tag to compare
  • allow a single Table/IndexName union member to extract keys, types, etc... instead of requiring the entire union
  • tail recursion optimizations to common types

v1.2.0

29 May 16:17
Compare
Choose a tag to compare
  • refactor ProjectionExpression type
  • allow union Items to put
  • filter symbol keys and stringify number keys in GetAllKeys
  • remove built in Limit: 1 on queryItem* methods

v1.1.0

23 Apr 19:06
Compare
Choose a tag to compare
  • Add query*Key[PE] methods. These are more convenience methods that automatically create an ANDed KeyConditionExpression based on the fields in a provided Key
  • Smarter detection of accessing out of bounds tuple indices. Previously, if any index was invalid, the tuple would become never. Now, invalid indices are ignored, except in the case that only an invalid index was accessed, the tuple will be undefined instead.
  • Auto generated ExpressionAttributes are checked for user-defined usage before using. If an attribute with that name is already being used, a new name is chosen (by incrementing the number)
  • Better support for any/unknown
  • Record index signatures support for PEs and UEs. Behavior is based on your preferred noUncheckedIndexAccess tsconfig setting. Read more here
  • updateSimpleSET did not correctly use the most specific Attributes type when using ReturnType = “UPDATED_NEW/OLD”. Now it will restrict Attributes to only the properties provided in the Item. (This comes with the drawback that the error when invalid, TS won't error on the Item property, but instead complains that a "dummy" error property is missing from the params. This limitation is (I believe) required to work around gotchas with the new const type parameter keyword, especially as it relates to tuples requiring the readonly modifier, as detailed on the PR.)
  • When putting or updating non-discriminated object unions, multiple union constituents can be satisfied at once, as long as each contains all the properties required for that constituent. This is actually stricter than TS’s built in excess property checking. Previously, only one union constituent could be satisfied at a time. This was due to a distributive conditional type splitting each constituent into it’s own “branch” to perform excess property checking and reporting the results separately