From 5caf4e48174533710243e8eeaf52567795ec9d01 Mon Sep 17 00:00:00 2001 From: schneefux Date: Mon, 7 May 2018 09:06:04 +0200 Subject: move files to backend subdir, push data in submodule --- backend/file.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 backend/file.js (limited to 'backend/file.js') diff --git a/backend/file.js b/backend/file.js new file mode 100644 index 0000000..b750921 --- /dev/null +++ b/backend/file.js @@ -0,0 +1,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, +}; -- cgit v1.3.1