Skip to content

Dexie.Syncable.IDatabaseChange

David Fahlander edited this page May 18, 2014 · 33 revisions

<-- back to ISyncProtocol

Interface

interface IDatabaseChange {
Number type; // 1 = CREATE, 2 = UPDATE, 3 = DELETE
String table;
any key;
};

interface IDatabaseCreateChange : IDatabaseChange {
Object obj; // Created Object
};

interface IDatabaseUpdateChange : IDatabaseChange {
Object mods; // Set of keyPaths and their altered values
};

interface IDatabaseDeleteChange : IDatabaseChange {
};

Description

Interface of a database change. The property 'type' tells whether the change is a creation (1), update (2) or deletion (3) of the given key in the given table.

If change is a creation, 'obj' will contain the created object.

If change is an update, 'mods' will contain a set of property paths and their altered values. A property path is the name of the property for root-properties. For nestled properties, the property path will be a dot-based path to the changed property.

Sample

Given the following object:

{
    address: {
        street: "Elm Street",
        city: "New York"
    }
}

If street has been changed to "East 13:th Street", the IDatabaseUpdateChange would look like this:

{
    "address.street": "East 13:th Street"
}
Clone this wiki locally