1 | const {
|
2 | assign
|
3 | } = require('macaca-utils');
|
4 | const {
|
5 | readFileSync,
|
6 | writeFileSync
|
7 | } = require('fs');
|
8 |
|
9 | const DEFAULT_BOUNDS = {
|
10 | height: 800,
|
11 | width: 1024
|
12 | };
|
13 |
|
14 | module.exports = configPath => {
|
15 | return {
|
16 | get(name) {
|
17 | let data = {};
|
18 | try {
|
19 | data = JSON.parse(readFileSync(configPath, 'utf8'));
|
20 | } catch (e) {
|
21 |
|
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 |
|
35 | }
|
36 | data[name] = data[name] || {};
|
37 | assign(data[name], {
|
38 | bounds
|
39 | });
|
40 | writeFileSync(configPath, JSON.stringify(data));
|
41 | }
|
42 | };
|
43 | };
|