Skip to content

Commit 5c12c75

Browse files
Merge pull request #7 from bayareawebpro/collections
added TypeSafe validator wip
2 parents 749ffb5 + 4492b1e commit 5c12c75

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed

src/Utilities/TypeSafe.js

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
/**
2+
* TypeSafe Validator
3+
* (WIP) Needs Tests
4+
*/
5+
export default class Type {
6+
/**
7+
* Is
8+
* @param value
9+
* @return {boolean}
10+
*/
11+
static isString(value) {
12+
return typeof value === 'string' || value instanceof String
13+
}
14+
15+
/**
16+
* Is Number
17+
* @param value
18+
* @return {boolean}
19+
*/
20+
static isNumeric(value) {
21+
return this.isFloat(value) || this.isInteger(value)
22+
}
23+
24+
/**
25+
* Is Float
26+
* @param value
27+
* @return {boolean}
28+
*/
29+
static isFloat(value) {
30+
return value === +value && value !== (value|0);
31+
}
32+
33+
/**
34+
* Is Integer
35+
* @param value
36+
* @return {boolean}
37+
*/
38+
static isInteger(value) {
39+
return value === +value && value === (value|0);
40+
}
41+
42+
/**
43+
* Is Array
44+
* @param value
45+
* @return {boolean}
46+
*/
47+
static isArray(value) {
48+
return (Array.isArray(value))
49+
}
50+
51+
/**
52+
* Is Function
53+
* @param value
54+
* @return {boolean}
55+
*/
56+
static isFunction(value) {
57+
return typeof value === 'function'
58+
}
59+
60+
/**
61+
* Is Object
62+
* @param value
63+
* @return {*|boolean}
64+
*/
65+
static isObject(value) {
66+
return value && typeof value === 'object' && value.constructor === Object
67+
}
68+
69+
/**
70+
* Is Null Object
71+
* @param value
72+
* @return {boolean}
73+
*/
74+
static isNull(value) {
75+
return value === null
76+
}
77+
78+
/**
79+
* Is Undefined
80+
* @param value
81+
* @return {boolean}
82+
*/
83+
static isUndefined(value) {
84+
return typeof value === 'undefined'
85+
}
86+
87+
/**
88+
* Is Boolean Primitive
89+
* @param value
90+
* @return {boolean}
91+
*/
92+
static isBoolean(value) {
93+
return typeof value === 'boolean'
94+
}
95+
96+
/**
97+
* Is RegEx Object
98+
* @param value
99+
* @return {*|boolean}
100+
*/
101+
static isRegExp(value) {
102+
return value && typeof value === 'object' && value.constructor === RegExp
103+
}
104+
105+
/**
106+
* Is Error Object
107+
* @param value
108+
* @return {boolean}
109+
*/
110+
static isError(value) {
111+
return value instanceof Error && typeof value.message !== 'undefined'
112+
}
113+
114+
/**
115+
* Is Date Object
116+
* @param value
117+
* @return {boolean}
118+
*/
119+
static isDate(value) {
120+
return value instanceof Date
121+
}
122+
123+
/**
124+
* Is Symbol
125+
* @param value
126+
* @return {boolean}
127+
*/
128+
static isSymbol(value) {
129+
return typeof value === 'symbol'
130+
}
131+
}

0 commit comments

Comments
 (0)