All notable changes to this project will be documented in this file. This project does its best to adhere to Semantic Versioning.
0.15.0 - 2022-02-21
- Update
lokijs-collections
dependency from0.31.*
to0.32.*
0.14.0 - 2022-01-02
- Update to TypeScript 4.4
0.13.0 - 2021-11-15
SyncDataCollection.syncUpAndUpdateCollection()
only skips calling back thesyncAction
if there are no items to sync AND the collection is NOT dirty
0.12.0 - 2020-10-01
- Update
lokijs-collections
dependency from0.29.*
to0.30.*
0.11.2 - 2021-08-30
- Fix an issue with this package being used by a project that does not have tsconfig 'strict' enabled
0.11.1 - 2021-08-06
- Export all
SyncSettingsBuilder
interfaces
0.11.0 - 2021-06-12
- Update to TypeScript 4.3
0.10.0 - 2021-03-16
- Update dependencies for
Q
removal
0.9.1 - 2020-12-11
- Improve
SyncDataCollection.syncUpAndUpdateCollection()
type signature to support either nullprimaryKey
or nullprimaryKeys
but not both
0.9.0 - 2020-09-05
- Update to TypeScript 4.0
0.8.1 - 2020-08-12
- Update
lokijs-collections
dependency from github URL to new npm version number
0.8.0 - 2019-11-09
- Renamed interfaces:
SyncSettingsWithUp
->SyncSettingsUp
SyncSettingsWithDown
->SyncSettingsDown
SyncSettingsWithUpDown
->SyncSettingsUpDown
- Remove unused
updateLastSyncDate
field fromSyncDownSettingsImpl
- Remove unnecessary
F
generic type fromSyncUpSettings
,SyncDownSettings
,SyncUpSettingsImpl
, andSyncDownSettingsImpl
- Remove unused
P
andR
generic parameters fromSyncDataCollection.createAddUpdateOrRemoveItemsFunc()
0.7.10 - 2019-11-08
- Update to TypeScript 3.7
0.7.9 - 2019-06-18
- Update dependency
lokijs-collections@0.25.1
for persister fixes
0.7.8 - 2019-06-18
- Update to TypeScript 3.5
- Update dependency
lokijs-collections@0.25.0
for major refactor, alpha IndexedDbPersister support, andts-mortar@0.18.0
0.7.7 - 2019-03-21
- Update dependency
lokijs-collections@0.24.7
for@twg2/ts-twg-ast-codegen
path fix
0.7.6 - 2019-03-20
- Switch
ts-promises
dependency from github to npm and tolokijs-collections@0.24.5
0.7.5 - 2019-03-14
- Update dependency
lokijs-collections@0.24.5
forts-mortar@0.16.0
update (fix forStrings.isDigit()
, removal ofObjects.getProps()
andStrings.endsWith()
, and several other changes)
0.7.4 - 2018-12-29
- Update
lokijs-collections
dependency
0.7.3 - 2018-12-29
- Update to TypeScript 3.2
- Update dev and @types/ dependencies
- Update README.md - usage note and clarified examples
- Remove
tsconfig.json lib "dom"
0.7.2 - 2018-11-23
- Update dependency
ts-promises@0.4.4
(PsPromise.then() type improvement) andlokijs-collections@0.24.2
(update to ts-mortar@0.15.9) - Remove dependency
ts-mortar
since it is indirectly available vialokijs-collections
dependency - Simplify some
SyncDataCollection
logic which didn't need to use ts-mortarArrays
- Minor README.md update
0.7.1 - 2018-10-20
- Switch
package.json
github dependencies from tag urls to release tarballs to simplify npm install (doesn't require git to npm install tarballs)
0.7.0 - 2018-10-17
- Update to TypeScript 3.1
- Update dev dependencies and @types
- Enable
tsconfig.json
strict
and fix compile errors - Removed compiled bin tarball in favor of git tags
- Update
primaryKeys
parameters in SyncSettingsBuilder functions from(keyof T) | (keyof T)[]
to(keyof T & string)[]
to simplify and compile without error
0.6.0 - 2018-04-14
- Update to TypeScript 2.8
- Setup dependencies as proper npm node_modules
- Update tsconfig.json with
noImplicitReturns: true
andforceConsistentCasingInFileNames: true
- Added release tarball and npm script
build-package
to package.json referencing external process to generate tarball
0.5.2 - 2018-02-28
- Update to TypeScript 2.7
- Update dependencies: mocha, @types/chai, @types/mocha, @types/node
- Enable tsconfig.json
noImplicitAny
0.5.1 - 2017-11-16
tsconfig.json
setstrictNullChecks
totrue
(incorrect in previous commit). Updated some dependency versions.- Renamed some parameters and local variables
0.5.0 - 2017-11-06
tsconfig.json
addedstrictNullChecks
and updated code to handle nulls- Update dependency
lokijs-collections@0.22.0
(major refactor and 'strictNullChecks')- Renamed
convertToLocalObjectFunc
->toLocalObject
andconvertToSvcObjectFunc
->toSvcObject
- Renamed
0.4.2 - 2017-09-10
tsconfig.json
addednoImplicitThis: true
- Added README example
0.4.1 - 2017-08-05
- Update to TypeScript 2.4
0.4.0 - 2017-05-19
- Updated types to match lokijs-collections@0.19.1
0.3.1 - 2017-05-09
- Updated to TypeScript 2.3, added tsconfig.json, use @types/ definitions
- Updated documentation to work better with Visual Studio
0.3.0 - 2017-03-01
- Changed primary keys type from string to keyof
- Changed syncDownCollection(...)
S[]
type toS
since it's only returned by the sync function and then passed to the callback
0.2.0 - 2016-10-22
- Added 'hasPrimaryKeyCheckers' function array to SyncSettingsBuilder and interfaces to allow customization of primary key absense validation, default behavior is '!!item[primaryKey]' when validation functions are not provided
- Added notifyAction(Start|End|Failure) event listener functions to SyncDataCollection making it easy to add performance timers, error loggers, etc.
0.1.3 - 2016-10-21
- Updated ts-promises dependency to latest version 0.2.0
- Fixed a bug where promise was being rejecting and resolving when an error occurred
0.1.2 - 2016-09-19
- Updated ts-mortar dependency to latest version 0.11.0
- Updated lokijs-collections dependency to latest version 0.14.0
0.1.1 - 2016-09-02
- Renamed project from lokijs-collections-sync -> lokijs-collections-syncing
0.1.0 - 2016-06-01
- Moved 'sync/' directory from lokijs-collections to this library
========
Original Change Logs Related to 'Syncing' from the lokijs-collections Library
0.12.5 - 2016-05-27
- More thorough error handling in SyncDataCollection.syncDownCollection()
- Removed last modified timestamp filtering when updating local items after syncing up since primary key filtering should already restrict the search results sufficently
...
0.12.2 - 2016-05-25
...
- Added 'syncingDown' error property to syncDownCollection() and changed 'syncDownFunc' type so sync functions don't have to return a SyncError
0.12.1 - 2016-05-24
...
- Fixed error in syncUpCollection() not rejecting promise correctly if sync function failed
...
0.8.1 - 2016-03-12
- SyncDataCollection documention
SyncSettingsBuilder (unifying function names):
- Added fromDataCollectionAndSyncFuncs() 'findFilterFunc' parameter
- Renamed setSettings() -> addSettingsInst()
- Renamed setSyncDown() -> addSyncDownSettings()
- Renamed setSyncUp() -> addSyncUpSettings()
0.8.0 - 2016-03-11
'Syncing' functionality - for asynchronously sending and receiving DataCollection data and merging it with an existing data collection
- sync/SyncDataCollection.ts - with syncDownCollection() and syncUpCollection() functions as well as parameters to control how changes are synced, see:
- SyncDataCollection.SyncDownOp enum - which provides options for removing or preserving existing data during a sync and adding or merging new data
- sync/SyncSettingsBuilder.ts - a someone complex Builder pattern class for building SyncSettings* interface instances
- sync/syncing-types.d.ts - with all the new interfaces