betajs-indexeddb
v0.0.1
Published
BetaJS-IndexedDB is an IndexedDB wrapper for BetaJS.
Downloads
2
Readme
betajs-indexeddb 0.0.1
BetaJS-IndexedDB is an IndexedDB wrapper for BetaJS.
Getting Started
You can use the library in the browser and compile it as well.
Browser
<script src="betajs/dist/betajs.min.js"></script>
<script src="betajs-data/dist/betajs-data.min.js"></script>
<script src="https://unpkg.com/indexeddb@latest/dist/indexeddb.min.js"></script>
<script src="betajs-indexeddb/dist/betajs-indexeddb.min.js"></script>
Compile
git clone https://github.com/betajs/betajs-indexeddb.git
npm install
grunt
Basic Usage
We provide a simple abstraction for databases and tables, with a concrete implementation for IndexedDB.
First, you instantiate a database, e.g. a IndexedDB:
var database = new BetaJS.Data.Databases.IndexedDB.IndexedDBDatabase("database", {
'table1': "indexkey1,indexkey2",
...
});
The IndexedDBDatabase
class inherits from the abstract Database
class.
Once you have a database
instance, you can access database tables / collections as follows:
var table = database.getTable('my-table-name');
A table
instance allows you to perform the typical (asynchronous) CRUD operations on the table:
table.insertRow({row data}).success(function (inserted) {...}).error(function (error) {...});
table.removeRow({remove query}).success(function () {...}).error(function (error) {...});
table.removeById(id).success(function () {...}).error(function (error) {...});
table.updateRow({update query}, {row data}).success(function (updated) {...}).error(function (error) {...});
table.updateById(id, {row data}).success(function (updated) {...}).error(function (error) {...});
table.find({search query}, {limit, skip, sort}).success(function (rowIterator) {...}).error(function (error) {...});
table.findOne({search query}, {skip, sort}).success(function (row) {...}).error(function (error) {...});
table.findById(id).success(function (row) {...}).error(function (error) {...});
In most cases, you would not access database table instances directly but through the abstraction of a store.
Database Stores allow you to access a database table through the abstract of a Store
, providing all the additional functionality from the BetaJS-Data
module.
Once you have instantiated your database
instance, you can create a corresponding Store
for a table as follows, e.g. for a IndexedDB:
var store = new BetaJS.Data.Stores.DatabaseStore(database, "my-database-table");
Links
| Resource | URL | | :--------- | --: | | Homepage | https://betajs.com | | Git | git://github.com/betajs/betajs-indexeddb.git | | Repository | https://github.com/betajs/betajs-indexeddb | | Blog | https://blog.betajs.com | | Twitter | https://twitter.com/thebetajs |
Compatability
| Target | Versions | | :----- | -------: |
CDN
| Resource | URL | | :----- | -------: | | betajs-indexeddb.js | http://cdn.rawgit.com/betajs/betajs-indexeddb/master/dist/betajs-indexeddb.js | | betajs-indexeddb.min.js | http://cdn.rawgit.com/betajs/betajs-indexeddb/master/dist/betajs-indexeddb.min.js | | betajs-indexeddb-noscoped.js | http://cdn.rawgit.com/betajs/betajs-indexeddb/master/dist/betajs-indexeddb-noscoped.js | | betajs-indexeddb-noscoped.min.js | http://cdn.rawgit.com/betajs/betajs-indexeddb/master/dist/betajs-indexeddb-noscoped.min.js |
Dependencies
| Name | URL | | :----- | -------: | | betajs | Open | | betajs-data | Open |
Weak Dependencies
| Name | URL | | :----- | -------: | | betajs-scoped | Open |
Main Contributors
- Oliver Friedmann
- Natasha Calleia
License
Apache-2.0