https://github.com/ghostdevv/mykv
MyKV is a SQL Key - Value wrapper with some extra features.
https://github.com/ghostdevv/mykv
hacktoberfest
Last synced: 12 months ago
JSON representation
MyKV is a SQL Key - Value wrapper with some extra features.
- Host: GitHub
- URL: https://github.com/ghostdevv/mykv
- Owner: ghostdevv
- Created: 2021-05-04T08:17:03.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2023-07-11T09:23:39.000Z (over 2 years ago)
- Last Synced: 2025-03-17T07:11:42.001Z (12 months ago)
- Topics: hacktoberfest
- Language: TypeScript
- Homepage:
- Size: 1.35 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# MyKV
[](https://www.npmjs.com/package/mykv)
[](https://ghostdev.xyz)
[](https://github.com/ghostdevv/mykv)
MyKV started out as a wrapper for only MySQL but with the power of knex we support most sql variations.
# How to use/connect
See [knexjs connecting](https://knexjs.org/#Installation-client)
```js
const { MyKV } = require('mykv');
// or
import { MyKV } from 'mykv';
const db = new MyKV({
connection: {
host: '',
database: '',
username: '',
password: '',
}
});
db.connect()
.then(() => console.log('Connected'))
.catch((e) => console.error(`Unable to connect: ${e.message}`));
```
# Methods
These are the methods used on your created db
- ### Get
`await db.get(key);`
```js
const item = await db.get('1234');
```
TypeScript:
```ts
interface Result {
id: string;
username: string;
}
const item = await db.get('1234');
```
- ### Set
`await db.set(key, value);`
```js
await db.set('1234', { id: '1234', username: 'GHOST' });
```
- ### Delete
`await db.del(key);`
```js
await db.del('1234');
```
- ### Has
`await db.has(key);`
```js
const has = await db.has('1234'); // true or false
```
- ### Clear
`await db.clear();`
```js
await db.clear();
```
- ### Keys
`await db.keys(limit?: number);`
Returns all keys in the db, you can optionally provide a limit of the number of keys returned
```js
const keys = await db.keys();
const tenKeys = await db.keys(10); // Optional limit
```
- ### Values
`await db.values(limit?: number);`
Returns all items in the db (without their keys), you can optionally provide a limit of the number of values returned
```js
const values = await db.values();
const tenValues = await db.values(10); // Optional limit
```
- ### Entries
`await db.entries(limit?: number);`
Returns all keys and values in an array, like [Map.prototype.entries](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries)
```js
const entries = await db.entries();
const tenEntries = await db.entries(10); // Optional limit
```
# Support
- Join the [discord](https://discord.gg/2Vd4wAjJnm)
- Create a issue on the [github](https://github.com/ghostdevv/mykv)