1 | 'use strict';
|
2 |
|
3 | var when = require('when');
|
4 | var pipeline = require('when/pipeline');
|
5 |
|
6 | var filer = require('../filer');
|
7 |
|
8 | var opts = {
|
9 | persistent: true,
|
10 | size: 1024 * 1024
|
11 | };
|
12 |
|
13 | function createAction(content) {
|
14 | return {
|
15 | type: 'READ_FILE',
|
16 | payload: { content: content }
|
17 | };
|
18 | }
|
19 |
|
20 | function 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 |
|
32 | function 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 |
|
44 | module.exports = readFile; |
\ | No newline at end of file |