62 lines
1.6 KiB
Markdown
62 lines
1.6 KiB
Markdown
# 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:
|
|
Coming Soon!
|
|
|
|
## 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/) |