1 | import {isBoolean, isString, isFn, isArray} from './types';
|
2 |
|
3 | /** Configuration settings helpers */
|
4 |
|
5 | /**
|
6 | * If passed value is not of boolean type return the default value
|
7 | * otherwise return the value itself
|
8 | * @param {Boolean|Any} value
|
9 | * @param {Boolean} default value
|
10 | * @return {Boolean|Any}
|
11 | */
|
12 | export const defaultsBool =
|
13 | (val, defaultVal) => isBoolean(val) ? val : defaultVal;
|
14 |
|
15 | /**
|
16 | * If passed value is not of string type return the default value
|
17 | * otherwise return the value itself
|
18 | * @param {String|Any} value
|
19 | * @param {String} default value
|
20 | * @return {String|Any}
|
21 | */
|
22 | export const defaultsStr =
|
23 | (val, defaultVal) => isString(val) ? val : defaultVal;
|
24 |
|
25 | /**
|
26 | * If passed value is not of number type return the default value
|
27 | * otherwise return the value itself
|
28 | * @param {Number|Any} value
|
29 | * @param {Number} default value
|
30 | * @return {Number|Any}
|
31 | */
|
32 | export const defaultsNb =
|
33 | (val, defaultVal) => isNaN(val) ? defaultVal : val;
|
34 |
|
35 | /**
|
36 | * If passed value is not of array type return the default value
|
37 | * otherwise return the value itself
|
38 | * @param {Array|Any} value
|
39 | * @param {Array} default value
|
40 | * @return {Array|Any}
|
41 | */
|
42 | export const defaultsArr =
|
43 | (val, defaultVal) => isArray(val) ? val : defaultVal;
|
44 |
|
45 | /**
|
46 | * If passed value is not of function type return the default value
|
47 | * otherwise return the value itself
|
48 | * @param {Function|Any} value
|
49 | * @param {Function} default value
|
50 | * @return {Function|Any}
|
51 | */
|
52 | export const defaultsFn =
|
53 | (val, defaultVal) => isFn(val) ? val : defaultVal;
|