1 | const createType = require('./../createType');
|
2 | const { isRegex } = require('./../lib/checks/types');
|
3 |
|
4 | const regex = (expression, typeName) =>
|
5 | createType({
|
6 | name: typeName,
|
7 | validCheck: (key, value) => {
|
8 | if (isRegex(expression) && expression.test(value)) {
|
9 | return true;
|
10 | }
|
11 |
|
12 | if (!isRegex(expression)) {
|
13 | throw new Error(`NativeModels - Regex expression provided isn't a valid regex`);
|
14 | }
|
15 |
|
16 | throw new Error(`NativeModels - Property ${key} (${value}) is not a/an ${typeName}`);
|
17 | },
|
18 | });
|
19 |
|
20 | module.exports = regex;
|