@ifc-lite/ids 1.14.11 → 1.15.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/dist/audit/coherence/index.d.ts +12 -0
- package/dist/audit/coherence/index.d.ts.map +1 -0
- package/dist/audit/coherence/index.js +392 -0
- package/dist/audit/coherence/index.js.map +1 -0
- package/dist/audit/coherence/regex.d.ts +57 -0
- package/dist/audit/coherence/regex.d.ts.map +1 -0
- package/dist/audit/coherence/regex.js +111 -0
- package/dist/audit/coherence/regex.js.map +1 -0
- package/dist/audit/ifc-schema/index.d.ts +4 -0
- package/dist/audit/ifc-schema/index.d.ts.map +1 -0
- package/dist/audit/ifc-schema/index.js +637 -0
- package/dist/audit/ifc-schema/index.js.map +1 -0
- package/dist/audit/index.d.ts +37 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +60 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/parser-shim.d.ts +13 -0
- package/dist/audit/parser-shim.d.ts.map +1 -0
- package/dist/audit/parser-shim.js +66 -0
- package/dist/audit/parser-shim.js.map +1 -0
- package/dist/audit/structural/index.d.ts +22 -0
- package/dist/audit/structural/index.d.ts.map +1 -0
- package/dist/audit/structural/index.js +441 -0
- package/dist/audit/structural/index.js.map +1 -0
- package/dist/audit/types.d.ts +91 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/audit/types.js +5 -0
- package/dist/audit/types.js.map +1 -0
- package/dist/audit/xsd/index.d.ts +13 -0
- package/dist/audit/xsd/index.d.ts.map +1 -0
- package/dist/audit/xsd/index.js +203 -0
- package/dist/audit/xsd/index.js.map +1 -0
- package/dist/bridge/classifications.d.ts +15 -0
- package/dist/bridge/classifications.d.ts.map +1 -0
- package/dist/bridge/classifications.js +114 -0
- package/dist/bridge/classifications.js.map +1 -0
- package/dist/bridge/data-accessor.d.ts +16 -0
- package/dist/bridge/data-accessor.d.ts.map +1 -0
- package/dist/bridge/data-accessor.js +205 -0
- package/dist/bridge/data-accessor.js.map +1 -0
- package/dist/bridge/data-types.d.ts +11 -0
- package/dist/bridge/data-types.d.ts.map +1 -0
- package/dist/bridge/data-types.js +47 -0
- package/dist/bridge/data-types.js.map +1 -0
- package/dist/bridge/index.d.ts +17 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +20 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/bridge/materials.d.ts +11 -0
- package/dist/bridge/materials.d.ts.map +1 -0
- package/dist/bridge/materials.js +68 -0
- package/dist/bridge/materials.js.map +1 -0
- package/dist/bridge/predefined-types.d.ts +19 -0
- package/dist/bridge/predefined-types.d.ts.map +1 -0
- package/dist/bridge/predefined-types.js +84 -0
- package/dist/bridge/predefined-types.js.map +1 -0
- package/dist/bridge/properties.d.ts +20 -0
- package/dist/bridge/properties.d.ts.map +1 -0
- package/dist/bridge/properties.js +168 -0
- package/dist/bridge/properties.js.map +1 -0
- package/dist/bridge/schema-version.d.ts +10 -0
- package/dist/bridge/schema-version.d.ts.map +1 -0
- package/dist/bridge/schema-version.js +25 -0
- package/dist/bridge/schema-version.js.map +1 -0
- package/dist/bridge/units.d.ts +18 -0
- package/dist/bridge/units.d.ts.map +1 -0
- package/dist/bridge/units.js +55 -0
- package/dist/bridge/units.js.map +1 -0
- package/dist/constraints/comparators.d.ts +32 -0
- package/dist/constraints/comparators.d.ts.map +1 -0
- package/dist/constraints/comparators.js +94 -0
- package/dist/constraints/comparators.js.map +1 -0
- package/dist/constraints/index.d.ts.map +1 -1
- package/dist/constraints/index.js +68 -54
- package/dist/constraints/index.js.map +1 -1
- package/dist/constraints/xsd-cast.d.ts +20 -0
- package/dist/constraints/xsd-cast.d.ts.map +1 -0
- package/dist/constraints/xsd-cast.js +89 -0
- package/dist/constraints/xsd-cast.js.map +1 -0
- package/dist/facets/attribute-facet.d.ts.map +1 -1
- package/dist/facets/attribute-facet.js +51 -4
- package/dist/facets/attribute-facet.js.map +1 -1
- package/dist/facets/entity-facet.d.ts.map +1 -1
- package/dist/facets/entity-facet.js +55 -5
- 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 +33 -3
- package/dist/facets/partof-facet.js.map +1 -1
- package/dist/facets/property-facet.d.ts.map +1 -1
- package/dist/facets/property-facet.js +119 -25
- package/dist/facets/property-facet.js.map +1 -1
- package/dist/facets/test-helpers.d.ts +7 -1
- package/dist/facets/test-helpers.d.ts.map +1 -1
- package/dist/facets/test-helpers.js +4 -0
- package/dist/facets/test-helpers.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/parser/xml-parser.d.ts.map +1 -1
- package/dist/parser/xml-parser.js +166 -64
- package/dist/parser/xml-parser.js.map +1 -1
- package/dist/translation/locales/de.d.ts +1 -0
- package/dist/translation/locales/de.d.ts.map +1 -1
- package/dist/translation/locales/de.js +1 -0
- package/dist/translation/locales/de.js.map +1 -1
- package/dist/translation/locales/en.d.ts +1 -0
- package/dist/translation/locales/en.d.ts.map +1 -1
- package/dist/translation/locales/en.js +1 -0
- package/dist/translation/locales/en.js.map +1 -1
- package/dist/translation/locales/fr.d.ts +1 -0
- package/dist/translation/locales/fr.d.ts.map +1 -1
- package/dist/translation/locales/fr.js +1 -0
- package/dist/translation/locales/fr.js.map +1 -1
- package/dist/types.d.ts +115 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/validation/validator.js +45 -3
- package/dist/validation/validator.js.map +1 -1
- package/package.json +7 -2
|
@@ -2,6 +2,7 @@
|
|
|
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
4
|
import { matchConstraint, formatConstraint } from '../constraints/index.js';
|
|
5
|
+
import { ifcMeasureToXsdTypes, literalCastsUnderAnyType } from '../constraints/xsd-cast.js';
|
|
5
6
|
/** IFC data type names (IFCLABEL, IFCREAL, etc.) are case-insensitive */
|
|
6
7
|
const DATATYPE_OPTS = { caseInsensitive: true };
|
|
7
8
|
/**
|
|
@@ -38,23 +39,45 @@ export function checkPropertyFacet(facet, expressId, accessor) {
|
|
|
38
39
|
},
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
|
|
42
|
+
// Per IDS spec, when the property-set baseName matches multiple sets
|
|
43
|
+
// (pattern / enumeration cases), ALL of them must satisfy the
|
|
44
|
+
// requirement. A single-set match collapses to the same iteration
|
|
45
|
+
// with one element, so the semantics are uniform.
|
|
46
|
+
let lastPass;
|
|
47
|
+
let firstFailure;
|
|
44
48
|
for (const pset of matchingPsets) {
|
|
45
49
|
const result = checkPropertyInPset(facet, pset);
|
|
46
50
|
if (result.passed) {
|
|
47
|
-
|
|
51
|
+
lastPass = result;
|
|
52
|
+
continue;
|
|
48
53
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
if (!firstFailure) {
|
|
55
|
+
firstFailure = result;
|
|
56
|
+
}
|
|
57
|
+
else if (firstFailure.failure?.type === 'PROPERTY_MISSING' &&
|
|
58
|
+
result.failure?.type !== 'PROPERTY_MISSING') {
|
|
59
|
+
// Prefer the more specific failure for reporting.
|
|
60
|
+
firstFailure = result;
|
|
53
61
|
}
|
|
54
62
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
63
|
+
if (firstFailure) {
|
|
64
|
+
if (firstFailure.failure?.type !== 'PROPERTY_MISSING') {
|
|
65
|
+
return firstFailure;
|
|
66
|
+
}
|
|
67
|
+
// Only PROPERTY_MISSING failures with no passing pset → fall
|
|
68
|
+
// through to the generic missing-property error below so the
|
|
69
|
+
// available-property list reflects every pset we checked.
|
|
70
|
+
if (!lastPass) {
|
|
71
|
+
// proceed to PROPERTY_MISSING fallthrough below
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// Some psets passed and some are missing the property —
|
|
75
|
+
// iteration must report the missing-pset failure.
|
|
76
|
+
return firstFailure;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else if (lastPass) {
|
|
80
|
+
return lastPass;
|
|
58
81
|
}
|
|
59
82
|
// Property not found in any matching pset
|
|
60
83
|
const psetNames = matchingPsets.map((p) => p.name).join(', ');
|
|
@@ -98,27 +121,62 @@ function checkPropertyInPset(facet, pset) {
|
|
|
98
121
|
},
|
|
99
122
|
};
|
|
100
123
|
}
|
|
101
|
-
//
|
|
102
|
-
|
|
124
|
+
// Per IDS spec: when the baseName constraint matches multiple
|
|
125
|
+
// properties (pattern / enumeration cases), ALL of them must satisfy
|
|
126
|
+
// the value constraint — not just one. Iterate every matching
|
|
127
|
+
// property and only report `pass` if every check passes.
|
|
128
|
+
let lastPass;
|
|
129
|
+
let firstFailure;
|
|
103
130
|
for (const prop of matchingProps) {
|
|
104
131
|
const result = checkSingleProperty(facet, pset, prop);
|
|
105
132
|
if (result.passed) {
|
|
106
|
-
|
|
133
|
+
lastPass = result;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
if (!firstFailure) {
|
|
137
|
+
firstFailure = result;
|
|
107
138
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
139
|
+
else if (firstFailure.failure?.type === 'PROPERTY_MISSING' &&
|
|
140
|
+
result.failure?.type !== 'PROPERTY_MISSING') {
|
|
141
|
+
// Prefer the more specific failure when reporting back.
|
|
142
|
+
firstFailure = result;
|
|
112
143
|
}
|
|
113
144
|
}
|
|
114
|
-
|
|
145
|
+
if (firstFailure)
|
|
146
|
+
return firstFailure;
|
|
147
|
+
return lastPass;
|
|
115
148
|
}
|
|
116
149
|
/**
|
|
117
150
|
* Check a single property against the facet's dataType and value constraints.
|
|
118
151
|
*/
|
|
119
152
|
function checkSingleProperty(facet, pset, prop) {
|
|
120
|
-
//
|
|
121
|
-
|
|
153
|
+
// Per IDS spec, a property whose stored value is "no value" (null,
|
|
154
|
+
// undefined, empty string, or IfcLogical UNKNOWN) fails ANY check —
|
|
155
|
+
// including a name-only existence check. Detect those up front so
|
|
156
|
+
// the rest of the function can assume `prop.value` is meaningful.
|
|
157
|
+
if (prop.value === null ||
|
|
158
|
+
prop.value === undefined ||
|
|
159
|
+
prop.value === '') {
|
|
160
|
+
return {
|
|
161
|
+
passed: false,
|
|
162
|
+
actualValue: '(empty)',
|
|
163
|
+
expectedValue: facet.value
|
|
164
|
+
? formatConstraint(facet.value)
|
|
165
|
+
: `property "${pset.name}.${prop.name}" must have a value`,
|
|
166
|
+
failure: {
|
|
167
|
+
type: 'PROPERTY_VALUE_MISMATCH',
|
|
168
|
+
field: `${pset.name}.${prop.name}`,
|
|
169
|
+
actual: '(empty)',
|
|
170
|
+
expected: facet.value ? formatConstraint(facet.value) : 'a non-empty value',
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
// Check data type if specified (IFC type names are case-insensitive).
|
|
175
|
+
// Skip the gate when the property carries no `dataType` AT ALL — for
|
|
176
|
+
// multi-typed table values (`IfcPropertyTableValue`) we deliberately
|
|
177
|
+
// omit a single representative type so the value match against the
|
|
178
|
+
// expanded `values[]` array can still satisfy the requirement.
|
|
179
|
+
if (facet.dataType && prop.dataType) {
|
|
122
180
|
if (!matchConstraint(facet.dataType, prop.dataType, DATATYPE_OPTS)) {
|
|
123
181
|
return {
|
|
124
182
|
passed: false,
|
|
@@ -136,7 +194,12 @@ function checkSingleProperty(facet, pset, prop) {
|
|
|
136
194
|
// Check value if specified
|
|
137
195
|
if (facet.value) {
|
|
138
196
|
const propValue = prop.value;
|
|
139
|
-
if (propValue === null ||
|
|
197
|
+
if (propValue === null ||
|
|
198
|
+
propValue === undefined ||
|
|
199
|
+
// Per IDS spec: empty strings and IfcLogical UNKNOWN values are
|
|
200
|
+
// treated as "no value" — they fail any value check, including
|
|
201
|
+
// a name-only check that the property exists with a value.
|
|
202
|
+
propValue === '') {
|
|
140
203
|
return {
|
|
141
204
|
passed: false,
|
|
142
205
|
actualValue: '(empty)',
|
|
@@ -149,18 +212,49 @@ function checkSingleProperty(facet, pset, prop) {
|
|
|
149
212
|
},
|
|
150
213
|
};
|
|
151
214
|
}
|
|
152
|
-
|
|
215
|
+
// Strict XSD-cast gate: the IDS literal MUST cast successfully
|
|
216
|
+
// under at least one of the IFC measure's XSD types. Mirrors the
|
|
217
|
+
// attribute facet's check — an `IFCINTEGER` slot rejects `42.0`,
|
|
218
|
+
// an `IFCBOOLEAN` slot rejects numeric literals, etc. The shared
|
|
219
|
+
// `ifcMeasureToXsdTypes` mapping turns the parser-side measure
|
|
220
|
+
// name into the XSD types the cast helper understands.
|
|
221
|
+
if (facet.value.type === 'simpleValue') {
|
|
222
|
+
const xsdTypes = ifcMeasureToXsdTypes(prop.dataType);
|
|
223
|
+
if (xsdTypes.length > 0 &&
|
|
224
|
+
!literalCastsUnderAnyType(facet.value.value, xsdTypes)) {
|
|
225
|
+
return {
|
|
226
|
+
passed: false,
|
|
227
|
+
actualValue: String(propValue),
|
|
228
|
+
expectedValue: formatConstraint(facet.value),
|
|
229
|
+
failure: {
|
|
230
|
+
type: 'PROPERTY_VALUE_MISMATCH',
|
|
231
|
+
field: `${pset.name}.${prop.name}`,
|
|
232
|
+
actual: String(propValue),
|
|
233
|
+
expected: formatConstraint(facet.value),
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// Multi-valued IFC properties (IfcPropertyEnumeratedValue,
|
|
239
|
+
// IfcPropertyListValue) pass if ANY individual value satisfies the
|
|
240
|
+
// constraint, per upstream ifctester semantics.
|
|
241
|
+
const candidateValues = prop.values && prop.values.length > 0 ? prop.values : [propValue];
|
|
242
|
+
const anyMatch = candidateValues.some((v) => matchConstraint(facet.value, v));
|
|
243
|
+
if (!anyMatch) {
|
|
153
244
|
const failureType = facet.value.type === 'bounds'
|
|
154
245
|
? 'PROPERTY_OUT_OF_BOUNDS'
|
|
155
246
|
: 'PROPERTY_VALUE_MISMATCH';
|
|
247
|
+
const actualDisplay = prop.values && prop.values.length > 0
|
|
248
|
+
? prop.values.join(', ')
|
|
249
|
+
: String(propValue);
|
|
156
250
|
return {
|
|
157
251
|
passed: false,
|
|
158
|
-
actualValue:
|
|
252
|
+
actualValue: actualDisplay,
|
|
159
253
|
expectedValue: formatConstraint(facet.value),
|
|
160
254
|
failure: {
|
|
161
255
|
type: failureType,
|
|
162
256
|
field: `${pset.name}.${prop.name}`,
|
|
163
|
-
actual:
|
|
257
|
+
actual: actualDisplay,
|
|
164
258
|
expected: formatConstraint(facet.value),
|
|
165
259
|
},
|
|
166
260
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-facet.js","sourceRoot":"","sources":["../../src/facets/property-facet.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAY/D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAqB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"property-facet.js","sourceRoot":"","sources":["../../src/facets/property-facet.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,13 @@ interface MockEntity {
|
|
|
29
29
|
relation: string;
|
|
30
30
|
predefinedType?: string;
|
|
31
31
|
};
|
|
32
|
-
attributes?: Record<string, string>;
|
|
32
|
+
attributes?: Record<string, string | number | boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* Optional per-attribute XSD-type metadata, mirroring the schema
|
|
35
|
+
* lookup the production accessor performs via `getAttributeXsdTypes`.
|
|
36
|
+
* Lets attribute-facet tests exercise the strict-cast gate.
|
|
37
|
+
*/
|
|
38
|
+
attributeXsdTypes?: Record<string, readonly string[]>;
|
|
33
39
|
}
|
|
34
40
|
export declare function createMockAccessor(entities: MockEntity[]): IFCDataAccessor;
|
|
35
41
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../src/facets/test-helpers.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,aAAa,CAAC;AAErB,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../src/facets/test-helpers.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,aAAa,CAAC;AAErB,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACvD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CACvD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,eAAe,CA6G1E"}
|
|
@@ -97,6 +97,10 @@ export function createMockAccessor(entities) {
|
|
|
97
97
|
return undefined;
|
|
98
98
|
return entity.attributes[attributeName];
|
|
99
99
|
},
|
|
100
|
+
getAttributeXsdTypes(expressId, attributeName) {
|
|
101
|
+
const entity = entityMap.get(expressId);
|
|
102
|
+
return entity?.attributeXsdTypes?.[attributeName];
|
|
103
|
+
},
|
|
100
104
|
};
|
|
101
105
|
}
|
|
102
106
|
//# sourceMappingURL=test-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../src/facets/test-helpers.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../src/facets/test-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export { parseIDS, IDSParseError } from './parser/xml-parser.js';
|
|
|
13
13
|
export { validateIDS } from './validation/validator.js';
|
|
14
14
|
export { checkFacet, filterByFacet, checkEntityFacet, filterByEntityFacet, checkAttributeFacet, checkPropertyFacet, checkClassificationFacet, checkMaterialFacet, checkPartOfFacet, type FacetCheckResult, } from './facets/index.js';
|
|
15
15
|
export { matchConstraint, formatConstraint, getConstraintMismatchReason, } from './constraints/index.js';
|
|
16
|
+
export { auditIDSDocument, auditIDSStructure } from './audit/index.js';
|
|
17
|
+
export type { IDSAuditCode, IDSAuditIssue, IDSAuditOptions, IDSAuditReport, IDSAuditSeverity, } from './audit/types.js';
|
|
16
18
|
export { createTranslationService } from './translation/index.js';
|
|
17
19
|
export { en, de, fr } from './translation/locales/index.js';
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
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,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;AAMjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAMxD,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;AAM3B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,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,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;AAMjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAMxD,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;AAM3B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAMhC,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
|
@@ -18,6 +18,10 @@ export { checkFacet, filterByFacet, checkEntityFacet, filterByEntityFacet, check
|
|
|
18
18
|
// ============================================================================
|
|
19
19
|
export { matchConstraint, formatConstraint, getConstraintMismatchReason, } from './constraints/index.js';
|
|
20
20
|
// ============================================================================
|
|
21
|
+
// Audit (IDS document correctness)
|
|
22
|
+
// ============================================================================
|
|
23
|
+
export { auditIDSDocument, auditIDSStructure } from './audit/index.js';
|
|
24
|
+
// ============================================================================
|
|
21
25
|
// Translation
|
|
22
26
|
// ============================================================================
|
|
23
27
|
export { createTranslationService } from './translation/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAyE/D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEjE,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,+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,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,+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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAyE/D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEjE,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,+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,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,+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"}
|
|
@@ -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,EAoBZ,MAAM,aAAa,CAAC;AAKrB,gDAAgD;AAChD,qBAAa,aAAc,SAAQ,KAAK;IAG7B,OAAO,CAAC,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,YAAA;CAK1B;AAiBD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../src/parser/xml-parser.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EAoBZ,MAAM,aAAa,CAAC;AAKrB,gDAAgD;AAChD,qBAAa,aAAc,SAAQ,KAAK;IAG7B,OAAO,CAAC,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,YAAA;CAK1B;AAiBD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAuEtE"}
|