@ifc-lite/ids-authoring 0.0.0-stage → 0.2.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 (447) hide show
  1. package/LICENSE +373 -0
  2. package/README.md +469 -2
  3. package/dist/bsdd/cache.d.ts +37 -0
  4. package/dist/bsdd/cache.d.ts.map +1 -0
  5. package/dist/bsdd/cache.js +116 -0
  6. package/dist/bsdd/cache.js.map +1 -0
  7. package/dist/bsdd/contract.d.ts +31 -0
  8. package/dist/bsdd/contract.d.ts.map +1 -0
  9. package/dist/bsdd/contract.js +185 -0
  10. package/dist/bsdd/contract.js.map +1 -0
  11. package/dist/bsdd/dictionary.d.ts +42 -0
  12. package/dist/bsdd/dictionary.d.ts.map +1 -0
  13. package/dist/bsdd/dictionary.js +115 -0
  14. package/dist/bsdd/dictionary.js.map +1 -0
  15. package/dist/bsdd/generator.d.ts +82 -0
  16. package/dist/bsdd/generator.d.ts.map +1 -0
  17. package/dist/bsdd/generator.js +155 -0
  18. package/dist/bsdd/generator.js.map +1 -0
  19. package/dist/bsdd/http-source.d.ts +15 -0
  20. package/dist/bsdd/http-source.d.ts.map +1 -0
  21. package/dist/bsdd/http-source.js +196 -0
  22. package/dist/bsdd/http-source.js.map +1 -0
  23. package/dist/bsdd/idb-store.d.ts +16 -0
  24. package/dist/bsdd/idb-store.d.ts.map +1 -0
  25. package/dist/bsdd/idb-store.js +58 -0
  26. package/dist/bsdd/idb-store.js.map +1 -0
  27. package/dist/bsdd/insert.d.ts +55 -0
  28. package/dist/bsdd/insert.d.ts.map +1 -0
  29. package/dist/bsdd/insert.js +105 -0
  30. package/dist/bsdd/insert.js.map +1 -0
  31. package/dist/bsdd/mapping.d.ts +62 -0
  32. package/dist/bsdd/mapping.d.ts.map +1 -0
  33. package/dist/bsdd/mapping.js +163 -0
  34. package/dist/bsdd/mapping.js.map +1 -0
  35. package/dist/bsdd/picker.d.ts +91 -0
  36. package/dist/bsdd/picker.d.ts.map +1 -0
  37. package/dist/bsdd/picker.js +151 -0
  38. package/dist/bsdd/picker.js.map +1 -0
  39. package/dist/bsdd/types.d.ts +162 -0
  40. package/dist/bsdd/types.d.ts.map +1 -0
  41. package/dist/bsdd/types.js +26 -0
  42. package/dist/bsdd/types.js.map +1 -0
  43. package/dist/bsdd/uri-health.d.ts +65 -0
  44. package/dist/bsdd/uri-health.d.ts.map +1 -0
  45. package/dist/bsdd/uri-health.js +110 -0
  46. package/dist/bsdd/uri-health.js.map +1 -0
  47. package/dist/canonical-json.d.ts +7 -0
  48. package/dist/canonical-json.d.ts.map +1 -0
  49. package/dist/canonical-json.js +20 -0
  50. package/dist/canonical-json.js.map +1 -0
  51. package/dist/comments/view.d.ts +37 -0
  52. package/dist/comments/view.d.ts.map +1 -0
  53. package/dist/comments/view.js +61 -0
  54. package/dist/comments/view.js.map +1 -0
  55. package/dist/compound/expand.d.ts +5 -0
  56. package/dist/compound/expand.d.ts.map +1 -0
  57. package/dist/compound/expand.js +135 -0
  58. package/dist/compound/expand.js.map +1 -0
  59. package/dist/compound/from-bsdd.d.ts +9 -0
  60. package/dist/compound/from-bsdd.d.ts.map +1 -0
  61. package/dist/compound/from-bsdd.js +166 -0
  62. package/dist/compound/from-bsdd.js.map +1 -0
  63. package/dist/diff/align.d.ts +42 -0
  64. package/dist/diff/align.d.ts.map +1 -0
  65. package/dist/diff/align.js +78 -0
  66. package/dist/diff/align.js.map +1 -0
  67. package/dist/diff/changelog-text.d.ts +39 -0
  68. package/dist/diff/changelog-text.d.ts.map +1 -0
  69. package/dist/diff/changelog-text.js +120 -0
  70. package/dist/diff/changelog-text.js.map +1 -0
  71. package/dist/diff/changelog.d.ts +28 -0
  72. package/dist/diff/changelog.d.ts.map +1 -0
  73. package/dist/diff/changelog.js +173 -0
  74. package/dist/diff/changelog.js.map +1 -0
  75. package/dist/diff/compare.d.ts +25 -0
  76. package/dist/diff/compare.d.ts.map +1 -0
  77. package/dist/diff/compare.js +150 -0
  78. package/dist/diff/compare.js.map +1 -0
  79. package/dist/diff/diff.d.ts +13 -0
  80. package/dist/diff/diff.d.ts.map +1 -0
  81. package/dist/diff/diff.js +140 -0
  82. package/dist/diff/diff.js.map +1 -0
  83. package/dist/diff/index.d.ts +5 -0
  84. package/dist/diff/index.d.ts.map +1 -0
  85. package/dist/diff/index.js +7 -0
  86. package/dist/diff/index.js.map +1 -0
  87. package/dist/diff/patch.d.ts +10 -0
  88. package/dist/diff/patch.d.ts.map +1 -0
  89. package/dist/diff/patch.js +177 -0
  90. package/dist/diff/patch.js.map +1 -0
  91. package/dist/diff/types.d.ts +201 -0
  92. package/dist/diff/types.d.ts.map +1 -0
  93. package/dist/diff/types.js +5 -0
  94. package/dist/diff/types.js.map +1 -0
  95. package/dist/document/fields.d.ts +33 -0
  96. package/dist/document/fields.d.ts.map +1 -0
  97. package/dist/document/fields.js +117 -0
  98. package/dist/document/fields.js.map +1 -0
  99. package/dist/document/from-ids.d.ts +32 -0
  100. package/dist/document/from-ids.d.ts.map +1 -0
  101. package/dist/document/from-ids.js +47 -0
  102. package/dist/document/from-ids.js.map +1 -0
  103. package/dist/document/node-index.d.ts +32 -0
  104. package/dist/document/node-index.d.ts.map +1 -0
  105. package/dist/document/node-index.js +127 -0
  106. package/dist/document/node-index.js.map +1 -0
  107. package/dist/document/types.d.ts +170 -0
  108. package/dist/document/types.d.ts.map +1 -0
  109. package/dist/document/types.js +19 -0
  110. package/dist/document/types.js.map +1 -0
  111. package/dist/gate/bsdd.d.ts +12 -0
  112. package/dist/gate/bsdd.d.ts.map +1 -0
  113. package/dist/gate/bsdd.js +17 -0
  114. package/dist/gate/bsdd.js.map +1 -0
  115. package/dist/gate/check.d.ts +6 -0
  116. package/dist/gate/check.d.ts.map +1 -0
  117. package/dist/gate/check.js +125 -0
  118. package/dist/gate/check.js.map +1 -0
  119. package/dist/gate/context.d.ts +51 -0
  120. package/dist/gate/context.d.ts.map +1 -0
  121. package/dist/gate/context.js +74 -0
  122. package/dist/gate/context.js.map +1 -0
  123. package/dist/gate/grounding-pset.d.ts +5 -0
  124. package/dist/gate/grounding-pset.d.ts.map +1 -0
  125. package/dist/gate/grounding-pset.js +179 -0
  126. package/dist/gate/grounding-pset.js.map +1 -0
  127. package/dist/gate/grounding.d.ts +48 -0
  128. package/dist/gate/grounding.d.ts.map +1 -0
  129. package/dist/gate/grounding.js +146 -0
  130. package/dist/gate/grounding.js.map +1 -0
  131. package/dist/gate/rank.d.ts +28 -0
  132. package/dist/gate/rank.d.ts.map +1 -0
  133. package/dist/gate/rank.js +68 -0
  134. package/dist/gate/rank.js.map +1 -0
  135. package/dist/gate/structural.d.ts +43 -0
  136. package/dist/gate/structural.d.ts.map +1 -0
  137. package/dist/gate/structural.js +175 -0
  138. package/dist/gate/structural.js.map +1 -0
  139. package/dist/gate/types.d.ts +45 -0
  140. package/dist/gate/types.d.ts.map +1 -0
  141. package/dist/gate/types.js +5 -0
  142. package/dist/gate/types.js.map +1 -0
  143. package/dist/gate/values.d.ts +19 -0
  144. package/dist/gate/values.d.ts.map +1 -0
  145. package/dist/gate/values.js +124 -0
  146. package/dist/gate/values.js.map +1 -0
  147. package/dist/headless/apply-gated.d.ts +32 -0
  148. package/dist/headless/apply-gated.d.ts.map +1 -0
  149. package/dist/headless/apply-gated.js +26 -0
  150. package/dist/headless/apply-gated.js.map +1 -0
  151. package/dist/headless/diff.d.ts +41 -0
  152. package/dist/headless/diff.d.ts.map +1 -0
  153. package/dist/headless/diff.js +116 -0
  154. package/dist/headless/diff.js.map +1 -0
  155. package/dist/headless/node-path.d.ts +10 -0
  156. package/dist/headless/node-path.d.ts.map +1 -0
  157. package/dist/headless/node-path.js +24 -0
  158. package/dist/headless/node-path.js.map +1 -0
  159. package/dist/headless/read.d.ts +26 -0
  160. package/dist/headless/read.d.ts.map +1 -0
  161. package/dist/headless/read.js +78 -0
  162. package/dist/headless/read.js.map +1 -0
  163. package/dist/headless/schema-lookup.d.ts +52 -0
  164. package/dist/headless/schema-lookup.d.ts.map +1 -0
  165. package/dist/headless/schema-lookup.js +77 -0
  166. package/dist/headless/schema-lookup.js.map +1 -0
  167. package/dist/headless/write.d.ts +46 -0
  168. package/dist/headless/write.d.ts.map +1 -0
  169. package/dist/headless/write.js +103 -0
  170. package/dist/headless/write.js.map +1 -0
  171. package/dist/history/history.d.ts +90 -0
  172. package/dist/history/history.d.ts.map +1 -0
  173. package/dist/history/history.js +86 -0
  174. package/dist/history/history.js.map +1 -0
  175. package/dist/history/persistence.d.ts +33 -0
  176. package/dist/history/persistence.d.ts.map +1 -0
  177. package/dist/history/persistence.js +71 -0
  178. package/dist/history/persistence.js.map +1 -0
  179. package/dist/index.d.ts +55 -0
  180. package/dist/index.d.ts.map +1 -0
  181. package/dist/index.js +75 -0
  182. package/dist/index.js.map +1 -0
  183. package/dist/lint/context.d.ts +15 -0
  184. package/dist/lint/context.d.ts.map +1 -0
  185. package/dist/lint/context.js +24 -0
  186. package/dist/lint/context.js.map +1 -0
  187. package/dist/lint/docs.d.ts +18 -0
  188. package/dist/lint/docs.d.ts.map +1 -0
  189. package/dist/lint/docs.js +117 -0
  190. package/dist/lint/docs.js.map +1 -0
  191. package/dist/lint/engine.d.ts +21 -0
  192. package/dist/lint/engine.d.ts.map +1 -0
  193. package/dist/lint/engine.js +123 -0
  194. package/dist/lint/engine.js.map +1 -0
  195. package/dist/lint/fix.d.ts +27 -0
  196. package/dist/lint/fix.d.ts.map +1 -0
  197. package/dist/lint/fix.js +22 -0
  198. package/dist/lint/fix.js.map +1 -0
  199. package/dist/lint/precision.d.ts +51 -0
  200. package/dist/lint/precision.d.ts.map +1 -0
  201. package/dist/lint/precision.js +64 -0
  202. package/dist/lint/precision.js.map +1 -0
  203. package/dist/lint/rules/bsdd.d.ts +5 -0
  204. package/dist/lint/rules/bsdd.d.ts.map +1 -0
  205. package/dist/lint/rules/bsdd.js +123 -0
  206. package/dist/lint/rules/bsdd.js.map +1 -0
  207. package/dist/lint/rules/card.d.ts +10 -0
  208. package/dist/lint/rules/card.d.ts.map +1 -0
  209. package/dist/lint/rules/card.js +140 -0
  210. package/dist/lint/rules/card.js.map +1 -0
  211. package/dist/lint/rules/doc-ver-part.d.ts +7 -0
  212. package/dist/lint/rules/doc-ver-part.d.ts.map +1 -0
  213. package/dist/lint/rules/doc-ver-part.js +155 -0
  214. package/dist/lint/rules/doc-ver-part.js.map +1 -0
  215. package/dist/lint/rules/entity.d.ts +12 -0
  216. package/dist/lint/rules/entity.d.ts.map +1 -0
  217. package/dist/lint/rules/entity.js +215 -0
  218. package/dist/lint/rules/entity.js.map +1 -0
  219. package/dist/lint/rules/index.d.ts +4 -0
  220. package/dist/lint/rules/index.d.ts.map +1 -0
  221. package/dist/lint/rules/index.js +63 -0
  222. package/dist/lint/rules/index.js.map +1 -0
  223. package/dist/lint/rules/pdt-att.d.ts +7 -0
  224. package/dist/lint/rules/pdt-att.d.ts.map +1 -0
  225. package/dist/lint/rules/pdt-att.js +209 -0
  226. package/dist/lint/rules/pdt-att.js.map +1 -0
  227. package/dist/lint/rules/pset.d.ts +12 -0
  228. package/dist/lint/rules/pset.d.ts.map +1 -0
  229. package/dist/lint/rules/pset.js +263 -0
  230. package/dist/lint/rules/pset.js.map +1 -0
  231. package/dist/lint/rules/regex.d.ts +6 -0
  232. package/dist/lint/rules/regex.d.ts.map +1 -0
  233. package/dist/lint/rules/regex.js +184 -0
  234. package/dist/lint/rules/regex.js.map +1 -0
  235. package/dist/lint/rules/spec-doc.d.ts +5 -0
  236. package/dist/lint/rules/spec-doc.d.ts.map +1 -0
  237. package/dist/lint/rules/spec-doc.js +132 -0
  238. package/dist/lint/rules/spec-doc.js.map +1 -0
  239. package/dist/lint/rules/spec.d.ts +24 -0
  240. package/dist/lint/rules/spec.d.ts.map +1 -0
  241. package/dist/lint/rules/spec.js +162 -0
  242. package/dist/lint/rules/spec.js.map +1 -0
  243. package/dist/lint/rules/units.d.ts +4 -0
  244. package/dist/lint/rules/units.d.ts.map +1 -0
  245. package/dist/lint/rules/units.js +101 -0
  246. package/dist/lint/rules/units.js.map +1 -0
  247. package/dist/lint/rules/util.d.ts +37 -0
  248. package/dist/lint/rules/util.d.ts.map +1 -0
  249. package/dist/lint/rules/util.js +117 -0
  250. package/dist/lint/rules/util.js.map +1 -0
  251. package/dist/lint/rules/value-sites.d.ts +28 -0
  252. package/dist/lint/rules/value-sites.d.ts.map +1 -0
  253. package/dist/lint/rules/value-sites.js +81 -0
  254. package/dist/lint/rules/value-sites.js.map +1 -0
  255. package/dist/lint/rules/values.d.ts +22 -0
  256. package/dist/lint/rules/values.d.ts.map +1 -0
  257. package/dist/lint/rules/values.js +237 -0
  258. package/dist/lint/rules/values.js.map +1 -0
  259. package/dist/lint/rules/xsd-regex.d.ts +34 -0
  260. package/dist/lint/rules/xsd-regex.d.ts.map +1 -0
  261. package/dist/lint/rules/xsd-regex.js +149 -0
  262. package/dist/lint/rules/xsd-regex.js.map +1 -0
  263. package/dist/lint/solver/sample.d.ts +3 -0
  264. package/dist/lint/solver/sample.d.ts.map +1 -0
  265. package/dist/lint/solver/sample.js +134 -0
  266. package/dist/lint/solver/sample.js.map +1 -0
  267. package/dist/lint/solver/solver.d.ts +39 -0
  268. package/dist/lint/solver/solver.d.ts.map +1 -0
  269. package/dist/lint/solver/solver.js +126 -0
  270. package/dist/lint/solver/solver.js.map +1 -0
  271. package/dist/lint/suppress.d.ts +12 -0
  272. package/dist/lint/suppress.d.ts.map +1 -0
  273. package/dist/lint/suppress.js +56 -0
  274. package/dist/lint/suppress.js.map +1 -0
  275. package/dist/lint/types.d.ts +162 -0
  276. package/dist/lint/types.d.ts.map +1 -0
  277. package/dist/lint/types.js +5 -0
  278. package/dist/lint/types.js.map +1 -0
  279. package/dist/lint/walk.d.ts +20 -0
  280. package/dist/lint/walk.d.ts.map +1 -0
  281. package/dist/lint/walk.js +47 -0
  282. package/dist/lint/walk.js.map +1 -0
  283. package/dist/match/cascade.d.ts +53 -0
  284. package/dist/match/cascade.d.ts.map +1 -0
  285. package/dist/match/cascade.js +135 -0
  286. package/dist/match/cascade.js.map +1 -0
  287. package/dist/match/reidentify.d.ts +46 -0
  288. package/dist/match/reidentify.d.ts.map +1 -0
  289. package/dist/match/reidentify.js +67 -0
  290. package/dist/match/reidentify.js.map +1 -0
  291. package/dist/merge/comments.d.ts +13 -0
  292. package/dist/merge/comments.d.ts.map +1 -0
  293. package/dist/merge/comments.js +61 -0
  294. package/dist/merge/comments.js.map +1 -0
  295. package/dist/merge/index.d.ts +4 -0
  296. package/dist/merge/index.d.ts.map +1 -0
  297. package/dist/merge/index.js +6 -0
  298. package/dist/merge/index.js.map +1 -0
  299. package/dist/merge/keys.d.ts +22 -0
  300. package/dist/merge/keys.d.ts.map +1 -0
  301. package/dist/merge/keys.js +54 -0
  302. package/dist/merge/keys.js.map +1 -0
  303. package/dist/merge/merge.d.ts +8 -0
  304. package/dist/merge/merge.d.ts.map +1 -0
  305. package/dist/merge/merge.js +206 -0
  306. package/dist/merge/merge.js.map +1 -0
  307. package/dist/merge/order.d.ts +11 -0
  308. package/dist/merge/order.d.ts.map +1 -0
  309. package/dist/merge/order.js +117 -0
  310. package/dist/merge/order.js.map +1 -0
  311. package/dist/merge/sidecar.d.ts +12 -0
  312. package/dist/merge/sidecar.d.ts.map +1 -0
  313. package/dist/merge/sidecar.js +64 -0
  314. package/dist/merge/sidecar.js.map +1 -0
  315. package/dist/merge/types.d.ts +50 -0
  316. package/dist/merge/types.d.ts.map +1 -0
  317. package/dist/merge/types.js +5 -0
  318. package/dist/merge/types.js.map +1 -0
  319. package/dist/merge/view.d.ts +28 -0
  320. package/dist/merge/view.d.ts.map +1 -0
  321. package/dist/merge/view.js +35 -0
  322. package/dist/merge/view.js.map +1 -0
  323. package/dist/ops/draft.d.ts +33 -0
  324. package/dist/ops/draft.d.ts.map +1 -0
  325. package/dist/ops/draft.js +253 -0
  326. package/dist/ops/draft.js.map +1 -0
  327. package/dist/ops/json-schema-lite.d.ts +41 -0
  328. package/dist/ops/json-schema-lite.d.ts.map +1 -0
  329. package/dist/ops/json-schema-lite.js +119 -0
  330. package/dist/ops/json-schema-lite.js.map +1 -0
  331. package/dist/ops/schema-values.d.ts +5 -0
  332. package/dist/ops/schema-values.d.ts.map +1 -0
  333. package/dist/ops/schema-values.js +233 -0
  334. package/dist/ops/schema-values.js.map +1 -0
  335. package/dist/ops/schema.d.ts +27 -0
  336. package/dist/ops/schema.d.ts.map +1 -0
  337. package/dist/ops/schema.js +258 -0
  338. package/dist/ops/schema.js.map +1 -0
  339. package/dist/ops/sidecar-ops.d.ts +85 -0
  340. package/dist/ops/sidecar-ops.d.ts.map +1 -0
  341. package/dist/ops/sidecar-ops.js +5 -0
  342. package/dist/ops/sidecar-ops.js.map +1 -0
  343. package/dist/ops/types.d.ts +400 -0
  344. package/dist/ops/types.d.ts.map +1 -0
  345. package/dist/ops/types.js +5 -0
  346. package/dist/ops/types.js.map +1 -0
  347. package/dist/ops/units.d.ts +4 -0
  348. package/dist/ops/units.d.ts.map +1 -0
  349. package/dist/ops/units.js +75 -0
  350. package/dist/ops/units.js.map +1 -0
  351. package/dist/reducer/apply.d.ts +33 -0
  352. package/dist/reducer/apply.d.ts.map +1 -0
  353. package/dist/reducer/apply.js +123 -0
  354. package/dist/reducer/apply.js.map +1 -0
  355. package/dist/reducer/comment-ops.d.ts +18 -0
  356. package/dist/reducer/comment-ops.d.ts.map +1 -0
  357. package/dist/reducer/comment-ops.js +104 -0
  358. package/dist/reducer/comment-ops.js.map +1 -0
  359. package/dist/reducer/edit.d.ts +38 -0
  360. package/dist/reducer/edit.d.ts.map +1 -0
  361. package/dist/reducer/edit.js +126 -0
  362. package/dist/reducer/edit.js.map +1 -0
  363. package/dist/reducer/facet-ops.d.ts +20 -0
  364. package/dist/reducer/facet-ops.d.ts.map +1 -0
  365. package/dist/reducer/facet-ops.js +184 -0
  366. package/dist/reducer/facet-ops.js.map +1 -0
  367. package/dist/reducer/meta-ops.d.ts +20 -0
  368. package/dist/reducer/meta-ops.d.ts.map +1 -0
  369. package/dist/reducer/meta-ops.js +52 -0
  370. package/dist/reducer/meta-ops.js.map +1 -0
  371. package/dist/reducer/spec-ops.d.ts +29 -0
  372. package/dist/reducer/spec-ops.d.ts.map +1 -0
  373. package/dist/reducer/spec-ops.js +181 -0
  374. package/dist/reducer/spec-ops.js.map +1 -0
  375. package/dist/reducer/test-ops.d.ts +15 -0
  376. package/dist/reducer/test-ops.d.ts.map +1 -0
  377. package/dist/reducer/test-ops.js +90 -0
  378. package/dist/reducer/test-ops.js.map +1 -0
  379. package/dist/reducer/value-ops.d.ts +26 -0
  380. package/dist/reducer/value-ops.d.ts.map +1 -0
  381. package/dist/reducer/value-ops.js +173 -0
  382. package/dist/reducer/value-ops.js.map +1 -0
  383. package/dist/render/describe.d.ts +20 -0
  384. package/dist/render/describe.d.ts.map +1 -0
  385. package/dist/render/describe.js +47 -0
  386. package/dist/render/describe.js.map +1 -0
  387. package/dist/revision/index.d.ts +4 -0
  388. package/dist/revision/index.d.ts.map +1 -0
  389. package/dist/revision/index.js +7 -0
  390. package/dist/revision/index.js.map +1 -0
  391. package/dist/revision/revision.d.ts +79 -0
  392. package/dist/revision/revision.d.ts.map +1 -0
  393. package/dist/revision/revision.js +120 -0
  394. package/dist/revision/revision.js.map +1 -0
  395. package/dist/revision/sha256.d.ts +3 -0
  396. package/dist/revision/sha256.d.ts.map +1 -0
  397. package/dist/revision/sha256.js +69 -0
  398. package/dist/revision/sha256.js.map +1 -0
  399. package/dist/revision/verify.d.ts +21 -0
  400. package/dist/revision/verify.d.ts.map +1 -0
  401. package/dist/revision/verify.js +51 -0
  402. package/dist/revision/verify.js.map +1 -0
  403. package/dist/revision/view.d.ts +36 -0
  404. package/dist/revision/view.d.ts.map +1 -0
  405. package/dist/revision/view.js +32 -0
  406. package/dist/revision/view.js.map +1 -0
  407. package/dist/sidecar/idsz.d.ts +14 -0
  408. package/dist/sidecar/idsz.d.ts.map +1 -0
  409. package/dist/sidecar/idsz.js +58 -0
  410. package/dist/sidecar/idsz.js.map +1 -0
  411. package/dist/sidecar/sidecar-schema.d.ts +4 -0
  412. package/dist/sidecar/sidecar-schema.d.ts.map +1 -0
  413. package/dist/sidecar/sidecar-schema.js +69 -0
  414. package/dist/sidecar/sidecar-schema.js.map +1 -0
  415. package/dist/sidecar/sidecar.d.ts +102 -0
  416. package/dist/sidecar/sidecar.d.ts.map +1 -0
  417. package/dist/sidecar/sidecar.js +160 -0
  418. package/dist/sidecar/sidecar.js.map +1 -0
  419. package/dist/testing/index.d.ts +6 -0
  420. package/dist/testing/index.d.ts.map +1 -0
  421. package/dist/testing/index.js +8 -0
  422. package/dist/testing/index.js.map +1 -0
  423. package/dist/testing/junit.d.ts +10 -0
  424. package/dist/testing/junit.d.ts.map +1 -0
  425. package/dist/testing/junit.js +51 -0
  426. package/dist/testing/junit.js.map +1 -0
  427. package/dist/testing/outcome.d.ts +10 -0
  428. package/dist/testing/outcome.d.ts.map +1 -0
  429. package/dist/testing/outcome.js +22 -0
  430. package/dist/testing/outcome.js.map +1 -0
  431. package/dist/testing/runner.d.ts +72 -0
  432. package/dist/testing/runner.d.ts.map +1 -0
  433. package/dist/testing/runner.js +60 -0
  434. package/dist/testing/runner.js.map +1 -0
  435. package/dist/testing/types.d.ts +60 -0
  436. package/dist/testing/types.d.ts.map +1 -0
  437. package/dist/testing/types.js +5 -0
  438. package/dist/testing/types.js.map +1 -0
  439. package/dist/testing/view.d.ts +31 -0
  440. package/dist/testing/view.d.ts.map +1 -0
  441. package/dist/testing/view.js +30 -0
  442. package/dist/testing/view.js.map +1 -0
  443. package/dist/uuid.d.ts +39 -0
  444. package/dist/uuid.d.ts.map +1 -0
  445. package/dist/uuid.js +84 -0
  446. package/dist/uuid.js.map +1 -0
  447. package/package.json +56 -3
