Added README

This commit is contained in:
Ben Ashton 2021-03-02 19:11:08 -08:00
parent 35af57732e
commit 1adcaa2e22

62
README.md Normal file
View File

@ -0,0 +1,62 @@
# 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/)