source: trip-planner-front/node_modules/ajv-keywords/keywords/regexp.js@ 8d391a1

Last change on this file since 8d391a1 was e29cc2e, checked in by Ema <ema_spirova@…>, 3 years ago

primeNG components

  • Property mode set to 100644
File size: 959 bytes
Line 
1'use strict';
2
3module.exports = function defFunc(ajv) {
4 defFunc.definition = {
5 type: 'string',
6 inline: function (it, keyword, schema) {
7 return getRegExp() + '.test(data' + (it.dataLevel || '') + ')';
8
9 function getRegExp() {
10 try {
11 if (typeof schema == 'object')
12 return new RegExp(schema.pattern, schema.flags);
13
14 var rx = schema.match(/^\/(.*)\/([gimuy]*)$/);
15 if (rx) return new RegExp(rx[1], rx[2]);
16 throw new Error('cannot parse string into RegExp');
17 } catch(e) {
18 console.error('regular expression', schema, 'is invalid');
19 throw e;
20 }
21 }
22 },
23 metaSchema: {
24 type: ['string', 'object'],
25 properties: {
26 pattern: { type: 'string' },
27 flags: { type: 'string' }
28 },
29 required: ['pattern'],
30 additionalProperties: false
31 }
32 };
33
34 ajv.addKeyword('regexp', defFunc.definition);
35 return ajv;
36};
Note: See TracBrowser for help on using the repository browser.