UNPKG

809 BJavaScriptView Raw
1'use strict';
2
3var when = require('when');
4var pipeline = require('when/pipeline');
5
6var filer = require('../filer');
7
8var opts = {
9 persistent: true,
10 size: 1024 * 1024
11};
12
13function createAction(content) {
14 return {
15 type: 'READ_FILE',
16 payload: { content: content }
17 };
18}
19
20function read(file) {
21 return when.promise(function (resolve, reject) {
22 var reader = new FileReader();
23
24 reader.onload = function (evt) {
25 return resolve(evt.target.result);
26 };
27 reader.onerror = reject;
28 reader.readAsText(file);
29 });
30}
31
32function readFile(filename) {
33 var seq = [function () {
34 return filer.init(opts);
35 }, function () {
36 return filer.open(filename);
37 }, function (file) {
38 return read(file);
39 }];
40
41 return pipeline(seq).then(createAction);
42}
43
44module.exports = readFile;
\No newline at end of file