# PawSQLite PawSQLite is a library for interacting with SQLite databases. Through the use of multiple adapters for various environments, it provides a simple API that abstracts out implementation specific quirks. ## Installation You can install using npm: ```bash npm install -s git+https://git.n0m.org/n0m/PawSQLite.git ``` In order to actually use PawSQLite, you must also install an adapter for your specific environment. Currently, adapters are available for the following environments: ### WebSQL: PawSQLite-WebSQL-Adapter: [https://git.n0m.org/n0m/PawSQLite-WebSQL-Adapter](https://git.n0m.org/n0m/PawSQLite-WebSQL-Adapter) ### Apache Cordova: PawSQLite-Cordova-Adapter: [https://git.n0m.org/n0m/PawSQLite-Cordova-Adapter](https://git.n0m.org/n0m/PawSQLite-Cordova-Adapter) ### Node.js via Sqlite3 package: PawSQLite-Node-Adapter: [https://git.n0m.org/n0m/PawSQLite-Node-Adapter](https://git.n0m.org/n0m/PawSQLite-Node-Adapter) ## Usage ```javascript 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](https://choosealicense.com/licenses/mit/)