Skip to content

Dexie.addons

David Fahlander edited this page Apr 16, 2015 · 11 revisions

This array contains functions that extends Dexie. An addon may register itself in Dexie.addons by using Dexie.addons.push(fn). Example:

(function(){

    function ForEachAddon (db) {
        // Makes it possible to use forEach() instead of each() on collections.
        db.Collection.prototype.forEach = db.Collection.prototype.each;
    }

    Dexie.addons.push(ForEachAddon);
})();

AMD and CommonJS

If including Dexie as a AMD or CommonJS module, modules will not register themselves automatically.

When using requirejs:

require(['Dexie','Dexie.Observable','Dexie.Syncable'], function (Dexie, dexieObservable, dexieSyncable) {
    var db1 = new Dexie('dbname', {
        // Always specify explicitely wich addons to include
        addons: [dexieObservable, dexieSyncable]
    });
    var db2 = new Dexie('dbname');
    // db2 will have no addons active even though they were required.
});

But when using script includes:

<script src="Dexie.js"></script>
<script src="Dexie.Observable.js"></script>
<script src="Dexie.Syncable.js"></script>
<script>
    // db1 will have the addons activated automatically
    var db1 = new Dexie('dbname');
    // db2 will not have any addons activated
    var db2 = new Dexie('dbname', {addons: []}); 
</script>
Clone this wiki locally