UNPKG

832 BJavaScriptView Raw
1'use strict';
2
3var path = require('path');
4
5var pipeline = require('when/pipeline');
6
7var listDirectory = require('./list-directory');
8
9var filer = require('../filer');
10
11var opts = {
12 persistent: true,
13 size: 1024 * 1024
14};
15
16function createAction(payload) {
17 return {
18 type: 'WRITE_FILE',
19 payload: payload
20 };
21}
22
23function writeFile(filename, text) {
24 var dirname = path.dirname(filename);
25
26 var seq = [function () {
27 return filer.init(opts);
28 }, function () {
29 return filer.mkdir(dirname, false);
30 }, function () {
31 return filer.write(filename, { data: text, type: 'text/plain' });
32 }, function () {
33 return listDirectory('.');
34 }, function (_ref) {
35 var payload = _ref.payload;
36 return { listing: payload.listing };
37 }];
38
39 return pipeline(seq).then(createAction);
40}
41
42module.exports = writeFile;
\No newline at end of file