From c8d900349a2a518c5fee9610b6a903a2ff546e50 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 5 May 2018 23:31:56 +0200 Subject: cache many small periods on disk and aggregate them --- file.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'file.js') diff --git a/file.js b/file.js index 16f2c94..b750921 100644 --- a/file.js +++ b/file.js @@ -1,12 +1,13 @@ #!/usr/bin/node const R = require('ramda'), - Future = require('fluture') + Future = require('fluture'), + fs = require('fs'), fsPath = require('fs-path'); function loadFPayloads(config) { return R.curry((file) => - Future.node((cb) => fsPath.readFile(file, 'utf8', cb)) + Future.node((cb) => fs.readFile(file, 'utf8', cb)) .chain(Future.encase(JSON.parse)) ); } @@ -14,6 +15,7 @@ function loadFPayloads(config) { function saveFPayloads(config) { return R.curry((file, data) => Future.node((cb) => fsPath.writeFile(file, JSON.stringify(data), cb)) + .map(() => data) ); } @@ -23,8 +25,15 @@ function saveFPayloadsTimestamped(config) { ); } +function loadFPayloadsTimestamped(config) { + return R.curry((timestamp) => + loadFPayloads(config)(config.pattern(timestamp)) + ); +} + module.exports = { loadFPayloads, + loadFPayloadsTimestamped, saveFPayloads, saveFPayloadsTimestamped, }; -- cgit v1.3.1