listener-rss-aggregator/README.md

54 lines
1.7 KiB
Markdown
Raw Normal View History

# Listener-rss-agregator
---
## Brief
This is an agregator of rss's listener (more information about it here : ).
## Usage
The basic usage is to use many listener-rss with a unique class.
```typescript
import { ManageListener } from 'Listener-rss-agregator';
const path = '/my/data/directorie/bd.sqlite'
const myManager = new ManageListener(path);
await ml.load(); // he is reading the database
const listenerConfig =
{
"address": "fake.rss.service.1",
"timeloop": 10
};
ml.registerListener(listenerConfig);
ml.on('update', (obj) => {
doSomethingWithNewEntries(obj);
ml.save();
})
ml.startAll();
//...
ml.stopAll();
ml.save();
```
## Documentation
### Why SQLITE
This project use SQLITE to store the listener-rss configs and keep an correct historic of this. Sqlite was choice for her difficulty to access and read it. The database dont need to be modify by the user.
### Constructor
The constructor need to have a file to store the sqlite data. If the file does not exist he will be create, but the path must be valid.
### Function
#### `load()`
An async method who would read the sqlite file and create the corresponding objects
#### `save()`
An method who would store the actual configuration and erase the older
#### `registerListener(listenerConfig)`
He's create an new listener-rss with the corresponding config data. (More information about the listenerConfig here : )
#### `startAll()`
Start all the listener who are actually register
#### `stopAll()`
Start all the listener who are actually register
### Events
Like listener-rss, listener-rss-agregator implement EventEmitter.
The event who's used is named `update`. He's called for each new entries detection per listener. he's giving back an object who contains all the new entries