@ifc-lite/ids 3.2.0 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/dist/audit/coherence/cardinality.js +4 -1
- package/dist/audit/coherence/cardinality.js.map +1 -1
- package/dist/audit/coherence/index.d.ts +0 -1
- package/dist/audit/coherence/index.d.ts.map +1 -1
- package/dist/audit/coherence/index.js +59 -45
- package/dist/audit/coherence/index.js.map +1 -1
- package/dist/audit/coherence/regex.d.ts +3 -3
- package/dist/audit/coherence/regex.js +3 -3
- package/dist/audit/ifc-schema/attribute-value.d.ts +19 -0
- package/dist/audit/ifc-schema/attribute-value.d.ts.map +1 -0
- package/dist/audit/ifc-schema/attribute-value.js +71 -0
- package/dist/audit/ifc-schema/attribute-value.js.map +1 -0
- package/dist/audit/ifc-schema/datatype-check.d.ts +9 -1
- package/dist/audit/ifc-schema/datatype-check.d.ts.map +1 -1
- package/dist/audit/ifc-schema/datatype-check.js +24 -2
- package/dist/audit/ifc-schema/datatype-check.js.map +1 -1
- package/dist/audit/ifc-schema/entity-requirement.d.ts +21 -0
- package/dist/audit/ifc-schema/entity-requirement.d.ts.map +1 -0
- package/dist/audit/ifc-schema/entity-requirement.js +45 -0
- package/dist/audit/ifc-schema/entity-requirement.js.map +1 -0
- package/dist/audit/ifc-schema/index.d.ts.map +1 -1
- package/dist/audit/ifc-schema/index.js +105 -19
- package/dist/audit/ifc-schema/index.js.map +1 -1
- package/dist/audit/index.d.ts.map +1 -1
- package/dist/audit/index.js +8 -2
- package/dist/audit/index.js.map +1 -1
- package/dist/audit/parser-shim.d.ts +15 -1
- package/dist/audit/parser-shim.d.ts.map +1 -1
- package/dist/audit/parser-shim.js +2 -2
- package/dist/audit/parser-shim.js.map +1 -1
- package/dist/audit/structural/index.d.ts +3 -1
- package/dist/audit/structural/index.d.ts.map +1 -1
- package/dist/audit/structural/index.js +48 -179
- package/dist/audit/structural/index.js.map +1 -1
- package/dist/audit/structural/shapes.d.ts +47 -0
- package/dist/audit/structural/shapes.d.ts.map +1 -0
- package/dist/audit/structural/shapes.js +185 -0
- package/dist/audit/structural/shapes.js.map +1 -0
- package/dist/audit/types.d.ts +9 -1
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/xsd/index.js +1 -1
- package/dist/audit/xsd/index.js.map +1 -1
- package/dist/bridge/data-accessor.d.ts.map +1 -1
- package/dist/bridge/data-accessor.js +49 -25
- package/dist/bridge/data-accessor.js.map +1 -1
- package/dist/bridge/index.d.ts +1 -0
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +1 -0
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/measure-conversion.d.ts +51 -0
- package/dist/bridge/measure-conversion.d.ts.map +1 -0
- package/dist/bridge/measure-conversion.js +106 -0
- package/dist/bridge/measure-conversion.js.map +1 -0
- package/dist/bridge/predefined-property-sets.d.ts +24 -0
- package/dist/bridge/predefined-property-sets.d.ts.map +1 -0
- package/dist/bridge/predefined-property-sets.js +86 -0
- package/dist/bridge/predefined-property-sets.js.map +1 -0
- package/dist/bridge/predefined-types.d.ts +34 -13
- package/dist/bridge/predefined-types.d.ts.map +1 -1
- package/dist/bridge/predefined-types.js +40 -71
- package/dist/bridge/predefined-types.js.map +1 -1
- package/dist/bridge/project-property.d.ts +43 -0
- package/dist/bridge/project-property.d.ts.map +1 -0
- package/dist/bridge/project-property.js +60 -0
- package/dist/bridge/project-property.js.map +1 -0
- package/dist/bridge/properties.d.ts +4 -3
- package/dist/bridge/properties.d.ts.map +1 -1
- package/dist/bridge/properties.js +64 -111
- package/dist/bridge/properties.js.map +1 -1
- package/dist/bridge/property-overlay-resolver.d.ts +10 -0
- package/dist/bridge/property-overlay-resolver.d.ts.map +1 -1
- package/dist/bridge/property-overlay-resolver.js +53 -4
- package/dist/bridge/property-overlay-resolver.js.map +1 -1
- package/dist/bridge/units.d.ts +49 -20
- package/dist/bridge/units.d.ts.map +1 -1
- package/dist/bridge/units.js +134 -84
- package/dist/bridge/units.js.map +1 -1
- package/dist/constraint-types.d.ts +30 -14
- package/dist/constraint-types.d.ts.map +1 -1
- package/dist/constraints/comparators.d.ts +4 -1
- package/dist/constraints/comparators.d.ts.map +1 -1
- package/dist/constraints/comparators.js +6 -1
- package/dist/constraints/comparators.js.map +1 -1
- package/dist/constraints/describe.d.ts.map +1 -1
- package/dist/constraints/describe.js +67 -21
- package/dist/constraints/describe.js.map +1 -1
- package/dist/constraints/match-bounds.d.ts +25 -0
- package/dist/constraints/match-bounds.d.ts.map +1 -0
- package/dist/constraints/match-bounds.js +112 -0
- package/dist/constraints/match-bounds.js.map +1 -0
- package/dist/constraints/match-family.d.ts.map +1 -1
- package/dist/constraints/match-family.js +25 -90
- package/dist/constraints/match-family.js.map +1 -1
- package/dist/constraints/xsd-datetime.js +6 -6
- package/dist/constraints/xsd-examples.d.ts +20 -0
- package/dist/constraints/xsd-examples.d.ts.map +1 -0
- package/dist/constraints/xsd-examples.js +187 -0
- package/dist/constraints/xsd-examples.js.map +1 -0
- package/dist/constraints/xsd-lexical.d.ts +2 -0
- package/dist/constraints/xsd-lexical.d.ts.map +1 -0
- package/dist/constraints/xsd-lexical.js +49 -0
- package/dist/constraints/xsd-lexical.js.map +1 -0
- package/dist/constraints/xsd-order.d.ts +33 -0
- package/dist/constraints/xsd-order.d.ts.map +1 -0
- package/dist/constraints/xsd-order.js +211 -0
- package/dist/constraints/xsd-order.js.map +1 -0
- package/dist/constraints/xsd-regex-ast.d.ts +37 -0
- package/dist/constraints/xsd-regex-ast.d.ts.map +1 -0
- package/dist/constraints/xsd-regex-ast.js +137 -0
- package/dist/constraints/xsd-regex-ast.js.map +1 -0
- package/dist/constraints/xsd-regex-blocks.d.ts +7 -0
- package/dist/constraints/xsd-regex-blocks.d.ts.map +1 -0
- package/dist/constraints/xsd-regex-blocks.js +68 -0
- package/dist/constraints/xsd-regex-blocks.js.map +1 -0
- package/dist/constraints/xsd-regex.d.ts +2 -45
- package/dist/constraints/xsd-regex.d.ts.map +1 -1
- package/dist/constraints/xsd-regex.js +231 -134
- package/dist/constraints/xsd-regex.js.map +1 -1
- package/dist/facets/entity-facet.d.ts.map +1 -1
- package/dist/facets/entity-facet.js +4 -1
- package/dist/facets/entity-facet.js.map +1 -1
- package/dist/facets/partof-facet.d.ts.map +1 -1
- package/dist/facets/partof-facet.js +80 -19
- package/dist/facets/partof-facet.js.map +1 -1
- package/dist/facets/predefined-type-match.d.ts +8 -3
- package/dist/facets/predefined-type-match.d.ts.map +1 -1
- package/dist/facets/predefined-type-match.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -1
- package/dist/parser/dom.d.ts +4 -0
- package/dist/parser/dom.d.ts.map +1 -1
- package/dist/parser/dom.js +5 -0
- package/dist/parser/dom.js.map +1 -1
- package/dist/parser/parse-restriction.d.ts.map +1 -1
- package/dist/parser/parse-restriction.js +32 -14
- package/dist/parser/parse-restriction.js.map +1 -1
- package/dist/parser/xml-parser.d.ts +7 -4
- package/dist/parser/xml-parser.d.ts.map +1 -1
- package/dist/parser/xml-parser.js +30 -45
- package/dist/parser/xml-parser.js.map +1 -1
- package/dist/preview/audit.d.ts +16 -0
- package/dist/preview/audit.d.ts.map +1 -0
- package/dist/preview/audit.js +58 -0
- package/dist/preview/audit.js.map +1 -0
- package/dist/preview/features.d.ts +30 -0
- package/dist/preview/features.d.ts.map +1 -0
- package/dist/preview/features.js +96 -0
- package/dist/preview/features.js.map +1 -0
- package/dist/preview/parse-ids11.d.ts +9 -0
- package/dist/preview/parse-ids11.d.ts.map +1 -0
- package/dist/preview/parse-ids11.js +90 -0
- package/dist/preview/parse-ids11.js.map +1 -0
- package/dist/preview/partof-nested.d.ts +27 -0
- package/dist/preview/partof-nested.d.ts.map +1 -0
- package/dist/preview/partof-nested.js +61 -0
- package/dist/preview/partof-nested.js.map +1 -0
- package/dist/preview/tolerance.d.ts +15 -0
- package/dist/preview/tolerance.d.ts.map +1 -0
- package/dist/preview/tolerance.js +66 -0
- package/dist/preview/tolerance.js.map +1 -0
- package/dist/preview/types.d.ts +67 -0
- package/dist/preview/types.d.ts.map +1 -0
- package/dist/preview/types.js +5 -0
- package/dist/preview/types.js.map +1 -0
- package/dist/translation/describe-constraint.js +16 -14
- package/dist/translation/describe-constraint.js.map +1 -1
- package/dist/translation/locales/de.d.ts +2 -0
- package/dist/translation/locales/de.d.ts.map +1 -1
- package/dist/translation/locales/de.js +2 -0
- package/dist/translation/locales/de.js.map +1 -1
- package/dist/translation/locales/en.d.ts +2 -0
- package/dist/translation/locales/en.d.ts.map +1 -1
- package/dist/translation/locales/en.js +2 -0
- package/dist/translation/locales/en.js.map +1 -1
- package/dist/translation/locales/fr.d.ts +2 -0
- package/dist/translation/locales/fr.d.ts.map +1 -1
- package/dist/translation/locales/fr.js +2 -0
- package/dist/translation/locales/fr.js.map +1 -1
- package/dist/translation/locales/index.d.ts +1 -0
- package/dist/translation/locales/index.d.ts.map +1 -1
- package/dist/translation/locales/index.js +1 -0
- package/dist/translation/locales/index.js.map +1 -1
- package/dist/translation/locales/it.d.ts +198 -0
- package/dist/translation/locales/it.d.ts.map +1 -0
- package/dist/translation/locales/it.js +235 -0
- package/dist/translation/locales/it.js.map +1 -0
- package/dist/translation/service.d.ts +2 -6
- package/dist/translation/service.d.ts.map +1 -1
- package/dist/translation/service.js +17 -25
- package/dist/translation/service.js.map +1 -1
- package/dist/types.d.ts +26 -31
- package/dist/types.d.ts.map +1 -1
- package/dist/validation/format-failure-reason.js +1 -1
- package/dist/validation/format-failure-reason.js.map +1 -1
- package/dist/validation/prohibited-specification.d.ts +31 -0
- package/dist/validation/prohibited-specification.d.ts.map +1 -0
- package/dist/validation/prohibited-specification.js +25 -0
- package/dist/validation/prohibited-specification.js.map +1 -0
- package/dist/validation/validator.d.ts.map +1 -1
- package/dist/validation/validator.js +14 -11
- package/dist/validation/validator.js.map +1 -1
- package/dist/writer/constraint.d.ts +8 -0
- package/dist/writer/constraint.d.ts.map +1 -0
- package/dist/writer/constraint.js +142 -0
- package/dist/writer/constraint.js.map +1 -0
- package/dist/writer/index.d.ts +48 -0
- package/dist/writer/index.d.ts.map +1 -0
- package/dist/writer/index.js +209 -0
- package/dist/writer/index.js.map +1 -0
- package/dist/writer/xml-lines.d.ts +17 -0
- package/dist/writer/xml-lines.d.ts.map +1 -0
- package/dist/writer/xml-lines.js +69 -0
- package/dist/writer/xml-lines.js.map +1 -0
- package/package.json +5 -5
|
@@ -1,105 +1,257 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* Canonical XSD-regex → JavaScript-regex translator shared by the
|
|
6
|
+
* constraint matcher (`matchPattern`) and the document auditor
|
|
7
|
+
* (`audit/coherence`). Keeping a single implementation avoids the two
|
|
8
|
+
* dialects drifting apart.
|
|
9
|
+
*
|
|
10
|
+
* Follows XML Schema Part 2, Appendix F. Where the dialects differ:
|
|
11
|
+
*
|
|
12
|
+
* - No anchors: XSD patterns always match the whole value, so `^` and
|
|
13
|
+
* `$` are ordinary characters. Outside a class they become `\^` / `\$`
|
|
14
|
+
* (#7400), except that a pattern-initial `^` and pattern-final `$` are
|
|
15
|
+
* dropped as redundant anchors for compatibility with IDS files written
|
|
16
|
+
* for regex dialects that have them (`^.*$`, #1097). Inside a class `^`
|
|
17
|
+
* negates only in first position, as in JS.
|
|
18
|
+
* - `.` is `[^\n\r]` (JS `.` also excludes U+2028 / U+2029).
|
|
19
|
+
* - Single-character escapes `\n \r \t \\ \| \. \? \* \+ \( \) \{ \}
|
|
20
|
+
* \- \[ \] \^` are literals. `\-` is emitted as `-` outside a class,
|
|
21
|
+
* where the `u` flag rejects it (#7400). `\/` and `\$` are accepted as
|
|
22
|
+
* lenient extensions (common in authored IDS, and unambiguous); any
|
|
23
|
+
* other escape is not XSD and is reported as unsupported.
|
|
24
|
+
* - Multi-character escapes: `\s` is only space, tab, CR, LF; `\d` is
|
|
25
|
+
* `\p{Nd}`; `\w` is every character outside `\p{P}`, `\p{Z}`, `\p{C}`
|
|
26
|
+
* (the Appendix F definition; until #7400 this was approximated as
|
|
27
|
+
* `[\p{L}\p{Nd}]`, which wrongly excluded symbols and marks); `\i` / `\c`
|
|
28
|
+
* are exactly the XML 1.0 Fifth Edition NameStartChar / NameChar
|
|
29
|
+
* productions. Upper
|
|
30
|
+
* case is the complement.
|
|
31
|
+
* - `\p{IsBlock}` / `\P{IsBlock}` name a Unicode block (Appendix F.1.1),
|
|
32
|
+
* translated to its code-point range(s) (`xsd-regex-blocks.ts`).
|
|
33
|
+
* The Appendix F category escapes (`\p{Lu}`, `\P{Nd}`) pass through:
|
|
34
|
+
* JS knows the same names. Any other property name JS would accept
|
|
35
|
+
* (`\p{Emoji}`, `\p{Script=Latin}`) is not XSD and is unsupported.
|
|
36
|
+
* - Class subtraction `[a-z-[aeiou]]` is translated exactly to a negative
|
|
37
|
+
* lookahead (`translateSubtraction`).
|
|
38
|
+
*
|
|
39
|
+
* A class whose member is a complement (`[a\W]`, `[x\P{IsBasicLatin}]`)
|
|
40
|
+
* cannot be spliced into one JS `[ … ]` without the ES2024 `v` flag's set
|
|
41
|
+
* operations, which this package does not rely on (its ES2022 browser
|
|
42
|
+
* baseline predates them). Instead the class is rewritten as a union,
|
|
43
|
+
* `[a\W]` → `(?:[a]|[\p{P}\p{Z}\p{C}])`, and a negated one as an
|
|
44
|
+
* intersection via single-character lookaheads, `[^a\w]` →
|
|
45
|
+
* `(?:(?![a])[\p{P}\p{Z}\p{C}])`. Both consume exactly one character and
|
|
46
|
+
* are exact, like the subtraction translation.
|
|
47
|
+
*
|
|
48
|
+
* The compiled `RegExp` MUST use the `u` flag. A construct with no exact
|
|
49
|
+
* JS form (an unknown block or property name, an escape XSD does not
|
|
50
|
+
* define, an undelimitable subtraction) sets `supported: false` with a
|
|
51
|
+
* reason; the matcher then refuses the pattern instead of guessing.
|
|
52
|
+
*/
|
|
53
|
+
import { xsdBlockClassMembers } from './xsd-regex-blocks.js';
|
|
4
54
|
/** Any single character — placeholder for untranslatable constructs. */
|
|
5
55
|
const ANY_OUTSIDE_CLASS = '[\\s\\S]';
|
|
6
56
|
const ANY_INSIDE_CLASS = '\\s\\S';
|
|
7
57
|
/**
|
|
8
58
|
* `TranslateResult.reason` when the pattern uses XSD character-class
|
|
9
|
-
* subtraction (`[a-z-[aeiou]
|
|
10
|
-
* distinguish this specific construct — rather than "some construct is
|
|
11
|
-
* unsupported" in general — doesn't have to duplicate the message
|
|
12
|
-
* string (see `matchPattern`'s fail-closed check, which refuses only
|
|
13
|
-
* a subtraction pattern rather than every approximated construct).
|
|
59
|
+
* subtraction that cannot be delimited (`[a-z-[aeiou]`).
|
|
14
60
|
*/
|
|
15
|
-
|
|
61
|
+
const SUBTRACTION_UNSUPPORTED_REASON = 'XSD character-class subtraction is not supported in JS regex';
|
|
62
|
+
const S_MEMBERS = '\\x20\\t\\n\\r';
|
|
63
|
+
/** XML 1.0 Fifth Edition `NameStartChar`, the set `\i` names. */
|
|
64
|
+
const I_MEMBERS = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D' +
|
|
65
|
+
'\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF' +
|
|
66
|
+
'\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}';
|
|
67
|
+
/** XML 1.0 Fifth Edition `NameChar`, the set `\c` names. */
|
|
68
|
+
const C_MEMBERS = I_MEMBERS + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040';
|
|
69
|
+
/** `\W`: XSD `\w` is `[#x0000-#x10FFFF]-[\p{P}\p{Z}\p{C}]`. */
|
|
70
|
+
const W_COMPLEMENT = '\\p{P}\\p{Z}\\p{C}';
|
|
71
|
+
const MULTI_CHAR_ESCAPES = {
|
|
72
|
+
s: { members: S_MEMBERS, negated: false },
|
|
73
|
+
S: { members: S_MEMBERS, negated: true },
|
|
74
|
+
i: { members: I_MEMBERS, negated: false },
|
|
75
|
+
I: { members: I_MEMBERS, negated: true },
|
|
76
|
+
c: { members: C_MEMBERS, negated: false },
|
|
77
|
+
C: { members: C_MEMBERS, negated: true },
|
|
78
|
+
d: { members: '\\p{Nd}', negated: false, bare: true },
|
|
79
|
+
D: { members: '\\P{Nd}', negated: false, bare: true },
|
|
80
|
+
w: { members: W_COMPLEMENT, negated: true },
|
|
81
|
+
W: { members: W_COMPLEMENT, negated: false },
|
|
82
|
+
};
|
|
83
|
+
/** XSD `SingleCharEsc` characters, plus the lenient `/` and `$`. */
|
|
84
|
+
const SINGLE_CHAR_ESCAPES = new Set('nrt\\|.?*+(){}-[]^/$');
|
|
16
85
|
/**
|
|
17
86
|
* Translate the XSD pattern. Returns the JS-compatible pattern plus a
|
|
18
|
-
* `supported` flag — when `false`,
|
|
19
|
-
*
|
|
87
|
+
* `supported` flag — when `false`, `reason` names the construct that has
|
|
88
|
+
* no exact JS form and the pattern must not be trusted.
|
|
20
89
|
*/
|
|
21
90
|
export function translateXsdRegex(pattern) {
|
|
22
|
-
let out = '';
|
|
23
|
-
let i = 0;
|
|
24
|
-
let inClass = false;
|
|
25
91
|
let reason = '';
|
|
26
92
|
// The first reason wins, except that an undelimitable subtraction always
|
|
27
|
-
// does:
|
|
28
|
-
// approximated construct must not hide it (review on #5286).
|
|
93
|
+
// does: it is the most specific diagnostic (review on #5286).
|
|
29
94
|
const flag = (r) => {
|
|
30
95
|
if (!reason || r === SUBTRACTION_UNSUPPORTED_REASON)
|
|
31
96
|
reason = r;
|
|
32
97
|
};
|
|
98
|
+
let out = '';
|
|
99
|
+
let i = 0;
|
|
33
100
|
while (i < pattern.length) {
|
|
34
101
|
const ch = pattern.charAt(i);
|
|
35
|
-
if (ch === '\\'
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (m) {
|
|
42
|
-
if (isJsUnicodeProperty(next, m[1])) {
|
|
43
|
-
out += m[0];
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
flag(`Unicode property \\${next}{${m[1]}} has no JS equivalent`);
|
|
47
|
-
out += inClass ? ANY_INSIDE_CLASS : ANY_OUTSIDE_CLASS;
|
|
48
|
-
}
|
|
49
|
-
i += m[0].length;
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
out += ch + next;
|
|
53
|
-
i += 2;
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
const mapped = mapEscape(next, inClass);
|
|
57
|
-
if (mapped === UNSUPPORTED_IN_CLASS) {
|
|
58
|
-
flag(`\\${next} cannot be expressed inside a character class in JS`);
|
|
59
|
-
out += ANY_INSIDE_CLASS;
|
|
102
|
+
if (ch === '\\') {
|
|
103
|
+
const esc = readEscape(pattern, i);
|
|
104
|
+
i += esc.length;
|
|
105
|
+
if (esc.kind === 'error') {
|
|
106
|
+
flag(esc.reason);
|
|
107
|
+
out += ANY_OUTSIDE_CLASS;
|
|
60
108
|
}
|
|
61
|
-
else if (
|
|
62
|
-
out +=
|
|
109
|
+
else if (esc.kind === 'char') {
|
|
110
|
+
out += esc.outside;
|
|
63
111
|
}
|
|
64
112
|
else {
|
|
65
|
-
|
|
66
|
-
out += ch + next;
|
|
113
|
+
out += setAtom(esc.set);
|
|
67
114
|
}
|
|
68
|
-
i += 2;
|
|
69
115
|
continue;
|
|
70
116
|
}
|
|
71
|
-
if (ch === '['
|
|
117
|
+
if (ch === '[') {
|
|
72
118
|
const span = scanClass(pattern, i);
|
|
73
|
-
if (span
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
if (span === undefined && /^\[[^\]]*-\[/.test(pattern.slice(i))) {
|
|
83
|
-
// A subtraction we cannot delimit (unterminated): refuse it rather
|
|
84
|
-
// than guess which characters it excludes.
|
|
85
|
-
flag(SUBTRACTION_UNSUPPORTED_REASON);
|
|
119
|
+
if (!span) {
|
|
120
|
+
// Unterminated: refuse an apparent subtraction rather than guess
|
|
121
|
+
// which characters it excludes; anything else stays verbatim and
|
|
122
|
+
// fails to compile, which the auditor reports as an error.
|
|
123
|
+
if (/^\[[^\]]*-\[/.test(pattern.slice(i)))
|
|
124
|
+
flag(SUBTRACTION_UNSUPPORTED_REASON);
|
|
125
|
+
out += pattern.slice(i);
|
|
126
|
+
break;
|
|
86
127
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
128
|
+
out += span.subtract
|
|
129
|
+
? translateSubtraction(pattern, span, flag)
|
|
130
|
+
: translateClass(pattern, span.start + 1, span.baseEnd, flag);
|
|
131
|
+
i = span.end;
|
|
90
132
|
continue;
|
|
91
133
|
}
|
|
92
|
-
if (ch === '
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
134
|
+
if (ch === '^' || ch === '$') {
|
|
135
|
+
// Compatibility: a pattern-initial `^` and pattern-final `$` are
|
|
136
|
+
// dropped as redundant anchors (the match is whole-value anyway),
|
|
137
|
+
// as the reference implementation's `re.fullmatch` reads them —
|
|
138
|
+
// `^.*$` is a common IDS idiom (#1097). Everywhere else they are the
|
|
139
|
+
// literal characters XSD defines (`US$?`, `a$b`; #7400).
|
|
140
|
+
const isEdgeAnchor = ch === '^' ? i === 0 : i === pattern.length - 1 && i > 0;
|
|
141
|
+
if (!isEdgeAnchor)
|
|
142
|
+
out += `\\${ch}`;
|
|
97
143
|
}
|
|
98
|
-
|
|
144
|
+
else if (ch === '.')
|
|
145
|
+
out += '[^\\n\\r]';
|
|
146
|
+
else
|
|
147
|
+
out += ch;
|
|
99
148
|
i++;
|
|
100
149
|
}
|
|
101
150
|
return { pattern: out, supported: reason === '', reason };
|
|
102
151
|
}
|
|
152
|
+
/** Read the escape starting at `pattern[i] === '\\'`. */
|
|
153
|
+
function readEscape(pattern, i) {
|
|
154
|
+
const next = pattern.charAt(i + 1);
|
|
155
|
+
if (next === '') {
|
|
156
|
+
return { kind: 'error', reason: 'pattern ends with a lone backslash', length: 1 };
|
|
157
|
+
}
|
|
158
|
+
if (next === 'p' || next === 'P') {
|
|
159
|
+
const m = /^\\[pP]\{([^}]*)\}/.exec(pattern.slice(i));
|
|
160
|
+
if (!m) {
|
|
161
|
+
return { kind: 'error', reason: `\\${next} must be followed by {name}`, length: 2 };
|
|
162
|
+
}
|
|
163
|
+
const name = m[1];
|
|
164
|
+
const length = m[0].length;
|
|
165
|
+
if (name.startsWith('Is')) {
|
|
166
|
+
const members = xsdBlockClassMembers(name.slice(2));
|
|
167
|
+
if (members === undefined) {
|
|
168
|
+
return {
|
|
169
|
+
kind: 'error',
|
|
170
|
+
reason: `\\${next}{${name}} names no Unicode block XML Schema defines`,
|
|
171
|
+
length,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
return { kind: 'set', set: { members, negated: next === 'P' }, length };
|
|
175
|
+
}
|
|
176
|
+
if (!XSD_CATEGORIES.has(name)) {
|
|
177
|
+
return {
|
|
178
|
+
kind: 'error',
|
|
179
|
+
reason: `\\${next}{${name}} is not an XSD category or block escape`,
|
|
180
|
+
length,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
return { kind: 'set', set: { members: m[0], negated: false, bare: true }, length };
|
|
184
|
+
}
|
|
185
|
+
const multi = MULTI_CHAR_ESCAPES[next];
|
|
186
|
+
if (multi)
|
|
187
|
+
return { kind: 'set', set: multi, length: 2 };
|
|
188
|
+
if (SINGLE_CHAR_ESCAPES.has(next)) {
|
|
189
|
+
const escaped = `\\${next}`;
|
|
190
|
+
return { kind: 'char', inside: escaped, outside: next === '-' ? '-' : escaped, length: 2 };
|
|
191
|
+
}
|
|
192
|
+
return { kind: 'error', reason: `\\${next} is not a valid XSD regex escape`, length: 2 };
|
|
193
|
+
}
|
|
194
|
+
/** A set as a standalone atom outside any class. */
|
|
195
|
+
function setAtom(set) {
|
|
196
|
+
if (set.negated)
|
|
197
|
+
return `[^${set.members}]`;
|
|
198
|
+
return set.bare ? set.members : `[${set.members}]`;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Translate the class body `pattern[from, to)` (without brackets) into an
|
|
202
|
+
* expression that consumes exactly one character. Positive members are
|
|
203
|
+
* collected into one JS class; complemented members (`\W`, `\S`, `\I`,
|
|
204
|
+
* `\C`, `\w`, `\P{Is…}`) are combined by union or, for a negated class,
|
|
205
|
+
* intersection — see the module comment.
|
|
206
|
+
*/
|
|
207
|
+
function translateClass(pattern, from, to, flag) {
|
|
208
|
+
let j = from;
|
|
209
|
+
const negated = pattern.charAt(j) === '^' && j + 1 < to;
|
|
210
|
+
if (negated)
|
|
211
|
+
j++;
|
|
212
|
+
let positive = '';
|
|
213
|
+
const complements = [];
|
|
214
|
+
while (j < to) {
|
|
215
|
+
const ch = pattern.charAt(j);
|
|
216
|
+
if (ch !== '\\') {
|
|
217
|
+
// A literal `^` is escaped: `positive` is re-wrapped in fresh
|
|
218
|
+
// brackets below, where a leading `^` would turn into JS negation
|
|
219
|
+
// (`[\w^]` must not become `[^]`; review on #7410).
|
|
220
|
+
positive += ch === '^' ? '\\^' : ch;
|
|
221
|
+
j++;
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
const esc = readEscape(pattern, j);
|
|
225
|
+
j += esc.length;
|
|
226
|
+
if (esc.kind === 'error') {
|
|
227
|
+
flag(esc.reason);
|
|
228
|
+
positive += ANY_INSIDE_CLASS;
|
|
229
|
+
}
|
|
230
|
+
else if (esc.kind === 'char') {
|
|
231
|
+
positive += esc.inside;
|
|
232
|
+
}
|
|
233
|
+
else if (esc.set.negated) {
|
|
234
|
+
complements.push(esc.set.members);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
positive += esc.set.members;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
if (complements.length === 0)
|
|
241
|
+
return negated ? `[^${positive}]` : `[${positive}]`;
|
|
242
|
+
if (!negated) {
|
|
243
|
+
// [P ∪ ¬S1 ∪ … ∪ ¬Sn]
|
|
244
|
+
const alternatives = complements.map((c) => `[^${c}]`);
|
|
245
|
+
if (positive)
|
|
246
|
+
alternatives.unshift(`[${positive}]`);
|
|
247
|
+
return alternatives.length === 1 ? alternatives[0] : `(?:${alternatives.join('|')})`;
|
|
248
|
+
}
|
|
249
|
+
// [^P ∪ ¬S1 ∪ … ∪ ¬Sn] = S1 ∩ … ∩ Sn ∩ ¬P
|
|
250
|
+
const [first, ...rest] = complements;
|
|
251
|
+
const guards = rest.map((c) => `(?=[${c}])`).join('') + (positive ? `(?![${positive}])` : '');
|
|
252
|
+
return guards ? `(?:${guards}[${first}])` : `[${first}]`;
|
|
253
|
+
}
|
|
254
|
+
/** Delimit the class opening at `pattern[start] === '['`, see `ClassSpan`. */
|
|
103
255
|
function scanClass(pattern, start) {
|
|
104
256
|
let j = start + 1;
|
|
105
257
|
while (j < pattern.length) {
|
|
@@ -128,75 +280,20 @@ function scanClass(pattern, start) {
|
|
|
128
280
|
* refuses an excluded character and the base class then consumes one. This
|
|
129
281
|
* is exact, not an approximation, and it nests for `[a-z-[b-y-[c]]]`.
|
|
130
282
|
*/
|
|
131
|
-
function translateSubtraction(pattern, span) {
|
|
132
|
-
const base =
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
reason: base.reason || excluded.reason,
|
|
139
|
-
};
|
|
283
|
+
function translateSubtraction(pattern, span, flag) {
|
|
284
|
+
const base = translateClass(pattern, span.start + 1, span.baseEnd, flag);
|
|
285
|
+
const sub = span.subtract;
|
|
286
|
+
const excluded = sub.subtract
|
|
287
|
+
? translateSubtraction(pattern, sub, flag)
|
|
288
|
+
: translateClass(pattern, sub.start + 1, sub.baseEnd, flag);
|
|
289
|
+
return `(?:(?!${excluded})${base})`;
|
|
140
290
|
}
|
|
141
|
-
/** Sentinel: escape has no faithful form inside a `[ … ]` character class. */
|
|
142
|
-
const UNSUPPORTED_IN_CLASS = '\0unsupported-in-class';
|
|
143
291
|
/**
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
* The XML production rules these escapes implement live in the W3C XML
|
|
150
|
-
* 1.0 spec § 2.3 (NameStartChar / NameChar) and § 2.5 (Digit / Letter).
|
|
151
|
-
* JS Unicode property escapes (`\p{L}`, `\p{Nd}`) are equivalent for our
|
|
152
|
-
* purposes under the `u` flag. `inClass` selects the bare-members form
|
|
153
|
-
* so the result can be spliced into a surrounding class.
|
|
292
|
+
* The category escapes XML Schema Part 2 Appendix F defines (`\p{Lu}` …).
|
|
293
|
+
* XSD has no `Cs`. JS accepts many more property names (`Emoji`,
|
|
294
|
+
* `Script=Latin`, `Greek`), but they are not XSD and must not be passed
|
|
295
|
+
* through as supported (review on #7410). Each of these is a valid JS
|
|
296
|
+
* General_Category value with the same meaning.
|
|
154
297
|
*/
|
|
155
|
-
|
|
156
|
-
switch (ch) {
|
|
157
|
-
case 'i':
|
|
158
|
-
// NameStartChar: letters + `_` + `:` + extended Unicode letters.
|
|
159
|
-
return inClass ? '\\p{L}_:' : '[\\p{L}_:]';
|
|
160
|
-
case 'c':
|
|
161
|
-
// NameChar: NameStartChar + digits + `.` + `-` + U+00B7 + combining marks.
|
|
162
|
-
return inClass
|
|
163
|
-
? '\\p{L}\\p{Nd}_:.\\-\\u00B7\\u0300-\\u036F\\u203F-\\u2040'
|
|
164
|
-
: '[\\p{L}\\p{Nd}_:.\\-\\u00B7\\u0300-\\u036F\\u203F-\\u2040]';
|
|
165
|
-
case 'd':
|
|
166
|
-
// JS \d matches `[0-9]`; XSD \d matches all Unicode digits.
|
|
167
|
-
return '\\p{Nd}';
|
|
168
|
-
case 'D':
|
|
169
|
-
return '\\P{Nd}';
|
|
170
|
-
case 'w':
|
|
171
|
-
// JS \w matches `[A-Za-z0-9_]`; XSD \w is Unicode letters + digits
|
|
172
|
-
// without underscore.
|
|
173
|
-
return inClass ? '\\p{L}\\p{Nd}' : '[\\p{L}\\p{Nd}]';
|
|
174
|
-
case 'I':
|
|
175
|
-
return inClass ? UNSUPPORTED_IN_CLASS : '[^\\p{L}_:]';
|
|
176
|
-
case 'C':
|
|
177
|
-
return inClass
|
|
178
|
-
? UNSUPPORTED_IN_CLASS
|
|
179
|
-
: '[^\\p{L}\\p{Nd}_:.\\-\\u00B7\\u0300-\\u036F\\u203F-\\u2040]';
|
|
180
|
-
case 'W':
|
|
181
|
-
return inClass ? UNSUPPORTED_IN_CLASS : '[^\\p{L}\\p{Nd}]';
|
|
182
|
-
default:
|
|
183
|
-
return undefined;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Whether JS's Unicode regex dialect recognises the property name in a
|
|
188
|
-
* `\p{name}` / `\P{name}` escape. Delegates to the engine itself rather
|
|
189
|
-
* than maintaining a name list — XSD `\p{L}` etc. compile, while block
|
|
190
|
-
* escapes like `\p{IsBasicLatin}` throw.
|
|
191
|
-
*/
|
|
192
|
-
function isJsUnicodeProperty(pOrP, name) {
|
|
193
|
-
try {
|
|
194
|
-
// eslint-disable-next-line no-new
|
|
195
|
-
new RegExp(`\\${pOrP}{${name}}`, 'u');
|
|
196
|
-
return true;
|
|
197
|
-
}
|
|
198
|
-
catch {
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
298
|
+
const XSD_CATEGORIES = new Set('L Lu Ll Lt Lm Lo M Mn Mc Me N Nd Nl No P Pc Pd Ps Pe Pi Pf Po Z Zs Zl Zp S Sm Sc Sk So C Cc Cf Co Cn'.split(' '));
|
|
202
299
|
//# sourceMappingURL=xsd-regex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xsd-regex.js","sourceRoot":"","sources":["../../src/constraints/xsd-regex.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"xsd-regex.js","sourceRoot":"","sources":["../../src/constraints/xsd-regex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-facet.d.ts","sourceRoot":"","sources":["../../src/facets/entity-facet.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6CnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,GACxB,gBAAgB,CAsGlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,GACxB,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,eAAe,GACxB,MAAM,EAAE,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"entity-facet.d.ts","sourceRoot":"","sources":["../../src/facets/entity-facet.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6CnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,GACxB,gBAAgB,CAsGlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,GACxB,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,eAAe,GACxB,MAAM,EAAE,GAAG,SAAS,CAyCtB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,CAgCV"}
|
|
@@ -204,7 +204,10 @@ export function filterByEntityFacet(facet, accessor) {
|
|
|
204
204
|
}
|
|
205
205
|
const ids = [];
|
|
206
206
|
for (const value of constraint.values) {
|
|
207
|
-
ids
|
|
207
|
+
// One push per id: spreading a type's ids as call arguments throws
|
|
208
|
+
// a RangeError once a type has more than about 125,000 instances.
|
|
209
|
+
for (const id of accessor.getEntitiesByType(value))
|
|
210
|
+
ids.push(id);
|
|
208
211
|
}
|
|
209
212
|
return ids;
|
|
210
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-facet.js","sourceRoot":"","sources":["../../src/facets/entity-facet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entity-facet.js","sourceRoot":"","sources":["../../src/facets/entity-facet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partof-facet.d.ts","sourceRoot":"","sources":["../../src/facets/partof-facet.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"partof-facet.d.ts","sourceRoot":"","sources":["../../src/facets/partof-facet.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAuFnD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,GACxB,gBAAgB,CAgDlB"}
|