Revision f8dedf60
Added by koszko about 1 year ago
common/entities.js | ||
---|---|---|
116 | 116 |
} |
117 | 117 |
#EXPORT get_used_files AS get_files |
118 | 118 |
|
119 |
/* |
|
120 |
* Regex to parse URIs like: |
|
121 |
* https://hydrilla.koszko.org/schemas/api_mapping_description-2.schema.json |
|
122 |
*/ |
|
123 |
const name_base_re = "(?<name_base>[^/]*)"; |
|
124 |
const major_number_re = "(?<major>[1-9][0-9]*)"; |
|
125 |
const minor_number_re = "(?:[1-9][0-9]*|0)"; |
|
126 |
const numbers_rest_re = `(?:\\.${minor_number_re})*`; |
|
127 |
const version_re = `(?<ver>${major_number_re}${numbers_rest_re})`; |
|
128 |
const schema_name_re = `${name_base_re}-${version_re}\\.schema\\.json`; |
|
129 |
|
|
130 |
const haketilo_schema_name_regex = new RegExp(schema_name_re); |
|
131 |
#EXPORT haketilo_schema_name_regex |
|
132 |
|
|
133 |
/* Extract the number that indicates entity's compatibility mode. */ |
|
134 |
function get_schema_major_version(instance) { |
|
135 |
const match = haketilo_schema_name_regex.exec(instance.$schema); |
|
136 |
|
|
137 |
return parseInt(match.groups.major); |
|
138 |
} |
|
139 |
#EXPORT get_schema_major_version |
|
140 |
|
|
119 | 141 |
#IF NEVER |
120 | 142 |
|
121 | 143 |
/* |
Also available in: Unified diff
allow eval() in injected scripts