Son CV dans un terminal web en Javascript!
https://terminal-cv.gregandev.fr
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.0 KiB
48 lines
1.0 KiB
const binding = require('node-gyp-build')(__dirname);
|
|
const path = require('path');
|
|
|
|
function normalizeOptions(dir, opts = {}) {
|
|
if (Array.isArray(opts.ignore)) {
|
|
opts = Object.assign({}, opts, {
|
|
ignore: opts.ignore.map(ignore => path.resolve(dir, ignore)),
|
|
});
|
|
}
|
|
|
|
return opts;
|
|
}
|
|
|
|
exports.writeSnapshot = (dir, snapshot, opts) => {
|
|
return binding.writeSnapshot(
|
|
path.resolve(dir),
|
|
path.resolve(snapshot),
|
|
normalizeOptions(dir, opts),
|
|
);
|
|
};
|
|
|
|
exports.getEventsSince = (dir, snapshot, opts) => {
|
|
return binding.getEventsSince(
|
|
path.resolve(dir),
|
|
path.resolve(snapshot),
|
|
normalizeOptions(dir, opts),
|
|
);
|
|
};
|
|
|
|
exports.subscribe = async (dir, fn, opts) => {
|
|
dir = path.resolve(dir);
|
|
opts = normalizeOptions(dir, opts);
|
|
await binding.subscribe(dir, fn, opts);
|
|
|
|
return {
|
|
unsubscribe() {
|
|
return binding.unsubscribe(dir, fn, opts);
|
|
},
|
|
};
|
|
};
|
|
|
|
exports.unsubscribe = (dir, fn, opts) => {
|
|
return binding.unsubscribe(
|
|
path.resolve(dir),
|
|
fn,
|
|
normalizeOptions(dir, opts),
|
|
);
|
|
};
|
|
|