1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/usr/bin/node
const R = require('ramda'),
Future = require('fluture'),
fs = require('fs'),
fsPath = require('fs-path');
function loadFPayloads(config) {
return R.curry((file) =>
Future.node((cb) => fs.readFile(file, 'utf8', cb))
.chain(Future.encase(JSON.parse))
);
}
function saveFPayloads(config) {
return R.curry((file, data) =>
Future.node((cb) => fsPath.writeFile(file, JSON.stringify(data), cb))
.map(() => data)
);
}
function saveFPayloadsTimestamped(config) {
return R.curry((timestamp, data) =>
saveFPayloads(config)(config.pattern(timestamp), data)
);
}
function loadFPayloadsTimestamped(config) {
return R.curry((timestamp) =>
loadFPayloads(config)(config.pattern(timestamp))
);
}
module.exports = {
loadFPayloads,
loadFPayloadsTimestamped,
saveFPayloads,
saveFPayloadsTimestamped,
};
|