@ifc-lite/ids 3.2.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.
Files changed (217) hide show
  1. package/README.md +10 -1
  2. package/dist/audit/coherence/cardinality.js +4 -1
  3. package/dist/audit/coherence/cardinality.js.map +1 -1
  4. package/dist/audit/coherence/index.d.ts +0 -1
  5. package/dist/audit/coherence/index.d.ts.map +1 -1
  6. package/dist/audit/coherence/index.js +59 -45
  7. package/dist/audit/coherence/index.js.map +1 -1
  8. package/dist/audit/coherence/regex.d.ts +3 -3
  9. package/dist/audit/coherence/regex.js +3 -3
  10. package/dist/audit/ifc-schema/attribute-value.d.ts +19 -0
  11. package/dist/audit/ifc-schema/attribute-value.d.ts.map +1 -0
  12. package/dist/audit/ifc-schema/attribute-value.js +71 -0
  13. package/dist/audit/ifc-schema/attribute-value.js.map +1 -0
  14. package/dist/audit/ifc-schema/datatype-check.d.ts +9 -1
  15. package/dist/audit/ifc-schema/datatype-check.d.ts.map +1 -1
  16. package/dist/audit/ifc-schema/datatype-check.js +24 -2
  17. package/dist/audit/ifc-schema/datatype-check.js.map +1 -1
  18. package/dist/audit/ifc-schema/entity-requirement.d.ts +21 -0
  19. package/dist/audit/ifc-schema/entity-requirement.d.ts.map +1 -0
  20. package/dist/audit/ifc-schema/entity-requirement.js +45 -0
  21. package/dist/audit/ifc-schema/entity-requirement.js.map +1 -0
  22. package/dist/audit/ifc-schema/index.d.ts.map +1 -1
  23. package/dist/audit/ifc-schema/index.js +105 -19
  24. package/dist/audit/ifc-schema/index.js.map +1 -1
  25. package/dist/audit/index.d.ts.map +1 -1
  26. package/dist/audit/index.js +8 -2
  27. package/dist/audit/index.js.map +1 -1
  28. package/dist/audit/parser-shim.d.ts +15 -1
  29. package/dist/audit/parser-shim.d.ts.map +1 -1
  30. package/dist/audit/parser-shim.js +2 -2
  31. package/dist/audit/parser-shim.js.map +1 -1
  32. package/dist/audit/structural/index.d.ts +3 -1
  33. package/dist/audit/structural/index.d.ts.map +1 -1
  34. package/dist/audit/structural/index.js +48 -179
  35. package/dist/audit/structural/index.js.map +1 -1
  36. package/dist/audit/structural/shapes.d.ts +47 -0
  37. package/dist/audit/structural/shapes.d.ts.map +1 -0
  38. package/dist/audit/structural/shapes.js +185 -0
  39. package/dist/audit/structural/shapes.js.map +1 -0
  40. package/dist/audit/types.d.ts +9 -1
  41. package/dist/audit/types.d.ts.map +1 -1
  42. package/dist/audit/xsd/index.js +1 -1
  43. package/dist/audit/xsd/index.js.map +1 -1
  44. package/dist/bridge/data-accessor.d.ts.map +1 -1
  45. package/dist/bridge/data-accessor.js +49 -25
  46. package/dist/bridge/data-accessor.js.map +1 -1
  47. package/dist/bridge/index.d.ts +1 -0
  48. package/dist/bridge/index.d.ts.map +1 -1
  49. package/dist/bridge/index.js +1 -0
  50. package/dist/bridge/index.js.map +1 -1
  51. package/dist/bridge/measure-conversion.d.ts +51 -0
  52. package/dist/bridge/measure-conversion.d.ts.map +1 -0
  53. package/dist/bridge/measure-conversion.js +106 -0
  54. package/dist/bridge/measure-conversion.js.map +1 -0
  55. package/dist/bridge/predefined-property-sets.d.ts +24 -0
  56. package/dist/bridge/predefined-property-sets.d.ts.map +1 -0
  57. package/dist/bridge/predefined-property-sets.js +86 -0
  58. package/dist/bridge/predefined-property-sets.js.map +1 -0
  59. package/dist/bridge/predefined-types.d.ts +34 -13
  60. package/dist/bridge/predefined-types.d.ts.map +1 -1
  61. package/dist/bridge/predefined-types.js +40 -71
  62. package/dist/bridge/predefined-types.js.map +1 -1
  63. package/dist/bridge/project-property.d.ts +43 -0
  64. package/dist/bridge/project-property.d.ts.map +1 -0
  65. package/dist/bridge/project-property.js +60 -0
  66. package/dist/bridge/project-property.js.map +1 -0
  67. package/dist/bridge/properties.d.ts +4 -3
  68. package/dist/bridge/properties.d.ts.map +1 -1
  69. package/dist/bridge/properties.js +64 -111
  70. package/dist/bridge/properties.js.map +1 -1
  71. package/dist/bridge/property-overlay-resolver.d.ts +10 -0
  72. package/dist/bridge/property-overlay-resolver.d.ts.map +1 -1
  73. package/dist/bridge/property-overlay-resolver.js +53 -4
  74. package/dist/bridge/property-overlay-resolver.js.map +1 -1
  75. package/dist/bridge/units.d.ts +49 -20
  76. package/dist/bridge/units.d.ts.map +1 -1
  77. package/dist/bridge/units.js +134 -84
  78. package/dist/bridge/units.js.map +1 -1
  79. package/dist/constraint-types.d.ts +30 -14
  80. package/dist/constraint-types.d.ts.map +1 -1
  81. package/dist/constraints/comparators.d.ts +4 -1
  82. package/dist/constraints/comparators.d.ts.map +1 -1
  83. package/dist/constraints/comparators.js +6 -1
  84. package/dist/constraints/comparators.js.map +1 -1
  85. package/dist/constraints/describe.d.ts.map +1 -1
  86. package/dist/constraints/describe.js +67 -21
  87. package/dist/constraints/describe.js.map +1 -1
  88. package/dist/constraints/match-bounds.d.ts +25 -0
  89. package/dist/constraints/match-bounds.d.ts.map +1 -0
  90. package/dist/constraints/match-bounds.js +112 -0
  91. package/dist/constraints/match-bounds.js.map +1 -0
  92. package/dist/constraints/match-family.d.ts.map +1 -1
  93. package/dist/constraints/match-family.js +25 -90
  94. package/dist/constraints/match-family.js.map +1 -1
  95. package/dist/constraints/xsd-datetime.js +6 -6
  96. package/dist/constraints/xsd-examples.d.ts +20 -0
  97. package/dist/constraints/xsd-examples.d.ts.map +1 -0
  98. package/dist/constraints/xsd-examples.js +187 -0
  99. package/dist/constraints/xsd-examples.js.map +1 -0
  100. package/dist/constraints/xsd-lexical.d.ts +2 -0
  101. package/dist/constraints/xsd-lexical.d.ts.map +1 -0
  102. package/dist/constraints/xsd-lexical.js +49 -0
  103. package/dist/constraints/xsd-lexical.js.map +1 -0
  104. package/dist/constraints/xsd-order.d.ts +33 -0
  105. package/dist/constraints/xsd-order.d.ts.map +1 -0
  106. package/dist/constraints/xsd-order.js +211 -0
  107. package/dist/constraints/xsd-order.js.map +1 -0
  108. package/dist/constraints/xsd-regex-ast.d.ts +37 -0
  109. package/dist/constraints/xsd-regex-ast.d.ts.map +1 -0
  110. package/dist/constraints/xsd-regex-ast.js +137 -0
  111. package/dist/constraints/xsd-regex-ast.js.map +1 -0
  112. package/dist/constraints/xsd-regex-blocks.d.ts +7 -0
  113. package/dist/constraints/xsd-regex-blocks.d.ts.map +1 -0
  114. package/dist/constraints/xsd-regex-blocks.js +68 -0
  115. package/dist/constraints/xsd-regex-blocks.js.map +1 -0
  116. package/dist/constraints/xsd-regex.d.ts +2 -45
  117. package/dist/constraints/xsd-regex.d.ts.map +1 -1
  118. package/dist/constraints/xsd-regex.js +231 -134
  119. package/dist/constraints/xsd-regex.js.map +1 -1
  120. package/dist/facets/entity-facet.d.ts.map +1 -1
  121. package/dist/facets/entity-facet.js +4 -1
  122. package/dist/facets/entity-facet.js.map +1 -1
  123. package/dist/facets/partof-facet.d.ts.map +1 -1
  124. package/dist/facets/partof-facet.js +80 -19
  125. package/dist/facets/partof-facet.js.map +1 -1
  126. package/dist/facets/predefined-type-match.d.ts +8 -3
  127. package/dist/facets/predefined-type-match.d.ts.map +1 -1
  128. package/dist/facets/predefined-type-match.js.map +1 -1
  129. package/dist/index.d.ts +8 -2
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +23 -0
  132. package/dist/index.js.map +1 -1
  133. package/dist/parser/dom.d.ts +4 -0
  134. package/dist/parser/dom.d.ts.map +1 -1
  135. package/dist/parser/dom.js +5 -0
  136. package/dist/parser/dom.js.map +1 -1
  137. package/dist/parser/parse-restriction.d.ts.map +1 -1
  138. package/dist/parser/parse-restriction.js +32 -14
  139. package/dist/parser/parse-restriction.js.map +1 -1
  140. package/dist/parser/xml-parser.d.ts +7 -4
  141. package/dist/parser/xml-parser.d.ts.map +1 -1
  142. package/dist/parser/xml-parser.js +30 -45
  143. package/dist/parser/xml-parser.js.map +1 -1
  144. package/dist/preview/audit.d.ts +16 -0
  145. package/dist/preview/audit.d.ts.map +1 -0
  146. package/dist/preview/audit.js +58 -0
  147. package/dist/preview/audit.js.map +1 -0
  148. package/dist/preview/features.d.ts +30 -0
  149. package/dist/preview/features.d.ts.map +1 -0
  150. package/dist/preview/features.js +96 -0
  151. package/dist/preview/features.js.map +1 -0
  152. package/dist/preview/parse-ids11.d.ts +9 -0
  153. package/dist/preview/parse-ids11.d.ts.map +1 -0
  154. package/dist/preview/parse-ids11.js +90 -0
  155. package/dist/preview/parse-ids11.js.map +1 -0
  156. package/dist/preview/partof-nested.d.ts +27 -0
  157. package/dist/preview/partof-nested.d.ts.map +1 -0
  158. package/dist/preview/partof-nested.js +61 -0
  159. package/dist/preview/partof-nested.js.map +1 -0
  160. package/dist/preview/tolerance.d.ts +15 -0
  161. package/dist/preview/tolerance.d.ts.map +1 -0
  162. package/dist/preview/tolerance.js +66 -0
  163. package/dist/preview/tolerance.js.map +1 -0
  164. package/dist/preview/types.d.ts +67 -0
  165. package/dist/preview/types.d.ts.map +1 -0
  166. package/dist/preview/types.js +5 -0
  167. package/dist/preview/types.js.map +1 -0
  168. package/dist/translation/describe-constraint.js +16 -14
  169. package/dist/translation/describe-constraint.js.map +1 -1
  170. package/dist/translation/locales/de.d.ts +2 -0
  171. package/dist/translation/locales/de.d.ts.map +1 -1
  172. package/dist/translation/locales/de.js +2 -0
  173. package/dist/translation/locales/de.js.map +1 -1
  174. package/dist/translation/locales/en.d.ts +2 -0
  175. package/dist/translation/locales/en.d.ts.map +1 -1
  176. package/dist/translation/locales/en.js +2 -0
  177. package/dist/translation/locales/en.js.map +1 -1
  178. package/dist/translation/locales/fr.d.ts +2 -0
  179. package/dist/translation/locales/fr.d.ts.map +1 -1
  180. package/dist/translation/locales/fr.js +2 -0
  181. package/dist/translation/locales/fr.js.map +1 -1
  182. package/dist/translation/locales/index.d.ts +1 -0
  183. package/dist/translation/locales/index.d.ts.map +1 -1
  184. package/dist/translation/locales/index.js +1 -0
  185. package/dist/translation/locales/index.js.map +1 -1
  186. package/dist/translation/locales/it.d.ts +198 -0
  187. package/dist/translation/locales/it.d.ts.map +1 -0
  188. package/dist/translation/locales/it.js +235 -0
  189. package/dist/translation/locales/it.js.map +1 -0
  190. package/dist/translation/service.d.ts +2 -6
  191. package/dist/translation/service.d.ts.map +1 -1
  192. package/dist/translation/service.js +17 -25
  193. package/dist/translation/service.js.map +1 -1
  194. package/dist/types.d.ts +26 -31
  195. package/dist/types.d.ts.map +1 -1
  196. package/dist/validation/format-failure-reason.js +1 -1
  197. package/dist/validation/format-failure-reason.js.map +1 -1
  198. package/dist/validation/prohibited-specification.d.ts +31 -0
  199. package/dist/validation/prohibited-specification.d.ts.map +1 -0
  200. package/dist/validation/prohibited-specification.js +25 -0
  201. package/dist/validation/prohibited-specification.js.map +1 -0
  202. package/dist/validation/validator.d.ts.map +1 -1
  203. package/dist/validation/validator.js +14 -11
  204. package/dist/validation/validator.js.map +1 -1
  205. package/dist/writer/constraint.d.ts +8 -0
  206. package/dist/writer/constraint.d.ts.map +1 -0
  207. package/dist/writer/constraint.js +142 -0
  208. package/dist/writer/constraint.js.map +1 -0
  209. package/dist/writer/index.d.ts +48 -0
  210. package/dist/writer/index.d.ts.map +1 -0
  211. package/dist/writer/index.js +209 -0
  212. package/dist/writer/index.js.map +1 -0
  213. package/dist/writer/xml-lines.d.ts +17 -0
  214. package/dist/writer/xml-lines.d.ts.map +1 -0
  215. package/dist/writer/xml-lines.js +69 -0
  216. package/dist/writer/xml-lines.js.map +1 -0
  217. package/package.json +5 -5
