File tree Expand file tree Collapse file tree 3 files changed +18
-10
lines changed Expand file tree Collapse file tree 3 files changed +18
-10
lines changed Original file line number Diff line number Diff line change @@ -25,11 +25,6 @@ type Test = {
2525} ;
2626
2727const skip = new Set < string > ( [
28- // Not supported
29- "|draft2020-12|ecmascript-regex.json" ,
30- "|draft2019-09|ecmascript-regex.json" ,
31- "|draft7|ecmascript-regex.json" ,
32-
3328 // Not supported
3429 "|draft2020-12|email.json" ,
3530 "|draft2019-09|email.json" ,
@@ -60,11 +55,6 @@ const skip = new Set<string>([
6055 "|draft7|json-pointer.json" ,
6156 "|draft6|json-pointer.json" ,
6257
63- // Not supported
64- "|draft2020-12|regex.json" ,
65- "|draft2019-09|regex.json" ,
66- "|draft7|regex.json" ,
67-
6858 // Not supported
6959 "|draft2020-12|relative-json-pointer.json" ,
7060 "|draft2019-09|relative-json-pointer.json" ,
Original file line number Diff line number Diff line change 1+ export default {
2+ id : "https://json-schema.org/format/regex" ,
3+ handler : ( regex ) => {
4+ if ( typeof regex !== "string" ) {
5+ return true ;
6+ }
7+
8+ try {
9+ new RegExp ( regex , "u" ) ;
10+ } catch ( _error ) {
11+ return false ;
12+ }
13+
14+ return true ;
15+ }
16+ } ;
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ import iri from "./handlers/iri.js";
1212import iriReference from "./handlers/iri-reference.js" ;
1313import uuid from "./handlers/uuid.js" ;
1414import uriTemplate from "./handlers/uri-template.js" ;
15+ import regex from "./handlers/regex.js" ;
1516
1617
1718addFormat ( dateTime ) ;
@@ -26,6 +27,7 @@ addFormat(iri);
2627addFormat ( iriReference ) ;
2728addFormat ( uuid ) ;
2829addFormat ( uriTemplate ) ;
30+ addFormat ( regex ) ;
2931
3032export {
3133 getShouldValidateFormat ,
You can’t perform that action at this time.
0 commit comments