1 | const fs = require('fs');
|
2 |
|
3 | const {
|
4 | isNumber,
|
5 | toNumber,
|
6 | isNaN,
|
7 | isUndefined,
|
8 | isNull,
|
9 | isArray,
|
10 | } = require('lodash');
|
11 |
|
12 | const {
|
13 | log,
|
14 | faillog,
|
15 | } = require('./log');
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 | const creator = (value, errStr, fn) => {
|
25 | if (!fn(value)) {
|
26 | log();
|
27 | faillog(`${errStr}`);
|
28 | log();
|
29 | process.exit(0);
|
30 | }
|
31 | };
|
32 |
|
33 | module.exports = {
|
34 | |
35 |
|
36 |
|
37 |
|
38 | sb(fn, errStr = 'fn should return true') {
|
39 | creator(
|
40 | fn(),
|
41 | errStr,
|
42 | val => val,
|
43 | );
|
44 | },
|
45 |
|
46 | |
47 |
|
48 |
|
49 | sbNumber(value, errStr = 'should be number') {
|
50 | creator(
|
51 | value,
|
52 | errStr,
|
53 | (val) => {
|
54 | const number = toNumber(val);
|
55 | return isNumber(number) && !isNaN(number);
|
56 | },
|
57 | );
|
58 | },
|
59 |
|
60 | |
61 |
|
62 |
|
63 | sbValidValue(value, errStr = 'should be valid value') {
|
64 | creator(
|
65 | value,
|
66 | errStr,
|
67 | val => !isNull(val) && !isUndefined(val),
|
68 | );
|
69 | },
|
70 |
|
71 | |
72 |
|
73 |
|
74 | sbValidDir(value, errStr = 'should be valid directory') {
|
75 | creator(
|
76 | value,
|
77 | errStr,
|
78 | dir => fs.existsSync(dir) && fs.statSync(dir).isDirectory(dir),
|
79 | );
|
80 | },
|
81 |
|
82 | |
83 |
|
84 |
|
85 | sbValidArray(value, errStr = 'should be valid array') {
|
86 | creator(
|
87 | value,
|
88 | errStr,
|
89 | val => isArray(val) && val.length,
|
90 | );
|
91 | },
|
92 |
|
93 | |
94 |
|
95 |
|
96 | sbEmptyArray(value, errStr = 'should be empty array') {
|
97 | creator(
|
98 | value,
|
99 | errStr,
|
100 | val => isArray(val) && !val.length,
|
101 | );
|
102 | },
|
103 | };
|