Revision 1f9ccef9
Added by koszko about 1 year ago
| common/entities.js | ||
|---|---|---|
| 117 | 117 |
#EXPORT get_used_files AS get_files |
| 118 | 118 |
|
| 119 | 119 |
/* |
| 120 |
* Regex to parse URIs like:
|
|
| 120 |
* Function to parse URIs like:
|
|
| 121 | 121 |
* https://hydrilla.koszko.org/schemas/api_mapping_description-2.schema.json |
| 122 | 122 |
*/ |
| 123 |
const name_base_re = "(?<name_base>[^/]*)";
|
|
| 124 |
const major_number_re = "(?<major>[1-9][0-9]*)";
|
|
| 123 |
const name_base_re = "([^/]*)"; |
|
| 124 |
const major_number_re = "([1-9][0-9]*)"; |
|
| 125 | 125 |
const minor_number_re = "(?:[1-9][0-9]*|0)"; |
| 126 | 126 |
const numbers_rest_re = `(?:\\.${minor_number_re})*`;
|
| 127 |
const version_re = `(?<ver>${major_number_re}${numbers_rest_re})`;
|
|
| 127 |
const version_re = `(${major_number_re}${numbers_rest_re})`;
|
|
| 128 | 128 |
const schema_name_re = `${name_base_re}-${version_re}\\.schema\\.json`;
|
| 129 | 129 |
|
| 130 |
const haketilo_schema_name_regex = new RegExp(schema_name_re); |
|
| 131 |
#EXPORT haketilo_schema_name_regex |
|
| 130 |
const schema_name_regex = new RegExp(schema_name_re); |
|
| 131 |
|
|
| 132 |
const schema_name_parts = ["full", "name_base", "version", "major"]; |
|
| 133 |
|
|
| 134 |
function parse_schema_uri(uri) {
|
|
| 135 |
const match = schema_name_regex.exec(uri); |
|
| 136 |
if (!match) |
|
| 137 |
return match; |
|
| 138 |
|
|
| 139 |
const result = {};
|
|
| 140 |
|
|
| 141 |
for (let i = 0; i < schema_name_parts.length; i++) |
|
| 142 |
result[schema_name_parts[i]] = match[i]; |
|
| 143 |
|
|
| 144 |
return result |
|
| 145 |
} |
|
| 146 |
#EXPORT parse_schema_uri |
|
| 132 | 147 |
|
| 133 | 148 |
/* Extract the number that indicates entity's compatibility mode. */ |
| 134 | 149 |
function get_schema_major_version(instance) {
|
| 135 |
const match = haketilo_schema_name_regex.exec(instance.$schema); |
|
| 136 |
|
|
| 137 |
return parseInt(match.groups.major); |
|
| 150 |
return parseInt(parse_schema_uri(instance.$schema).major); |
|
| 138 | 151 |
} |
| 139 | 152 |
#EXPORT get_schema_major_version |
| 140 | 153 |
|
Also available in: Unified diff
restore compatibility with IceCat 60
This commit also fixes the --driver option to configure script.