All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Export query/scan/parallelScan iterator and paginator classes.
- Sort key configurations in
CreateTableInput
so that hash keys always appear first.
- Remove package rollup at
./build/index.mjs
due to bundler incompatibilities.
- Add a package rollup at
./build/index.mjs
to support tree shaking.
- Update
query
andscan
to serialize whatever key properties are provided without injecting any defaulted values. - Update
DataMapper
for TypeScript 2.9 compatibility.
- Use purpose-built async iterable objects as the return value for
query
,scan
, andparallelScan
. - Report the
count
,scannedCount
, andconsumedCapacity
tallied over the lifetime of aquery
,scan
, orparallelScan
as properties on the returned iterable. - Provide a method to get the underlying paginator for a
query
,scan
, orparallelScan
iterator. The paginator may be used to suspend and resume iteration at any page boundary. - Add
limit
parameter toscan
andquery
to automatically cease iteration once a certain number of items have been returned or the results have been exhausted, whichever comes first.
- Add default message to
ItemNotFoundException
- Ensure options provided are used when
query
is called with a named parameter bag.
- Add support for executing custom update expressions.
- Ensure
query
andscan
marshall exclusive start keys for the specified index.
- Ensure
query
returns instances of the provided model class.
- Add
createTable
to create tables based on table names and schemas bound to constructor prototypes - Add
ensureTableExists
to create a table only if it does not already exist - Add
deleteTable
to delete tables based on table names bound to constructor prototypes - Add
ensureTableNotExists
to delete a table only if it is not already deleted
- Only include expression name or value substitions when a substitution has occurred
- Ensure retried writes in a
batchDelete
,batchPut
, orbatchWrite
are only yielded once
- Add
batchGet
, which allows a synchronous or asynchronous iterable of items (like those supplied toget
) to be automatically grouped intoBatchGetItem
operations. - Add
batchDelete
, which allows a synchronous or asynchronous iterable of items (like those supplied todelete
) to be automatically grouped intoBatchWriteItem
operations. - Add
batchPut
, which allows a synchronous or asynchronous iterable of items (like those supplied toput
) to be automatically grouped intoBatchWriteItem
operations. - Add
batchWrite
, which allows a synchronous or asynchronous iterable of tuples of tags ('put'
or'delete'
) and items (like those supplied to theput
ordelete
methods, respectively) to be automatically grouped intoBatchWriteItem
operations.
- Add the ability to call all DataMapper methods with positional rather than named parameters
- Add API documentation
- Deprecate calling DataMapper methods with a single bag of named parameters
- BREAKING CHANGE: Removed the
returnValues
parameter fromput
.put
will now always return the value that was persisted, thereby providing access to injected defaults and accurate version numbers.
- Add a
parallelScan
method to the DataMapper. - Add optional parameters to the
scan
method to allow its use as a parallel scan worker - Add a
pageSize
parameter toquery
andscan
to limit the size of pages fetched during a read.pageSize
was previously calledlimit
.
- Use TSLib instead of having TypeScript generate helpers to reduce bundle size
- Deprecate
limit
parameter onquery
andscan
. It has been renamed topageSize
, though a value provided forlimit
will still be used if nopageSize
parameter is provided.
- Update dependency version to match released version identifier
Initial release