@@ -0,0 +1,63 @@
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
+ import { ENT_001, ENT_002, ENT_003, ENT_004, ENT_005 } from './entity.js';
5
+ import { ATT_001, ATT_002, PDT_001, PDT_002, PDT_003 } from './pdt-att.js';
6
+ import { DOC_001, PART_001, VER_001 } from './doc-ver-part.js';
7
+ import { CARD_001, CARD_002, CARD_003, CARD_004 } from './card.js';
8
+ import { SPEC_001, SPEC_002, SPEC_003, SPEC_007, SPEC_008 } from './spec.js';
9
+ import { SPEC_005, SPEC_006, SPEC_009 } from './spec-doc.js';
10
+ import { REGEX_001, REGEX_002, REGEX_003, REGEX_004 } from './regex.js';
11
+ import { UNIT_001, VAL_008 } from './units.js';
12
+ import { VAL_001, VAL_002, VAL_003, VAL_004, VAL_005, VAL_006 } from './values.js';
13
+ import { PROP_001, PROP_002, PROP_003, PSET_001, PSET_002, PSET_003 } from './pset.js';
14
+ import { BSDD_001, BSDD_002, BSDD_003 } from './bsdd.js';
15
+ export const LINT_RULES = [
16
+ ENT_001,
17
+ ENT_002,
18
+ ENT_003,
19
+ ENT_004,
20
+ ENT_005,
21
+ PDT_001,
22
+ PDT_002,
23
+ PDT_003,
24
+ ATT_001,
25
+ ATT_002,
26
+ PSET_001,
27
+ PSET_002,
28
+ PSET_003,
29
+ PROP_001,
30
+ PROP_002,
31
+ PROP_003,
32
+ VAL_001,
33
+ VAL_002,
34
+ VAL_003,
35
+ VAL_004,
36
+ VAL_005,
37
+ VAL_006,
38
+ VAL_008,
39
+ UNIT_001,
40
+ REGEX_001,
41
+ REGEX_002,
42
+ REGEX_003,
43
+ REGEX_004,
44
+ CARD_001,
45
+ CARD_002,
46
+ CARD_003,
47
+ CARD_004,
48
+ SPEC_001,
49
+ SPEC_002,
50
+ SPEC_003,
51
+ SPEC_005,
52
+ SPEC_006,
53
+ SPEC_007,
54
+ SPEC_008,
55
+ SPEC_009,
56
+ DOC_001,
57
+ VER_001,
58
+ PART_001,
59
+ BSDD_001,
60
+ BSDD_002,
61
+ BSDD_003,
62
+ ];
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lint/rules/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAK/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACT,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { SpecRule } from '../types.js';
2
+ export declare const PDT_001: SpecRule;
3
+ export declare const PDT_003: SpecRule;
4
+ export declare const PDT_002: SpecRule;
5
+ export declare const ATT_001: SpecRule;
6
+ export declare const ATT_002: SpecRule;
7
+ //# sourceMappingURL=pdt-att.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdt-att.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/pdt-att.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAwB,QAAQ,EAAY,MAAM,aAAa,CAAC;AAgD5E,eAAO,MAAM,OAAO,EAAE,QAoBrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,QA2BrB,CAAC;AAUF,eAAO,MAAM,OAAO,EAAE,QAqCrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,QAoCrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,QAgCrB,CAAC"}
@@ -0,0 +1,209 @@
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
+ import { inheritanceChain } from '../../gate/context.js';
5
+ import { rankCandidates } from '../../gate/rank.js';
6
+ import { fixIds, quickFix } from '../fix.js';
7
+ import { at } from '../walk.js';
8
+ import { setValues } from './entity.js';
9
+ import { applicabilityEntityNames, entityNameSites, gated, literals, single, tables } from './util.js';
10
+ /** Predefined-type literals outside the entity's enumeration, per site. */
11
+ function pdtProblems(spec, ctx, declared) {
12
+ const out = [];
13
+ for (const site of entityNameSites(spec)) {
14
+ const name = single(site.constraint);
15
+ if (!name || !site.pdt)
16
+ continue;
17
+ for (const value of literals(site.pdt)) {
18
+ for (const v of spec.versions) {
19
+ const info = tables(ctx, v).entities.get(name.toUpperCase());
20
+ if (!info || info.predefinedTypes.length === 0 || info.predefinedTypes.includes(value))
21
+ continue;
22
+ if (declared(info.name, value))
23
+ continue;
24
+ out.push({ site, entity: info.name, value, enumeration: info.predefinedTypes, userDefinable: info.predefinedTypes.includes('USERDEFINED') });
25
+ break;
26
+ }
27
+ }
28
+ }
29
+ return out;
30
+ }
31
+ function pdtField(field) {
32
+ return field === 'entity.name' ? 'entity.predefinedType' : 'partOf.entity.predefinedType';
33
+ }
34
+ function nearest(p, code, n) {
35
+ const field = pdtField(p.site.field);
36
+ const ranked = rankCandidates(p.value, p.enumeration, { minScore: 0.4, limit: n });
37
+ const exactCase = p.enumeration.find((e) => e.toUpperCase() === p.value.toUpperCase());
38
+ const picks = exactCase ? [exactCase] : ranked.map((c) => c.value);
39
+ return picks.map((pick) => quickFix(`Use ${pick}`, code, p.site.view.facetId, `${field}|${p.value}|${pick}`, [
40
+ setValues(p.site.view.facetId, field, literals(p.site.pdt).map((v) => (v === p.value ? pick : v))),
41
+ ]));
42
+ }
43
+ export const PDT_001 = {
44
+ code: 'IDSL-PDT-001',
45
+ area: 'PDT',
46
+ scope: 'spec',
47
+ kind: 'static',
48
+ defaultSeverity: 'error',
49
+ title: 'Predefined type not in the entity enumeration',
50
+ rationale: "The predefinedType is not a member of the entity's PredefinedType enumeration in this IFC version, and the enumeration has no USERDEFINED member, so no element can carry it. Predefined types are compared case-sensitively.",
51
+ fix: 'Replace it by the closest enumeration value.',
52
+ example: '<entity><name><simpleValue>IFCSITE</simpleValue></name><predefinedType><simpleValue>FOO</simpleValue></predefinedType></entity>',
53
+ check(spec, { ctx, doc }) {
54
+ return pdtProblems(spec, ctx, () => false)
55
+ .filter((p) => !p.userDefinable)
56
+ .map((p) => ({
57
+ ...at(p.site.view, pdtField(p.site.field)),
58
+ message: `"${p.value}" is not a predefined type of ${p.entity}`,
59
+ fixes: gated(doc, ctx, nearest(p, this.code, 3)),
60
+ }));
61
+ },
62
+ };
63
+ export const PDT_003 = {
64
+ code: 'IDSL-PDT-003',
65
+ area: 'PDT',
66
+ scope: 'spec',
67
+ kind: 'static',
68
+ defaultSeverity: 'info',
69
+ title: 'Undeclared user-defined predefined type',
70
+ rationale: 'The value is not in the PredefinedType enumeration, but the enumeration has USERDEFINED, so IDS matches it against the ObjectType (occurrences) or ElementType / ProcessType (types) of elements whose PredefinedType is USERDEFINED. That is valid (buildingSMART corpus: entity/pass-a_predefined_type_may_specify_a_user_defined_object_type), but it is also what a typo of an enumeration value looks like. Declaring it records that it is intentional.',
71
+ fix: 'Replace it by the closest enumeration value, or declare it as a user-defined type in the Studio sidecar.',
72
+ example: '<entity><name><simpleValue>IFCWALL</simpleValue></name><predefinedType><simpleValue>PARAPETT</simpleValue></predefinedType></entity>',
73
+ check(spec, { ctx, doc }) {
74
+ const decls = doc.meta.custom.userDefinedTypes;
75
+ const declared = (entity, value) => decls.some((d) => d.entity.toUpperCase() === entity.toUpperCase() && d.value.toUpperCase() === value.toUpperCase());
76
+ return pdtProblems(spec, ctx, declared)
77
+ .filter((p) => p.userDefinable)
78
+ .map((p) => {
79
+ const declare = quickFix(`Declare "${p.value}" as a user-defined type of ${p.entity}`, this.code, p.site.view.facetId, `declare|${p.value}`, [
80
+ { kind: 'meta.custom.declareUserDefinedType', payload: { entity: p.entity, value: p.value } },
81
+ ]);
82
+ return {
83
+ ...at(p.site.view, pdtField(p.site.field)),
84
+ message: `"${p.value}" is not a predefined type of ${p.entity}; it only matches user-defined types`,
85
+ fixes: gated(doc, ctx, [...nearest(p, this.code, 2), declare]),
86
+ };
87
+ });
88
+ },
89
+ };
90
+ /** The attribute holding a user-defined type for `entity`. */
91
+ function userTypeAttribute(ctx, versions, entity) {
92
+ for (const attr of ['ObjectType', 'ElementType', 'ProcessType']) {
93
+ if (versions.every((v) => inheritanceChain(tables(ctx, v), entity).some((e) => e.attributes.includes(attr))))
94
+ return attr;
95
+ }
96
+ return undefined;
97
+ }
98
+ export const PDT_002 = {
99
+ code: 'IDSL-PDT-002',
100
+ area: 'PDT',
101
+ scope: 'spec',
102
+ kind: 'static',
103
+ defaultSeverity: 'info',
104
+ title: 'USERDEFINED predefined type without an ObjectType requirement',
105
+ rationale: 'An element with PredefinedType USERDEFINED is meant to say what it is in ObjectType (ElementType for types, ProcessType for process types). A specification that selects USERDEFINED elements without requiring that attribute accepts elements that never say what they are (IDS issues #178, #447).',
106
+ fix: 'Add a requirement that the ObjectType (or ElementType / ProcessType) attribute is present.',
107
+ references: ['https://github.com/buildingSMART/IDS/issues/178', 'https://github.com/buildingSMART/IDS/issues/447'],
108
+ example: '<entity><name><simpleValue>IFCWALL</simpleValue></name><predefinedType><simpleValue>USERDEFINED</simpleValue></predefinedType></entity>',
109
+ check(spec, { ctx, doc }) {
110
+ const out = [];
111
+ const attrs = new Set([...spec.applicability, ...spec.requirements].flatMap((f) => (f.facet.type === 'attribute' ? literals(f.facet.name).map((n) => n.toLowerCase()) : [])));
112
+ for (const view of spec.applicability) {
113
+ if (view.facet.type !== 'entity' || !literals(view.facet.predefinedType).includes('USERDEFINED'))
114
+ continue;
115
+ const entity = single(view.facet.name);
116
+ const attr = entity ? userTypeAttribute(ctx, spec.versions, entity) : undefined;
117
+ if (!attr || attrs.has(attr.toLowerCase()))
118
+ continue;
119
+ const fix = quickFix(`Require ${attr}`, this.code, view.facetId, attr, [
120
+ {
121
+ kind: 'facet.add',
122
+ payload: {
123
+ specId: spec.specId,
124
+ section: 'requirements',
125
+ facetId: fixIds(this.code, view.facetId, 'facet')(),
126
+ facet: { type: 'attribute', name: { kind: 'equals', value: attr } },
127
+ },
128
+ },
129
+ ]);
130
+ out.push({ ...at(view, 'entity.predefinedType'), message: `USERDEFINED elements are selected but ${attr} is not required`, fixes: gated(doc, ctx, [fix]) });
131
+ }
132
+ return out;
133
+ },
134
+ };
135
+ export const ATT_001 = {
136
+ code: 'IDSL-ATT-001',
137
+ area: 'ATT',
138
+ scope: 'spec',
139
+ kind: 'static',
140
+ defaultSeverity: 'error',
141
+ title: 'Attribute not defined on the entity',
142
+ rationale: 'The attribute does not exist on any applicability entity, including inherited attributes, so an attribute requirement always fails and an attribute applicability selects nothing. Attribute names are the EXPRESS names (Name, Description, ObjectType, Tag, …).',
143
+ fix: 'Replace it by the closest attribute of the entity.',
144
+ example: '<entity><name><simpleValue>IFCWALL</simpleValue></name></entity> + <attribute><name><simpleValue>Nmae</simpleValue></name></attribute>',
145
+ check(spec, { ctx, doc }) {
146
+ const entities = applicabilityEntityNames(spec);
147
+ if (!entities.length)
148
+ return [];
149
+ const out = [];
150
+ for (const view of [...spec.applicability, ...spec.requirements]) {
151
+ if (view.facet.type !== 'attribute')
152
+ continue;
153
+ const facet = view.facet;
154
+ for (const name of literals(facet.name)) {
155
+ for (const v of spec.versions) {
156
+ const t = tables(ctx, v);
157
+ const chains = entities.map((e) => inheritanceChain(t, e));
158
+ if (chains.some((c) => c.length === 0))
159
+ continue; // unknown entity: the audit reports it
160
+ const pool = [...new Set(chains.flatMap((c) => c.flatMap((e) => e.attributes)))];
161
+ if (pool.some((a) => a.toLowerCase() === name.toLowerCase()))
162
+ continue;
163
+ const picks = rankCandidates(name, pool, { minScore: 0.4, limit: 3 }).map((c) => c.value);
164
+ const fixes = picks.map((p) => quickFix(`Use ${p}`, this.code, view.facetId, `${name}|${p}`, [setValues(view.facetId, 'attribute.name', literals(facet.name).map((x) => (x === name ? p : x)))]));
165
+ out.push({ ...at(view, 'attribute.name'), message: `attribute "${name}" is not defined on ${chains.map((c) => c[0].name).join(' / ')} (${v})`, fixes: gated(doc, ctx, fixes) });
166
+ break;
167
+ }
168
+ }
169
+ }
170
+ return out;
171
+ },
172
+ };
173
+ export const ATT_002 = {
174
+ code: 'IDSL-ATT-002',
175
+ area: 'ATT',
176
+ scope: 'spec',
177
+ kind: 'static',
178
+ defaultSeverity: 'warning',
179
+ title: 'Value check on an entity-typed attribute',
180
+ rationale: 'The attribute holds a reference to another entity (for example ObjectPlacement or OwnerHistory), not a simple value, so a value constraint on it cannot match. Only its existence can be checked.',
181
+ fix: 'Remove the value so the facet checks existence only.',
182
+ example: '<attribute><name><simpleValue>ObjectPlacement</simpleValue></name><value><simpleValue>x</simpleValue></value></attribute>',
183
+ check(spec, { ctx, doc }) {
184
+ const entities = applicabilityEntityNames(spec);
185
+ if (entities.length !== 1)
186
+ return [];
187
+ const out = [];
188
+ for (const view of [...spec.applicability, ...spec.requirements]) {
189
+ if (view.facet.type !== 'attribute' || !view.facet.value)
190
+ continue;
191
+ const name = single(view.facet.name);
192
+ if (!name)
193
+ continue;
194
+ const complex = spec.versions.find((v) => {
195
+ const meta = ctx.attributes[v].get(name.toLowerCase());
196
+ const chain = inheritanceChain(tables(ctx, v), entities[0]).map((e) => e.name.toUpperCase());
197
+ return !!meta && !chain.some((e) => meta.simpleValueEntities.includes(e)) && chain.some((e) => meta.complexEntities.includes(e));
198
+ });
199
+ if (!complex)
200
+ continue;
201
+ const fix = quickFix('Check existence only', this.code, view.facetId, 'value', [
202
+ { kind: 'facet.setField', payload: { facetId: view.facetId, field: 'attribute.value', value: null } },
203
+ ]);
204
+ out.push({ ...at(view, 'attribute.value'), message: `${name} is an entity-typed attribute in ${complex}; its value cannot be compared`, fixes: gated(doc, ctx, [fix]) });
205
+ }
206
+ return out;
207
+ },
208
+ };
209
+ //# sourceMappingURL=pdt-att.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdt-att.js","sourceRoot":"","sources":["../../../src/lint/rules/pdt-att.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Property-set and property rules: IDSL-PSET-001 … 003, IDSL-PROP-001 … 003. */
2
+ import type { IfcPropertyInfo } from '@ifc-lite/data';
3
+ import type { SpecRule } from '../types.js';
4
+ export declare const PSET_001: SpecRule;
5
+ export declare const PSET_002: SpecRule;
6
+ export declare const PSET_003: SpecRule;
7
+ export declare const PROP_001: SpecRule;
8
+ /** The standard data type of a property (IfcLabel for enumerations, as the audit). */
9
+ export declare function expectedDataType(prop: IfcPropertyInfo | undefined): string | undefined;
10
+ export declare const PROP_002: SpecRule;
11
+ export declare const PROP_003: SpecRule;
12
+ //# sourceMappingURL=pset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pset.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/pset.ts"],"names":[],"mappings":"AAIA,iFAAiF;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AAM1E,OAAO,KAAK,EAAmC,QAAQ,EAAY,MAAM,aAAa,CAAC;AAsCvF,eAAO,MAAM,QAAQ,EAAE,QAuCtB,CAAC;AAIF,eAAO,MAAM,QAAQ,EAAE,QAmCtB,CAAC;AASF,eAAO,MAAM,QAAQ,EAAE,QAgCtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,QAgCtB,CAAC;AAUF,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEtF;AAED,eAAO,MAAM,QAAQ,EAAE,QA2BtB,CAAC;AAeF,eAAO,MAAM,QAAQ,EAAE,QAuBtB,CAAC"}
@@ -0,0 +1,263 @@
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
+ import { isReservedPsetName } from '../../gate/grounding-pset.js';
5
+ import { rankCandidates } from '../../gate/rank.js';
6
+ import { quickFix } from '../fix.js';
7
+ import { at } from '../walk.js';
8
+ import { setValues } from './entity.js';
9
+ import { applicabilityEntityNames, gated, isSubtypeOf, listSome, literals, single, tables } from './util.js';
10
+ function propertySites(spec) {
11
+ return [...spec.applicability, ...spec.requirements].flatMap((view) => (view.facet.type === 'property' ? [{ view, facet: view.facet }] : []));
12
+ }
13
+ /** The standard property (and its set) per version, when both names are literals. */
14
+ function standardProperty(t, facet) {
15
+ const psetName = single(facet.propertySet);
16
+ const pset = psetName ? t.psets.get(psetName) : undefined;
17
+ if (!pset)
18
+ return undefined;
19
+ const name = single(facet.baseName);
20
+ return { pset, prop: name ? pset.properties.find((p) => p.name === name) : undefined };
21
+ }
22
+ /** `applicableEntities` plus each class's companion type (mirrors the audit, #1441). */
23
+ function applicableWithTypes(t, pset) {
24
+ const out = new Set(pset.applicableEntities);
25
+ for (const name of pset.applicableEntities) {
26
+ const e = t.entities.get(name.toUpperCase());
27
+ if (e?.typeEntity)
28
+ out.add(e.typeEntity);
29
+ else if (t.entities.has(`${name.toUpperCase()}TYPE`))
30
+ out.add(`${name}Type`);
31
+ }
32
+ return [...out];
33
+ }
34
+ function psetApplies(t, pset, entity) {
35
+ return applicableWithTypes(t, pset).some((a) => isSubtypeOf(t, entity, a));
36
+ }
37
+ export const PSET_001 = {
38
+ code: 'IDSL-PSET-001',
39
+ area: 'PSET',
40
+ scope: 'spec',
41
+ kind: 'static',
42
+ defaultSeverity: 'warning',
43
+ title: 'Standard property set not applicable to the entity',
44
+ rationale: "The standard property set is not defined for any applicability entity (per its applicable entities, including subtypes and companion type objects). Authoring tools will not offer it on those elements, so the requirement is likely to fail on every model. The audit reports the same mismatch; lint adds the applicable alternatives.",
45
+ fix: 'Switch to an applicable standard set that defines the same property.',
46
+ example: '<entity><name><simpleValue>IFCDOOR</simpleValue></name></entity> + <property><propertySet><simpleValue>Pset_WallCommon</simpleValue></propertySet>…',
47
+ check(spec, { ctx, doc }) {
48
+ const entities = applicabilityEntityNames(spec);
49
+ if (!entities.length)
50
+ return [];
51
+ const out = [];
52
+ for (const { view, facet } of propertySites(spec)) {
53
+ const psetName = single(facet.propertySet);
54
+ if (!psetName)
55
+ continue;
56
+ const version = spec.versions.find((v) => {
57
+ const t = tables(ctx, v);
58
+ const pset = t.psets.get(psetName);
59
+ if (!pset || !pset.applicableEntities.length || entities.some((e) => !t.entities.has(e)))
60
+ return false;
61
+ return !entities.some((e) => psetApplies(t, pset, e));
62
+ });
63
+ if (!version)
64
+ continue;
65
+ const t = tables(ctx, version);
66
+ const name = single(facet.baseName);
67
+ const alternatives = name
68
+ ? (t.psetsByProperty.get(name) ?? []).filter((p) => p !== psetName && entities.some((e) => psetApplies(t, t.psets.get(p), e))).slice(0, 3)
69
+ : [];
70
+ const fixes = alternatives.map((p) => quickFix(`Use ${p}`, this.code, view.facetId, p, [setValues(view.facetId, 'property.propertySet', [p])]));
71
+ out.push({
72
+ ...at(view, 'property.propertySet'),
73
+ message: `${psetName} is not applicable to ${listSome(entities.map((e) => t.entities.get(e)?.name ?? e))} (${version})`,
74
+ fixes: gated(doc, ctx, fixes),
75
+ });
76
+ }
77
+ return out;
78
+ },
79
+ };
80
+ const PROJECT_PREFIX = 'Project_';
81
+ export const PSET_002 = {
82
+ code: 'IDSL-PSET-002',
83
+ area: 'PSET',
84
+ scope: 'spec',
85
+ kind: 'static',
86
+ defaultSeverity: 'error',
87
+ title: 'Custom property set with a reserved prefix',
88
+ rationale: 'The prefixes Pset_ and Qto_ are reserved for sets published by buildingSMART. A set with such a name that is not a standard set of the IFC version is either a typo of a standard name or a custom set that must use its own prefix. (Qto_ names cannot be verified for IFC2X3 and IFC4, whose tables have no quantity sets; they are not flagged.)',
89
+ fix: 'Use the closest standard set, or rename it with a project prefix and declare it as a custom set.',
90
+ example: '<propertySet><simpleValue>Pset_MyCompanyData</simpleValue></propertySet>',
91
+ check(spec, { ctx, doc }) {
92
+ const out = [];
93
+ for (const { view, facet } of propertySites(spec)) {
94
+ const psetName = single(facet.propertySet);
95
+ if (!psetName || !isReservedPsetName(psetName))
96
+ continue;
97
+ const version = spec.versions.find((v) => {
98
+ const t = tables(ctx, v);
99
+ return !t.psets.has(psetName) && !(psetName.startsWith('Qto_') && !t.hasQuantitySets);
100
+ });
101
+ if (!version)
102
+ continue;
103
+ const t = tables(ctx, version);
104
+ const near = rankCandidates(psetName, t.psetNames, { minScore: 0.6, limit: 2 }).map((c) => quickFix(`Use ${c.value}`, this.code, view.facetId, c.value, [setValues(view.facetId, 'property.propertySet', [c.value])]));
105
+ const renamed = PROJECT_PREFIX + psetName.slice(psetName.indexOf('_') + 1);
106
+ const declared = doc.meta.custom.psets.some((p) => p.name === renamed);
107
+ const rename = quickFix(`Rename to ${renamed} (custom set)`, this.code, view.facetId, renamed, [
108
+ ...(declared ? [] : [{ kind: 'meta.custom.declarePset', payload: { decl: { name: renamed } } }]),
109
+ setValues(view.facetId, 'property.propertySet', [renamed]),
110
+ ]);
111
+ out.push({ ...at(view, 'property.propertySet'), message: `${psetName} uses a reserved prefix but is not a standard set (${version})`, fixes: gated(doc, ctx, [...near, rename]) });
112
+ }
113
+ return out;
114
+ },
115
+ };
116
+ function backing(t, dataType) {
117
+ return dataType ? t.dataTypes.get(dataType.toUpperCase())?.backingType : undefined;
118
+ }
119
+ const NUMERIC_BACKING = new Set(['xs:double', 'xs:integer', 'xs:decimal', 'xs:float']);
120
+ const NUMBER = /^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;
121
+ export const PSET_003 = {
122
+ code: 'IDSL-PSET-003',
123
+ area: 'PSET',
124
+ scope: 'spec',
125
+ kind: 'static',
126
+ defaultSeverity: 'warning',
127
+ title: 'Quantity set with a non-measure data type or value',
128
+ rationale: 'Quantities (Qto_ sets) are always numeric measures (length, area, volume, count, weight, time). A Qto_ requirement with a text data type such as IFCLABEL, or a non-numeric value, can never be satisfied by a real quantity.',
129
+ fix: "Use the quantity's standard data type (where the tables define it).",
130
+ example: '<property dataType="IFCLABEL"><propertySet><simpleValue>Qto_WallBaseQuantities</simpleValue></propertySet><baseName><simpleValue>Length</simpleValue></baseName></property>',
131
+ check(spec, { ctx, doc }) {
132
+ const out = [];
133
+ for (const { view, facet } of propertySites(spec)) {
134
+ const psetName = single(facet.propertySet);
135
+ if (!psetName?.startsWith('Qto_'))
136
+ continue;
137
+ const dt = single(facet.dataType);
138
+ const t = tables(ctx, spec.versions[0]);
139
+ const b = backing(t, dt);
140
+ if (dt && b && !NUMERIC_BACKING.has(b)) {
141
+ const expected = spec.versions.map((v) => standardProperty(tables(ctx, v), facet)?.prop?.dataType).find(Boolean);
142
+ const fix = expected
143
+ ? quickFix(`Use ${expected.toUpperCase()}`, this.code, view.facetId, 'dt', [setValues(view.facetId, 'property.dataType', [expected.toUpperCase()])])
144
+ : undefined;
145
+ out.push({ ...at(view, 'property.dataType'), message: `${psetName} holds numeric quantities, but the data type is ${dt.toUpperCase()} (${b})`, fixes: gated(doc, ctx, [fix]) });
146
+ continue;
147
+ }
148
+ const text = literals(facet.value).filter((v) => !NUMBER.test(v.trim()));
149
+ if (text.length)
150
+ out.push({ ...at(view, 'property.value'), message: `${psetName} holds numeric quantities, but the value ${text.map((v) => `"${v}"`).join(', ')} is not a number` });
151
+ }
152
+ return out;
153
+ },
154
+ };
155
+ export const PROP_001 = {
156
+ code: 'IDSL-PROP-001',
157
+ area: 'PROP',
158
+ scope: 'spec',
159
+ kind: 'static',
160
+ defaultSeverity: 'error',
161
+ title: 'Property not in the standard property set',
162
+ rationale: 'The standard set does not define this property, so no conforming model carries it there. It is usually a typo, or a property that lives in another standard set.',
163
+ fix: 'Use the closest property of the set, or the standard set that defines this property.',
164
+ example: '<propertySet><simpleValue>Pset_DoorCommon</simpleValue></propertySet><baseName><simpleValue>FireRatng</simpleValue></baseName>',
165
+ check(spec, { ctx, doc }) {
166
+ const out = [];
167
+ for (const { view, facet } of propertySites(spec)) {
168
+ const name = single(facet.baseName);
169
+ if (!name)
170
+ continue;
171
+ const version = spec.versions.find((v) => {
172
+ const s = standardProperty(tables(ctx, v), facet);
173
+ return s && !s.prop;
174
+ });
175
+ if (!version)
176
+ continue;
177
+ const t = tables(ctx, version);
178
+ const pset = standardProperty(t, facet)?.pset;
179
+ const own = rankCandidates(name, pset.properties.map((p) => p.name), { minScore: 0.4, limit: 2 }).map((c) => quickFix(`Use ${c.value}`, this.code, view.facetId, c.value, [setValues(view.facetId, 'property.baseName', [c.value])]));
180
+ const elsewhere = (t.psetsByProperty.get(name) ?? []).slice(0, 2).map((p) => quickFix(`Use ${p}.${name}`, this.code, view.facetId, `pset|${p}`, [setValues(view.facetId, 'property.propertySet', [p])]));
181
+ out.push({ ...at(view, 'property.baseName'), message: `"${name}" is not a property of ${pset.name} (${version})`, fixes: gated(doc, ctx, [...own, ...elsewhere]) });
182
+ }
183
+ return out;
184
+ },
185
+ };
186
+ const TEMPLATE_FOR_KIND = {
187
+ single: 'IFCPROPERTYSINGLEVALUE',
188
+ enumeration: 'IFCPROPERTYENUMERATEDVALUE',
189
+ list: 'IFCPROPERTYLISTVALUE',
190
+ bounded: 'IFCPROPERTYBOUNDEDVALUE',
191
+ reference: 'IFCPROPERTYREFERENCEVALUE',
192
+ };
193
+ /** The standard data type of a property (IfcLabel for enumerations, as the audit). */
194
+ export function expectedDataType(prop) {
195
+ return prop?.dataType ?? (prop?.kind === 'enumeration' ? 'IfcLabel' : undefined);
196
+ }
197
+ export const PROP_002 = {
198
+ code: 'IDSL-PROP-002',
199
+ area: 'PROP',
200
+ scope: 'spec',
201
+ kind: 'static',
202
+ defaultSeverity: 'warning',
203
+ title: 'Data type differs from the standard property',
204
+ rationale: 'The dataType differs from the type the standard property set declares for this property. Conforming models carry the standard type, so the requirement fails on them; value comparison also follows the data type.',
205
+ fix: 'Set the standard data type.',
206
+ example: '<property dataType="IFCREAL"><propertySet><simpleValue>Pset_WallCommon</simpleValue></propertySet><baseName><simpleValue>IsExternal</simpleValue></baseName></property>',
207
+ check(spec, { ctx, doc }) {
208
+ const out = [];
209
+ for (const { view, facet } of propertySites(spec)) {
210
+ const dt = single(facet.dataType)?.toUpperCase();
211
+ if (!dt)
212
+ continue;
213
+ for (const v of spec.versions) {
214
+ const prop = standardProperty(tables(ctx, v), facet)?.prop;
215
+ const expected = expectedDataType(prop)?.toUpperCase();
216
+ if (!prop || !expected || expected === dt || TEMPLATE_FOR_KIND[prop.kind] === dt)
217
+ continue;
218
+ const fix = quickFix(`Use ${expected}`, this.code, view.facetId, expected, [setValues(view.facetId, 'property.dataType', [expected])]);
219
+ out.push({ ...at(view, 'property.dataType'), message: `${single(facet.propertySet)}.${prop.name} is ${expected} in the standard, not ${dt} (${v})`, fixes: gated(doc, ctx, [fix]) });
220
+ break;
221
+ }
222
+ }
223
+ return out;
224
+ },
225
+ };
226
+ function numericLooking(facet) {
227
+ const c = facet.value;
228
+ if (!c)
229
+ return false;
230
+ if (c.type === 'bounds')
231
+ return [c.minInclusive, c.maxInclusive, c.minExclusive, c.maxExclusive].some((x) => x !== undefined);
232
+ return c.type !== 'simpleValue' && !!c.base && NUMERIC_BACKING.has(c.base);
233
+ }
234
+ function standardTypeIn(ctx, versions, facet) {
235
+ const types = new Set(versions.map((v) => expectedDataType(standardProperty(tables(ctx, v), facet)?.prop)?.toUpperCase()));
236
+ const [only] = types;
237
+ return types.size === 1 ? only : undefined;
238
+ }
239
+ export const PROP_003 = {
240
+ code: 'IDSL-PROP-003',
241
+ area: 'PROP',
242
+ scope: 'spec',
243
+ kind: 'static',
244
+ defaultSeverity: 'info',
245
+ title: 'Numeric constraint without a data type',
246
+ rationale: 'The value is a numeric range or a numeric restriction, but the property has no dataType. The data type decides how values are compared (and which unit applies), so checkers may compare such a value as text or skip it.',
247
+ fix: "Add the standard property's data type (when the set is standard).",
248
+ example: '<property><propertySet>…</propertySet><baseName>…</baseName><value><xs:restriction base="xs:double"><xs:minInclusive value="0"/></xs:restriction></value></property>',
249
+ check(spec, { ctx, doc }) {
250
+ const out = [];
251
+ for (const { view, facet } of propertySites(spec)) {
252
+ if (facet.dataType || !numericLooking(facet))
253
+ continue;
254
+ const dt = standardTypeIn(ctx, spec.versions, facet);
255
+ const fix = dt
256
+ ? quickFix(`Add dataType ${dt}`, this.code, view.facetId, dt, [{ kind: 'facet.setField', payload: { facetId: view.facetId, field: 'property.dataType', value: { kind: 'equals', value: dt } } }])
257
+ : undefined;
258
+ out.push({ ...at(view, 'property.value'), message: `numeric value on ${single(facet.baseName) ?? 'a property'} without a dataType`, fixes: gated(doc, ctx, [fix]) });
259
+ }
260
+ return out;
261
+ },
262
+ };
263
+ //# sourceMappingURL=pset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pset.js","sourceRoot":"","sources":["../../../src/lint/rules/pset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { SpecRule } from '../types.js';
2
+ export declare const REGEX_001: SpecRule;
3
+ export declare const REGEX_002: SpecRule;
4
+ export declare const REGEX_003: SpecRule;
5
+ export declare const REGEX_004: SpecRule;
6
+ //# sourceMappingURL=regex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/regex.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAsB,QAAQ,EAAY,MAAM,aAAa,CAAC;AAuC1E,eAAO,MAAM,SAAS,EAAE,QAwBvB,CAAC;AAKF,eAAO,MAAM,SAAS,EAAE,QA0BvB,CAAC;AAuCF,eAAO,MAAM,SAAS,EAAE,QA6BvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,QAsBvB,CAAC"}