UNPKG

866 BJavaScriptView Raw
1const {
2 assign
3} = require('macaca-utils');
4const {
5 readFileSync,
6 writeFileSync
7} = require('fs');
8
9const DEFAULT_BOUNDS = {
10 height: 800,
11 width: 1024
12};
13
14module.exports = configPath => {
15 return {
16 get(name) {
17 let data = {};
18 try {
19 data = JSON.parse(readFileSync(configPath, 'utf8'));
20 } catch (e) {
21 // do nothing
22 }
23 if (data && data[name] && data[name].bounds) {
24 return data[name].bounds;
25 }
26 return DEFAULT_BOUNDS;
27 },
28 set(name, bounds) {
29 bounds = bounds || DEFAULT_BOUNDS;
30 let data = {};
31 try {
32 data = JSON.parse(readFileSync(configPath, 'utf8'));
33 } catch (e) {
34 // do nothing
35 }
36 data[name] = data[name] || {};
37 assign(data[name], {
38 bounds
39 });
40 writeFileSync(configPath, JSON.stringify(data));
41 }
42 };
43};