mirror of
https://github.com/amark/gun.git
synced 2025-03-30 15:08:33 +00:00
Merge branch 'master' of http://github.com/amark/gun
This commit is contained in:
commit
5df08f91cb
36
lib/hub.js
36
lib/hub.js
@ -8,10 +8,16 @@ let chokidar;
|
||||
try { chokidar = require('chokidar') } catch (error) {
|
||||
} // Must install chokidar to use this feature.
|
||||
|
||||
function watch(what, opt) {
|
||||
opt = opt || { }
|
||||
/**
|
||||
* Watches a directory and send all its content in the database
|
||||
* @constructor
|
||||
* @param {string} what - Which directory hub should watch.
|
||||
* @param {Object} options - https://gun.eco/docs/hub.js#options
|
||||
*/
|
||||
function watch(what, options) {
|
||||
options = options || { msg: true }
|
||||
|
||||
let modifiedPath = (opt.file || "");
|
||||
let modifiedPath = (options.file || "");
|
||||
|
||||
let watcher;
|
||||
try {
|
||||
@ -26,31 +32,33 @@ function watch(what, opt) {
|
||||
// Handle events !
|
||||
watcher
|
||||
.on('add', async function(path) {
|
||||
|
||||
log(`File ${path} has been added`);
|
||||
gun.get('hub').get(modifiedPath + '/' + path).put(fs.readFileSync(path, 'utf-8').replace(/\n/gm, ""))
|
||||
if (options.msg) log(`File ${path} has been added`);
|
||||
gun.get('hub').get(modifiedPath + '/' + path).put(fs.readFileSync(path, 'utf-8'))
|
||||
|
||||
})
|
||||
.on('change', async function(path) {
|
||||
|
||||
log(`File ${path} has been changed`);
|
||||
gun.get('hub').get(modifiedPath + '/' + path).put(fs.readFileSync(path, 'utf-8').replace(/\n/gm, ""))
|
||||
if (options.msg) log(`File ${path} has been changed`);
|
||||
gun.get('hub').get(modifiedPath + '/' + path).put(fs.readFileSync(path, 'utf-8'))
|
||||
|
||||
})
|
||||
.on('unlink', async function (path) {
|
||||
|
||||
log(`File ${path} has been removed`);
|
||||
if(options.msg) log(`File ${path} has been removed`);
|
||||
gun.get('hub').get(modifiedPath + '/' + path).put(null)
|
||||
|
||||
})
|
||||
.on('addDir', path => log(`Directory ${path} has been added`))
|
||||
.on('unlinkDir', path => log(`Directory ${path} has been removed`))
|
||||
.on('error', error => log(`Watcher error: ${error}`))
|
||||
.on('ready', () => log('Initial scan complete. Ready for changes'))
|
||||
if (options.msg) {
|
||||
watcher
|
||||
.on('addDir', path => log(`Directory ${path} has been added`))
|
||||
.on('unlinkDir', path => log(`Directory ${path} has been removed`))
|
||||
.on('error', error => log(`Watcher error: ${error}`))
|
||||
.on('ready', () => log('Initial scan complete. Ready for changes'))
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
console.log('If you want to use the hub feature, you must install `chokidar` by typing `npm i chokidar` in your terminal.')
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { watch : watch }
|
||||
module.exports = { watch : watch }
|
Loading…
x
Reference in New Issue
Block a user