simple-chat-storage
Chat storage for node
📚Documentation | 📕Bugs |
---|
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
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
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 |