0.0.14 • Published 7 years ago

rest-delta-sync v0.0.14

Weekly downloads
3
License
MIT
Repository
-
Last release
7 years ago

rest-delta-sync

Build Status Coverage Status

Utility to synchronise the results of a REST get call with local storage. Uses a last modified flag to ensure only changes are synchronised. Uses pagination to keep package sizes down.

Each instance will synchronise one URL with a name-spaced local store

Installation

npm install rest-delta-sync

Usage:

let store = new DeltaSync(url: string, options)

options:

  • storeProvider: must support getItem / setItem / removeItem - if nothing is provided local storgage is used.
  • dbName: unique identifier for the type of data (analagous to a table name in SQL)
  • batch size: how many records to pull down from the server per request
  • frequency: how often should the db be synced with the server (in seconds)

Methods:

  • start: - begins syncing immediately
  • stop: - stops syncing after any current sync operation has completed

Properties:

  • isInitalised: - an initial run of the sync has taken place (i.e. if data is empty it is because the source is empty)
  • isRunning: - an active sync is taking place

Events:

  • dataChangesInserts: - array of ids that have been added since last sync
  • dataChangesUpdates: - array of ids that have been modified since last sync
  • dataChangesDeletion: - arry of ids that have been removed since last sync

Data description:

Every record is expected to have the following server provided attributes

  • id: string - is used to uniquely identify the record in the store.
  • lastModified: string - date-time in ISO format when the record was last updated on the server.
  • isDeleted: boolean - flag - which is the soft deletion flag on the server.

Building

0.0.14

7 years ago

0.0.13

7 years ago

0.0.12

7 years ago

0.0.11

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago