A WebSQL adapter for PawSQLite
Go to file
2021-03-02 22:24:00 -08:00
lib Fixed webpack configuration 2021-03-02 18:09:39 -08:00
src Added name property 2021-03-02 14:13:53 -08:00
.gitignore Initial commit 2021-03-02 01:10:13 -08:00
package-lock.json Initial commit 2021-03-02 01:10:13 -08:00
package.json Initial commit 2021-03-02 01:10:13 -08:00
README.md Added a link for detailed usage 2021-03-02 22:24:00 -08:00
webpack.config.js Fixed webpack configuration 2021-03-02 18:09:39 -08:00

PawSQLite WebSQL Adapter

A WebSQL adapter for PawSQLite which offers many improvements over working with WebSQL natively. Most importantly, transactions do not commit automatically. This allows you to perform asynchronous operations during transactions and still guarantee data integrity.

Installation

You can install using npm:

npm install -s git+https://git.n0m.org/n0m/PawSQLite.git
npm install -s git+https://git.n0m.org/n0m/PawSQLite-WebSQL-Adapter.git

Usage

For more detailed usage, please see: https://git.n0m.org/n0m/PawSQLite

const PawSQLite = require("pawsqlite");
const PawSQLiteWebSQLAdapter = require("pawsqlite-websql-adapter");

PawSQLite.registerAdapter(PawSQLiteWebSQLAdapter)

const db = await PawSQLite.open("test", {
  adapter: 'PawSQLiteWebSQLAdapter'
});

await db.sql(`
  CREATE TABLE contacts (
    contact_id INTEGER PRIMARY KEY,
    first_name TEXT NOT NULL,
    last_name TEXT NOT NULL
  );
`);

const transaction = db.transaction();

console.log(await db.sql("SELECT * FROM contacts"));

await transaction.sql(
  "INSERT INTO contacts (first_name, last_name) VALUES (?, ?)",
  "John",
  "Lennon"
);

await transaction.commit();

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT