@ifc-lite/ids 3.1.0 → 3.3.1
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/bounded-cache.d.ts +18 -0
- package/dist/bounded-cache.d.ts.map +1 -0
- package/dist/bounded-cache.js +40 -0
- package/dist/bounded-cache.js.map +1 -0
- 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 +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -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/report-types.d.ts +7 -0
- package/dist/report-types.d.ts.map +1 -1
- 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/pass-rate.d.ts +14 -0
- package/dist/validation/pass-rate.d.ts.map +1 -0
- package/dist/validation/pass-rate.js +25 -0
- package/dist/validation/pass-rate.js.map +1 -0
- 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 +4 -2
- package/dist/validation/validator.d.ts.map +1 -1
- package/dist/validation/validator.js +23 -18
- 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
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { matchConstraint, formatConstraint } from '../constraints/index.js';
|
|
5
5
|
import { matchPredefinedType } from './predefined-type-match.js';
|
|
6
|
+
import { checkPartOfParentFacets } from '../preview/partof-nested.js';
|
|
6
7
|
/** IFC entity NAME comparisons are case-insensitive per IDS spec. Predefined
|
|
7
8
|
* types are NOT — see `predefined-type-match.ts`. */
|
|
8
9
|
const IFC_CASE_INSENSITIVE = { caseInsensitive: true };
|
|
@@ -16,6 +17,64 @@ const RELATION_NAMES = {
|
|
|
16
17
|
IfcRelFillsElement: 'filling',
|
|
17
18
|
'IfcRelVoidsElement IfcRelFillsElement': 'connected through an opening to',
|
|
18
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* The six part-of relations the IDS manual lists, plus the merged
|
|
22
|
+
* voids/fills token. The single fills and voids links are asked for
|
|
23
|
+
* directly so the opening a window fills is reached whatever an
|
|
24
|
+
* accessor's merged walk returns.
|
|
25
|
+
*/
|
|
26
|
+
const ALL_PARTOF_RELATIONS = [
|
|
27
|
+
'IfcRelAggregates',
|
|
28
|
+
'IfcRelAssignsToGroup',
|
|
29
|
+
'IfcRelContainedInSpatialStructure',
|
|
30
|
+
'IfcRelNests',
|
|
31
|
+
'IfcRelVoidsElement',
|
|
32
|
+
'IfcRelFillsElement',
|
|
33
|
+
'IfcRelVoidsElement IfcRelFillsElement',
|
|
34
|
+
];
|
|
35
|
+
/** The relation a failure names: `part of` when the facet leaves it open. */
|
|
36
|
+
function relationKey(facet) {
|
|
37
|
+
return facet.anyRelation ? 'part of' : facet.relation;
|
|
38
|
+
}
|
|
39
|
+
function describeRelation(facet) {
|
|
40
|
+
if (facet.anyRelation)
|
|
41
|
+
return 'part of';
|
|
42
|
+
return RELATION_NAMES[facet.relation] || facet.relation;
|
|
43
|
+
}
|
|
44
|
+
/** Ancestors reachable through one relation (transitive within it). */
|
|
45
|
+
function collectAncestors(expressId, relation, accessor) {
|
|
46
|
+
const ancestors = accessor.getAncestors ? accessor.getAncestors(expressId, relation) : [];
|
|
47
|
+
if (ancestors.length === 0) {
|
|
48
|
+
const direct = accessor.getParent(expressId, relation);
|
|
49
|
+
if (direct)
|
|
50
|
+
ancestors.push(direct);
|
|
51
|
+
}
|
|
52
|
+
return ancestors;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* A partOf facet without a relation considers every part-of relation,
|
|
56
|
+
* recursively (IDS 1.0 user manual, #7401), so a chain may mix them: a
|
|
57
|
+
* mullion aggregated into a curtain wall contained in a storey is part of
|
|
58
|
+
* that storey. Walk to a fixpoint over all relations, nearest first.
|
|
59
|
+
*/
|
|
60
|
+
function collectAnyRelationAncestors(expressId, accessor) {
|
|
61
|
+
const out = [];
|
|
62
|
+
const seen = new Set([expressId]);
|
|
63
|
+
const queue = [expressId];
|
|
64
|
+
while (queue.length > 0) {
|
|
65
|
+
const id = queue.shift();
|
|
66
|
+
for (const relation of ALL_PARTOF_RELATIONS) {
|
|
67
|
+
for (const parent of collectAncestors(id, relation, accessor)) {
|
|
68
|
+
if (seen.has(parent.expressId))
|
|
69
|
+
continue;
|
|
70
|
+
seen.add(parent.expressId);
|
|
71
|
+
out.push(parent);
|
|
72
|
+
queue.push(parent.expressId);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return out;
|
|
77
|
+
}
|
|
19
78
|
/**
|
|
20
79
|
* Check if an entity matches a partOf facet
|
|
21
80
|
*/
|
|
@@ -25,16 +84,11 @@ export function checkPartOfFacet(facet, expressId, accessor) {
|
|
|
25
84
|
// pass if ANY matches the requirement entity. Fall back to single-
|
|
26
85
|
// step `getParent` when the accessor doesn't expose ancestor
|
|
27
86
|
// traversal.
|
|
28
|
-
const ancestors =
|
|
29
|
-
?
|
|
30
|
-
:
|
|
31
|
-
if (ancestors.length === 0) {
|
|
32
|
-
const direct = accessor.getParent(expressId, facet.relation);
|
|
33
|
-
if (direct)
|
|
34
|
-
ancestors.push(direct);
|
|
35
|
-
}
|
|
87
|
+
const ancestors = facet.anyRelation
|
|
88
|
+
? collectAnyRelationAncestors(expressId, accessor)
|
|
89
|
+
: collectAncestors(expressId, facet.relation, accessor);
|
|
36
90
|
if (ancestors.length === 0) {
|
|
37
|
-
const relationName =
|
|
91
|
+
const relationName = describeRelation(facet);
|
|
38
92
|
const expectedEntity = facet.entity
|
|
39
93
|
? formatConstraint(facet.entity.name)
|
|
40
94
|
: 'any entity';
|
|
@@ -44,10 +98,10 @@ export function checkPartOfFacet(facet, expressId, accessor) {
|
|
|
44
98
|
expectedValue: `${relationName} ${expectedEntity}`,
|
|
45
99
|
failure: {
|
|
46
100
|
type: 'PARTOF_RELATION_MISSING',
|
|
47
|
-
field: facet
|
|
101
|
+
field: relationKey(facet),
|
|
48
102
|
expected: `${relationName} ${expectedEntity}`,
|
|
49
103
|
context: {
|
|
50
|
-
relation: facet
|
|
104
|
+
relation: relationKey(facet),
|
|
51
105
|
},
|
|
52
106
|
},
|
|
53
107
|
};
|
|
@@ -58,7 +112,7 @@ export function checkPartOfFacet(facet, expressId, accessor) {
|
|
|
58
112
|
// generic "no match" form.
|
|
59
113
|
let bestFailure;
|
|
60
114
|
for (const parent of ancestors) {
|
|
61
|
-
const result = checkAncestorAgainstFacet(facet, parent);
|
|
115
|
+
const result = checkAncestorAgainstFacet(facet, parent, accessor);
|
|
62
116
|
if (result.passed)
|
|
63
117
|
return result;
|
|
64
118
|
if (!bestFailure ||
|
|
@@ -69,10 +123,15 @@ export function checkPartOfFacet(facet, expressId, accessor) {
|
|
|
69
123
|
}
|
|
70
124
|
return bestFailure;
|
|
71
125
|
}
|
|
72
|
-
function checkAncestorAgainstFacet(facet, parent) {
|
|
126
|
+
function checkAncestorAgainstFacet(facet, parent, accessor) {
|
|
127
|
+
// IDS 1.1 PREVIEW (#379/#380): conditions on the related element itself.
|
|
128
|
+
// Unset on every IDS 1.0 document, so this is a no-op there.
|
|
129
|
+
const nestedFailure = facet.facets ? checkPartOfParentFacets(facet, parent, accessor) : undefined;
|
|
73
130
|
// If no entity constraint, just check if relationship exists
|
|
74
131
|
if (!facet.entity) {
|
|
75
|
-
|
|
132
|
+
if (nestedFailure)
|
|
133
|
+
return nestedFailure;
|
|
134
|
+
const relationName = describeRelation(facet);
|
|
76
135
|
return {
|
|
77
136
|
passed: true,
|
|
78
137
|
actualValue: `${relationName} ${parent.entityType}`,
|
|
@@ -81,7 +140,7 @@ function checkAncestorAgainstFacet(facet, parent) {
|
|
|
81
140
|
}
|
|
82
141
|
// Check parent entity type (case-insensitive for IFC entity names)
|
|
83
142
|
if (!matchConstraint(facet.entity.name, parent.entityType, IFC_CASE_INSENSITIVE)) {
|
|
84
|
-
const relationName =
|
|
143
|
+
const relationName = describeRelation(facet);
|
|
85
144
|
return {
|
|
86
145
|
passed: false,
|
|
87
146
|
actualValue: `${relationName} ${parent.entityType}`,
|
|
@@ -92,7 +151,7 @@ function checkAncestorAgainstFacet(facet, parent) {
|
|
|
92
151
|
actual: parent.entityType,
|
|
93
152
|
expected: formatConstraint(facet.entity.name),
|
|
94
153
|
context: {
|
|
95
|
-
relation: facet
|
|
154
|
+
relation: relationKey(facet),
|
|
96
155
|
parentId: String(parent.expressId),
|
|
97
156
|
},
|
|
98
157
|
},
|
|
@@ -116,7 +175,7 @@ function checkAncestorAgainstFacet(facet, parent) {
|
|
|
116
175
|
field: 'predefinedType',
|
|
117
176
|
expected: formatConstraint(facet.entity.predefinedType),
|
|
118
177
|
context: {
|
|
119
|
-
relation: facet
|
|
178
|
+
relation: relationKey(facet),
|
|
120
179
|
parentType: parent.entityType,
|
|
121
180
|
},
|
|
122
181
|
},
|
|
@@ -133,14 +192,16 @@ function checkAncestorAgainstFacet(facet, parent) {
|
|
|
133
192
|
actual: outcome.actual,
|
|
134
193
|
expected: formatConstraint(facet.entity.predefinedType),
|
|
135
194
|
context: {
|
|
136
|
-
relation: facet
|
|
195
|
+
relation: relationKey(facet),
|
|
137
196
|
parentType: parent.entityType,
|
|
138
197
|
},
|
|
139
198
|
},
|
|
140
199
|
};
|
|
141
200
|
}
|
|
142
201
|
}
|
|
143
|
-
|
|
202
|
+
if (nestedFailure)
|
|
203
|
+
return nestedFailure;
|
|
204
|
+
const relationName = describeRelation(facet);
|
|
144
205
|
const parentDesc = parent.predefinedType
|
|
145
206
|
? `${parent.entityType}[${parent.predefinedType}]`
|
|
146
207
|
: parent.entityType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partof-facet.js","sourceRoot":"","sources":["../../src/facets/partof-facet.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAa/D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAqB,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"partof-facet.js","sourceRoot":"","sources":["../../src/facets/partof-facet.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,14 @@
|
|
|
17
17
|
* `USERDEFINED`, `NOTDEFINED`, …).
|
|
18
18
|
* 2. Only when that raw token is `USERDEFINED`, fall back to the
|
|
19
19
|
* user-defined name (`ObjectType`/`ElementType`/`ProcessType`).
|
|
20
|
-
* 3. When no raw token is reported at all
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* 3. When no raw token is reported at all, compare against the
|
|
21
|
+
* resolved name directly. This serves accessors that do not
|
|
22
|
+
* implement `getPredefinedTypeRaw` and report the already-resolved
|
|
23
|
+
* predefined type through `getObjectType` alone. It is NOT an
|
|
24
|
+
* `ObjectType` fallback: an accessor must return `undefined` from
|
|
25
|
+
* `getObjectType` for an entity with no predefined type, so an
|
|
26
|
+
* unset or `NOTDEFINED` PredefinedType never matches a custom
|
|
27
|
+
* literal through a stray `ObjectType` (IDS 1.0; #7394).
|
|
23
28
|
*
|
|
24
29
|
* Both comparisons are CASE-SENSITIVE: enum tokens are uppercase by the
|
|
25
30
|
* IFC schema and the IDS literal must match them exactly, and the corpus
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefined-type-match.d.ts","sourceRoot":"","sources":["../../src/facets/predefined-type-match.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"predefined-type-match.d.ts","sourceRoot":"","sources":["../../src/facets/predefined-type-match.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,MAAM,mBAAmB;AAC7B,mCAAmC;AACjC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE;AAC5B,qEAAqE;GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AAC7B;;;;GAIG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,mBAAmB,CAmBrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefined-type-match.js","sourceRoot":"","sources":["../../src/facets/predefined-type-match.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"predefined-type-match.js","sourceRoot":"","sources":["../../src/facets/predefined-type-match.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAiD/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAc1D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAyB,EACzB,OAA2B,EAC3B,eAAmC;IAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAE5D,IAAI,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,IACE,OAAO,KAAK,aAAa;QACzB,eAAe;QACf,eAAe,KAAK,OAAO;QAC3B,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,EAC5C,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,eAAe,IAAI,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;QAChF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;AAC9E,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,17 +5,24 @@
|
|
|
5
5
|
* - IDS XML parsing
|
|
6
6
|
* - All facet types (Entity, Attribute, Property, Classification, Material, PartOf)
|
|
7
7
|
* - All constraint types (Simple, Pattern, Enumeration, Bounds)
|
|
8
|
-
* - Multi-language translation (EN, DE, FR)
|
|
8
|
+
* - Multi-language translation (EN, DE, FR, IT)
|
|
9
9
|
* - Human-readable validation reports
|
|
10
10
|
*/
|
|
11
11
|
export type { IDSDocument, IDSInfo, IDSSpecification, IDSApplicability, IDSRequirement, IFCVersion, RequirementOptionality, IDSFacet, FacetType, IDSEntityFacet, IDSAttributeFacet, IDSPropertyFacet, IDSClassificationFacet, IDSMaterialFacet, IDSPartOfFacet, PartOfRelation, IDSConstraint, IDSSimpleValue, IDSPatternConstraint, IDSEnumerationConstraint, IDSBoundsConstraint, ValidationSource, SpecificationSummary, RequirementSummary, CheckKind, FailureReasonCode, SetResult, RequirementResult, EntityResult, SpecificationResult, ValidationReport, ValidationModelInfo, IDSValidationReport, IDSModelInfo, IDSValidationSummary, IDSSpecificationResult, IDSCardinalityResult, IDSEntityResult, IDSRequirementResult, IDSFailureDetail, FailureType, IFCDataAccessor, PropertyValueResult, PropertySetInfo, ClassificationInfo, MaterialInfo, ParentInfo, ValidatorOptions, ValidationProgress, SupportedLocale, TranslationService, } from './types.js';
|
|
12
|
-
export { parseIDS, IDSParseError } from './parser/xml-parser.js';
|
|
12
|
+
export { parseIDS, IDSParseError, type ParseIDSOptions } from './parser/xml-parser.js';
|
|
13
|
+
export { writeIdsXml, type IdsXmlFormat, type IdsXmlWriteOptions } from './writer/index.js';
|
|
14
|
+
export { IDS11_PREVIEW_FEATURES, IDS11PreviewRequiredError, findIds11Features, type IDS11FeatureInfo, } from './preview/features.js';
|
|
15
|
+
export type { IDSPreviewFlags, IDS11PreviewFeature, IDS11FeatureUse, IDS11FacetUri, IDS11FacetInstructions, IDS11ToleranceRule, } from './preview/types.js';
|
|
13
16
|
export { flattenMaterials } from './bridge/materials.js';
|
|
14
17
|
export { validateIDS, calculateSummary } from './validation/validator.js';
|
|
15
18
|
export { isIDSValidationReport } from './report-guards.js';
|
|
16
19
|
export { checkFacet, filterByFacet, checkEntityFacet, filterByEntityFacet, checkAttributeFacet, checkPropertyFacet, checkClassificationFacet, checkMaterialFacet, checkPartOfFacet, type FacetCheckResult, } from './facets/index.js';
|
|
20
|
+
export { boundedPassRate, passRateBand, type PassRateBand } from './validation/pass-rate.js';
|
|
21
|
+
export { rowForAlias as ifc2x3TypeMappingForAlias, type Ifc2x3TypeMappingRow, } from './facets/ifc2x3-type-mapping.js';
|
|
17
22
|
export { matchConstraint, formatConstraint, getConstraintMismatchReason, } from './constraints/index.js';
|
|
18
23
|
export { translateXsdRegex, type TranslateResult } from './constraints/xsd-regex.js';
|
|
24
|
+
export { generatePatternExamples, type PatternExamples, type PatternExampleOptions, } from './constraints/xsd-examples.js';
|
|
25
|
+
export { IFC2X3_MAPPED_ALIASES } from './facets/ifc2x3-type-mapping.js';
|
|
19
26
|
export { auditIDSDocument, auditIDSStructure } from './audit/index.js';
|
|
20
27
|
export type { IDSAuditCode, IDSAuditIssue, IDSAuditOptions, IDSAuditReport, IDSAuditSeverity, } from './audit/types.js';
|
|
21
28
|
export { createTranslationService } from './translation/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAMH,YAAY,EAEV,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EAGtB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,cAAc,EAGd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EAGnB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EAGnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EAGX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,UAAU,EAGV,gBAAgB,EAChB,kBAAkB,EAGlB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAMH,YAAY,EAEV,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EAGtB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,cAAc,EAGd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EAGnB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EAGnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EAGX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,UAAU,EAGV,gBAAgB,EAChB,kBAAkB,EAGlB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQvF,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQ5F,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAMzD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAM3D,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK7F,OAAO,EACL,WAAW,IAAI,yBAAyB,EACxC,KAAK,oBAAoB,GAC1B,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIrF,OAAO,EACL,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAMxE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
// ============================================================================
|
|
7
7
|
export { parseIDS, IDSParseError } from './parser/xml-parser.js';
|
|
8
8
|
// ============================================================================
|
|
9
|
+
// Writer
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// The one IDS 1.0 writer (ADR-005): `@ifc-lite/rules`' `ruleSetToIds` and the
|
|
12
|
+
// viewer's reviewed IDS drafts serialise through it.
|
|
13
|
+
export { writeIdsXml } from './writer/index.js';
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// IDS 1.1 PREVIEW (IDS-124, ADR-011) — unstable, opt-in, follows upstream
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// Candidate features of the unreleased IDS 1.1, each tied to its upstream
|
|
18
|
+
// issue. Off unless a caller passes `preview: { ids11: true }`.
|
|
19
|
+
export { IDS11_PREVIEW_FEATURES, IDS11PreviewRequiredError, findIds11Features, } from './preview/features.js';
|
|
20
|
+
// ============================================================================
|
|
9
21
|
// Material bridge
|
|
10
22
|
// ============================================================================
|
|
11
23
|
// Flattens the parser's hierarchical material graph into flat `{name,
|
|
@@ -25,6 +37,11 @@ export { isIDSValidationReport } from './report-guards.js';
|
|
|
25
37
|
// Facets
|
|
26
38
|
// ============================================================================
|
|
27
39
|
export { checkFacet, filterByFacet, checkEntityFacet, filterByEntityFacet, checkAttributeFacet, checkPropertyFacet, checkClassificationFacet, checkMaterialFacet, checkPartOfFacet, } from './facets/index.js';
|
|
40
|
+
export { boundedPassRate, passRateBand } from './validation/pass-rate.js';
|
|
41
|
+
// IFC2X3 occurrence/type mapping table (IfcAirTerminal -> IfcFlowTerminal +
|
|
42
|
+
// IfcAirTerminalType): shared with `@ifc-lite/ids-authoring`'s gate so an
|
|
43
|
+
// authored IFC2X3 facet accepts the same aliases the audit and checker do.
|
|
44
|
+
export { rowForAlias as ifc2x3TypeMappingForAlias, } from './facets/ifc2x3-type-mapping.js';
|
|
28
45
|
// ============================================================================
|
|
29
46
|
// Constraints
|
|
30
47
|
// ============================================================================
|
|
@@ -32,6 +49,13 @@ export { matchConstraint, formatConstraint, getConstraintMismatchReason, } from
|
|
|
32
49
|
// The one XSD-regex -> JS-regex translator, shared with `@ifc-lite/rules`'
|
|
33
50
|
// IDS import (#5225) so an imported pattern means what the checker reads.
|
|
34
51
|
export { translateXsdRegex } from './constraints/xsd-regex.js';
|
|
52
|
+
// Matching and non-matching example strings for an XSD pattern, verified
|
|
53
|
+
// against `matchConstraint` (pattern explanations, synthetic test fixtures).
|
|
54
|
+
export { generatePatternExamples, } from './constraints/xsd-examples.js';
|
|
55
|
+
// IFC4 class names an IFC2X3 entity facet may use through buildingSMART's
|
|
56
|
+
// occurrence/type mapping table, so authoring tools (`@ifc-lite/ids-authoring`
|
|
57
|
+
// lint) do not report them as missing from IFC2X3.
|
|
58
|
+
export { IFC2X3_MAPPED_ALIASES } from './facets/ifc2x3-type-mapping.js';
|
|
35
59
|
// ============================================================================
|
|
36
60
|
// Audit (IDS document correctness)
|
|
37
61
|
// ============================================================================
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAsF/D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAsF/D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAwB,MAAM,wBAAwB,CAAC;AAEvF,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,8EAA8E;AAC9E,qDAAqD;AACrD,OAAO,EAAE,WAAW,EAA8C,MAAM,mBAAmB,CAAC;AAE5F,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAE/E,0EAA0E;AAC1E,gEAAgE;AAChE,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;AAU/B,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,0CAA0C;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,+EAA+E;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAqB,MAAM,2BAA2B,CAAC;AAE7F,4EAA4E;AAC5E,0EAA0E;AAC1E,2EAA2E;AAC3E,OAAO,EACL,WAAW,IAAI,yBAAyB,GAEzC,MAAM,iCAAiC,CAAC;AAEzC,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,2EAA2E;AAC3E,0EAA0E;AAC1E,OAAO,EAAE,iBAAiB,EAAwB,MAAM,4BAA4B,CAAC;AAErF,yEAAyE;AACzE,6EAA6E;AAC7E,OAAO,EACL,uBAAuB,GAGxB,MAAM,+BAA+B,CAAC;AAEvC,0EAA0E;AAC1E,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASvE,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,0CAA0C;AAC1C,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dist/parser/dom.d.ts
CHANGED
|
@@ -8,4 +8,8 @@ export declare function getChildElements(parent: Element, localName: string): El
|
|
|
8
8
|
export declare function getChildElementNS(parent: Element, localName: string, namespace: string): Element | null;
|
|
9
9
|
export declare function getChildElementsNS(parent: Element, localName: string, namespace: string): Element[];
|
|
10
10
|
export declare function getChildText(parent: Element, localName: string): string | undefined;
|
|
11
|
+
/** A facet's `@uri` attribute as an object to spread (empty when absent or blank). */
|
|
12
|
+
export declare function uriOf(el: Element): {
|
|
13
|
+
uri?: string;
|
|
14
|
+
};
|
|
11
15
|
//# sourceMappingURL=dom.d.ts.map
|
package/dist/parser/dom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/parser/dom.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAOlF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,CAQ9E;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,GAAG,IAAI,CAUhB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,EAAE,CAWX;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGnF"}
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/parser/dom.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAOlF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,CAQ9E;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,GAAG,IAAI,CAUhB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,EAAE,CAWX;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGnF;AAED,sFAAsF;AACtF,wBAAgB,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAGnD"}
|
package/dist/parser/dom.js
CHANGED
|
@@ -46,4 +46,9 @@ export function getChildText(parent, localName) {
|
|
|
46
46
|
const child = getChildElement(parent, localName);
|
|
47
47
|
return child?.textContent?.trim() || undefined;
|
|
48
48
|
}
|
|
49
|
+
/** A facet's `@uri` attribute as an object to spread (empty when absent or blank). */
|
|
50
|
+
export function uriOf(el) {
|
|
51
|
+
const uri = el.getAttribute('uri')?.trim();
|
|
52
|
+
return uri ? { uri } : {};
|
|
53
|
+
}
|
|
49
54
|
//# sourceMappingURL=dom.js.map
|
package/dist/parser/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/parser/dom.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;GAIG;AAEH,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,SAAiB;IAChE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAe,EAAE,SAAiB;IACjE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAe,EACf,SAAiB,EACjB,SAAiB;IAEjB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,IACE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE;YACzD,KAAK,CAAC,YAAY,KAAK,SAAS,EAChC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAe,EACf,SAAiB,EACjB,SAAiB;IAEjB,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,IACE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE;YACzD,KAAK,CAAC,YAAY,KAAK,SAAS,EAChC,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,SAAiB;IAC7D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/parser/dom.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;GAIG;AAEH,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,SAAiB;IAChE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAe,EAAE,SAAiB;IACjE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAe,EACf,SAAiB,EACjB,SAAiB;IAEjB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,IACE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE;YACzD,KAAK,CAAC,YAAY,KAAK,SAAS,EAChC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAe,EACf,SAAiB,EACjB,SAAiB;IAEjB,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,IACE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE;YACzD,KAAK,CAAC,YAAY,KAAK,SAAS,EAChC,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,SAAiB;IAC7D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACjD,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,KAAK,CAAC,EAAW;IAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-restriction.d.ts","sourceRoot":"","sources":["../../src/parser/parse-restriction.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-restriction.d.ts","sourceRoot":"","sources":["../../src/parser/parse-restriction.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;AAkBrB;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,aAAa,CAY3D"}
|
|
@@ -1,8 +1,12 @@
|
|
|
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
|
+
import { boundOrderOf, readNumeric, readOrderedLexeme } from '../constraints/xsd-order.js';
|
|
4
5
|
import { getChildElement, getChildElements, getChildElementNS, getChildElementsNS, } from './dom.js';
|
|
5
6
|
const XS_NAMESPACE = 'http://www.w3.org/2001/XMLSchema';
|
|
7
|
+
const BOUND_FACETS = ['minInclusive', 'maxInclusive', 'minExclusive', 'maxExclusive'];
|
|
8
|
+
/** `xs:nonNegativeInteger`'s lexical space (an optional `+`, then digits). */
|
|
9
|
+
const NON_NEGATIVE_INTEGER = /^\+?\d+$/;
|
|
6
10
|
/**
|
|
7
11
|
* Parse XSD restriction element.
|
|
8
12
|
*
|
|
@@ -106,30 +110,44 @@ function parseRestrictionFamilies(el) {
|
|
|
106
110
|
// must NOT read the same as no minInclusive at all).
|
|
107
111
|
const unparseable = [];
|
|
108
112
|
const rawValueOf = (e) => e.getAttribute('value') || e.textContent || '';
|
|
109
|
-
|
|
113
|
+
// A min/max bound is read in the lexical space of the restriction's
|
|
114
|
+
// `@base`, never by `parseFloat` — which read `2024-03-31` as 2024 and
|
|
115
|
+
// `6,5` as 6 (#7399). A bound outside that space is recorded as
|
|
116
|
+
// unparseable, so the restriction fails closed and the audit names it.
|
|
117
|
+
const order = boundOrderOf(base);
|
|
118
|
+
const readBound = (facet) => {
|
|
119
|
+
const e = facetEls[facet];
|
|
110
120
|
if (!e)
|
|
111
|
-
return
|
|
121
|
+
return;
|
|
112
122
|
const raw = rawValueOf(e);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
123
|
+
if (order === 'numeric') {
|
|
124
|
+
const v = readNumeric(raw, base);
|
|
125
|
+
if (v !== undefined)
|
|
126
|
+
bounds[facet] = v;
|
|
127
|
+
else
|
|
128
|
+
unparseable.push({ facet, rawValue: raw });
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const lexeme = readOrderedLexeme(raw, base);
|
|
132
|
+
if (lexeme !== undefined)
|
|
133
|
+
(bounds.temporalBounds ??= {})[facet] = lexeme;
|
|
134
|
+
else
|
|
135
|
+
unparseable.push({ facet, rawValue: raw });
|
|
118
136
|
};
|
|
137
|
+
// A length or digit count is an `xs:nonNegativeInteger`: the whole
|
|
138
|
+
// text, not the leading digits `parseInt` would take from `"6,5"`.
|
|
119
139
|
const readInt = (facet, e) => {
|
|
120
140
|
if (!e)
|
|
121
141
|
return undefined;
|
|
122
142
|
const raw = rawValueOf(e);
|
|
123
|
-
const
|
|
124
|
-
if (
|
|
125
|
-
return
|
|
143
|
+
const text = raw.trim();
|
|
144
|
+
if (NON_NEGATIVE_INTEGER.test(text))
|
|
145
|
+
return Number(text);
|
|
126
146
|
unparseable.push({ facet, rawValue: raw });
|
|
127
147
|
return undefined;
|
|
128
148
|
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
bounds.minExclusive = readNumber('minExclusive', facetEls.minExclusive);
|
|
132
|
-
bounds.maxExclusive = readNumber('maxExclusive', facetEls.maxExclusive);
|
|
149
|
+
for (const facet of BOUND_FACETS)
|
|
150
|
+
readBound(facet);
|
|
133
151
|
bounds.length = readInt('length', facetEls.length);
|
|
134
152
|
bounds.minLength = readInt('minLength', facetEls.minLength);
|
|
135
153
|
bounds.maxLength = readInt('maxLength', facetEls.maxLength);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-restriction.js","sourceRoot":"","sources":["../../src/parser/parse-restriction.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parse-restriction.js","sourceRoot":"","sources":["../../src/parser/parse-restriction.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
* Parses buildingSMART IDS 1.0 XML files
|
|
4
4
|
*/
|
|
5
5
|
import type { IDSDocument } from '../types.js';
|
|
6
|
+
import type { IDSPreviewFlags } from '../preview/types.js';
|
|
6
7
|
/** Error thrown when parsing invalid IDS XML */
|
|
7
8
|
export declare class IDSParseError extends Error {
|
|
8
9
|
details?: string | undefined;
|
|
9
10
|
constructor(message: string, details?: string | undefined);
|
|
10
11
|
}
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
/** Options for `parseIDS`. `preview.ids11` also reads IDS 1.1 PREVIEW candidates (unstable). */
|
|
13
|
+
export interface ParseIDSOptions {
|
|
14
|
+
preview?: IDSPreviewFlags;
|
|
15
|
+
}
|
|
16
|
+
/** Parse IDS XML content into an IDSDocument (IDS 1.0 unless `options.preview.ids11`). */
|
|
17
|
+
export declare function parseIDS(xmlContent: string | ArrayBuffer, options?: ParseIDSOptions): IDSDocument;
|
|
15
18
|
//# sourceMappingURL=xml-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../src/parser/xml-parser.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EAiBZ,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../src/parser/xml-parser.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EAiBZ,MAAM,aAAa,CAAC;AAWrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D,gDAAgD;AAChD,qBAAa,aAAc,SAAQ,KAAK;IAG7B,OAAO,CAAC,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,YAAA;CAK1B;AA8BD,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAAG,OAAO,CAAC,EAAE,eAAe,CAAA;CAAE;AAE9D,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,WAAW,CAyEjG"}
|