package/dist/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /** IDS (Information Delivery Specification) types, per buildingSMART IDS 1.0. */
2
2
  import type { IDSConstraint } from './constraint-types.js';
3
+ import type { IDS11FacetInstructions as Ins, IDS11FacetUri as Uri, IDSPreviewFlags } from './preview/types.js';
3
4
  /** IDS Document - root container for the specification */
4
5
  export interface IDSDocument {
5
6
  /** Document metadata */
@@ -101,7 +102,7 @@ export type RequirementOptionality = 'required' | 'optional' | 'prohibited';
101
102
  export type IDSFacet = IDSEntityFacet | IDSAttributeFacet | IDSPropertyFacet | IDSClassificationFacet | IDSMaterialFacet | IDSPartOfFacet;
102
103
  export type FacetType = IDSFacet['type'];
103
104
  /** Entity facet - match by IFC entity type */
104
- export interface IDSEntityFacet {
105
+ export interface IDSEntityFacet extends Ins {
105
106
  type: 'entity';
106
107
  /** Entity type name constraint (e.g., "IFCWALL") */
107
108
  name: IDSConstraint;
@@ -109,7 +110,7 @@ export interface IDSEntityFacet {
109
110
  predefinedType?: IDSConstraint;
110
111
  }
111
112
  /** Attribute facet - match by IFC attribute value */
112
- export interface IDSAttributeFacet {
113
+ export interface IDSAttributeFacet extends Ins {
113
114
  type: 'attribute';
114
115
  /** Attribute name constraint (e.g., "Name", "Description") */
115
116
  name: IDSConstraint;
@@ -117,7 +118,7 @@ export interface IDSAttributeFacet {
117
118
  value?: IDSConstraint;
118
119
  }
119
120
  /** Property facet - match by property set and property value */
120
- export interface IDSPropertyFacet {
121
+ export interface IDSPropertyFacet extends Ins, Uri {
121
122
  type: 'property';
122
123
  /** Property set name constraint */
123
124
  propertySet: IDSConstraint;
@@ -129,7 +130,7 @@ export interface IDSPropertyFacet {
129
130
  value?: IDSConstraint;
130
131
  }
131
132
  /** Classification facet - match by classification reference */
132
- export interface IDSClassificationFacet {
133
+ export interface IDSClassificationFacet extends Ins, Uri {
133
134
  type: 'classification';
134
135
  /** Optional classification system name constraint */
135
136
  system?: IDSConstraint;
@@ -137,25 +138,24 @@ export interface IDSClassificationFacet {
137
138
  value?: IDSConstraint;
138
139
  }
139
140
  /** Material facet - match by material assignment */
140
- export interface IDSMaterialFacet {
141
+ export interface IDSMaterialFacet extends Ins, Uri {
141
142
  type: 'material';
142
143
  /** Optional material value/name constraint */
143
144
  value?: IDSConstraint;
144
145
  }
145
146
  /** PartOf facet - match by spatial/compositional relationship */
146
- export interface IDSPartOfFacet {
147
+ export interface IDSPartOfFacet extends Ins {
147
148
  type: 'partOf';
148
149
  /** Relationship type (normalised; defaults to `IfcRelContainedInSpatialStructure` when unrecognised). */
149
150
  relation: PartOfRelation;
150
- /**
151
- * The relation string as it appeared in the XML, before normalisation.
152
- * Set when the original value didn't map to a recognised
153
- * {@link PartOfRelation}. The auditor uses this to flag invalid
154
- * relation names.
155
- */
151
+ /** The XML relation string when it is not a recognised {@link PartOfRelation}; the auditor flags it. */
156
152
  rawRelation?: string;
153
+ /** No `relation` in the XML: any part-of relation counts, recursively (IDS 1.0, #7401); `relation` then holds the containment default. */
154
+ anyRelation?: boolean;
157
155
  /** Optional entity constraint for the related parent */
158
156
  entity?: IDSEntityFacet;
157
+ /** IDS 1.1 PREVIEW (#379, draft PR #380): further facets the related parent must satisfy. */
158
+ facets?: Array<IDSAttributeFacet | IDSPropertyFacet | IDSClassificationFacet | IDSMaterialFacet>;
159
159
  }
160
160
  export type PartOfRelation = 'IfcRelAggregates' | 'IfcRelAssignsToGroup' | 'IfcRelContainedInSpatialStructure' | 'IfcRelNests' | 'IfcRelVoidsElement' | 'IfcRelFillsElement' | 'IfcRelVoidsElement IfcRelFillsElement';
161
161
  export type { IDSConstraint, IDSSimpleValue, IDSPatternConstraint, IDSEnumerationConstraint, IDSBoundsConstraint, } from './constraint-types.js';
@@ -256,14 +256,13 @@ export interface IFCDataAccessor {
256
256
  /** Get entity description by express ID */
257
257
  getDescription(expressId: number): string | undefined;
258
258
  /**
259
- * Get entity object type (predefined type) by express ID.
260
- *
261
- * Per IDS spec, when the IFC `PredefinedType` is `USERDEFINED` the
262
- * predefined-type comparison shifts to the user-defined name in the
263
- * adjacent `ObjectType` / `ElementType` slot. Implementations MAY
264
- * substitute that name here, but MUST also surface the raw enum value
265
- * via `getPredefinedTypeRaw` so the validator can disambiguate
266
- * literal `USERDEFINED` matches from user-name matches.
259
+ * The entity's predefined type as the IDS entity facet reads it - NOT the
260
+ * IFC `ObjectType` attribute (the attribute facet uses `getAttribute`).
261
+ * Per IDS 1.0 a `USERDEFINED` PredefinedType shifts the comparison to the
262
+ * user-defined name in `ObjectType` / `ElementType`; implementations MAY
263
+ * substitute that name here but MUST surface the raw enum via
264
+ * `getPredefinedTypeRaw`. Returns `undefined` when there is no predefined
265
+ * type: an unset or `NOTDEFINED` PredefinedType never falls back to `ObjectType`.
267
266
  */
268
267
  getObjectType(expressId: number): string | undefined;
269
268
  /**
@@ -385,18 +384,12 @@ export interface ParentInfo {
385
384
  expressId: number;
386
385
  /** Parent entity type */
387
386
  entityType: string;
388
- /**
389
- * Parent's raw `PredefinedType` enum token (`BEAM`, `USERDEFINED`,
390
- * `NOTDEFINED`, …), if available. Mirrors `IFCDataAccessor.getPredefinedTypeRaw`.
391
- */
387
+ /** Parent's raw `PredefinedType` token (`BEAM`, `USERDEFINED`, …); mirrors `getPredefinedTypeRaw`. */
392
388
  predefinedType?: string;
393
389
  /**
394
- * Parent's user-defined name (`ObjectType`/`ElementType`/`ProcessType`) —
395
- * only meaningful as a fallback when `predefinedType` is `USERDEFINED`.
396
- * Mirrors `IFCDataAccessor.getObjectType`. Kept distinct from
397
- * `predefinedType` so partOf's predefinedType match can reproduce the
398
- * same two-branch (raw-token-first, user-name-fallback) semantics
399
- * `entity-facet.ts` uses for a direct entity check.
390
+ * Parent's user-defined name (`ObjectType`/`ElementType`/`ProcessType`), the
391
+ * USERDEFINED fallback; mirrors `IFCDataAccessor.getObjectType`. Kept apart
392
+ * from `predefinedType` for the raw-token-first match `entity-facet.ts` uses.
400
393
  */
401
394
  objectType?: string;
402
395
  }
@@ -418,6 +411,8 @@ export interface ValidatorOptions {
418
411
  * cannot paint a single frame for the whole run.
419
412
  */
420
413
  yieldEveryMs?: number;
414
+ /** IDS 1.1 PREVIEW: required to validate a document that uses 1.1 candidate features. */
415
+ preview?: IDSPreviewFlags;
421
416
  }
422
417
  /** Validation progress information */
423
418
  export interface ValidationProgress {
@@ -435,7 +430,7 @@ export interface ValidationProgress {
435
430
  percentage: number;
436
431
  }
437
432
  /** Supported locales for translation */
438
- export type SupportedLocale = 'en' | 'de' | 'fr';
433
+ export type SupportedLocale = 'en' | 'de' | 'fr' | 'it';
439
434
  /** Translation service interface */
440
435
  export interface TranslationService {
441
436
  /** Current locale */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -114,7 +114,7 @@ export function formatRequirementDescription(requirement) {
114
114
  }
115
115
  break;
116
116
  case 'partOf': {
117
- const relName = facet.relation.replace('IfcRel', '').toLowerCase();
117
+ const relName = facet.anyRelation ? 'part of' : facet.relation.replace('IfcRel', '').toLowerCase();
118
118
  if (facet.entity) {
119
119
  desc = `Must be ${relName} ${formatConstraint(facet.entity.name)}`;
120
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format-failure-reason.js","sourceRoot":"","sources":["../../src/validation/format-failure-reason.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-failure-reason.js","sourceRoot":"","sources":["../../src/validation/format-failure-reason.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * A prohibited specification (`<applicability maxOccurs="0">`) says the
3
+ * elements it applies to must not exist, so under IDS 1.0 every applicable
4
+ * element is itself a violation (#7403). The specification already fails at
5
+ * set level through cardinality; this module gives each applicable element
6
+ * the per-element check that carries that verdict, so `entityResults`, the
7
+ * pass/fail counts and the status agree, and per-element consumers (result
8
+ * tables, BCF topics and comments) have a reason to show.
9
+ *
10
+ * The check is the specification's first applicability facet evaluated as a
11
+ * `prohibited` requirement. An applicable element satisfies that facet by
12
+ * definition, so the existing prohibited-requirement path in
13
+ * `checkRequirement` fails it and words the failure with the
14
+ * `failures.prohibited` message.
15
+ *
16
+ * A specification with no applicability facets (invalid IDS, but a document
17
+ * built in code can say it) applies to every entity, so its check is an
18
+ * entity facet matching any IFC class: each element still fails with a
19
+ * reason naming its own class.
20
+ */
21
+ import type { IDSRequirement, IDSSpecification } from '../types.js';
22
+ /**
23
+ * The requirements to evaluate per applicable element of `spec`, read from the
24
+ * spec as it is NOW. Deliberately uncached: callers (the viewer's IDS editor)
25
+ * mutate specifications in place between runs, so a cache keyed by the spec
26
+ * object would replay a stale check list. The validator calls this once per
27
+ * specification per run and reuses the result for every element, which keeps
28
+ * the synthetic requirement's identity stable for its description cache.
29
+ */
30
+ export declare function requirementsToCheck(spec: IDSSpecification): readonly IDSRequirement[];
31
+ //# sourceMappingURL=prohibited-specification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prohibited-specification.d.ts","sourceRoot":"","sources":["../../src/validation/prohibited-specification.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAkB,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpF;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,cAAc,EAAE,CAOrF"}
@@ -0,0 +1,25 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ /** Requirement id of the synthetic prohibition check; distinct from the parser's `req-N`. */
5
+ const PROHIBITED_APPLICABILITY_REQUIREMENT_ID = 'applicability-prohibited';
6
+ /** "Any IFC class": what an applicability with no facets selects. Matched case-insensitively. */
7
+ const ANY_ENTITY_FACET = { type: 'entity', name: { type: 'pattern', pattern: 'IFC.*' } };
8
+ /**
9
+ * The requirements to evaluate per applicable element of `spec`, read from the
10
+ * spec as it is NOW. Deliberately uncached: callers (the viewer's IDS editor)
11
+ * mutate specifications in place between runs, so a cache keyed by the spec
12
+ * object would replay a stale check list. The validator calls this once per
13
+ * specification per run and reuses the result for every element, which keeps
14
+ * the synthetic requirement's identity stable for its description cache.
15
+ */
16
+ export function requirementsToCheck(spec) {
17
+ if (spec.maxOccurs !== 0)
18
+ return spec.requirements;
19
+ const facet = spec.applicability.facets[0] ?? ANY_ENTITY_FACET;
20
+ return [
21
+ ...spec.requirements,
22
+ { id: PROHIBITED_APPLICABILITY_REQUIREMENT_ID, facet, optionality: 'prohibited' },
23
+ ];
24
+ }
25
+ //# sourceMappingURL=prohibited-specification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prohibited-specification.js","sourceRoot":"","sources":["../../src/validation/prohibited-specification.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAyB/D,6FAA6F;AAC7F,MAAM,uCAAuC,GAAG,0BAA0B,CAAC;AAE3E,iGAAiG;AACjG,MAAM,gBAAgB,GAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;AAEzG;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,YAAY,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;IAC/D,OAAO;QACL,GAAG,IAAI,CAAC,YAAY;QACpB,EAAE,EAAE,EAAE,uCAAuC,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE;KAClF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EAGX,mBAAmB,EAInB,oBAAoB,EACpB,mBAAmB,EAEnB,eAAe,EACf,gBAAgB,EAIhB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AA2BjE;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,eAAe,CAgE/E;AAyDD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,mBAAmB,EAC9B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAuF9B;AAsbD;wDACwD;AACxD,wBAAgB,gBAAgB,CAC9B,oBAAoB,EAAE,SAAS,mBAAmB,EAAE,GACnD,oBAAoB,CA0CtB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EAGX,mBAAmB,EAInB,oBAAoB,EACpB,mBAAmB,EAEnB,eAAe,EACf,gBAAgB,EAIhB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AA2BjE;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,eAAe,CAgE/E;AAyDD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,mBAAmB,EAC9B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAuF9B;AAmbD;wDACwD;AACxD,wBAAgB,gBAAgB,CAC9B,oBAAoB,EAAE,SAAS,mBAAmB,EAAE,GACnD,oBAAoB,CA0CtB"}
@@ -6,7 +6,9 @@ import { ApplicabilityPropertyIndex } from './property-index.js';
6
6
  import { UnsafeRegexPatternError } from '@ifc-lite/regex-guard';
7
7
  import { formatFailureReason, formatRequirementDescription } from './format-failure-reason.js';
8
8
  import { boundedPassRate } from './pass-rate.js';
9
+ import { requirementsToCheck } from './prohibited-specification.js';
9
10
  import { BoundedCache } from '../bounded-cache.js';
11
+ import { assertIds11Allowed } from '../preview/features.js';
10
12
  export { formatFailureReason } from './format-failure-reason.js';
11
13
  /** Memoize a single-argument accessor lookup keyed by express ID. */
12
14
  function memoById(fn) {
@@ -145,6 +147,7 @@ function createYielder(budgetMs) {
145
147
  */
146
148
  export async function validateIDS(document, accessor, modelInfo, options = {}) {
147
149
  const { onProgress } = options;
150
+ assertIds11Allowed(document, options.preview, 'validateIDS'); // ADR-011: no silent 1.1 skips
148
151
  const cachedAccessor = createCachedAccessor(accessor);
149
152
  const descriptionCache = new Map();
150
153
  const maybeYield = createYielder(options.yieldEveryMs ?? 40);
@@ -237,7 +240,8 @@ async function validateSpecification(spec, accessor, modelInfo, options, descrip
237
240
  const idsToCheck = maxEntities
238
241
  ? applicableIds.slice(0, maxEntities)
239
242
  : applicableIds;
240
- // Phase 2: Check requirements for each applicable entity
243
+ // Phase 2: per-entity checks, built per run (specs are edited in place between runs).
244
+ const checks = requirementsToCheck(spec);
241
245
  const entityResults = [];
242
246
  const totalEntities = idsToCheck.length;
243
247
  for (let i = 0; i < totalEntities; i++) {
@@ -252,7 +256,7 @@ async function validateSpecification(spec, accessor, modelInfo, options, descrip
252
256
  }
253
257
  if ((i & 31) === 0)
254
258
  await maybeYield();
255
- const entityResult = validateEntityRequirements(spec, expressId, modelId, accessor, descriptionCache, translator);
259
+ const entityResult = validateEntityRequirements(spec, checks, expressId, modelId, accessor, descriptionCache, translator);
256
260
  // Include result based on options
257
261
  if (includePassingEntities || !entityResult.passed) {
258
262
  entityResults.push(entityResult);
@@ -396,15 +400,15 @@ async function findApplicableEntities(spec, accessor, maybeYield, propertyIndex,
396
400
  /**
397
401
  * Validate requirements for a single entity
398
402
  */
399
- function validateEntityRequirements(spec, expressId, modelId, accessor, descriptionCache, translator) {
403
+ function validateEntityRequirements(spec, checks, expressId, modelId, accessor, descriptionCache, translator) {
400
404
  const requirementResults = [];
401
405
  let allPassed = true;
402
- for (const requirement of spec.requirements) {
406
+ // A prohibited specification adds a failing check per element (#7403).
407
+ for (const requirement of checks) {
403
408
  const result = checkRequirement(requirement, expressId, accessor, descriptionCache, translator);
404
409
  requirementResults.push(result);
405
- if (result.status === 'fail') {
410
+ if (result.status === 'fail')
406
411
  allPassed = false;
407
- }
408
412
  }
409
413
  return {
410
414
  expressId,
@@ -412,7 +416,7 @@ function validateEntityRequirements(spec, expressId, modelId, accessor, descript
412
416
  entityType: accessor.getEntityType(expressId) || 'Unknown',
413
417
  entityName: accessor.getEntityName(expressId),
414
418
  globalId: accessor.getGlobalId(expressId),
415
- passed: allPassed,
419
+ passed: allPassed && spec.maxOccurs !== 0,
416
420
  requirementResults,
417
421
  };
418
422
  }
@@ -462,9 +466,8 @@ function checkRequirement(requirement, expressId, accessor, descriptionCache, tr
462
466
  'CLASSIFICATION_MISSING',
463
467
  'MATERIAL_MISSING',
464
468
  'PARTOF_RELATION_MISSING',
465
- // The nested predefinedType sub-constraint on an entity /
466
- // partOf facet is itself an "attribute" of the target entity —
467
- // when it's wholly unset (no PredefinedType, no fallback
469
+ // The nested predefinedType of an entity / partOf facet is an
470
+ // "attribute" of the target entity — when it's wholly unset (no PredefinedType, no fallback
468
471
  // ObjectType/parent predefinedType at all) that's the same
469
472
  // "wholly absent" shape as ATTRIBUTE_MISSING, not "bad data".
470
473
  'PREDEFINED_TYPE_MISSING',
@@ -495,7 +498,7 @@ function checkRequirement(requirement, expressId, accessor, descriptionCache, tr
495
498
  if (status === 'fail') {
496
499
  failureReason = translator
497
500
  ? translator.t('failures.prohibited', {
498
- field: facetResult.actualValue || 'value',
501
+ field: requirement.facet.type, actual: facetResult.actualValue ?? '?',
499
502
  })
500
503
  : `Prohibited: found ${facetResult.actualValue}`;
501
504
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAwB/D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,qEAAqE;AACrE,SAAS,QAAQ,CAAI,EAA4B;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAa,CAAC;IACnC,OAAO,CAAC,SAAiB,EAAK,EAAE;QAC9B,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,cAAc,CACrB,EAAyC;IAEzC,MAAM,KAAK,GAAG,IAAI,YAAY,EAAa,CAAC;IAC5C,OAAO,CAAC,SAAiB,EAAE,GAAW,EAAK,EAAE;QAC3C,MAAM,QAAQ,GAAG,GAAG,SAAS,SAAS,GAAG,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAC;QACzD,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAyB;IAC5D,IAAI,YAAkC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEnD,MAAM,MAAM,GAAoB;QAC9B,aAAa,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3D,aAAa,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3D,WAAW,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACvD,cAAc,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC7D,aAAa,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3D,eAAe,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC/D,kBAAkB,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACrE,YAAY,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACzD,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3E,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,GAAqB,CAAC,CACd;QACjC,gBAAgB,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAC3C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACnD,iBAAiB,CAAC,QAAgB;YAChC,IAAI,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,GAAG,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC3C,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,eAAe;YACb,IAAI,CAAC,YAAY;gBAAE,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7D,OAAO,YAAY,CAAC;QACtB,CAAC;KACF,CAAC;IAEF,mEAAmE;IACnE,8CAA8C;IAC9C,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5C,QAAQ,CAAC,oBAAqB,CAAC,EAAE,CAAC,CACnC,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,CAAC,oBAAoB,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CACxD,QAAQ,CAAC,oBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CACE,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAC/C,QAAQ,CAAC,YAAa,CAAC,EAAE,EAAE,GAAqB,CAAC,CACf,CAAC;IACvC,CAAC;IACD,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,mDAAmD;QACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC;IAChD,CAAC;IACD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAUD,MAAM,KAAK,GAAG,GAAW,EAAE,CACzB,OAAO,UAAU,CAAC,WAAW,EAAE,GAAG,KAAK,UAAU;IAC/C,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE;IAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAEjB;;;;;;;;;GASG;AACH,SAAS,gBAAgB;IACvB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE;YAC7B,iEAAiE;YACjE,0DAA0D;YAC1D,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,IAAI,KAAK,EAAE,GAAG,SAAS,GAAG,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrD,OAAO,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAClC,SAAS,GAAG,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAID;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAqB,EACrB,QAAyB,EACzB,SAA8B,EAC9B,UAA4B,EAAE;IAE9B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,+BAA+B;IAC7F,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAqB,IAAI,GAAG,EAAE,CAAC;IACrD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,IAAI,0BAA0B,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAE/E,MAAM,oBAAoB,GAA6B,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAExC,kBAAkB;QAClB,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC;gBACT,KAAK,EAAE,WAAW;gBAClB,kBAAkB,EAAE,CAAC;gBACrB,mBAAmB,EAAE,UAAU;gBAC/B,iBAAiB,EAAE,CAAC;gBACpB,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,iEAAiE;QACjE,kBAAkB;QAClB,MAAM,UAAU,EAAE,CAAC;QAEnB,IAAI,MAA8B,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,qBAAqB,CAClC,IAAI,EACJ,cAAc,EACd,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC;wBACT,GAAG,QAAQ;wBACX,kBAAkB,EAAE,CAAC;wBACrB,mBAAmB,EAAE,UAAU;wBAC/B,UAAU,EAAE,IAAI,CAAC,KAAK,CACpB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;4BACrE,UAAU,CAAC;4BACX,GAAG,CACN;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,oEAAoE;YACpE,wDAAwD;YACxD,IAAI,CAAC,CAAC,GAAG,YAAY,uBAAuB,CAAC;gBAAE,MAAM,GAAG,CAAC;YACzD,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,oBAAoB;IACpB,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC;YACT,KAAK,EAAE,UAAU;YACjB,kBAAkB,EAAE,UAAU;YAC9B,mBAAmB,EAAE,UAAU;YAC/B,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAEvD,OAAO;QACL,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;QACjC,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,OAAO;QACP,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,mBAAmB,CAC1B,IAAsB,EACtB,GAA4B;IAE5B,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,MAAM;QACd,eAAe,EAAE,CAAC;QAClB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,yCAAyC,GAAG,CAAC,OAAO,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAClC,IAAsB,EACtB,QAAyB,EACzB,SAA8B,EAC9B,OAAyB,EACzB,gBAAkC,EAClC,UAAsB,EACtB,aAAyC,EACzC,UAAsH;IAEtH,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,sBAAsB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAElC,oCAAoC;IACpC,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAE1G,wCAAwC;IACxC,MAAM,UAAU,GAAG,WAAW;QAC5B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;QACrC,CAAC,CAAC,aAAa,CAAC;IAClB,sFAAsF;IACtF,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,aAAa,GAAsB,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAEhC,+BAA+B;QAC/B,IAAI,UAAU,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;YAChC,UAAU,CAAC;gBACT,KAAK,EAAE,YAAY;gBACnB,iBAAiB,EAAE,CAAC;gBACpB,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;YAAE,MAAM,UAAU,EAAE,CAAC;QAEvC,MAAM,YAAY,GAAG,0BAA0B,CAC7C,IAAI,EAAE,MAAM,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,UAAU,CACX,CAAC;QAEF,kCAAkC;QAClC,IAAI,sBAAsB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACnD,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,WAAW,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IAC5C,CAAC;IAED,oBAAoB;IACpB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEvE,2BAA2B;IAC3B,IAAI,MAAM,GAAuC,MAAM,CAAC;IACxD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,kEAAkE;QAClE,IAAI,iBAAiB,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;YACxC,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;aAAM,IAAI,iBAAiB,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;YAC9C,0EAA0E;YAC1E,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,gBAAgB,CAAC;QAC5B,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,GAAG,CAAC,IAAI,iBAAiB,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,GACV,aAAa,GAAG,CAAC;QACf,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC;QAC7C,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,GAAG,CAAC;IAEZ,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,mEAAmE;IACnE,wEAAwE;IACxE,qEAAqE;IACrE,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,MAAM,KAAK,MAAM,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QAC1C,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,MAAM;QACN,eAAe,EAAE,aAAa,CAAC,MAAM;QACrC,WAAW;QACX,WAAW;QACX,QAAQ;QACR,aAAa;QACb,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACnC,IAAsB,EACtB,QAAyB,EACzB,UAAsB,EACtB,aAAyC,EACzC,UAAsH;IAEtH,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAEtD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,6CAA6C;QAC7C,OAAO,QAAQ,CAAC,eAAe,EAAE,CAAC;IACpC,CAAC;IAED,kDAAkD;IAClD,IAAI,YAAkC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,YAAY,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IAC5C,CAAC;IAED,mEAAmE;IACnE,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QACxC,sEAAsE;QACtE,mEAAmE;QACnE,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CACzC,KAAK,EACL,YAAY,EACZ,UAAU,EACV,UAAU;YACR,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CACnB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YAC1F,CAAC,CAAC,SAAS,CACd,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS;YAAE,YAAY,GAAG,QAAQ,CAAC;IACtD,CAAC;IAED,oEAAoE;IACpE,sEAAsE;IACtE,kEAAkE;IAClE,yCAAyC;IACzC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,UAAU,IAAI,eAAe,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,UAAU,CAAC;gBACT,KAAK,EAAE,WAAW;gBAClB,iBAAiB,EAAE,CAAC;gBACpB,aAAa,EAAE,eAAe;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,UAAU,EAAE,CAAC;QAExC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,8DAA8D;YAC9D,8DAA8D;YAC9D,6DAA6D;YAC7D,0BAA0B;YAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CACjC,IAAsB,EAAE,MAAiC,EACzD,SAAiB,EACjB,OAAe,EACf,QAAyB,EACzB,gBAAkC,EAClC,UAA+B;IAE/B,MAAM,kBAAkB,GAA2B,EAAE,CAAC;IACtD,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,uEAAuE;IACvE,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAChG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;YAAE,SAAS,GAAG,KAAK,CAAC;IAClD,CAAC;IAED,OAAO;QACL,SAAS;QACT,OAAO;QACP,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS;QAC1D,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;QAC7C,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC;QACzC,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;QACzC,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC,CAAC,2BAA2B,EAAE,qBAAqB,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAE9I;;GAEG;AACH,SAAS,gBAAgB,CACvB,WAA2B,EAC3B,SAAiB,EACjB,QAAyB,EACzB,gBAAkC,EAClC,UAA+B;IAE/B,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEvE,8FAA8F;IAC9F,IAAI,MAA0C,CAAC;IAC/C,IAAI,aAAiC,CAAC;IACtC,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAChF,QAAQ,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5D,KAAK,UAAU;YACb,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBACxB,aAAa,GAAG,UAAU;oBACxB,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;wBACzB,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;wBAC1C,MAAM,EAAE,MAAM;wBACd,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI;wBACjC,kBAAkB,EAAE,EAAE;wBACtB,WAAW,EAAE,WAAW,CAAC,WAAW;wBACpC,aAAa,EAAE,WAAW,CAAC,aAAa;wBACxC,OAAO,EAAE,WAAW,CAAC,OAAO;qBAC7B,CAAC;oBACJ,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;YACD,MAAM;QAER,KAAK,UAAU;YACb,6DAA6D;YAC7D,iCAAiC;YACjC,kEAAkE;YAClE,qCAAqC;YACrC,iEAAiE;YACjE,8DAA8D;YAC9D,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;oBAC9B,mBAAmB;oBACnB,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB;oBAC7D,cAAc;oBACd,wBAAwB;oBACxB,kBAAkB;oBAClB,yBAAyB;oBACzB,8DAA8D;oBAC9D,4FAA4F;oBAC5F,2DAA2D;oBAC3D,8DAA8D;oBAC9D,yBAAyB;oBACzB,gCAAgC;iBACjC,CAAC,CAAC;gBACH,IACE,WAAW,CAAC,OAAO,EAAE,IAAI;oBACzB,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAC7C,CAAC;oBACD,MAAM,GAAG,MAAM,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,MAAM,CAAC;oBAChB,aAAa,GAAG,UAAU;wBACxB,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;4BACzB,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;4BAC1C,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI;4BACjC,kBAAkB,EAAE,EAAE;4BACtB,WAAW,EAAE,WAAW,CAAC,WAAW;4BACpC,aAAa,EAAE,WAAW,CAAC,aAAa;4BACxC,OAAO,EAAE,WAAW,CAAC,OAAO;yBAC7B,CAAC;wBACJ,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,YAAY;YACf,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,gBAAgB;YAC/D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,aAAa,GAAG,UAAU;oBACxB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,EAAE;wBAClC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,WAAW,IAAI,GAAG;qBACtE,CAAC;oBACJ,CAAC,CAAC,qBAAqB,WAAW,CAAC,WAAW,EAAE,CAAC;YACrD,CAAC;YACD,MAAM;QAER;YACE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAClD,CAAC;IAED,oEAAoE;IACpE,gEAAgE;IAChE,IAAI,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3D,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,kBAAkB,GAAG,UAAU;YAC7B,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;QAC9C,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,8DAA8D;QAC9D,kEAAkE;QAClE,gEAAgE;QAChE,wDAAwD;QACxD,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE;QAC1D,MAAM;QACN,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI;QACjC,kBAAkB;QAClB,aAAa;QACb,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,OAAO,EAAE,WAAW,CAAC,OAAO;KAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,IAAsB,EACtB,eAAuB;IAEvB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wDAAwD;IACxD,6DAA6D;IAC7D,8DAA8D;IAC9D,iEAAiE;IACjE,uBAAuB;IACvB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;IAEnC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,eAAe,GAAG,WAAW,EAAE,CAAC;QAClC,MAAM,GAAG,KAAK,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,qBAAqB,WAAW,WAAW,eAAe,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC7D,IAAI,eAAe,GAAG,WAAW,EAAE,CAAC;YAClC,MAAM,GAAG,KAAK,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,oBAAoB,WAAW,WAAW,eAAe,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB;KAC7E,CAAC;AACJ,CAAC;AAED;wDACwD;AACxD,MAAM,UAAU,gBAAgB,CAC9B,oBAAoD;IAEpD,IAAI,mBAAmB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACtD,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAE5B,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,oBAAoB,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACpC,oBAAoB,EAAE,CAAC;QACzB,CAAC;QAED,oBAAoB,IAAI,MAAM,CAAC,eAAe,CAAC;QAC/C,mBAAmB,IAAI,MAAM,CAAC,WAAW,CAAC;QAC1C,mBAAmB,IAAI,MAAM,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,IAAI,eAAe,GAAG,eAAe,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IAEjF,wEAAwE;IACxE,uEAAuE;IACvE,4DAA4D;IAC5D,gEAAgE;IAChE,yEAAyE;IACzE,kEAAkE;IAClE,6DAA6D;IAC7D,IAAI,oBAAoB,GAAG,CAAC,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;QACxD,eAAe,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,mBAAmB;QACnB,mBAAmB;QACnB,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * `IDSConstraint` -> `<simpleValue>` or one `<xs:restriction>` holding the
3
+ * primary facet family and its conjunctive `and` siblings.
4
+ */
5
+ import type { IDSConstraint } from '../types.js';
6
+ import type { XmlLines } from './xml-lines.js';
7
+ export declare function writeConstraint(xml: XmlLines, tag: string, constraint: IDSConstraint): void;
8
+ //# sourceMappingURL=constraint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint.d.ts","sourceRoot":"","sources":["../../src/writer/constraint.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA+H/C,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,IAAI,CAK3F"}
@@ -0,0 +1,142 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ function refuse(what) {
5
+ throw new Error(`writeIdsXml: ${what} are not supported by this writer`);
6
+ }
7
+ /**
8
+ * The facet families of one `<xs:restriction>`: the primary constraint and
9
+ * its conjunctive `and` siblings (see `constraint-types.ts`). One restriction
10
+ * holds one base and at most one family of each kind, since XSD ORs sibling
11
+ * patterns and enumerations; anything else has no single-restriction XML and
12
+ * is refused, never written as a weaker or different check.
13
+ */
14
+ function restrictionFamilies(constraint) {
15
+ const families = [constraint];
16
+ for (const sibling of constraint.and ?? []) {
17
+ if (sibling.type === 'simpleValue')
18
+ refuse('simple values inside a conjunctive restriction');
19
+ if (sibling.and?.length)
20
+ refuse('nested conjunctive restriction facets');
21
+ if (families.some((family) => family.type === sibling.type))
22
+ refuse(`two ${sibling.type} families in one conjunctive restriction`);
23
+ families.push(sibling);
24
+ }
25
+ const bases = new Set(families.map((family) => family.base).filter((base) => base !== undefined));
26
+ if (bases.size > 1)
27
+ refuse('conjunctive restriction facets with different bases');
28
+ return families;
29
+ }
30
+ /** `xs:length`, `xs:minLength`, `xs:maxLength` and the digit counts are `xs:nonNegativeInteger`. */
31
+ function countLexical(facet, value) {
32
+ if (!Number.isSafeInteger(value) || value < 0) {
33
+ throw new Error(`writeIdsXml: ${facet} must be a non-negative integer, got ${value}`);
34
+ }
35
+ return String(value);
36
+ }
37
+ /** Bases whose lexical space has an exponent: `xs:double` and `xs:float`. */
38
+ const EXPONENT_BASES = new Set(['xs:double', 'xs:float']);
39
+ /**
40
+ * A bound in its base's lexical space. `String(1e-7)` is `"1e-7"`, which
41
+ * `xs:decimal` and the integer types cannot read, so the exponent is expanded
42
+ * into plain digits there; the digits are the same, so `parseFloat` reads
43
+ * back the identical number.
44
+ */
45
+ function boundLexical(facet, value, base) {
46
+ if (!Number.isFinite(value))
47
+ throw new Error(`writeIdsXml: ${facet} must be a finite number, got ${value}`);
48
+ const text = String(value);
49
+ if (EXPONENT_BASES.has(base) || !/e/i.test(text))
50
+ return text;
51
+ return expandExponent(text);
52
+ }
53
+ function expandExponent(text) {
54
+ const match = /^(-?)(\d+)(?:\.(\d+))?e([+-]\d+)$/i.exec(text);
55
+ if (!match)
56
+ return text;
57
+ const [, sign, whole, fraction = '', exponentText] = match;
58
+ const digits = whole + fraction;
59
+ const point = whole.length + Number(exponentText);
60
+ if (point <= 0)
61
+ return `${sign}0.${'0'.repeat(-point)}${digits}`;
62
+ if (point >= digits.length)
63
+ return `${sign}${digits}${'0'.repeat(point - digits.length)}`;
64
+ return `${sign}${digits.slice(0, point)}.${digits.slice(point)}`;
65
+ }
66
+ function writeBounds(xml, constraint, base) {
67
+ if (constraint.unparseableFacets?.length)
68
+ refuse('unparseable bound facets');
69
+ const bounds = [
70
+ ['xs:minInclusive', constraint.minInclusive],
71
+ ['xs:minExclusive', constraint.minExclusive],
72
+ ['xs:maxInclusive', constraint.maxInclusive],
73
+ ['xs:maxExclusive', constraint.maxExclusive],
74
+ ];
75
+ // Date, time and duration bounds are kept as their validated lexemes, not numbers (#7399).
76
+ const temporal = constraint.temporalBounds;
77
+ const temporalBounds = [
78
+ ['xs:minInclusive', temporal?.minInclusive],
79
+ ['xs:minExclusive', temporal?.minExclusive],
80
+ ['xs:maxInclusive', temporal?.maxInclusive],
81
+ ['xs:maxExclusive', temporal?.maxExclusive],
82
+ ];
83
+ const counts = [
84
+ ['xs:length', constraint.length],
85
+ ['xs:minLength', constraint.minLength],
86
+ ['xs:maxLength', constraint.maxLength],
87
+ ['xs:totalDigits', constraint.totalDigits],
88
+ ['xs:fractionDigits', constraint.fractionDigits],
89
+ ];
90
+ // With no facet the restriction would be empty, which reads back as an empty enumeration.
91
+ if ([...bounds, ...temporalBounds, ...counts].every(([, value]) => value === undefined))
92
+ refuse('bounds restrictions without any facet');
93
+ for (const [facet, value] of bounds) {
94
+ if (value !== undefined)
95
+ xml.empty(facet, { value: boundLexical(facet, value, base) });
96
+ }
97
+ for (const [facet, value] of temporalBounds) {
98
+ if (value !== undefined)
99
+ xml.empty(facet, { value });
100
+ }
101
+ for (const [facet, value] of counts) {
102
+ if (value !== undefined)
103
+ xml.empty(facet, { value: countLexical(facet, value) });
104
+ }
105
+ }
106
+ /** The base written when the model carries none: `xs:double` for a numeric bounds restriction, else `xs:string`. */
107
+ function defaultBase(families) {
108
+ const primary = families[0];
109
+ if (primary.type !== 'bounds')
110
+ return 'xs:string';
111
+ const numeric = [primary.minInclusive, primary.minExclusive, primary.maxInclusive, primary.maxExclusive, primary.totalDigits, primary.fractionDigits];
112
+ return numeric.some((value) => value !== undefined) ? 'xs:double' : 'xs:string';
113
+ }
114
+ function writeRestriction(xml, constraint) {
115
+ const families = restrictionFamilies(constraint);
116
+ const base = families.find((family) => family.base !== undefined)?.base ?? defaultBase(families);
117
+ xml.open('xs:restriction', { base });
118
+ for (const family of families) {
119
+ switch (family.type) {
120
+ case 'pattern':
121
+ xml.empty('xs:pattern', { value: family.pattern });
122
+ break;
123
+ case 'enumeration':
124
+ for (const value of family.values)
125
+ xml.empty('xs:enumeration', { value });
126
+ break;
127
+ case 'bounds':
128
+ writeBounds(xml, family, base);
129
+ break;
130
+ }
131
+ }
132
+ xml.close('xs:restriction');
133
+ }
134
+ export function writeConstraint(xml, tag, constraint) {
135
+ xml.open(tag);
136
+ if (constraint.type === 'simpleValue')
137
+ xml.leaf('simpleValue', constraint.value);
138
+ else
139
+ writeRestriction(xml, constraint);
140
+ xml.close(tag);
141
+ }
142
+ //# sourceMappingURL=constraint.js.map