UNPKG

531 BJavaScriptView Raw
1const createType = require('./../createType');
2const { isRegex } = require('./../lib/checks/types');
3
4const 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
20module.exports = regex;