https://github.com/artegoser/simple-chat-storage
Chat storage for node
https://github.com/artegoser/simple-chat-storage
Last synced: 3 months ago
JSON representation
Chat storage for node
- Host: GitHub
- URL: https://github.com/artegoser/simple-chat-storage
- Owner: artegoser
- License: mit
- Created: 2021-04-30T14:15:30.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-05-11T14:38:41.000Z (about 4 years ago)
- Last Synced: 2023-12-27T19:01:18.158Z (over 1 year ago)
- Language: JavaScript
- Size: 162 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# simple-chat-storage
### Chat storage for node
[](https://nodei.co/npm/simple-chat-storage/)

[](https://coveralls.io/github/artegoser/simple-chat-storage?branch=main)
|📚[Documentation](https://artegoser.github.io/simple-chat-storage/documentation/index.html)|📕[Bugs](https://github.com/artegoser/simple-chat-storage/issues)|
|-|-|## Installation
`npm i simple-chat-storage`
or
`yarn add simple-chat-storage`## Most usefull features (There is both a JSON storage and a sqlite storage)
**addmessage(user, message, time(optional))** - adds message to chat
**erase()** - erases the storage
**deletemessage(index)** - deletes the message by index(storage.messages[index])## Most usefull features (sqlite)
new SqliteChatStorage(name, dbpath, length)
|Name |Type |Default|Description |
|------|-------------|-------|--------------------------------|
|name |string | |name of table in sqlite database|
|dbpath|string |chat.db|path to sqlite database |
|length|integer/false|false |number of stored messages |**prepare()** - Preparing and initializing the table and returnings a promise
**deletemessage(id)** - deletes the message by id
**replacemessage(id, message)** - replaces the message by id
**delete(where)** - SQL deleter
**select(what, where(optional))**.then((row)=>{}).catch((err)=>{}) - SQL selector
**getBdId(index)** - returns id of message from index (storage.messages[index].id)### Example
```javascript
const chat = require("simple-chat-storage").sqlite;
const test = new chat("test", "chat.db", 30);
test.prepare().then(()=>{
test.addmessage("Dr. Who", "Fez!").then(()=>{
console.log(test.messages[0]);
test.replacemessage(test.getBdId(0), "Hooray, I can edit messages.")
.then(()=>{
console.log(test.messages[0]);
});
});
});
```## Most usefull features (JSON)
`Faster than sqlite, but does not have SQL functions`new JsonChatStorage(name, length, dir)
|Name |Type |Default |Description |
|------|-------------|--------|------------------------------------|
|name |string | |name of JSON storage |
|length|integer/false|false |number of stored messages |
|dir |string |./chats |folder for storing all json storages|
|meta |Object/none | |metadata for JSON storage |**deletelastmessage(user)** - Deletes a last message of user
### Example
```javascript
let chat = require("simple-chat-storage").JSON;
let test = new chat("test");
test.addmessage("Dr. Who", "Fez!");
console.log(test.messages);
```## Coverage
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files | 93.33 | 82.35 | 93.33 | 94.05 |
index.js | 93.33 | 82.35 | 93.33 | 94.05 | 75-76,242-244