@bedrock-engineer/bro-xml-parser 0.5.0 → 0.6.0

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 (1128) hide show
  1. package/README.md +25 -4
  2. package/dist/browser.d.ts +8 -6
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +2 -0
  5. package/dist/browser.js.map +1 -1
  6. package/dist/core/producer.d.ts +69 -15
  7. package/dist/core/producer.d.ts.map +1 -1
  8. package/dist/core/producer.js +28 -8
  9. package/dist/core/producer.js.map +1 -1
  10. package/dist/core/schema-parser.d.ts.map +1 -1
  11. package/dist/core/schema-parser.js +19 -3
  12. package/dist/core/schema-parser.js.map +1 -1
  13. package/dist/core/select.d.ts +71 -0
  14. package/dist/core/select.d.ts.map +1 -0
  15. package/dist/core/select.js +143 -0
  16. package/dist/core/select.js.map +1 -0
  17. package/dist/decoders/type-decoders.d.ts +9 -6
  18. package/dist/decoders/type-decoders.d.ts.map +1 -1
  19. package/dist/decoders/type-decoders.js +9 -22
  20. package/dist/decoders/type-decoders.js.map +1 -1
  21. package/dist/node.d.ts +8 -6
  22. package/dist/node.d.ts.map +1 -1
  23. package/dist/node.js +2 -0
  24. package/dist/node.js.map +1 -1
  25. package/dist/parser.d.ts +28 -6
  26. package/dist/parser.d.ts.map +1 -1
  27. package/dist/parser.js +46 -27
  28. package/dist/parser.js.map +1 -1
  29. package/dist/producers.d.ts +4 -3
  30. package/dist/producers.d.ts.map +1 -1
  31. package/dist/producers.js +3 -3
  32. package/dist/producers.js.map +1 -1
  33. package/dist/reference-codes/bhrg-activity-type.d.ts +4 -8
  34. package/dist/reference-codes/bhrg-activity-type.d.ts.map +1 -1
  35. package/dist/reference-codes/bhrg-activity-type.js +8 -14
  36. package/dist/reference-codes/bhrg-activity-type.js.map +1 -1
  37. package/dist/reference-codes/bhrg-analysis-procedure.d.ts +4 -8
  38. package/dist/reference-codes/bhrg-analysis-procedure.d.ts.map +1 -1
  39. package/dist/reference-codes/bhrg-analysis-procedure.js +6 -12
  40. package/dist/reference-codes/bhrg-analysis-procedure.js.map +1 -1
  41. package/dist/reference-codes/bhrg-angularity.d.ts +4 -8
  42. package/dist/reference-codes/bhrg-angularity.d.ts.map +1 -1
  43. package/dist/reference-codes/bhrg-angularity.js +14 -20
  44. package/dist/reference-codes/bhrg-angularity.js.map +1 -1
  45. package/dist/reference-codes/bhrg-animal-fossil-type.d.ts +4 -8
  46. package/dist/reference-codes/bhrg-animal-fossil-type.d.ts.map +1 -1
  47. package/dist/reference-codes/bhrg-animal-fossil-type.js +17 -23
  48. package/dist/reference-codes/bhrg-animal-fossil-type.js.map +1 -1
  49. package/dist/reference-codes/bhrg-applied-optical-model.d.ts +4 -8
  50. package/dist/reference-codes/bhrg-applied-optical-model.d.ts.map +1 -1
  51. package/dist/reference-codes/bhrg-applied-optical-model.js +6 -12
  52. package/dist/reference-codes/bhrg-applied-optical-model.js.map +1 -1
  53. package/dist/reference-codes/bhrg-archeological-constituent-type.d.ts +4 -8
  54. package/dist/reference-codes/bhrg-archeological-constituent-type.d.ts.map +1 -1
  55. package/dist/reference-codes/bhrg-archeological-constituent-type.js +18 -24
  56. package/dist/reference-codes/bhrg-archeological-constituent-type.js.map +1 -1
  57. package/dist/reference-codes/bhrg-archive-class.d.ts +4 -8
  58. package/dist/reference-codes/bhrg-archive-class.d.ts.map +1 -1
  59. package/dist/reference-codes/bhrg-archive-class.js +15 -21
  60. package/dist/reference-codes/bhrg-archive-class.js.map +1 -1
  61. package/dist/reference-codes/bhrg-backfill-material.d.ts +4 -8
  62. package/dist/reference-codes/bhrg-backfill-material.d.ts.map +1 -1
  63. package/dist/reference-codes/bhrg-backfill-material.js +26 -32
  64. package/dist/reference-codes/bhrg-backfill-material.js.map +1 -1
  65. package/dist/reference-codes/bhrg-boring-procedure.d.ts +4 -8
  66. package/dist/reference-codes/bhrg-boring-procedure.d.ts.map +1 -1
  67. package/dist/reference-codes/bhrg-boring-procedure.js +8 -14
  68. package/dist/reference-codes/bhrg-boring-procedure.js.map +1 -1
  69. package/dist/reference-codes/bhrg-boring-technique.d.ts +4 -8
  70. package/dist/reference-codes/bhrg-boring-technique.d.ts.map +1 -1
  71. package/dist/reference-codes/bhrg-boring-technique.js +28 -34
  72. package/dist/reference-codes/bhrg-boring-technique.js.map +1 -1
  73. package/dist/reference-codes/bhrg-boundary-positioning-method.d.ts +4 -8
  74. package/dist/reference-codes/bhrg-boundary-positioning-method.d.ts.map +1 -1
  75. package/dist/reference-codes/bhrg-boundary-positioning-method.js +14 -20
  76. package/dist/reference-codes/bhrg-boundary-positioning-method.js.map +1 -1
  77. package/dist/reference-codes/bhrg-calculation-value-origin.d.ts +4 -8
  78. package/dist/reference-codes/bhrg-calculation-value-origin.d.ts.map +1 -1
  79. package/dist/reference-codes/bhrg-calculation-value-origin.js +7 -13
  80. package/dist/reference-codes/bhrg-calculation-value-origin.js.map +1 -1
  81. package/dist/reference-codes/bhrg-carbonate-content-class.d.ts +4 -8
  82. package/dist/reference-codes/bhrg-carbonate-content-class.d.ts.map +1 -1
  83. package/dist/reference-codes/bhrg-carbonate-content-class.js +13 -19
  84. package/dist/reference-codes/bhrg-carbonate-content-class.js.map +1 -1
  85. package/dist/reference-codes/bhrg-casing-material.d.ts +4 -8
  86. package/dist/reference-codes/bhrg-casing-material.d.ts.map +1 -1
  87. package/dist/reference-codes/bhrg-casing-material.js +11 -17
  88. package/dist/reference-codes/bhrg-casing-material.js.map +1 -1
  89. package/dist/reference-codes/bhrg-chunk-size-class.d.ts +4 -8
  90. package/dist/reference-codes/bhrg-chunk-size-class.d.ts.map +1 -1
  91. package/dist/reference-codes/bhrg-chunk-size-class.js +10 -16
  92. package/dist/reference-codes/bhrg-chunk-size-class.js.map +1 -1
  93. package/dist/reference-codes/bhrg-colour.d.ts +4 -8
  94. package/dist/reference-codes/bhrg-colour.d.ts.map +1 -1
  95. package/dist/reference-codes/bhrg-colour.js +145 -151
  96. package/dist/reference-codes/bhrg-colour.js.map +1 -1
  97. package/dist/reference-codes/bhrg-correction-reason.d.ts +4 -8
  98. package/dist/reference-codes/bhrg-correction-reason.d.ts.map +1 -1
  99. package/dist/reference-codes/bhrg-correction-reason.js +9 -15
  100. package/dist/reference-codes/bhrg-correction-reason.js.map +1 -1
  101. package/dist/reference-codes/bhrg-current-process.d.ts +4 -8
  102. package/dist/reference-codes/bhrg-current-process.d.ts.map +1 -1
  103. package/dist/reference-codes/bhrg-current-process.js +9 -15
  104. package/dist/reference-codes/bhrg-current-process.js.map +1 -1
  105. package/dist/reference-codes/bhrg-delivery-context.d.ts +4 -8
  106. package/dist/reference-codes/bhrg-delivery-context.d.ts.map +1 -1
  107. package/dist/reference-codes/bhrg-delivery-context.js +12 -18
  108. package/dist/reference-codes/bhrg-delivery-context.js.map +1 -1
  109. package/dist/reference-codes/bhrg-described-material.d.ts +4 -8
  110. package/dist/reference-codes/bhrg-described-material.d.ts.map +1 -1
  111. package/dist/reference-codes/bhrg-described-material.js +5 -11
  112. package/dist/reference-codes/bhrg-described-material.js.map +1 -1
  113. package/dist/reference-codes/bhrg-described-samples-quality.d.ts +4 -8
  114. package/dist/reference-codes/bhrg-described-samples-quality.d.ts.map +1 -1
  115. package/dist/reference-codes/bhrg-described-samples-quality.js +8 -14
  116. package/dist/reference-codes/bhrg-described-samples-quality.js.map +1 -1
  117. package/dist/reference-codes/bhrg-description-location.d.ts +4 -8
  118. package/dist/reference-codes/bhrg-description-location.d.ts.map +1 -1
  119. package/dist/reference-codes/bhrg-description-location.js +8 -14
  120. package/dist/reference-codes/bhrg-description-location.js.map +1 -1
  121. package/dist/reference-codes/bhrg-description-procedure.d.ts +4 -8
  122. package/dist/reference-codes/bhrg-description-procedure.d.ts.map +1 -1
  123. package/dist/reference-codes/bhrg-description-procedure.js +12 -18
  124. package/dist/reference-codes/bhrg-description-procedure.js.map +1 -1
  125. package/dist/reference-codes/bhrg-description-quality.d.ts +4 -8
  126. package/dist/reference-codes/bhrg-description-quality.d.ts.map +1 -1
  127. package/dist/reference-codes/bhrg-description-quality.js +12 -18
  128. package/dist/reference-codes/bhrg-description-quality.js.map +1 -1
  129. package/dist/reference-codes/bhrg-determination-method.d.ts +4 -8
  130. package/dist/reference-codes/bhrg-determination-method.d.ts.map +1 -1
  131. package/dist/reference-codes/bhrg-determination-method.js +17 -23
  132. package/dist/reference-codes/bhrg-determination-method.js.map +1 -1
  133. package/dist/reference-codes/bhrg-determination-procedure.d.ts +4 -8
  134. package/dist/reference-codes/bhrg-determination-procedure.d.ts.map +1 -1
  135. package/dist/reference-codes/bhrg-determination-procedure.js +14 -20
  136. package/dist/reference-codes/bhrg-determination-procedure.js.map +1 -1
  137. package/dist/reference-codes/bhrg-determined-composition-properties.d.ts +4 -8
  138. package/dist/reference-codes/bhrg-determined-composition-properties.d.ts.map +1 -1
  139. package/dist/reference-codes/bhrg-determined-composition-properties.js +9 -15
  140. package/dist/reference-codes/bhrg-determined-composition-properties.js.map +1 -1
  141. package/dist/reference-codes/bhrg-determined-hydrophysical-properties.d.ts +4 -8
  142. package/dist/reference-codes/bhrg-determined-hydrophysical-properties.d.ts.map +1 -1
  143. package/dist/reference-codes/bhrg-determined-hydrophysical-properties.js +8 -14
  144. package/dist/reference-codes/bhrg-determined-hydrophysical-properties.js.map +1 -1
  145. package/dist/reference-codes/bhrg-discipline.d.ts +4 -8
  146. package/dist/reference-codes/bhrg-discipline.d.ts.map +1 -1
  147. package/dist/reference-codes/bhrg-discipline.js +9 -15
  148. package/dist/reference-codes/bhrg-discipline.js.map +1 -1
  149. package/dist/reference-codes/bhrg-discontinuity-type.d.ts +4 -8
  150. package/dist/reference-codes/bhrg-discontinuity-type.d.ts.map +1 -1
  151. package/dist/reference-codes/bhrg-discontinuity-type.js +11 -17
  152. package/dist/reference-codes/bhrg-discontinuity-type.js.map +1 -1
  153. package/dist/reference-codes/bhrg-dispersion-method.d.ts +4 -8
  154. package/dist/reference-codes/bhrg-dispersion-method.d.ts.map +1 -1
  155. package/dist/reference-codes/bhrg-dispersion-method.js +7 -13
  156. package/dist/reference-codes/bhrg-dispersion-method.js.map +1 -1
  157. package/dist/reference-codes/bhrg-drying-period.d.ts +4 -8
  158. package/dist/reference-codes/bhrg-drying-period.d.ts.map +1 -1
  159. package/dist/reference-codes/bhrg-drying-period.js +8 -14
  160. package/dist/reference-codes/bhrg-drying-period.js.map +1 -1
  161. package/dist/reference-codes/bhrg-drying-temperature.d.ts +4 -8
  162. package/dist/reference-codes/bhrg-drying-temperature.d.ts.map +1 -1
  163. package/dist/reference-codes/bhrg-drying-temperature.js +6 -12
  164. package/dist/reference-codes/bhrg-drying-temperature.js.map +1 -1
  165. package/dist/reference-codes/bhrg-event-name.d.ts +4 -8
  166. package/dist/reference-codes/bhrg-event-name.d.ts.map +1 -1
  167. package/dist/reference-codes/bhrg-event-name.js +7 -13
  168. package/dist/reference-codes/bhrg-event-name.js.map +1 -1
  169. package/dist/reference-codes/bhrg-excavated-material.d.ts +4 -8
  170. package/dist/reference-codes/bhrg-excavated-material.d.ts.map +1 -1
  171. package/dist/reference-codes/bhrg-excavated-material.js +14 -20
  172. package/dist/reference-codes/bhrg-excavated-material.js.map +1 -1
  173. package/dist/reference-codes/bhrg-fine-soil-consistency.d.ts +4 -8
  174. package/dist/reference-codes/bhrg-fine-soil-consistency.d.ts.map +1 -1
  175. package/dist/reference-codes/bhrg-fine-soil-consistency.js +17 -23
  176. package/dist/reference-codes/bhrg-fine-soil-consistency.js.map +1 -1
  177. package/dist/reference-codes/bhrg-fluid-mud-layer-positioning-method.d.ts +4 -8
  178. package/dist/reference-codes/bhrg-fluid-mud-layer-positioning-method.d.ts.map +1 -1
  179. package/dist/reference-codes/bhrg-fluid-mud-layer-positioning-method.js +14 -20
  180. package/dist/reference-codes/bhrg-fluid-mud-layer-positioning-method.js.map +1 -1
  181. package/dist/reference-codes/bhrg-flushing-additive.d.ts +4 -8
  182. package/dist/reference-codes/bhrg-flushing-additive.d.ts.map +1 -1
  183. package/dist/reference-codes/bhrg-flushing-additive.js +9 -15
  184. package/dist/reference-codes/bhrg-flushing-additive.js.map +1 -1
  185. package/dist/reference-codes/bhrg-fraction-distribution-lab.d.ts +4 -8
  186. package/dist/reference-codes/bhrg-fraction-distribution-lab.d.ts.map +1 -1
  187. package/dist/reference-codes/bhrg-fraction-distribution-lab.js +7 -13
  188. package/dist/reference-codes/bhrg-fraction-distribution-lab.js.map +1 -1
  189. package/dist/reference-codes/bhrg-geological-origin.d.ts +4 -8
  190. package/dist/reference-codes/bhrg-geological-origin.d.ts.map +1 -1
  191. package/dist/reference-codes/bhrg-geological-origin.js +21 -27
  192. package/dist/reference-codes/bhrg-geological-origin.js.map +1 -1
  193. package/dist/reference-codes/bhrg-geological-soil-name.d.ts +4 -8
  194. package/dist/reference-codes/bhrg-geological-soil-name.d.ts.map +1 -1
  195. package/dist/reference-codes/bhrg-geological-soil-name.js +83 -89
  196. package/dist/reference-codes/bhrg-geological-soil-name.js.map +1 -1
  197. package/dist/reference-codes/bhrg-geotechnical-soil-name.d.ts +4 -8
  198. package/dist/reference-codes/bhrg-geotechnical-soil-name.d.ts.map +1 -1
  199. package/dist/reference-codes/bhrg-geotechnical-soil-name.js +65 -71
  200. package/dist/reference-codes/bhrg-geotechnical-soil-name.js.map +1 -1
  201. package/dist/reference-codes/bhrg-grain-colour.d.ts +4 -8
  202. package/dist/reference-codes/bhrg-grain-colour.d.ts.map +1 -1
  203. package/dist/reference-codes/bhrg-grain-colour.js +10 -16
  204. package/dist/reference-codes/bhrg-grain-colour.js.map +1 -1
  205. package/dist/reference-codes/bhrg-gravel-content-class-to50.d.ts +11 -0
  206. package/dist/reference-codes/bhrg-gravel-content-class-to50.d.ts.map +1 -0
  207. package/dist/reference-codes/bhrg-gravel-content-class-to50.js +16 -0
  208. package/dist/reference-codes/bhrg-gravel-content-class-to50.js.map +1 -0
  209. package/dist/reference-codes/bhrg-gravel-content-class.d.ts +4 -8
  210. package/dist/reference-codes/bhrg-gravel-content-class.d.ts.map +1 -1
  211. package/dist/reference-codes/bhrg-gravel-content-class.js +10 -16
  212. package/dist/reference-codes/bhrg-gravel-content-class.js.map +1 -1
  213. package/dist/reference-codes/bhrg-gravel-median-class.d.ts +4 -8
  214. package/dist/reference-codes/bhrg-gravel-median-class.d.ts.map +1 -1
  215. package/dist/reference-codes/bhrg-gravel-median-class.js +11 -17
  216. package/dist/reference-codes/bhrg-gravel-median-class.js.map +1 -1
  217. package/dist/reference-codes/bhrg-gravel-provenance.d.ts +4 -8
  218. package/dist/reference-codes/bhrg-gravel-provenance.d.ts.map +1 -1
  219. package/dist/reference-codes/bhrg-gravel-provenance.js +15 -21
  220. package/dist/reference-codes/bhrg-gravel-provenance.js.map +1 -1
  221. package/dist/reference-codes/bhrg-gravel-type.d.ts +4 -8
  222. package/dist/reference-codes/bhrg-gravel-type.d.ts.map +1 -1
  223. package/dist/reference-codes/bhrg-gravel-type.js +63 -69
  224. package/dist/reference-codes/bhrg-gravel-type.js.map +1 -1
  225. package/dist/reference-codes/bhrg-horizon-code.d.ts +4 -8
  226. package/dist/reference-codes/bhrg-horizon-code.d.ts.map +1 -1
  227. package/dist/reference-codes/bhrg-horizon-code.js +14 -20
  228. package/dist/reference-codes/bhrg-horizon-code.js.map +1 -1
  229. package/dist/reference-codes/bhrg-horizontal-positioning-method.d.ts +4 -8
  230. package/dist/reference-codes/bhrg-horizontal-positioning-method.d.ts.map +1 -1
  231. package/dist/reference-codes/bhrg-horizontal-positioning-method.js +26 -32
  232. package/dist/reference-codes/bhrg-horizontal-positioning-method.js.map +1 -1
  233. package/dist/reference-codes/bhrg-human-trace.d.ts +4 -8
  234. package/dist/reference-codes/bhrg-human-trace.d.ts.map +1 -1
  235. package/dist/reference-codes/bhrg-human-trace.js +7 -13
  236. package/dist/reference-codes/bhrg-human-trace.js.map +1 -1
  237. package/dist/reference-codes/bhrg-hydrological-setting.d.ts +4 -8
  238. package/dist/reference-codes/bhrg-hydrological-setting.d.ts.map +1 -1
  239. package/dist/reference-codes/bhrg-hydrological-setting.js +8 -14
  240. package/dist/reference-codes/bhrg-hydrological-setting.js.map +1 -1
  241. package/dist/reference-codes/bhrg-landscape-element.d.ts +4 -8
  242. package/dist/reference-codes/bhrg-landscape-element.d.ts.map +1 -1
  243. package/dist/reference-codes/bhrg-landscape-element.js +44 -50
  244. package/dist/reference-codes/bhrg-landscape-element.js.map +1 -1
  245. package/dist/reference-codes/bhrg-layer-proportion-class.d.ts +4 -8
  246. package/dist/reference-codes/bhrg-layer-proportion-class.d.ts.map +1 -1
  247. package/dist/reference-codes/bhrg-layer-proportion-class.js +13 -19
  248. package/dist/reference-codes/bhrg-layer-proportion-class.js.map +1 -1
  249. package/dist/reference-codes/bhrg-local-vertical-reference-point.d.ts +4 -8
  250. package/dist/reference-codes/bhrg-local-vertical-reference-point.d.ts.map +1 -1
  251. package/dist/reference-codes/bhrg-local-vertical-reference-point.js +6 -12
  252. package/dist/reference-codes/bhrg-local-vertical-reference-point.js.map +1 -1
  253. package/dist/reference-codes/bhrg-mass-percentage-class.d.ts +4 -8
  254. package/dist/reference-codes/bhrg-mass-percentage-class.d.ts.map +1 -1
  255. package/dist/reference-codes/bhrg-mass-percentage-class.js +11 -17
  256. package/dist/reference-codes/bhrg-mass-percentage-class.js.map +1 -1
  257. package/dist/reference-codes/bhrg-material-irregularity.d.ts +4 -8
  258. package/dist/reference-codes/bhrg-material-irregularity.d.ts.map +1 -1
  259. package/dist/reference-codes/bhrg-material-irregularity.js +12 -18
  260. package/dist/reference-codes/bhrg-material-irregularity.js.map +1 -1
  261. package/dist/reference-codes/bhrg-material-shape.d.ts +4 -8
  262. package/dist/reference-codes/bhrg-material-shape.d.ts.map +1 -1
  263. package/dist/reference-codes/bhrg-material-shape.js +15 -21
  264. package/dist/reference-codes/bhrg-material-shape.js.map +1 -1
  265. package/dist/reference-codes/bhrg-mica-content-class.d.ts +4 -8
  266. package/dist/reference-codes/bhrg-mica-content-class.d.ts.map +1 -1
  267. package/dist/reference-codes/bhrg-mica-content-class.js +9 -15
  268. package/dist/reference-codes/bhrg-mica-content-class.js.map +1 -1
  269. package/dist/reference-codes/bhrg-mottling-density.d.ts +4 -8
  270. package/dist/reference-codes/bhrg-mottling-density.d.ts.map +1 -1
  271. package/dist/reference-codes/bhrg-mottling-density.js +14 -20
  272. package/dist/reference-codes/bhrg-mottling-density.js.map +1 -1
  273. package/dist/reference-codes/bhrg-munsell-chroma.d.ts +4 -8
  274. package/dist/reference-codes/bhrg-munsell-chroma.d.ts.map +1 -1
  275. package/dist/reference-codes/bhrg-munsell-chroma.js +10 -16
  276. package/dist/reference-codes/bhrg-munsell-chroma.js.map +1 -1
  277. package/dist/reference-codes/bhrg-munsell-hue.d.ts +4 -8
  278. package/dist/reference-codes/bhrg-munsell-hue.d.ts.map +1 -1
  279. package/dist/reference-codes/bhrg-munsell-hue.js +26 -33
  280. package/dist/reference-codes/bhrg-munsell-hue.js.map +1 -1
  281. package/dist/reference-codes/bhrg-munsell-value.d.ts +4 -8
  282. package/dist/reference-codes/bhrg-munsell-value.d.ts.map +1 -1
  283. package/dist/reference-codes/bhrg-munsell-value.js +16 -22
  284. package/dist/reference-codes/bhrg-munsell-value.js.map +1 -1
  285. package/dist/reference-codes/bhrg-no-description-reason.d.ts +4 -8
  286. package/dist/reference-codes/bhrg-no-description-reason.d.ts.map +1 -1
  287. package/dist/reference-codes/bhrg-no-description-reason.js +14 -20
  288. package/dist/reference-codes/bhrg-no-description-reason.js.map +1 -1
  289. package/dist/reference-codes/bhrg-organic-matter-content-class-nen5104.d.ts +4 -8
  290. package/dist/reference-codes/bhrg-organic-matter-content-class-nen5104.d.ts.map +1 -1
  291. package/dist/reference-codes/bhrg-organic-matter-content-class-nen5104.js +10 -16
  292. package/dist/reference-codes/bhrg-organic-matter-content-class-nen5104.js.map +1 -1
  293. package/dist/reference-codes/bhrg-organic-matter-content-class.d.ts +4 -8
  294. package/dist/reference-codes/bhrg-organic-matter-content-class.d.ts.map +1 -1
  295. package/dist/reference-codes/bhrg-organic-matter-content-class.js +7 -13
  296. package/dist/reference-codes/bhrg-organic-matter-content-class.js.map +1 -1
  297. package/dist/reference-codes/bhrg-organic-soil-consistency.d.ts +4 -8
  298. package/dist/reference-codes/bhrg-organic-soil-consistency.d.ts.map +1 -1
  299. package/dist/reference-codes/bhrg-organic-soil-consistency.js +10 -16
  300. package/dist/reference-codes/bhrg-organic-soil-consistency.js.map +1 -1
  301. package/dist/reference-codes/bhrg-organic-soil-texture.d.ts +4 -8
  302. package/dist/reference-codes/bhrg-organic-soil-texture.d.ts.map +1 -1
  303. package/dist/reference-codes/bhrg-organic-soil-texture.js +15 -21
  304. package/dist/reference-codes/bhrg-organic-soil-texture.js.map +1 -1
  305. package/dist/reference-codes/bhrg-particular-constituent-type.d.ts +4 -8
  306. package/dist/reference-codes/bhrg-particular-constituent-type.d.ts.map +1 -1
  307. package/dist/reference-codes/bhrg-particular-constituent-type.js +29 -35
  308. package/dist/reference-codes/bhrg-particular-constituent-type.js.map +1 -1
  309. package/dist/reference-codes/bhrg-peat-type.d.ts +4 -8
  310. package/dist/reference-codes/bhrg-peat-type.d.ts.map +1 -1
  311. package/dist/reference-codes/bhrg-peat-type.js +13 -19
  312. package/dist/reference-codes/bhrg-peat-type.js.map +1 -1
  313. package/dist/reference-codes/bhrg-performance-irregularity.d.ts +4 -8
  314. package/dist/reference-codes/bhrg-performance-irregularity.d.ts.map +1 -1
  315. package/dist/reference-codes/bhrg-performance-irregularity.js +10 -16
  316. package/dist/reference-codes/bhrg-performance-irregularity.js.map +1 -1
  317. package/dist/reference-codes/bhrg-plant-remain-type.d.ts +4 -8
  318. package/dist/reference-codes/bhrg-plant-remain-type.d.ts.map +1 -1
  319. package/dist/reference-codes/bhrg-plant-remain-type.js +26 -32
  320. package/dist/reference-codes/bhrg-plant-remain-type.js.map +1 -1
  321. package/dist/reference-codes/bhrg-position-on-ground-body.d.ts +4 -8
  322. package/dist/reference-codes/bhrg-position-on-ground-body.d.ts.map +1 -1
  323. package/dist/reference-codes/bhrg-position-on-ground-body.js +9 -15
  324. package/dist/reference-codes/bhrg-position-on-ground-body.js.map +1 -1
  325. package/dist/reference-codes/bhrg-pre-treatment.d.ts +4 -8
  326. package/dist/reference-codes/bhrg-pre-treatment.d.ts.map +1 -1
  327. package/dist/reference-codes/bhrg-pre-treatment.js +9 -15
  328. package/dist/reference-codes/bhrg-pre-treatment.js.map +1 -1
  329. package/dist/reference-codes/bhrg-preparation.d.ts +4 -8
  330. package/dist/reference-codes/bhrg-preparation.d.ts.map +1 -1
  331. package/dist/reference-codes/bhrg-preparation.js +11 -17
  332. package/dist/reference-codes/bhrg-preparation.js.map +1 -1
  333. package/dist/reference-codes/bhrg-relative-abundance-class.d.ts +4 -8
  334. package/dist/reference-codes/bhrg-relative-abundance-class.d.ts.map +1 -1
  335. package/dist/reference-codes/bhrg-relative-abundance-class.js +10 -16
  336. package/dist/reference-codes/bhrg-relative-abundance-class.js.map +1 -1
  337. package/dist/reference-codes/bhrg-removal-method-carbonate.d.ts +4 -8
  338. package/dist/reference-codes/bhrg-removal-method-carbonate.d.ts.map +1 -1
  339. package/dist/reference-codes/bhrg-removal-method-carbonate.js +7 -13
  340. package/dist/reference-codes/bhrg-removal-method-carbonate.js.map +1 -1
  341. package/dist/reference-codes/bhrg-removal-method-organic-matter.d.ts +4 -8
  342. package/dist/reference-codes/bhrg-removal-method-organic-matter.d.ts.map +1 -1
  343. package/dist/reference-codes/bhrg-removal-method-organic-matter.js +7 -13
  344. package/dist/reference-codes/bhrg-removal-method-organic-matter.js.map +1 -1
  345. package/dist/reference-codes/bhrg-removed-material.d.ts +4 -8
  346. package/dist/reference-codes/bhrg-removed-material.d.ts.map +1 -1
  347. package/dist/reference-codes/bhrg-removed-material.js +15 -21
  348. package/dist/reference-codes/bhrg-removed-material.js.map +1 -1
  349. package/dist/reference-codes/bhrg-rock-type.d.ts +4 -8
  350. package/dist/reference-codes/bhrg-rock-type.d.ts.map +1 -1
  351. package/dist/reference-codes/bhrg-rock-type.js +11 -17
  352. package/dist/reference-codes/bhrg-rock-type.js.map +1 -1
  353. package/dist/reference-codes/bhrg-salt-correction-method.d.ts +4 -8
  354. package/dist/reference-codes/bhrg-salt-correction-method.d.ts.map +1 -1
  355. package/dist/reference-codes/bhrg-salt-correction-method.js +7 -13
  356. package/dist/reference-codes/bhrg-salt-correction-method.js.map +1 -1
  357. package/dist/reference-codes/bhrg-sample-container-volume.d.ts +4 -8
  358. package/dist/reference-codes/bhrg-sample-container-volume.d.ts.map +1 -1
  359. package/dist/reference-codes/bhrg-sample-container-volume.js +6 -12
  360. package/dist/reference-codes/bhrg-sample-container-volume.js.map +1 -1
  361. package/dist/reference-codes/bhrg-sample-moistness.d.ts +4 -8
  362. package/dist/reference-codes/bhrg-sample-moistness.d.ts.map +1 -1
  363. package/dist/reference-codes/bhrg-sample-moistness.js +8 -14
  364. package/dist/reference-codes/bhrg-sample-moistness.js.map +1 -1
  365. package/dist/reference-codes/bhrg-sample-quality.d.ts +4 -8
  366. package/dist/reference-codes/bhrg-sample-quality.d.ts.map +1 -1
  367. package/dist/reference-codes/bhrg-sample-quality.js +9 -15
  368. package/dist/reference-codes/bhrg-sample-quality.js.map +1 -1
  369. package/dist/reference-codes/bhrg-sampler-type.d.ts +4 -8
  370. package/dist/reference-codes/bhrg-sampler-type.d.ts.map +1 -1
  371. package/dist/reference-codes/bhrg-sampler-type.js +12 -18
  372. package/dist/reference-codes/bhrg-sampler-type.js.map +1 -1
  373. package/dist/reference-codes/bhrg-sampling-method.d.ts +4 -8
  374. package/dist/reference-codes/bhrg-sampling-method.d.ts.map +1 -1
  375. package/dist/reference-codes/bhrg-sampling-method.js +20 -26
  376. package/dist/reference-codes/bhrg-sampling-method.js.map +1 -1
  377. package/dist/reference-codes/bhrg-sampling-procedure.d.ts +4 -8
  378. package/dist/reference-codes/bhrg-sampling-procedure.d.ts.map +1 -1
  379. package/dist/reference-codes/bhrg-sampling-procedure.js +7 -13
  380. package/dist/reference-codes/bhrg-sampling-procedure.js.map +1 -1
  381. package/dist/reference-codes/bhrg-sampling-quality.d.ts +4 -8
  382. package/dist/reference-codes/bhrg-sampling-quality.d.ts.map +1 -1
  383. package/dist/reference-codes/bhrg-sampling-quality.js +13 -19
  384. package/dist/reference-codes/bhrg-sampling-quality.js.map +1 -1
  385. package/dist/reference-codes/bhrg-sand-median-class.d.ts +4 -8
  386. package/dist/reference-codes/bhrg-sand-median-class.d.ts.map +1 -1
  387. package/dist/reference-codes/bhrg-sand-median-class.js +18 -24
  388. package/dist/reference-codes/bhrg-sand-median-class.js.map +1 -1
  389. package/dist/reference-codes/bhrg-sand-median-class50to2000.d.ts +11 -0
  390. package/dist/reference-codes/bhrg-sand-median-class50to2000.d.ts.map +1 -0
  391. package/dist/reference-codes/bhrg-sand-median-class50to2000.js +18 -0
  392. package/dist/reference-codes/bhrg-sand-median-class50to2000.js.map +1 -0
  393. package/dist/reference-codes/bhrg-sand-sorting.d.ts +4 -8
  394. package/dist/reference-codes/bhrg-sand-sorting.d.ts.map +1 -1
  395. package/dist/reference-codes/bhrg-sand-sorting.js +15 -21
  396. package/dist/reference-codes/bhrg-sand-sorting.js.map +1 -1
  397. package/dist/reference-codes/bhrg-saturation-method.d.ts +4 -8
  398. package/dist/reference-codes/bhrg-saturation-method.d.ts.map +1 -1
  399. package/dist/reference-codes/bhrg-saturation-method.js +6 -12
  400. package/dist/reference-codes/bhrg-saturation-method.js.map +1 -1
  401. package/dist/reference-codes/bhrg-sedimentary-phenomenon.d.ts +4 -8
  402. package/dist/reference-codes/bhrg-sedimentary-phenomenon.d.ts.map +1 -1
  403. package/dist/reference-codes/bhrg-sedimentary-phenomenon.js +6 -12
  404. package/dist/reference-codes/bhrg-sedimentary-phenomenon.js.map +1 -1
  405. package/dist/reference-codes/bhrg-shell-taxon.d.ts +4 -8
  406. package/dist/reference-codes/bhrg-shell-taxon.d.ts.map +1 -1
  407. package/dist/reference-codes/bhrg-shell-taxon.js +163 -169
  408. package/dist/reference-codes/bhrg-shell-taxon.js.map +1 -1
  409. package/dist/reference-codes/bhrg-soil-name-berendsen-stouthamer.d.ts +11 -0
  410. package/dist/reference-codes/bhrg-soil-name-berendsen-stouthamer.d.ts.map +1 -0
  411. package/dist/reference-codes/bhrg-soil-name-berendsen-stouthamer.js +42 -0
  412. package/dist/reference-codes/bhrg-soil-name-berendsen-stouthamer.js.map +1 -0
  413. package/dist/reference-codes/bhrg-soil-name-nen5104.d.ts +4 -8
  414. package/dist/reference-codes/bhrg-soil-name-nen5104.d.ts.map +1 -1
  415. package/dist/reference-codes/bhrg-soil-name-nen5104.js +82 -88
  416. package/dist/reference-codes/bhrg-soil-name-nen5104.js.map +1 -1
  417. package/dist/reference-codes/bhrg-soil-type.d.ts +4 -8
  418. package/dist/reference-codes/bhrg-soil-type.d.ts.map +1 -1
  419. package/dist/reference-codes/bhrg-soil-type.js +20 -26
  420. package/dist/reference-codes/bhrg-soil-type.js.map +1 -1
  421. package/dist/reference-codes/bhrg-soil-use.d.ts +4 -8
  422. package/dist/reference-codes/bhrg-soil-use.d.ts.map +1 -1
  423. package/dist/reference-codes/bhrg-soil-use.js +16 -22
  424. package/dist/reference-codes/bhrg-soil-use.js.map +1 -1
  425. package/dist/reference-codes/bhrg-special-material.d.ts +4 -8
  426. package/dist/reference-codes/bhrg-special-material.d.ts.map +1 -1
  427. package/dist/reference-codes/bhrg-special-material.js +25 -31
  428. package/dist/reference-codes/bhrg-special-material.js.map +1 -1
  429. package/dist/reference-codes/bhrg-sphericity.d.ts +4 -8
  430. package/dist/reference-codes/bhrg-sphericity.d.ts.map +1 -1
  431. package/dist/reference-codes/bhrg-sphericity.js +7 -13
  432. package/dist/reference-codes/bhrg-sphericity.js.map +1 -1
  433. package/dist/reference-codes/bhrg-stain-colour.d.ts +4 -8
  434. package/dist/reference-codes/bhrg-stain-colour.d.ts.map +1 -1
  435. package/dist/reference-codes/bhrg-stain-colour.js +19 -25
  436. package/dist/reference-codes/bhrg-stain-colour.js.map +1 -1
  437. package/dist/reference-codes/bhrg-stop-criterion-field.d.ts +4 -8
  438. package/dist/reference-codes/bhrg-stop-criterion-field.d.ts.map +1 -1
  439. package/dist/reference-codes/bhrg-stop-criterion-field.js +17 -23
  440. package/dist/reference-codes/bhrg-stop-criterion-field.js.map +1 -1
  441. package/dist/reference-codes/bhrg-stratum-thickness-class.d.ts +4 -8
  442. package/dist/reference-codes/bhrg-stratum-thickness-class.d.ts.map +1 -1
  443. package/dist/reference-codes/bhrg-stratum-thickness-class.js +14 -20
  444. package/dist/reference-codes/bhrg-stratum-thickness-class.js.map +1 -1
  445. package/dist/reference-codes/bhrg-structure.d.ts +4 -8
  446. package/dist/reference-codes/bhrg-structure.d.ts.map +1 -1
  447. package/dist/reference-codes/bhrg-structure.js +20 -26
  448. package/dist/reference-codes/bhrg-structure.js.map +1 -1
  449. package/dist/reference-codes/bhrg-survey-procedure.d.ts +4 -8
  450. package/dist/reference-codes/bhrg-survey-procedure.d.ts.map +1 -1
  451. package/dist/reference-codes/bhrg-survey-procedure.js +6 -12
  452. package/dist/reference-codes/bhrg-survey-procedure.js.map +1 -1
  453. package/dist/reference-codes/bhrg-survey-purpose.d.ts +4 -8
  454. package/dist/reference-codes/bhrg-survey-purpose.d.ts.map +1 -1
  455. package/dist/reference-codes/bhrg-survey-purpose.js +17 -23
  456. package/dist/reference-codes/bhrg-survey-purpose.js.map +1 -1
  457. package/dist/reference-codes/bhrg-temporary-change.d.ts +4 -8
  458. package/dist/reference-codes/bhrg-temporary-change.d.ts.map +1 -1
  459. package/dist/reference-codes/bhrg-temporary-change.js +11 -17
  460. package/dist/reference-codes/bhrg-temporary-change.js.map +1 -1
  461. package/dist/reference-codes/bhrg-used-medium.d.ts +4 -8
  462. package/dist/reference-codes/bhrg-used-medium.d.ts.map +1 -1
  463. package/dist/reference-codes/bhrg-used-medium.js +10 -16
  464. package/dist/reference-codes/bhrg-used-medium.js.map +1 -1
  465. package/dist/reference-codes/bhrg-utensil.d.ts +4 -8
  466. package/dist/reference-codes/bhrg-utensil.d.ts.map +1 -1
  467. package/dist/reference-codes/bhrg-utensil.js +11 -17
  468. package/dist/reference-codes/bhrg-utensil.js.map +1 -1
  469. package/dist/reference-codes/bhrg-variegation.d.ts +4 -8
  470. package/dist/reference-codes/bhrg-variegation.d.ts.map +1 -1
  471. package/dist/reference-codes/bhrg-variegation.js +11 -17
  472. package/dist/reference-codes/bhrg-variegation.js.map +1 -1
  473. package/dist/reference-codes/bhrg-vertical-datum.d.ts +4 -8
  474. package/dist/reference-codes/bhrg-vertical-datum.d.ts.map +1 -1
  475. package/dist/reference-codes/bhrg-vertical-datum.js +7 -13
  476. package/dist/reference-codes/bhrg-vertical-datum.js.map +1 -1
  477. package/dist/reference-codes/bhrg-vertical-positioning-method.d.ts +4 -8
  478. package/dist/reference-codes/bhrg-vertical-positioning-method.d.ts.map +1 -1
  479. package/dist/reference-codes/bhrg-vertical-positioning-method.js +32 -38
  480. package/dist/reference-codes/bhrg-vertical-positioning-method.js.map +1 -1
  481. package/dist/reference-codes/bhrg-vertical-trend.d.ts +4 -8
  482. package/dist/reference-codes/bhrg-vertical-trend.d.ts.map +1 -1
  483. package/dist/reference-codes/bhrg-vertical-trend.js +44 -50
  484. package/dist/reference-codes/bhrg-vertical-trend.js.map +1 -1
  485. package/dist/reference-codes/bhrg-very-coarse-fraction-content-class-archive.d.ts +4 -8
  486. package/dist/reference-codes/bhrg-very-coarse-fraction-content-class-archive.d.ts.map +1 -1
  487. package/dist/reference-codes/bhrg-very-coarse-fraction-content-class-archive.js +11 -17
  488. package/dist/reference-codes/bhrg-very-coarse-fraction-content-class-archive.js.map +1 -1
  489. package/dist/reference-codes/bhrg-very-coarse-fraction-content-class.d.ts +4 -8
  490. package/dist/reference-codes/bhrg-very-coarse-fraction-content-class.d.ts.map +1 -1
  491. package/dist/reference-codes/bhrg-very-coarse-fraction-content-class.js +10 -16
  492. package/dist/reference-codes/bhrg-very-coarse-fraction-content-class.js.map +1 -1
  493. package/dist/reference-codes/bhrg-volume-percentage-class.d.ts +4 -8
  494. package/dist/reference-codes/bhrg-volume-percentage-class.d.ts.map +1 -1
  495. package/dist/reference-codes/bhrg-volume-percentage-class.js +13 -19
  496. package/dist/reference-codes/bhrg-volume-percentage-class.js.map +1 -1
  497. package/dist/reference-codes/bhrg-weathering-degree.d.ts +4 -8
  498. package/dist/reference-codes/bhrg-weathering-degree.d.ts.map +1 -1
  499. package/dist/reference-codes/bhrg-weathering-degree.js +8 -14
  500. package/dist/reference-codes/bhrg-weathering-degree.js.map +1 -1
  501. package/dist/reference-codes/bhrgt-activity-type.d.ts +4 -8
  502. package/dist/reference-codes/bhrgt-activity-type.d.ts.map +1 -1
  503. package/dist/reference-codes/bhrgt-activity-type.js +9 -15
  504. package/dist/reference-codes/bhrgt-activity-type.js.map +1 -1
  505. package/dist/reference-codes/bhrgt-analysis-procedure.d.ts +4 -8
  506. package/dist/reference-codes/bhrgt-analysis-procedure.d.ts.map +1 -1
  507. package/dist/reference-codes/bhrgt-analysis-procedure.js +6 -12
  508. package/dist/reference-codes/bhrgt-analysis-procedure.js.map +1 -1
  509. package/dist/reference-codes/bhrgt-analysis-type.d.ts +4 -8
  510. package/dist/reference-codes/bhrgt-analysis-type.d.ts.map +1 -1
  511. package/dist/reference-codes/bhrgt-analysis-type.js +19 -25
  512. package/dist/reference-codes/bhrgt-analysis-type.js.map +1 -1
  513. package/dist/reference-codes/bhrgt-angularity.d.ts +4 -8
  514. package/dist/reference-codes/bhrgt-angularity.d.ts.map +1 -1
  515. package/dist/reference-codes/bhrgt-angularity.js +13 -19
  516. package/dist/reference-codes/bhrgt-angularity.js.map +1 -1
  517. package/dist/reference-codes/bhrgt-aperture-class-discontinuity.d.ts +4 -8
  518. package/dist/reference-codes/bhrgt-aperture-class-discontinuity.d.ts.map +1 -1
  519. package/dist/reference-codes/bhrgt-aperture-class-discontinuity.js +10 -16
  520. package/dist/reference-codes/bhrgt-aperture-class-discontinuity.js.map +1 -1
  521. package/dist/reference-codes/bhrgt-aperture-class.d.ts +4 -8
  522. package/dist/reference-codes/bhrgt-aperture-class.d.ts.map +1 -1
  523. package/dist/reference-codes/bhrgt-aperture-class.js +10 -16
  524. package/dist/reference-codes/bhrgt-aperture-class.js.map +1 -1
  525. package/dist/reference-codes/bhrgt-backfill-material.d.ts +4 -8
  526. package/dist/reference-codes/bhrgt-backfill-material.d.ts.map +1 -1
  527. package/dist/reference-codes/bhrgt-backfill-material.js +26 -32
  528. package/dist/reference-codes/bhrgt-backfill-material.js.map +1 -1
  529. package/dist/reference-codes/bhrgt-bedding.d.ts +4 -8
  530. package/dist/reference-codes/bhrgt-bedding.d.ts.map +1 -1
  531. package/dist/reference-codes/bhrgt-bedding.js +11 -17
  532. package/dist/reference-codes/bhrgt-bedding.js.map +1 -1
  533. package/dist/reference-codes/bhrgt-boring-procedure.d.ts +4 -8
  534. package/dist/reference-codes/bhrgt-boring-procedure.d.ts.map +1 -1
  535. package/dist/reference-codes/bhrgt-boring-procedure.js +8 -14
  536. package/dist/reference-codes/bhrgt-boring-procedure.js.map +1 -1
  537. package/dist/reference-codes/bhrgt-boring-technique.d.ts +4 -8
  538. package/dist/reference-codes/bhrgt-boring-technique.d.ts.map +1 -1
  539. package/dist/reference-codes/bhrgt-boring-technique.js +28 -34
  540. package/dist/reference-codes/bhrgt-boring-technique.js.map +1 -1
  541. package/dist/reference-codes/bhrgt-boundary-positioning-method.d.ts +4 -8
  542. package/dist/reference-codes/bhrgt-boundary-positioning-method.d.ts.map +1 -1
  543. package/dist/reference-codes/bhrgt-boundary-positioning-method.js +11 -17
  544. package/dist/reference-codes/bhrgt-boundary-positioning-method.js.map +1 -1
  545. package/dist/reference-codes/bhrgt-calculation-value-source.d.ts +4 -8
  546. package/dist/reference-codes/bhrgt-calculation-value-source.d.ts.map +1 -1
  547. package/dist/reference-codes/bhrgt-calculation-value-source.js +7 -13
  548. package/dist/reference-codes/bhrgt-calculation-value-source.js.map +1 -1
  549. package/dist/reference-codes/bhrgt-carbonate-content-class.d.ts +4 -8
  550. package/dist/reference-codes/bhrgt-carbonate-content-class.d.ts.map +1 -1
  551. package/dist/reference-codes/bhrgt-carbonate-content-class.js +11 -17
  552. package/dist/reference-codes/bhrgt-carbonate-content-class.js.map +1 -1
  553. package/dist/reference-codes/bhrgt-casing-material.d.ts +4 -8
  554. package/dist/reference-codes/bhrgt-casing-material.d.ts.map +1 -1
  555. package/dist/reference-codes/bhrgt-casing-material.js +11 -17
  556. package/dist/reference-codes/bhrgt-casing-material.js.map +1 -1
  557. package/dist/reference-codes/bhrgt-cement-type.d.ts +4 -8
  558. package/dist/reference-codes/bhrgt-cement-type.d.ts.map +1 -1
  559. package/dist/reference-codes/bhrgt-cement-type.js +9 -15
  560. package/dist/reference-codes/bhrgt-cement-type.js.map +1 -1
  561. package/dist/reference-codes/bhrgt-colour.d.ts +4 -8
  562. package/dist/reference-codes/bhrgt-colour.d.ts.map +1 -1
  563. package/dist/reference-codes/bhrgt-colour.js +36 -42
  564. package/dist/reference-codes/bhrgt-colour.js.map +1 -1
  565. package/dist/reference-codes/bhrgt-consolidation-method.d.ts +4 -8
  566. package/dist/reference-codes/bhrgt-consolidation-method.d.ts.map +1 -1
  567. package/dist/reference-codes/bhrgt-consolidation-method.js +8 -14
  568. package/dist/reference-codes/bhrgt-consolidation-method.js.map +1 -1
  569. package/dist/reference-codes/bhrgt-conus-type.d.ts +4 -8
  570. package/dist/reference-codes/bhrgt-conus-type.d.ts.map +1 -1
  571. package/dist/reference-codes/bhrgt-conus-type.js +6 -12
  572. package/dist/reference-codes/bhrgt-conus-type.js.map +1 -1
  573. package/dist/reference-codes/bhrgt-correction-method.d.ts +4 -8
  574. package/dist/reference-codes/bhrgt-correction-method.d.ts.map +1 -1
  575. package/dist/reference-codes/bhrgt-correction-method.js +7 -13
  576. package/dist/reference-codes/bhrgt-correction-method.js.map +1 -1
  577. package/dist/reference-codes/bhrgt-correction-reason.d.ts +4 -8
  578. package/dist/reference-codes/bhrgt-correction-reason.d.ts.map +1 -1
  579. package/dist/reference-codes/bhrgt-correction-reason.js +9 -15
  580. package/dist/reference-codes/bhrgt-correction-reason.js.map +1 -1
  581. package/dist/reference-codes/bhrgt-decomposition.d.ts +4 -8
  582. package/dist/reference-codes/bhrgt-decomposition.d.ts.map +1 -1
  583. package/dist/reference-codes/bhrgt-decomposition.js +7 -13
  584. package/dist/reference-codes/bhrgt-decomposition.js.map +1 -1
  585. package/dist/reference-codes/bhrgt-delivery-context.d.ts +4 -8
  586. package/dist/reference-codes/bhrgt-delivery-context.d.ts.map +1 -1
  587. package/dist/reference-codes/bhrgt-delivery-context.js +12 -18
  588. package/dist/reference-codes/bhrgt-delivery-context.js.map +1 -1
  589. package/dist/reference-codes/bhrgt-depositional-age.d.ts +4 -8
  590. package/dist/reference-codes/bhrgt-depositional-age.d.ts.map +1 -1
  591. package/dist/reference-codes/bhrgt-depositional-age.js +8 -14
  592. package/dist/reference-codes/bhrgt-depositional-age.js.map +1 -1
  593. package/dist/reference-codes/bhrgt-depositional-characteristic.d.ts +4 -8
  594. package/dist/reference-codes/bhrgt-depositional-characteristic.d.ts.map +1 -1
  595. package/dist/reference-codes/bhrgt-depositional-characteristic.js +20 -26
  596. package/dist/reference-codes/bhrgt-depositional-characteristic.js.map +1 -1
  597. package/dist/reference-codes/bhrgt-described-material.d.ts +4 -8
  598. package/dist/reference-codes/bhrgt-described-material.d.ts.map +1 -1
  599. package/dist/reference-codes/bhrgt-described-material.js +7 -13
  600. package/dist/reference-codes/bhrgt-described-material.js.map +1 -1
  601. package/dist/reference-codes/bhrgt-description-location.d.ts +4 -8
  602. package/dist/reference-codes/bhrgt-description-location.d.ts.map +1 -1
  603. package/dist/reference-codes/bhrgt-description-location.js +8 -14
  604. package/dist/reference-codes/bhrgt-description-location.js.map +1 -1
  605. package/dist/reference-codes/bhrgt-description-procedure.d.ts +4 -8
  606. package/dist/reference-codes/bhrgt-description-procedure.d.ts.map +1 -1
  607. package/dist/reference-codes/bhrgt-description-procedure.js +8 -14
  608. package/dist/reference-codes/bhrgt-description-procedure.js.map +1 -1
  609. package/dist/reference-codes/bhrgt-description-quality.d.ts +4 -8
  610. package/dist/reference-codes/bhrgt-description-quality.d.ts.map +1 -1
  611. package/dist/reference-codes/bhrgt-description-quality.js +9 -15
  612. package/dist/reference-codes/bhrgt-description-quality.js.map +1 -1
  613. package/dist/reference-codes/bhrgt-determination-diameter.d.ts +4 -8
  614. package/dist/reference-codes/bhrgt-determination-diameter.d.ts.map +1 -1
  615. package/dist/reference-codes/bhrgt-determination-diameter.js +12 -18
  616. package/dist/reference-codes/bhrgt-determination-diameter.js.map +1 -1
  617. package/dist/reference-codes/bhrgt-determination-method.d.ts +4 -8
  618. package/dist/reference-codes/bhrgt-determination-method.d.ts.map +1 -1
  619. package/dist/reference-codes/bhrgt-determination-method.js +34 -40
  620. package/dist/reference-codes/bhrgt-determination-method.js.map +1 -1
  621. package/dist/reference-codes/bhrgt-determination-procedure.d.ts +4 -8
  622. package/dist/reference-codes/bhrgt-determination-procedure.d.ts.map +1 -1
  623. package/dist/reference-codes/bhrgt-determination-procedure.js +20 -26
  624. package/dist/reference-codes/bhrgt-determination-procedure.js.map +1 -1
  625. package/dist/reference-codes/bhrgt-determined-properties.d.ts +4 -8
  626. package/dist/reference-codes/bhrgt-determined-properties.d.ts.map +1 -1
  627. package/dist/reference-codes/bhrgt-determined-properties.js +18 -24
  628. package/dist/reference-codes/bhrgt-determined-properties.js.map +1 -1
  629. package/dist/reference-codes/bhrgt-discipline.d.ts +4 -8
  630. package/dist/reference-codes/bhrgt-discipline.d.ts.map +1 -1
  631. package/dist/reference-codes/bhrgt-discipline.js +8 -14
  632. package/dist/reference-codes/bhrgt-discipline.js.map +1 -1
  633. package/dist/reference-codes/bhrgt-discolouration.d.ts +4 -8
  634. package/dist/reference-codes/bhrgt-discolouration.d.ts.map +1 -1
  635. package/dist/reference-codes/bhrgt-discolouration.js +7 -13
  636. package/dist/reference-codes/bhrgt-discolouration.js.map +1 -1
  637. package/dist/reference-codes/bhrgt-discontinuity-type.d.ts +4 -8
  638. package/dist/reference-codes/bhrgt-discontinuity-type.d.ts.map +1 -1
  639. package/dist/reference-codes/bhrgt-discontinuity-type.js +8 -14
  640. package/dist/reference-codes/bhrgt-discontinuity-type.js.map +1 -1
  641. package/dist/reference-codes/bhrgt-disintegration.d.ts +4 -8
  642. package/dist/reference-codes/bhrgt-disintegration.d.ts.map +1 -1
  643. package/dist/reference-codes/bhrgt-disintegration.js +7 -13
  644. package/dist/reference-codes/bhrgt-disintegration.js.map +1 -1
  645. package/dist/reference-codes/bhrgt-dispersed-inhomogeneity.d.ts +4 -8
  646. package/dist/reference-codes/bhrgt-dispersed-inhomogeneity.d.ts.map +1 -1
  647. package/dist/reference-codes/bhrgt-dispersed-inhomogeneity.js +35 -41
  648. package/dist/reference-codes/bhrgt-dispersed-inhomogeneity.js.map +1 -1
  649. package/dist/reference-codes/bhrgt-dispersion-method.d.ts +4 -8
  650. package/dist/reference-codes/bhrgt-dispersion-method.d.ts.map +1 -1
  651. package/dist/reference-codes/bhrgt-dispersion-method.js +7 -13
  652. package/dist/reference-codes/bhrgt-dispersion-method.js.map +1 -1
  653. package/dist/reference-codes/bhrgt-drainage-strip-coverage.d.ts +4 -8
  654. package/dist/reference-codes/bhrgt-drainage-strip-coverage.d.ts.map +1 -1
  655. package/dist/reference-codes/bhrgt-drainage-strip-coverage.js +9 -15
  656. package/dist/reference-codes/bhrgt-drainage-strip-coverage.js.map +1 -1
  657. package/dist/reference-codes/bhrgt-drainage-strip-orientation.d.ts +4 -8
  658. package/dist/reference-codes/bhrgt-drainage-strip-orientation.d.ts.map +1 -1
  659. package/dist/reference-codes/bhrgt-drainage-strip-orientation.js +7 -13
  660. package/dist/reference-codes/bhrgt-drainage-strip-orientation.js.map +1 -1
  661. package/dist/reference-codes/bhrgt-drying-period.d.ts +4 -8
  662. package/dist/reference-codes/bhrgt-drying-period.d.ts.map +1 -1
  663. package/dist/reference-codes/bhrgt-drying-period.js +7 -13
  664. package/dist/reference-codes/bhrgt-drying-period.js.map +1 -1
  665. package/dist/reference-codes/bhrgt-drying-temperature.d.ts +4 -8
  666. package/dist/reference-codes/bhrgt-drying-temperature.d.ts.map +1 -1
  667. package/dist/reference-codes/bhrgt-drying-temperature.js +7 -13
  668. package/dist/reference-codes/bhrgt-drying-temperature.js.map +1 -1
  669. package/dist/reference-codes/bhrgt-equivalent-mass-determination-method.d.ts +4 -8
  670. package/dist/reference-codes/bhrgt-equivalent-mass-determination-method.d.ts.map +1 -1
  671. package/dist/reference-codes/bhrgt-equivalent-mass-determination-method.js +7 -13
  672. package/dist/reference-codes/bhrgt-equivalent-mass-determination-method.js.map +1 -1
  673. package/dist/reference-codes/bhrgt-event-name.d.ts +4 -8
  674. package/dist/reference-codes/bhrgt-event-name.d.ts.map +1 -1
  675. package/dist/reference-codes/bhrgt-event-name.js +8 -14
  676. package/dist/reference-codes/bhrgt-event-name.js.map +1 -1
  677. package/dist/reference-codes/bhrgt-excavated-material.d.ts +4 -8
  678. package/dist/reference-codes/bhrgt-excavated-material.d.ts.map +1 -1
  679. package/dist/reference-codes/bhrgt-excavated-material.js +13 -19
  680. package/dist/reference-codes/bhrgt-excavated-material.js.map +1 -1
  681. package/dist/reference-codes/bhrgt-fine-gravel-content-class.d.ts +4 -8
  682. package/dist/reference-codes/bhrgt-fine-gravel-content-class.d.ts.map +1 -1
  683. package/dist/reference-codes/bhrgt-fine-gravel-content-class.js +9 -15
  684. package/dist/reference-codes/bhrgt-fine-gravel-content-class.js.map +1 -1
  685. package/dist/reference-codes/bhrgt-fine-soil-consistency.d.ts +4 -8
  686. package/dist/reference-codes/bhrgt-fine-soil-consistency.d.ts.map +1 -1
  687. package/dist/reference-codes/bhrgt-fine-soil-consistency.js +17 -23
  688. package/dist/reference-codes/bhrgt-fine-soil-consistency.js.map +1 -1
  689. package/dist/reference-codes/bhrgt-fluid-mud-layer-positioning-method.d.ts +4 -8
  690. package/dist/reference-codes/bhrgt-fluid-mud-layer-positioning-method.d.ts.map +1 -1
  691. package/dist/reference-codes/bhrgt-fluid-mud-layer-positioning-method.js +14 -20
  692. package/dist/reference-codes/bhrgt-fluid-mud-layer-positioning-method.js.map +1 -1
  693. package/dist/reference-codes/bhrgt-flushing-additive.d.ts +4 -8
  694. package/dist/reference-codes/bhrgt-flushing-additive.d.ts.map +1 -1
  695. package/dist/reference-codes/bhrgt-flushing-additive.js +10 -16
  696. package/dist/reference-codes/bhrgt-flushing-additive.js.map +1 -1
  697. package/dist/reference-codes/bhrgt-fraction-distribution.d.ts +4 -8
  698. package/dist/reference-codes/bhrgt-fraction-distribution.d.ts.map +1 -1
  699. package/dist/reference-codes/bhrgt-fraction-distribution.js +13 -19
  700. package/dist/reference-codes/bhrgt-fraction-distribution.js.map +1 -1
  701. package/dist/reference-codes/bhrgt-geotechnical-depositional-characteristic.d.ts +4 -8
  702. package/dist/reference-codes/bhrgt-geotechnical-depositional-characteristic.d.ts.map +1 -1
  703. package/dist/reference-codes/bhrgt-geotechnical-depositional-characteristic.js +20 -26
  704. package/dist/reference-codes/bhrgt-geotechnical-depositional-characteristic.js.map +1 -1
  705. package/dist/reference-codes/bhrgt-geotechnical-soil-name.d.ts +4 -8
  706. package/dist/reference-codes/bhrgt-geotechnical-soil-name.d.ts.map +1 -1
  707. package/dist/reference-codes/bhrgt-geotechnical-soil-name.js +65 -71
  708. package/dist/reference-codes/bhrgt-geotechnical-soil-name.js.map +1 -1
  709. package/dist/reference-codes/bhrgt-gravel-content-class-nen5104.d.ts +4 -8
  710. package/dist/reference-codes/bhrgt-gravel-content-class-nen5104.d.ts.map +1 -1
  711. package/dist/reference-codes/bhrgt-gravel-content-class-nen5104.js +8 -14
  712. package/dist/reference-codes/bhrgt-gravel-content-class-nen5104.js.map +1 -1
  713. package/dist/reference-codes/bhrgt-gravel-content-class.d.ts +4 -8
  714. package/dist/reference-codes/bhrgt-gravel-content-class.d.ts.map +1 -1
  715. package/dist/reference-codes/bhrgt-gravel-content-class.js +8 -14
  716. package/dist/reference-codes/bhrgt-gravel-content-class.js.map +1 -1
  717. package/dist/reference-codes/bhrgt-gravel-median-class.d.ts +4 -8
  718. package/dist/reference-codes/bhrgt-gravel-median-class.d.ts.map +1 -1
  719. package/dist/reference-codes/bhrgt-gravel-median-class.js +10 -16
  720. package/dist/reference-codes/bhrgt-gravel-median-class.js.map +1 -1
  721. package/dist/reference-codes/bhrgt-horizontal-positioning-method.d.ts +4 -8
  722. package/dist/reference-codes/bhrgt-horizontal-positioning-method.d.ts.map +1 -1
  723. package/dist/reference-codes/bhrgt-horizontal-positioning-method.js +24 -30
  724. package/dist/reference-codes/bhrgt-horizontal-positioning-method.js.map +1 -1
  725. package/dist/reference-codes/bhrgt-infill-material.d.ts +4 -8
  726. package/dist/reference-codes/bhrgt-infill-material.d.ts.map +1 -1
  727. package/dist/reference-codes/bhrgt-infill-material.js +12 -18
  728. package/dist/reference-codes/bhrgt-infill-material.js.map +1 -1
  729. package/dist/reference-codes/bhrgt-interbedding.d.ts +4 -8
  730. package/dist/reference-codes/bhrgt-interbedding.d.ts.map +1 -1
  731. package/dist/reference-codes/bhrgt-interbedding.js +155 -161
  732. package/dist/reference-codes/bhrgt-interbedding.js.map +1 -1
  733. package/dist/reference-codes/bhrgt-lateral-support.d.ts +4 -8
  734. package/dist/reference-codes/bhrgt-lateral-support.d.ts.map +1 -1
  735. package/dist/reference-codes/bhrgt-lateral-support.js +6 -12
  736. package/dist/reference-codes/bhrgt-lateral-support.js.map +1 -1
  737. package/dist/reference-codes/bhrgt-local-vertical-reference-point.d.ts +4 -8
  738. package/dist/reference-codes/bhrgt-local-vertical-reference-point.d.ts.map +1 -1
  739. package/dist/reference-codes/bhrgt-local-vertical-reference-point.js +6 -12
  740. package/dist/reference-codes/bhrgt-local-vertical-reference-point.js.map +1 -1
  741. package/dist/reference-codes/bhrgt-making-method.d.ts +4 -8
  742. package/dist/reference-codes/bhrgt-making-method.d.ts.map +1 -1
  743. package/dist/reference-codes/bhrgt-making-method.js +12 -18
  744. package/dist/reference-codes/bhrgt-making-method.js.map +1 -1
  745. package/dist/reference-codes/bhrgt-mass-percentage-class.d.ts +4 -8
  746. package/dist/reference-codes/bhrgt-mass-percentage-class.d.ts.map +1 -1
  747. package/dist/reference-codes/bhrgt-mass-percentage-class.js +9 -15
  748. package/dist/reference-codes/bhrgt-mass-percentage-class.js.map +1 -1
  749. package/dist/reference-codes/bhrgt-material-irregularity.d.ts +4 -8
  750. package/dist/reference-codes/bhrgt-material-irregularity.d.ts.map +1 -1
  751. package/dist/reference-codes/bhrgt-material-irregularity.js +10 -16
  752. package/dist/reference-codes/bhrgt-material-irregularity.js.map +1 -1
  753. package/dist/reference-codes/bhrgt-medium-coarse-gravel-content-class.d.ts +4 -8
  754. package/dist/reference-codes/bhrgt-medium-coarse-gravel-content-class.d.ts.map +1 -1
  755. package/dist/reference-codes/bhrgt-medium-coarse-gravel-content-class.js +9 -15
  756. package/dist/reference-codes/bhrgt-medium-coarse-gravel-content-class.js.map +1 -1
  757. package/dist/reference-codes/bhrgt-mixing-type.d.ts +4 -8
  758. package/dist/reference-codes/bhrgt-mixing-type.d.ts.map +1 -1
  759. package/dist/reference-codes/bhrgt-mixing-type.js +7 -13
  760. package/dist/reference-codes/bhrgt-mixing-type.js.map +1 -1
  761. package/dist/reference-codes/bhrgt-no-description-reason.d.ts +4 -8
  762. package/dist/reference-codes/bhrgt-no-description-reason.d.ts.map +1 -1
  763. package/dist/reference-codes/bhrgt-no-description-reason.js +11 -17
  764. package/dist/reference-codes/bhrgt-no-description-reason.js.map +1 -1
  765. package/dist/reference-codes/bhrgt-organic-matter-content-class-nen5104.d.ts +4 -8
  766. package/dist/reference-codes/bhrgt-organic-matter-content-class-nen5104.d.ts.map +1 -1
  767. package/dist/reference-codes/bhrgt-organic-matter-content-class-nen5104.js +8 -14
  768. package/dist/reference-codes/bhrgt-organic-matter-content-class-nen5104.js.map +1 -1
  769. package/dist/reference-codes/bhrgt-organic-matter-content-class.d.ts +4 -8
  770. package/dist/reference-codes/bhrgt-organic-matter-content-class.d.ts.map +1 -1
  771. package/dist/reference-codes/bhrgt-organic-matter-content-class.js +7 -13
  772. package/dist/reference-codes/bhrgt-organic-matter-content-class.js.map +1 -1
  773. package/dist/reference-codes/bhrgt-organic-soil-consistency.d.ts +4 -8
  774. package/dist/reference-codes/bhrgt-organic-soil-consistency.d.ts.map +1 -1
  775. package/dist/reference-codes/bhrgt-organic-soil-consistency.js +10 -16
  776. package/dist/reference-codes/bhrgt-organic-soil-consistency.js.map +1 -1
  777. package/dist/reference-codes/bhrgt-organic-soil-texture.d.ts +4 -8
  778. package/dist/reference-codes/bhrgt-organic-soil-texture.d.ts.map +1 -1
  779. package/dist/reference-codes/bhrgt-organic-soil-texture.js +14 -20
  780. package/dist/reference-codes/bhrgt-organic-soil-texture.js.map +1 -1
  781. package/dist/reference-codes/bhrgt-particular-constituent-type.d.ts +4 -8
  782. package/dist/reference-codes/bhrgt-particular-constituent-type.d.ts.map +1 -1
  783. package/dist/reference-codes/bhrgt-particular-constituent-type.js +46 -52
  784. package/dist/reference-codes/bhrgt-particular-constituent-type.js.map +1 -1
  785. package/dist/reference-codes/bhrgt-peat-tensile-strength.d.ts +4 -8
  786. package/dist/reference-codes/bhrgt-peat-tensile-strength.d.ts.map +1 -1
  787. package/dist/reference-codes/bhrgt-peat-tensile-strength.js +8 -14
  788. package/dist/reference-codes/bhrgt-peat-tensile-strength.js.map +1 -1
  789. package/dist/reference-codes/bhrgt-peat-type.d.ts +4 -8
  790. package/dist/reference-codes/bhrgt-peat-type.d.ts.map +1 -1
  791. package/dist/reference-codes/bhrgt-peat-type.js +12 -18
  792. package/dist/reference-codes/bhrgt-peat-type.js.map +1 -1
  793. package/dist/reference-codes/bhrgt-performance-irregularity.d.ts +4 -8
  794. package/dist/reference-codes/bhrgt-performance-irregularity.d.ts.map +1 -1
  795. package/dist/reference-codes/bhrgt-performance-irregularity.js +18 -24
  796. package/dist/reference-codes/bhrgt-performance-irregularity.js.map +1 -1
  797. package/dist/reference-codes/bhrgt-position-on-ground-body.d.ts +4 -8
  798. package/dist/reference-codes/bhrgt-position-on-ground-body.d.ts.map +1 -1
  799. package/dist/reference-codes/bhrgt-position-on-ground-body.js +9 -15
  800. package/dist/reference-codes/bhrgt-position-on-ground-body.js.map +1 -1
  801. package/dist/reference-codes/bhrgt-pre-treatment.d.ts +4 -8
  802. package/dist/reference-codes/bhrgt-pre-treatment.d.ts.map +1 -1
  803. package/dist/reference-codes/bhrgt-pre-treatment.js +9 -15
  804. package/dist/reference-codes/bhrgt-pre-treatment.js.map +1 -1
  805. package/dist/reference-codes/bhrgt-preparation.d.ts +4 -8
  806. package/dist/reference-codes/bhrgt-preparation.d.ts.map +1 -1
  807. package/dist/reference-codes/bhrgt-preparation.js +11 -17
  808. package/dist/reference-codes/bhrgt-preparation.js.map +1 -1
  809. package/dist/reference-codes/bhrgt-removed-material.d.ts +4 -8
  810. package/dist/reference-codes/bhrgt-removed-material.d.ts.map +1 -1
  811. package/dist/reference-codes/bhrgt-removed-material.js +14 -20
  812. package/dist/reference-codes/bhrgt-removed-material.js.map +1 -1
  813. package/dist/reference-codes/bhrgt-result-irregularity.d.ts +4 -8
  814. package/dist/reference-codes/bhrgt-result-irregularity.d.ts.map +1 -1
  815. package/dist/reference-codes/bhrgt-result-irregularity.js +5 -11
  816. package/dist/reference-codes/bhrgt-result-irregularity.js.map +1 -1
  817. package/dist/reference-codes/bhrgt-ring-diameter.d.ts +4 -8
  818. package/dist/reference-codes/bhrgt-ring-diameter.d.ts.map +1 -1
  819. package/dist/reference-codes/bhrgt-ring-diameter.js +6 -12
  820. package/dist/reference-codes/bhrgt-ring-diameter.js.map +1 -1
  821. package/dist/reference-codes/bhrgt-rock-type.d.ts +4 -8
  822. package/dist/reference-codes/bhrgt-rock-type.d.ts.map +1 -1
  823. package/dist/reference-codes/bhrgt-rock-type.js +28 -34
  824. package/dist/reference-codes/bhrgt-rock-type.js.map +1 -1
  825. package/dist/reference-codes/bhrgt-roughness.d.ts +4 -8
  826. package/dist/reference-codes/bhrgt-roughness.d.ts.map +1 -1
  827. package/dist/reference-codes/bhrgt-roughness.js +6 -12
  828. package/dist/reference-codes/bhrgt-roughness.js.map +1 -1
  829. package/dist/reference-codes/bhrgt-salt-correction-method.d.ts +4 -8
  830. package/dist/reference-codes/bhrgt-salt-correction-method.d.ts.map +1 -1
  831. package/dist/reference-codes/bhrgt-salt-correction-method.js +7 -13
  832. package/dist/reference-codes/bhrgt-salt-correction-method.js.map +1 -1
  833. package/dist/reference-codes/bhrgt-sample-container-volume.d.ts +4 -8
  834. package/dist/reference-codes/bhrgt-sample-container-volume.d.ts.map +1 -1
  835. package/dist/reference-codes/bhrgt-sample-container-volume.js +6 -12
  836. package/dist/reference-codes/bhrgt-sample-container-volume.js.map +1 -1
  837. package/dist/reference-codes/bhrgt-sample-moistness.d.ts +4 -8
  838. package/dist/reference-codes/bhrgt-sample-moistness.d.ts.map +1 -1
  839. package/dist/reference-codes/bhrgt-sample-moistness.js +8 -14
  840. package/dist/reference-codes/bhrgt-sample-moistness.js.map +1 -1
  841. package/dist/reference-codes/bhrgt-sample-quality.d.ts +4 -8
  842. package/dist/reference-codes/bhrgt-sample-quality.d.ts.map +1 -1
  843. package/dist/reference-codes/bhrgt-sample-quality.js +9 -15
  844. package/dist/reference-codes/bhrgt-sample-quality.js.map +1 -1
  845. package/dist/reference-codes/bhrgt-sampler-type.d.ts +4 -8
  846. package/dist/reference-codes/bhrgt-sampler-type.d.ts.map +1 -1
  847. package/dist/reference-codes/bhrgt-sampler-type.js +12 -18
  848. package/dist/reference-codes/bhrgt-sampler-type.js.map +1 -1
  849. package/dist/reference-codes/bhrgt-sampling-method.d.ts +4 -8
  850. package/dist/reference-codes/bhrgt-sampling-method.d.ts.map +1 -1
  851. package/dist/reference-codes/bhrgt-sampling-method.js +20 -26
  852. package/dist/reference-codes/bhrgt-sampling-method.js.map +1 -1
  853. package/dist/reference-codes/bhrgt-sampling-procedure.d.ts +4 -8
  854. package/dist/reference-codes/bhrgt-sampling-procedure.d.ts.map +1 -1
  855. package/dist/reference-codes/bhrgt-sampling-procedure.js +10 -16
  856. package/dist/reference-codes/bhrgt-sampling-procedure.js.map +1 -1
  857. package/dist/reference-codes/bhrgt-sampling-quality.d.ts +4 -8
  858. package/dist/reference-codes/bhrgt-sampling-quality.d.ts.map +1 -1
  859. package/dist/reference-codes/bhrgt-sampling-quality.js +13 -19
  860. package/dist/reference-codes/bhrgt-sampling-quality.js.map +1 -1
  861. package/dist/reference-codes/bhrgt-sand-median-class.d.ts +4 -8
  862. package/dist/reference-codes/bhrgt-sand-median-class.d.ts.map +1 -1
  863. package/dist/reference-codes/bhrgt-sand-median-class.js +19 -25
  864. package/dist/reference-codes/bhrgt-sand-median-class.js.map +1 -1
  865. package/dist/reference-codes/bhrgt-sand-sorting-nen5104.d.ts +4 -8
  866. package/dist/reference-codes/bhrgt-sand-sorting-nen5104.d.ts.map +1 -1
  867. package/dist/reference-codes/bhrgt-sand-sorting-nen5104.js +9 -15
  868. package/dist/reference-codes/bhrgt-sand-sorting-nen5104.js.map +1 -1
  869. package/dist/reference-codes/bhrgt-sand-sorting.d.ts +4 -8
  870. package/dist/reference-codes/bhrgt-sand-sorting.d.ts.map +1 -1
  871. package/dist/reference-codes/bhrgt-sand-sorting.js +9 -15
  872. package/dist/reference-codes/bhrgt-sand-sorting.js.map +1 -1
  873. package/dist/reference-codes/bhrgt-size-fraction.d.ts +4 -8
  874. package/dist/reference-codes/bhrgt-size-fraction.d.ts.map +1 -1
  875. package/dist/reference-codes/bhrgt-size-fraction.js +8 -14
  876. package/dist/reference-codes/bhrgt-size-fraction.js.map +1 -1
  877. package/dist/reference-codes/bhrgt-soil-name-nen5104.d.ts +4 -8
  878. package/dist/reference-codes/bhrgt-soil-name-nen5104.d.ts.map +1 -1
  879. package/dist/reference-codes/bhrgt-soil-name-nen5104.js +35 -41
  880. package/dist/reference-codes/bhrgt-soil-name-nen5104.js.map +1 -1
  881. package/dist/reference-codes/bhrgt-soil-use.d.ts +4 -8
  882. package/dist/reference-codes/bhrgt-soil-use.d.ts.map +1 -1
  883. package/dist/reference-codes/bhrgt-soil-use.js +16 -22
  884. package/dist/reference-codes/bhrgt-soil-use.js.map +1 -1
  885. package/dist/reference-codes/bhrgt-special-material.d.ts +4 -8
  886. package/dist/reference-codes/bhrgt-special-material.d.ts.map +1 -1
  887. package/dist/reference-codes/bhrgt-special-material.js +28 -34
  888. package/dist/reference-codes/bhrgt-special-material.js.map +1 -1
  889. package/dist/reference-codes/bhrgt-specimen-shape.d.ts +4 -8
  890. package/dist/reference-codes/bhrgt-specimen-shape.d.ts.map +1 -1
  891. package/dist/reference-codes/bhrgt-specimen-shape.js +9 -15
  892. package/dist/reference-codes/bhrgt-specimen-shape.js.map +1 -1
  893. package/dist/reference-codes/bhrgt-sphericity.d.ts +4 -8
  894. package/dist/reference-codes/bhrgt-sphericity.d.ts.map +1 -1
  895. package/dist/reference-codes/bhrgt-sphericity.js +7 -13
  896. package/dist/reference-codes/bhrgt-sphericity.js.map +1 -1
  897. package/dist/reference-codes/bhrgt-stability.d.ts +4 -8
  898. package/dist/reference-codes/bhrgt-stability.d.ts.map +1 -1
  899. package/dist/reference-codes/bhrgt-stability.js +7 -13
  900. package/dist/reference-codes/bhrgt-stability.js.map +1 -1
  901. package/dist/reference-codes/bhrgt-step-type.d.ts +4 -8
  902. package/dist/reference-codes/bhrgt-step-type.d.ts.map +1 -1
  903. package/dist/reference-codes/bhrgt-step-type.js +7 -13
  904. package/dist/reference-codes/bhrgt-step-type.js.map +1 -1
  905. package/dist/reference-codes/bhrgt-stiffness-class-membrane.d.ts +4 -8
  906. package/dist/reference-codes/bhrgt-stiffness-class-membrane.d.ts.map +1 -1
  907. package/dist/reference-codes/bhrgt-stiffness-class-membrane.js +9 -15
  908. package/dist/reference-codes/bhrgt-stiffness-class-membrane.js.map +1 -1
  909. package/dist/reference-codes/bhrgt-stop-criterion-determination.d.ts +4 -8
  910. package/dist/reference-codes/bhrgt-stop-criterion-determination.d.ts.map +1 -1
  911. package/dist/reference-codes/bhrgt-stop-criterion-determination.js +7 -13
  912. package/dist/reference-codes/bhrgt-stop-criterion-determination.js.map +1 -1
  913. package/dist/reference-codes/bhrgt-stop-criterion-field.d.ts +4 -8
  914. package/dist/reference-codes/bhrgt-stop-criterion-field.d.ts.map +1 -1
  915. package/dist/reference-codes/bhrgt-stop-criterion-field.js +18 -24
  916. package/dist/reference-codes/bhrgt-stop-criterion-field.js.map +1 -1
  917. package/dist/reference-codes/bhrgt-stop-criterion.d.ts +4 -8
  918. package/dist/reference-codes/bhrgt-stop-criterion.d.ts.map +1 -1
  919. package/dist/reference-codes/bhrgt-stop-criterion.js +18 -24
  920. package/dist/reference-codes/bhrgt-stop-criterion.js.map +1 -1
  921. package/dist/reference-codes/bhrgt-strength-class.d.ts +4 -8
  922. package/dist/reference-codes/bhrgt-strength-class.d.ts.map +1 -1
  923. package/dist/reference-codes/bhrgt-strength-class.js +11 -17
  924. package/dist/reference-codes/bhrgt-strength-class.js.map +1 -1
  925. package/dist/reference-codes/bhrgt-survey-procedure.d.ts +4 -8
  926. package/dist/reference-codes/bhrgt-survey-procedure.d.ts.map +1 -1
  927. package/dist/reference-codes/bhrgt-survey-procedure.js +8 -14
  928. package/dist/reference-codes/bhrgt-survey-procedure.js.map +1 -1
  929. package/dist/reference-codes/bhrgt-survey-purpose.d.ts +4 -8
  930. package/dist/reference-codes/bhrgt-survey-purpose.d.ts.map +1 -1
  931. package/dist/reference-codes/bhrgt-survey-purpose.js +18 -24
  932. package/dist/reference-codes/bhrgt-survey-purpose.js.map +1 -1
  933. package/dist/reference-codes/bhrgt-temporary-change.d.ts +4 -8
  934. package/dist/reference-codes/bhrgt-temporary-change.d.ts.map +1 -1
  935. package/dist/reference-codes/bhrgt-temporary-change.js +11 -17
  936. package/dist/reference-codes/bhrgt-temporary-change.js.map +1 -1
  937. package/dist/reference-codes/bhrgt-tertiary-constituent.d.ts +4 -8
  938. package/dist/reference-codes/bhrgt-tertiary-constituent.d.ts.map +1 -1
  939. package/dist/reference-codes/bhrgt-tertiary-constituent.js +50 -56
  940. package/dist/reference-codes/bhrgt-tertiary-constituent.js.map +1 -1
  941. package/dist/reference-codes/bhrgt-tertiary-rock-constituent.d.ts +4 -8
  942. package/dist/reference-codes/bhrgt-tertiary-rock-constituent.d.ts.map +1 -1
  943. package/dist/reference-codes/bhrgt-tertiary-rock-constituent.js +13 -19
  944. package/dist/reference-codes/bhrgt-tertiary-rock-constituent.js.map +1 -1
  945. package/dist/reference-codes/bhrgt-used-medium.d.ts +4 -8
  946. package/dist/reference-codes/bhrgt-used-medium.d.ts.map +1 -1
  947. package/dist/reference-codes/bhrgt-used-medium.js +17 -23
  948. package/dist/reference-codes/bhrgt-used-medium.js.map +1 -1
  949. package/dist/reference-codes/bhrgt-used-optical-model.d.ts +4 -8
  950. package/dist/reference-codes/bhrgt-used-optical-model.d.ts.map +1 -1
  951. package/dist/reference-codes/bhrgt-used-optical-model.js +6 -12
  952. package/dist/reference-codes/bhrgt-used-optical-model.js.map +1 -1
  953. package/dist/reference-codes/bhrgt-vertical-datum.d.ts +4 -8
  954. package/dist/reference-codes/bhrgt-vertical-datum.d.ts.map +1 -1
  955. package/dist/reference-codes/bhrgt-vertical-datum.js +7 -13
  956. package/dist/reference-codes/bhrgt-vertical-datum.js.map +1 -1
  957. package/dist/reference-codes/bhrgt-vertical-positioning-method.d.ts +4 -8
  958. package/dist/reference-codes/bhrgt-vertical-positioning-method.d.ts.map +1 -1
  959. package/dist/reference-codes/bhrgt-vertical-positioning-method.js +29 -35
  960. package/dist/reference-codes/bhrgt-vertical-positioning-method.js.map +1 -1
  961. package/dist/reference-codes/bhrgt-very-coarse-gravel-content-class.d.ts +4 -8
  962. package/dist/reference-codes/bhrgt-very-coarse-gravel-content-class.d.ts.map +1 -1
  963. package/dist/reference-codes/bhrgt-very-coarse-gravel-content-class.js +9 -15
  964. package/dist/reference-codes/bhrgt-very-coarse-gravel-content-class.js.map +1 -1
  965. package/dist/reference-codes/bhrgt-void-distribution.d.ts +4 -8
  966. package/dist/reference-codes/bhrgt-void-distribution.d.ts.map +1 -1
  967. package/dist/reference-codes/bhrgt-void-distribution.js +6 -12
  968. package/dist/reference-codes/bhrgt-void-distribution.js.map +1 -1
  969. package/dist/reference-codes/bhrgt-wall-friction-correction-method.d.ts +4 -8
  970. package/dist/reference-codes/bhrgt-wall-friction-correction-method.d.ts.map +1 -1
  971. package/dist/reference-codes/bhrgt-wall-friction-correction-method.js +7 -13
  972. package/dist/reference-codes/bhrgt-wall-friction-correction-method.js.map +1 -1
  973. package/dist/reference-codes/bro-coordinate-transformation.d.ts +11 -0
  974. package/dist/reference-codes/bro-coordinate-transformation.d.ts.map +1 -0
  975. package/dist/reference-codes/bro-coordinate-transformation.js +19 -0
  976. package/dist/reference-codes/bro-coordinate-transformation.js.map +1 -0
  977. package/dist/reference-codes/bro-date-format.d.ts +11 -0
  978. package/dist/reference-codes/bro-date-format.d.ts.map +1 -0
  979. package/dist/reference-codes/bro-date-format.js +17 -0
  980. package/dist/reference-codes/bro-date-format.js.map +1 -0
  981. package/dist/reference-codes/bro-etrs89transformation.d.ts +11 -0
  982. package/dist/reference-codes/bro-etrs89transformation.d.ts.map +1 -0
  983. package/dist/reference-codes/bro-etrs89transformation.js +17 -0
  984. package/dist/reference-codes/bro-etrs89transformation.js.map +1 -0
  985. package/dist/reference-codes/bro-horizontal-crs.d.ts +11 -0
  986. package/dist/reference-codes/bro-horizontal-crs.d.ts.map +1 -0
  987. package/dist/reference-codes/bro-horizontal-crs.js +15 -0
  988. package/dist/reference-codes/bro-horizontal-crs.js.map +1 -0
  989. package/dist/reference-codes/bro-indication-yes-no.d.ts +11 -0
  990. package/dist/reference-codes/bro-indication-yes-no.d.ts.map +1 -0
  991. package/dist/reference-codes/bro-indication-yes-no.js +15 -0
  992. package/dist/reference-codes/bro-indication-yes-no.js.map +1 -0
  993. package/dist/reference-codes/bro-quality-regime.d.ts +11 -0
  994. package/dist/reference-codes/bro-quality-regime.d.ts.map +1 -0
  995. package/dist/reference-codes/bro-quality-regime.js +14 -0
  996. package/dist/reference-codes/bro-quality-regime.js.map +1 -0
  997. package/dist/reference-codes/codes-by-domain.d.ts +11 -0
  998. package/dist/reference-codes/codes-by-domain.d.ts.map +1 -0
  999. package/dist/reference-codes/codes-by-domain.js +522 -0
  1000. package/dist/reference-codes/codes-by-domain.js.map +1 -0
  1001. package/dist/reference-codes/cpt-coord-transformation.d.ts +4 -8
  1002. package/dist/reference-codes/cpt-coord-transformation.d.ts.map +1 -1
  1003. package/dist/reference-codes/cpt-coord-transformation.js +9 -15
  1004. package/dist/reference-codes/cpt-coord-transformation.js.map +1 -1
  1005. package/dist/reference-codes/cpt-correction-reason.d.ts +4 -8
  1006. package/dist/reference-codes/cpt-correction-reason.d.ts.map +1 -1
  1007. package/dist/reference-codes/cpt-correction-reason.js +9 -15
  1008. package/dist/reference-codes/cpt-correction-reason.js.map +1 -1
  1009. package/dist/reference-codes/cpt-cpt-method.d.ts +4 -8
  1010. package/dist/reference-codes/cpt-cpt-method.d.ts.map +1 -1
  1011. package/dist/reference-codes/cpt-cpt-method.js +11 -17
  1012. package/dist/reference-codes/cpt-cpt-method.js.map +1 -1
  1013. package/dist/reference-codes/cpt-cpt-standard.d.ts +4 -8
  1014. package/dist/reference-codes/cpt-cpt-standard.d.ts.map +1 -1
  1015. package/dist/reference-codes/cpt-cpt-standard.js +10 -16
  1016. package/dist/reference-codes/cpt-cpt-standard.js.map +1 -1
  1017. package/dist/reference-codes/cpt-delivery-context.d.ts +4 -8
  1018. package/dist/reference-codes/cpt-delivery-context.d.ts.map +1 -1
  1019. package/dist/reference-codes/cpt-delivery-context.js +8 -14
  1020. package/dist/reference-codes/cpt-delivery-context.js.map +1 -1
  1021. package/dist/reference-codes/cpt-horizontal-crs.d.ts +4 -8
  1022. package/dist/reference-codes/cpt-horizontal-crs.d.ts.map +1 -1
  1023. package/dist/reference-codes/cpt-horizontal-crs.js +7 -13
  1024. package/dist/reference-codes/cpt-horizontal-crs.js.map +1 -1
  1025. package/dist/reference-codes/cpt-horizontal-positioning-method.d.ts +4 -8
  1026. package/dist/reference-codes/cpt-horizontal-positioning-method.d.ts.map +1 -1
  1027. package/dist/reference-codes/cpt-horizontal-positioning-method.js +20 -26
  1028. package/dist/reference-codes/cpt-horizontal-positioning-method.js.map +1 -1
  1029. package/dist/reference-codes/cpt-local-vertical-reference-point.d.ts +4 -8
  1030. package/dist/reference-codes/cpt-local-vertical-reference-point.d.ts.map +1 -1
  1031. package/dist/reference-codes/cpt-local-vertical-reference-point.js +6 -12
  1032. package/dist/reference-codes/cpt-local-vertical-reference-point.js.map +1 -1
  1033. package/dist/reference-codes/cpt-quality-class.d.ts +4 -8
  1034. package/dist/reference-codes/cpt-quality-class.d.ts.map +1 -1
  1035. package/dist/reference-codes/cpt-quality-class.js +13 -19
  1036. package/dist/reference-codes/cpt-quality-class.js.map +1 -1
  1037. package/dist/reference-codes/cpt-registration-status.d.ts +4 -8
  1038. package/dist/reference-codes/cpt-registration-status.d.ts.map +1 -1
  1039. package/dist/reference-codes/cpt-registration-status.js +5 -11
  1040. package/dist/reference-codes/cpt-registration-status.js.map +1 -1
  1041. package/dist/reference-codes/cpt-stop-criterion.d.ts +4 -8
  1042. package/dist/reference-codes/cpt-stop-criterion.d.ts.map +1 -1
  1043. package/dist/reference-codes/cpt-stop-criterion.js +14 -20
  1044. package/dist/reference-codes/cpt-stop-criterion.js.map +1 -1
  1045. package/dist/reference-codes/cpt-survey-purpose.d.ts +4 -8
  1046. package/dist/reference-codes/cpt-survey-purpose.d.ts.map +1 -1
  1047. package/dist/reference-codes/cpt-survey-purpose.js +13 -19
  1048. package/dist/reference-codes/cpt-survey-purpose.js.map +1 -1
  1049. package/dist/reference-codes/cpt-vertical-datum.d.ts +4 -8
  1050. package/dist/reference-codes/cpt-vertical-datum.d.ts.map +1 -1
  1051. package/dist/reference-codes/cpt-vertical-datum.js +7 -13
  1052. package/dist/reference-codes/cpt-vertical-datum.js.map +1 -1
  1053. package/dist/reference-codes/cpt-vertical-positioning-method.d.ts +4 -8
  1054. package/dist/reference-codes/cpt-vertical-positioning-method.d.ts.map +1 -1
  1055. package/dist/reference-codes/cpt-vertical-positioning-method.js +25 -31
  1056. package/dist/reference-codes/cpt-vertical-positioning-method.js.map +1 -1
  1057. package/dist/reference-codes/describe.d.ts +26 -0
  1058. package/dist/reference-codes/describe.d.ts.map +1 -0
  1059. package/dist/reference-codes/describe.js +40 -0
  1060. package/dist/reference-codes/describe.js.map +1 -0
  1061. package/dist/reference-codes/index.d.ts +260 -246
  1062. package/dist/reference-codes/index.d.ts.map +1 -1
  1063. package/dist/reference-codes/index.js +260 -246
  1064. package/dist/reference-codes/index.js.map +1 -1
  1065. package/dist/reference-codes-entry.d.ts +2 -1
  1066. package/dist/reference-codes-entry.d.ts.map +1 -1
  1067. package/dist/reference-codes-entry.js +2 -1
  1068. package/dist/reference-codes-entry.js.map +1 -1
  1069. package/dist/schema-presets.d.ts +76 -99
  1070. package/dist/schema-presets.d.ts.map +1 -1
  1071. package/dist/schema-presets.js +80 -101
  1072. package/dist/schema-presets.js.map +1 -1
  1073. package/dist/schemas/bhrg-schema.d.ts +9173 -502
  1074. package/dist/schemas/bhrg-schema.d.ts.map +1 -1
  1075. package/dist/schemas/bhrg-schema.js +1039 -325
  1076. package/dist/schemas/bhrg-schema.js.map +1 -1
  1077. package/dist/schemas/bhrg-types.d.ts +53 -0
  1078. package/dist/schemas/bhrg-types.d.ts.map +1 -0
  1079. package/dist/schemas/bhrg-types.js +9 -0
  1080. package/dist/schemas/bhrg-types.js.map +1 -0
  1081. package/dist/schemas/bhrgt-analysis.d.ts +2229 -217
  1082. package/dist/schemas/bhrgt-analysis.d.ts.map +1 -1
  1083. package/dist/schemas/bhrgt-analysis.js +69 -69
  1084. package/dist/schemas/bhrgt-analysis.js.map +1 -1
  1085. package/dist/schemas/bore-schema.d.ts +2853 -520
  1086. package/dist/schemas/bore-schema.d.ts.map +1 -1
  1087. package/dist/schemas/bore-schema.js +262 -337
  1088. package/dist/schemas/bore-schema.js.map +1 -1
  1089. package/dist/schemas/bore-types.d.ts +55 -0
  1090. package/dist/schemas/bore-types.d.ts.map +1 -0
  1091. package/dist/schemas/bore-types.js +10 -0
  1092. package/dist/schemas/bore-types.js.map +1 -0
  1093. package/dist/schemas/common-fields.d.ts +17 -2
  1094. package/dist/schemas/common-fields.d.ts.map +1 -1
  1095. package/dist/schemas/common-fields.js +2 -2
  1096. package/dist/schemas/common-fields.js.map +1 -1
  1097. package/dist/schemas/cpt-curation.d.ts +62 -0
  1098. package/dist/schemas/cpt-curation.d.ts.map +1 -0
  1099. package/dist/schemas/cpt-curation.js +90 -0
  1100. package/dist/schemas/cpt-curation.js.map +1 -0
  1101. package/dist/schemas/cpt-schema.d.ts +422 -111
  1102. package/dist/schemas/cpt-schema.d.ts.map +1 -1
  1103. package/dist/schemas/cpt-schema.js +110 -177
  1104. package/dist/schemas/cpt-schema.js.map +1 -1
  1105. package/dist/schemas/gld-curation.d.ts +77 -0
  1106. package/dist/schemas/gld-curation.d.ts.map +1 -0
  1107. package/dist/schemas/gld-curation.js +62 -0
  1108. package/dist/schemas/gld-curation.js.map +1 -0
  1109. package/dist/schemas/gld-schema.d.ts +138 -54
  1110. package/dist/schemas/gld-schema.d.ts.map +1 -1
  1111. package/dist/schemas/gld-schema.js +32 -78
  1112. package/dist/schemas/gld-schema.js.map +1 -1
  1113. package/dist/schemas/gld-types.d.ts +16 -0
  1114. package/dist/schemas/gld-types.d.ts.map +1 -0
  1115. package/dist/schemas/gld-types.js +7 -0
  1116. package/dist/schemas/gld-types.js.map +1 -0
  1117. package/dist/schemas/gmw-schema.d.ts +770 -143
  1118. package/dist/schemas/gmw-schema.d.ts.map +1 -1
  1119. package/dist/schemas/gmw-schema.js +148 -113
  1120. package/dist/schemas/gmw-schema.js.map +1 -1
  1121. package/dist/schemas/gmw-types.d.ts +24 -0
  1122. package/dist/schemas/gmw-types.d.ts.map +1 -0
  1123. package/dist/schemas/gmw-types.js +11 -0
  1124. package/dist/schemas/gmw-types.js.map +1 -0
  1125. package/dist/types/index.d.ts +4 -0
  1126. package/dist/types/index.d.ts.map +1 -1
  1127. package/dist/types/index.js.map +1 -1
  1128. package/package.json +8 -4
package/README.md CHANGED
@@ -56,6 +56,21 @@ const bhr_gt = parser.parseBHRGT(xmlText);
56
56
  const bhr_g = parser.parseBHRG(xmlText);
57
57
  ```
58
58
 
59
+ ### Coded values
60
+
61
+ Fields that carry a BRO code (quality class, soil name, method, …) parse to a
62
+ `Coded` object — the `code` plus the `codeSpace` domain the XML declares — or
63
+ `null` when absent:
64
+
65
+ ```typescript
66
+ cpt.qualityClass;
67
+ // { code: "klasse2", codeSpace: "urn:bro:cpt:QualityClass" } | null
68
+ cpt.qualityClass?.code === "klasse2";
69
+ ```
70
+
71
+ Keeping the `codeSpace` from the instance is what lets [`describe`](#reference-codes)
72
+ resolve the human-readable text without ever guessing the domain.
73
+
59
74
  ## Custom Schemas
60
75
 
61
76
  Extract only the fields you need:
@@ -82,7 +97,7 @@ const result = parser.parseCustom(
82
97
  ```
83
98
 
84
99
  The `producers` namespace carries every building block the library uses internally:
85
- scalar combinators (`text`, `number`, `integer`, `date`, `boolean`, `qualityClass`),
100
+ leaf combinators (`text`, `number`, `integer`, `date`, `boolean`, `code`),
86
101
  structural combinators (`object`, `array`, `oneOf`, `custom`), the domain helpers
87
102
  (`gmlLocation`, `columns`), and the shared field-maps (`COMMON_REGISTRATION_PRODUCERS`,
88
103
  `REGISTRATION_HISTORY`) you can spread into a schema.
@@ -111,20 +126,26 @@ See [`src/types/index.ts`](./src/types/index.ts) for full type definitions.
111
126
 
112
127
  BRO/XML values use camelCase domain codes like `"langwerpig"`, `"mechanischDiscontinu"`, or `"ISO19901d8v2014"` some are intuitive, some are cryptic. The BRO publishes official human-readable descriptions for all of these codes.
113
128
 
114
- This library exports lookup functions auto-generated from the [BRO reference codes API](https://publiek.broservices.nl/bro/refcodes/v1/codes), so you can resolve any code to its full description:
129
+ Coded values parse to `{ code, codeSpace }` (a `Coded`), carrying the domain the
130
+ XML declares. Resolve any of them with the single `describe` function, generated
131
+ from the [BRO reference codes API](https://publiek.broservices.nl/bro/refcodes/v1/codes):
115
132
 
116
133
  ```typescript
117
- import { getBhrgtGeotechnicalSoilNameDescription } from "@bedrock-engineer/bro-xml-parser/reference-codes";
134
+ import { describe } from "@bedrock-engineer/bro-xml-parser/reference-codes";
118
135
 
119
136
  const bore = parser.parseBHRGT(xmlText);
120
137
 
121
138
  bore.data.forEach((layer) => {
122
- const description = getBhrgtGeotechnicalSoilNameDescription(layer.geotechnicalSoilName);
139
+ const description = describe(layer.geotechnicalSoilName); // domain-correct by construction
123
140
  console.log(`${layer.upperBoundary}–${layer.lowerBoundary}m: ${description}`);
124
141
  // e.g. "0–2m: Grove minerale grond, waarvan de grove fractie uit zand bestaat..."
125
142
  });
126
143
  ```
127
144
 
145
+ Because a `Coded` carries its own `codeSpace`, `describe` never has to guess which
146
+ table a code belongs to. The per-domain `*_CODES` tables and the `CODES_BY_DOMAIN`
147
+ index are also exported for advanced use.
148
+
128
149
  Run `npm run codegen:reference-codes` to regenerate the lookup tables from the latest API.
129
150
 
130
151
  ## License
package/dist/browser.d.ts CHANGED
@@ -19,19 +19,21 @@ export { BROParseError } from "./types/index.js";
19
19
  export { SUPPORTED_VERSIONS } from "./core/version-detector.js";
20
20
  export type { DataType } from "./core/version-detector.js";
21
21
  export { CPT_PRODUCER } from "./schemas/cpt-schema.js";
22
- export type { DissipationTest, RemovedLayer } from "./schemas/cpt-schema.js";
22
+ export type { DissipationTest, RemovedLayer } from "./types/index.js";
23
23
  export { BORE_PRODUCER } from "./schemas/bore-schema.js";
24
- export type { BHRGTLayer, BHRGTLayerBase, BHRGTSoilLayer, BHRGTRockLayer, RockDescription, RockWeatheringDegree, Grainshape, BoredInterval, SampledInterval, SamplerDetails, CoreRecovery, CompletedInterval, PostSedimentaryDiscontinuity, ExcavatedLayer, BoringVelocityMeasurement, NotDescribedInterval, FluidMudLayer, } from "./schemas/bore-schema.js";
24
+ export type { BHRGTLayer, BHRGTLayerBase, BHRGTSoilLayer, BHRGTRockLayer, RockDescription, RockWeatheringDegree, Grainshape, BoredInterval, SampledInterval, SamplerDetails, CoreRecovery, CompletedInterval, PostSedimentaryDiscontinuity, ExcavatedLayer, BoringVelocityMeasurement, NotDescribedInterval, FluidMudLayer, } from "./schemas/bore-types.js";
25
25
  export type { HeightAtSpecificTime, StressAtSpecificSettlement, VolumeChangeAtSpecificTime, ShearStressAtSpecificStrain, HorizontalDeformationDataPoint, BoreholeSampleAnalysis, InvestigatedInterval, WaterContentDetermination, VolumetricMassDensityDetermination, OrganicMatterContentDetermination, CarbonateContentDetermination, VolumetricMassDensityOfSolidsDetermination, MaximumUndrainedShearStrengthDetermination, ParticleSizeDistributionDetermination, ConsistencyLimitsDetermination, SettlementCharacteristicsDetermination, SettlementDeterminationStep, SaturationStageAtCompression, SaturatedPermeabilityDetermination, ShearStressChangeDuringLoadingDetermination, ConsolidationStepAtHorizontalDeformation, ShearStressChangeDuringHorizontalDeformationDetermination, PlasticityAtSpecificWaterContent, SaturatedPermeabilityAtSpecificDensity, SaturatedPermeabilityAtSpecificLoad, MembraneCorrection, DrainageStripCorrection, SpecimenMadeForLoading, SaturationStageAtLoading, ConsolidationStageAtLoading, LoadStage, ConsolidationStageAtHorizontalDeformation, ShearStageAtHorizontalDeformation, } from "./schemas/bhrgt-analysis.js";
26
- export type { GLDObservation, GLDObservationPoint, GroundwaterMonitoringTubeRef, } from "./schemas/gld-schema.js";
26
+ export type { GLDObservation, GLDObservationPoint, GroundwaterMonitoringTubeRef, } from "./schemas/gld-types.js";
27
27
  export { BHRG_PRODUCER } from "./schemas/bhrg-schema.js";
28
- export type { BHRGLayer, MunsellColour, SandFraction, SandConstituent, ShellFraction, ShellConstituent, GravelFraction, GravelConstituent, PeatFraction, PeatConstituent, Chunk, FractionDistribution, FineFractionDistributionOrganicSoil, FineFractionDistributionShellySoil, Mottle, ThinStratum, ReportHistory, IntermediateEvent, } from "./schemas/bhrg-schema.js";
28
+ export type { BHRGLayer, MunsellColour, SandFraction, SandConstituent, ShellFraction, ShellConstituent, GravelFraction, GravelConstituent, PeatFraction, PeatConstituent, Chunk, FractionDistribution, FineFractionDistributionOrganicSoil, FineFractionDistributionShellySoil, Mottle, ThinStratum, ReportHistory, IntermediateEvent, } from "./schemas/bhrg-types.js";
29
29
  export { GMW_PRODUCER } from "./schemas/gmw-schema.js";
30
- export type { MonitoringTube, GeoOhmCable, Electrode, GMWIntermediateEvent, } from "./schemas/gmw-schema.js";
30
+ export type { MonitoringTube, GeoOhmCable, Electrode, GMWIntermediateEvent, } from "./schemas/gmw-types.js";
31
31
  export { GLD_PRODUCER } from "./schemas/gld-schema.js";
32
32
  export { BRO_NAMESPACES, KNOWN_BRO_PREFIXES } from "./namespaces.js";
33
33
  export { BRO_SOIL_COLORS, getSoilColor, isValidSoilColor, getSoilColorNames } from "./colors.js";
34
34
  export * as producers from "./producers.js";
35
- export type { Producer, NodeLens, Produced, ProducedFields } from "./core/producer.js";
35
+ export type { Producer, NodeLens, Produced, ProducedFields, Coded } from "./core/producer.js";
36
+ export { project } from "./core/select.js";
37
+ export type { Leaf, ArraySel, SelectableProducer, ProjectResult } from "./core/select.js";
36
38
  export * as presets from "./schema-presets.js";
37
39
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/browser.js CHANGED
@@ -24,6 +24,8 @@ export { BRO_NAMESPACES, KNOWN_BRO_PREFIXES } from "./namespaces.js";
24
24
  export { BRO_SOIL_COLORS, getSoilColor, isValidSoilColor, getSoilColorNames } from "./colors.js";
25
25
  // The authoring surface for custom schemas (combinators + domain helpers).
26
26
  export * as producers from "./producers.js";
27
+ // The typed path-tree selector over a producer schema (see BROParser.parseSelection).
28
+ export { project } from "./core/select.js";
27
29
  // Export schema presets for common use cases
28
30
  export * as presets from "./schema-presets.js";
29
31
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAmBhF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA4DzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAqBzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjG,2EAA2E;AAC3E,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAK5C,6CAA6C;AAC7C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAmBhF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA4DzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAqBzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjG,2EAA2E;AAC3E,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAK5C,sFAAsF;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,6CAA6C;AAC7C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
@@ -6,18 +6,37 @@
6
6
  * themselves producers, an array producer's item is a producer, and so on all
7
7
  * the way down. {@link SchemaParser.produce} interprets this tree.
8
8
  *
9
- * Five kinds, each built by a combinator:
9
+ * Six kinds, each built by a combinator:
10
10
  * - `scalar` — a leaf: text (or an attribute) decoded into `T`.
11
+ * - `code` — a leaf: a BRO coded value (`{ code, codeSpace }`), text + its domain.
11
12
  * - `object` — a fixed set of named fields, each a producer.
12
13
  * - `array` — a repeated subtree: `each` selects item nodes, `item` produces one.
13
14
  * - `oneOf` — an honest discriminated union (shared `base` + tagged `branches`).
14
15
  * - `custom` — the sole escape hatch, handed a narrow {@link NodeLens}.
15
16
  *
16
- * Absence model (see CONTEXT.md): a `required` field that is missing nulls its
17
+ * Absence model: a `required` field that is missing nulls its
17
18
  * *nearest enclosing object*; arrays *drop* null items (recording a warning);
18
19
  * only the document root throws. `required` is opt-in, so nothing cascades unless
19
20
  * a schema author asks for it.
20
21
  */
22
+ /**
23
+ * A BRO coded value: the `code` text plus the `codeSpace` domain URI that the XML
24
+ * carries as a `codeSpace` attribute (e.g. `urn:bro:cpt:QualityClass`).
25
+ *
26
+ * First-class data, so the domain is never guessed from a field name — the
27
+ * `describe` helper in the `/reference-codes` subpath resolves it correctly by
28
+ * `codeSpace`. An absent or nil coded element parses to `null`; a present one is
29
+ * always a full `{ code, codeSpace }`.
30
+ */
31
+ export interface Coded {
32
+ code: string;
33
+ codeSpace: string;
34
+ }
35
+ /**
36
+ * A sink for non-fatal decode messages (bad numeric text, etc.). The engine
37
+ * passes one that appends to `meta.warnings`; direct callers may omit it.
38
+ */
39
+ type WarnSink = (message: string) => void;
21
40
  /** How a producer behaves when it finds no data. */
22
41
  export type Presence =
23
42
  /** Missing → `null` (or `[]` for arrays). The default. */
@@ -66,12 +85,24 @@ interface ProducerMeta {
66
85
  */
67
86
  export interface ScalarProducer<T, P extends Presence = "optional"> extends ProducerMeta {
68
87
  kind: "scalar";
69
- decode: (raw: string | null) => T;
88
+ decode: (raw: string | null, warn?: WarnSink) => T;
70
89
  /** Absence behaviour (default `"optional"`). */
71
90
  presence?: P;
72
91
  /** Phantom output type — never present at runtime. */
73
92
  readonly _out?: T;
74
93
  }
94
+ /**
95
+ * A leaf coded value. Like {@link ScalarProducer} it is text-presence driven, but
96
+ * its decode also receives the node's `codeSpace` attribute so it can build a
97
+ * {@link Coded}. It is a first-class leaf (not a {@link CustomProducer}) so the
98
+ * presence/absence model applies uniformly.
99
+ */
100
+ export interface CodeProducer<T, P extends Presence = "optional"> extends ProducerMeta {
101
+ kind: "code";
102
+ decode: (text: string | null, codeSpace: string | null) => T;
103
+ presence?: P;
104
+ readonly _out?: T;
105
+ }
75
106
  export interface ObjectProducer<T, P extends Presence = "optional"> extends ProducerMeta {
76
107
  kind: "object";
77
108
  fields: Record<string, Producer<unknown, Presence>>;
@@ -93,7 +124,7 @@ export interface CustomProducer<T, P extends Presence = "optional"> extends Prod
93
124
  readonly _out?: T;
94
125
  }
95
126
  /** One tagged branch of a {@link OneOfProducer}. */
96
- export interface OneOfBranch {
127
+ interface OneOfBranch {
97
128
  /** XPath whose existence selects this branch (first match wins). */
98
129
  when: string;
99
130
  /** Relative XPath to the branch's node (defaults to the oneOf node). */
@@ -112,7 +143,9 @@ export interface OneOfProducer<T, P extends Presence = "optional"> extends Produ
112
143
  presence?: P;
113
144
  readonly _out?: T;
114
145
  }
115
- export type Producer<T, P extends Presence = "optional"> = ScalarProducer<T, P> | ObjectProducer<T, P> | ArrayProducer<T, P> | CustomProducer<T, P> | OneOfProducer<T, P>;
146
+ export type Producer<T, P extends Presence = "optional"> = ScalarProducer<T, P> | CodeProducer<T, P> | ObjectProducer<T, P> | ArrayProducer<T, P> | CustomProducer<T, P> | OneOfProducer<T, P>;
147
+ /** Leaf producer kinds: value-bearing, driven by text presence. */
148
+ export type LeafKind = "scalar" | "code";
116
149
  /** Flatten an intersection into a single object literal for legible hovers. */
117
150
  type Simplify<T> = {
118
151
  [K in keyof T]: T[K];
@@ -149,7 +182,7 @@ type LeafOpts<P extends Presence = "optional"> = BaseMeta & {
149
182
  presence?: P;
150
183
  };
151
184
  type ScalarOpts<T, P extends Presence = "optional"> = LeafOpts<P> & {
152
- decode: (raw: string | null) => T;
185
+ decode: (raw: string | null, warn?: WarnSink) => T;
153
186
  };
154
187
  /** A leaf producer with an explicit decoder. */
155
188
  export declare function scalar<T, P extends Presence = "optional">(opts: ScalarOpts<T, P>): ScalarProducer<T, P>;
@@ -163,19 +196,37 @@ export declare function number<P extends Presence = "optional">(at?: string, opt
163
196
  export declare function integer<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): ScalarProducer<number | null, P>;
164
197
  /** Boolean (`boolean | null`), understanding BRO's `ja`/`nee`. */
165
198
  export declare function boolean<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): ScalarProducer<boolean | null, P>;
166
- /** BRO quality class (`number | null`), understanding `"klasse2"` and `"2"`. */
167
- export declare function qualityClass<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): ScalarProducer<number | null, P>;
168
- /** A fixed set of named fields. Output type is inferred from `fields`. */
199
+ /**
200
+ * A BRO coded value (`{ code, codeSpace } | null`). Reads the element's text and
201
+ * its `codeSpace` attribute; absent/nil (no text) → `null`. A first-class leaf, so
202
+ * presence (`optional`/`required`/`omit`) and array-item handling apply as they do
203
+ * to {@link text} / {@link number}.
204
+ */
205
+ export declare function code<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): CodeProducer<Coded | null, P>;
206
+ /**
207
+ * A fixed set of named fields. Output type is inferred from `fields`.
208
+ *
209
+ * The concrete `fields` map type is also carried in the phantom `_fields`, so the
210
+ * `project` selector can mirror the producer's structure at the type level (an
211
+ * atomic `custom` field stays a leaf even when its value type looks structural).
212
+ */
169
213
  export declare function object<F extends Record<string, Producer<unknown, Presence>>, P extends Presence = "optional">(opts: {
170
214
  fields: F;
171
215
  presence?: P;
172
- } & BaseMeta): ObjectProducer<ProducedFields<F>, P>;
173
- /** A repeated subtree. `each` selects item nodes; `item` produces one value. */
174
- export declare function array<E, P extends Presence = "optional">(opts: {
216
+ } & BaseMeta): ObjectProducer<ProducedFields<F>, P> & {
217
+ readonly _fields?: F;
218
+ };
219
+ /**
220
+ * A repeated subtree. `each` selects item nodes; `item` produces one value. The
221
+ * item producer's type is carried in the phantom `_item` (see {@link object}).
222
+ */
223
+ export declare function array<I extends Producer<unknown, Presence>, P extends Presence = "optional">(opts: {
175
224
  each: string;
176
- item: Producer<E, Presence>;
225
+ item: I;
177
226
  presence?: P;
178
- } & BaseMeta): ArrayProducer<Array<E>, P>;
227
+ } & BaseMeta): ArrayProducer<Array<Produced<I>>, P> & {
228
+ readonly _item?: I;
229
+ };
179
230
  /** The escape hatch: a decoder handed a relative-only {@link NodeLens}. */
180
231
  export declare function custom<T, P extends Presence = "optional">(opts: {
181
232
  produce: (lens: NodeLens) => T;
@@ -211,6 +262,9 @@ export declare function oneOf<TagKey extends string, const Base extends Record<s
211
262
  base?: Base;
212
263
  branches: Branches;
213
264
  presence?: P;
214
- } & BaseMeta): OneOfProducer<OneOfOut<TagKey, Base, Branches>, P>;
265
+ } & BaseMeta): OneOfProducer<OneOfOut<TagKey, Base, Branches>, P> & {
266
+ readonly _base?: Base;
267
+ readonly _branches?: Branches;
268
+ };
215
269
  export {};
216
270
  //# sourceMappingURL=producer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../../src/core/producer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../../src/core/producer.ts"],"names":[],"mappings":"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"}
@@ -6,19 +6,20 @@
6
6
  * themselves producers, an array producer's item is a producer, and so on all
7
7
  * the way down. {@link SchemaParser.produce} interprets this tree.
8
8
  *
9
- * Five kinds, each built by a combinator:
9
+ * Six kinds, each built by a combinator:
10
10
  * - `scalar` — a leaf: text (or an attribute) decoded into `T`.
11
+ * - `code` — a leaf: a BRO coded value (`{ code, codeSpace }`), text + its domain.
11
12
  * - `object` — a fixed set of named fields, each a producer.
12
13
  * - `array` — a repeated subtree: `each` selects item nodes, `item` produces one.
13
14
  * - `oneOf` — an honest discriminated union (shared `base` + tagged `branches`).
14
15
  * - `custom` — the sole escape hatch, handed a narrow {@link NodeLens}.
15
16
  *
16
- * Absence model (see CONTEXT.md): a `required` field that is missing nulls its
17
+ * Absence model: a `required` field that is missing nulls its
17
18
  * *nearest enclosing object*; arrays *drop* null items (recording a warning);
18
19
  * only the document root throws. `required` is opt-in, so nothing cascades unless
19
20
  * a schema author asks for it.
20
21
  */
21
- import { parseDate, parseFloat, parseInt, parseBoolean, parseQualityClass, } from "../decoders/type-decoders.js";
22
+ import { parseDate, parseFloat, parseInt, parseBoolean, } from "../decoders/type-decoders.js";
22
23
  /** A leaf producer with an explicit decoder. */
23
24
  export function scalar(opts) {
24
25
  return { kind: "scalar", ...opts };
@@ -50,16 +51,35 @@ export function integer(at, opts = {}) {
50
51
  export function boolean(at, opts = {}) {
51
52
  return leaf(parseBoolean, at, opts);
52
53
  }
53
- /** BRO quality class (`number | null`), understanding `"klasse2"` and `"2"`. */
54
- export function qualityClass(at, opts = {}) {
55
- return leaf(parseQualityClass, at, opts);
54
+ /**
55
+ * A BRO coded value (`{ code, codeSpace } | null`). Reads the element's text and
56
+ * its `codeSpace` attribute; absent/nil (no text) → `null`. A first-class leaf, so
57
+ * presence (`optional`/`required`/`omit`) and array-item handling apply as they do
58
+ * to {@link text} / {@link number}.
59
+ */
60
+ export function code(at, opts = {}) {
61
+ return {
62
+ kind: "code",
63
+ decode: (text, codeSpace) => text === null || codeSpace === null ? null : { code: text, codeSpace },
64
+ ...(at !== undefined ? { at } : {}),
65
+ ...opts,
66
+ };
56
67
  }
57
- /** A fixed set of named fields. Output type is inferred from `fields`. */
68
+ /**
69
+ * A fixed set of named fields. Output type is inferred from `fields`.
70
+ *
71
+ * The concrete `fields` map type is also carried in the phantom `_fields`, so the
72
+ * `project` selector can mirror the producer's structure at the type level (an
73
+ * atomic `custom` field stays a leaf even when its value type looks structural).
74
+ */
58
75
  export function object(opts) {
59
76
  const { fields, ...meta } = opts;
60
77
  return { kind: "object", fields, ...meta };
61
78
  }
62
- /** A repeated subtree. `each` selects item nodes; `item` produces one value. */
79
+ /**
80
+ * A repeated subtree. `each` selects item nodes; `item` produces one value. The
81
+ * item producer's type is carried in the phantom `_item` (see {@link object}).
82
+ */
63
83
  export function array(opts) {
64
84
  const { each, item, ...meta } = opts;
65
85
  return { kind: "array", each, item, ...meta };
@@ -1 +1 @@
1
- {"version":3,"file":"producer.js","sourceRoot":"","sources":["../../src/core/producer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"producer.js","sourceRoot":"","sources":["../../src/core/producer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-parser.d.ts","sourceRoot":"","sources":["../../src/core/schema-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAsB,cAAc,EAAY,MAAM,eAAe,CAAC;AAqBlF,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;gBADV,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU;IAGhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,CAAC,EACP,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,QAAQ,CAAC,EAAE,MAAM,GAChB;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE;IAexC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkBnB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;IAIhB,oEAAoE;IACpE,OAAO,CAAC,GAAG;IA2CX;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAoCjB,mFAAmF;IACnF,OAAO,CAAC,QAAQ;IAkChB,mEAAmE;IACnE,OAAO,CAAC,UAAU;IAWlB,6DAA6D;IAC7D,OAAO,CAAC,QAAQ;CAgBjB"}
1
+ {"version":3,"file":"schema-parser.d.ts","sourceRoot":"","sources":["../../src/core/schema-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAsB,cAAc,EAAsB,MAAM,eAAe,CAAC;AA4B5F,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;gBADV,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU;IAGhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,CAAC,EACP,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,QAAQ,CAAC,EAAE,MAAM,GAChB;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE;IAexC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkBnB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;IAIhB,oEAAoE;IACpE,OAAO,CAAC,GAAG;IAoDX;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAoCjB,mFAAmF;IACnF,OAAO,CAAC,QAAQ;IAkChB,mEAAmE;IACnE,OAAO,CAAC,UAAU;IAalB,6DAA6D;IAC7D,OAAO,CAAC,QAAQ;CAgBjB"}
@@ -15,6 +15,11 @@ function readText(node) {
15
15
  }
16
16
  return trimmed;
17
17
  }
18
+ const LEAF_KINDS = new Set(["scalar", "code"]);
19
+ /** Leaf producers are value-bearing and text-presence driven (`scalar`, `code`). */
20
+ function isLeafKind(kind) {
21
+ return LEAF_KINDS.has(kind);
22
+ }
18
23
  export class SchemaParser {
19
24
  adapter;
20
25
  namespaces;
@@ -84,7 +89,16 @@ export class SchemaParser {
84
89
  switch (producer.kind) {
85
90
  case "scalar": {
86
91
  const raw = readText(self);
87
- return { value: producer.decode(raw), satisfied: raw !== null };
92
+ return {
93
+ value: producer.decode(raw, (msg) => warnings.push(msg)),
94
+ satisfied: raw !== null,
95
+ };
96
+ }
97
+ case "code": {
98
+ const raw = readText(self);
99
+ const csNode = this.xpath(self, "@codeSpace");
100
+ const codeSpace = csNode ? readText(csNode) : null;
101
+ return { value: producer.decode(raw, codeSpace), satisfied: raw !== null };
88
102
  }
89
103
  case "custom": {
90
104
  return { value: producer.produce(this.makeLens(self)), satisfied: true };
@@ -99,8 +113,8 @@ export class SchemaParser {
99
113
  const outcome = this.run(itemNode, producer.item, warnings);
100
114
  if (!outcome.satisfied) {
101
115
  // Structured items (object/oneOf) that fail a required field are a
102
- // meaningful data loss; an empty scalar in a code list is not.
103
- if (producer.item.kind !== "scalar") {
116
+ // meaningful data loss; an empty leaf (scalar/code) in a value list is not.
117
+ if (!isLeafKind(producer.item.kind)) {
104
118
  warnings.push(`Dropped an item from array "${producer.each}": required data was missing`);
105
119
  }
106
120
  continue;
@@ -179,6 +193,8 @@ export class SchemaParser {
179
193
  switch (producer.kind) {
180
194
  case "scalar":
181
195
  return producer.decode(null);
196
+ case "code":
197
+ return producer.decode(null, null);
182
198
  case "array":
183
199
  return [];
184
200
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"schema-parser.js","sourceRoot":"","sources":["../../src/core/schema-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-parser.js","sourceRoot":"","sources":["../../src/core/schema-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * `project` — a typed path-tree selector over a producer schema.
3
+ *
4
+ * Navigate a producer (e.g. `CPT_PRODUCER`) through a proxy that mirrors its
5
+ * structure, naming your own output keys. The selection is compiled back into an
6
+ * {@link ObjectProducer} that reuses the original leaf decoders, so parsing runs
7
+ * through the same {@link SchemaParser}. No hand-written XPath strings.
8
+ *
9
+ * ```ts
10
+ * const survey = project(CPT_PRODUCER, (t) => ({
11
+ * id: t.broId,
12
+ * depth: t.finalDepth,
13
+ * klass: t.qualityClass, // Coded | null
14
+ * }));
15
+ * parser.parseSelection(xml, survey, "CPT"); // { id, depth, klass, meta }
16
+ * ```
17
+ *
18
+ * The selector type is derived from the *producer* structure, not the output
19
+ * type: an atomic `custom`/`columns` field (whose value may look structural, like
20
+ * `CPTMeasurement[]`) stays a leaf and is selected whole, matching what the
21
+ * runtime can actually decompose.
22
+ */
23
+ import type { Presence, Produced, ObjectProducer } from "./producer.js";
24
+ declare const OUT: unique symbol;
25
+ /** A selection token carrying the value type `V` it will parse to. */
26
+ export interface Leaf<V> {
27
+ readonly [OUT]?: V;
28
+ }
29
+ /** An array node: select the whole array (it is a {@link Leaf}), or `.each` a row. */
30
+ export interface ArraySel<I> extends Leaf<Array<Produced<I>>> {
31
+ each<R>(fn: (el: SelectableProducer<I>) => R): Leaf<Array<ProjectResult<R>>>;
32
+ }
33
+ /** Intersect the `fields` maps of every `oneOf` branch (a tuple of `BranchInput`). */
34
+ type BranchFields<Br> = Br extends readonly [infer H, ...infer T] ? (H extends {
35
+ fields: infer F;
36
+ } ? F : object) & BranchFields<T> : object;
37
+ /**
38
+ * Mirror a producer as a navigable path tree. Array producers → {@link ArraySel};
39
+ * object producers → descend by field; `oneOf` → descend the merged base + branch
40
+ * fields (selecting one flattens the union); every leaf (`text`/`number`/`date`/
41
+ * `boolean`/`code`) and atomic `custom`/`columns` → a whole-value {@link Leaf}.
42
+ */
43
+ export type SelectableProducer<P> = P extends {
44
+ kind: "array";
45
+ _item?: infer I;
46
+ } ? ArraySel<I> : P extends {
47
+ kind: "object";
48
+ _fields?: infer F;
49
+ } ? {
50
+ [K in keyof F]-?: SelectableProducer<F[K]>;
51
+ } : P extends {
52
+ kind: "oneOf";
53
+ _base?: infer B;
54
+ _branches?: infer Br;
55
+ } ? {
56
+ [K in keyof (B & BranchFields<Br>)]-?: SelectableProducer<(B & BranchFields<Br>)[K]>;
57
+ } : P extends {
58
+ readonly _out?: infer V;
59
+ } ? Leaf<V> : never;
60
+ /** Resolve a returned selection tree to its parsed output type. */
61
+ export type ProjectResult<S> = S extends Leaf<infer V> ? V : S extends Record<string, unknown> ? {
62
+ [K in keyof S]: ProjectResult<S[K]>;
63
+ } : never;
64
+ /**
65
+ * Compile a selection over `root` into an {@link ObjectProducer}. The result
66
+ * parses through {@link SchemaParser} like any producer (e.g. via
67
+ * `BROParser.parseSelection`).
68
+ */
69
+ export declare function project<P extends ObjectProducer<unknown, Presence>, S>(root: P, select: (t: SelectableProducer<P>) => S): ObjectProducer<ProjectResult<S>>;
70
+ export {};
71
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/core/select.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAY,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAMlF,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,MAAM,CAAC;AAEjC,sEAAsE;AACtE,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;CACpB;AAED,sFAAsF;AACtF,MAAM,WAAW,QAAQ,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E;AAED,sFAAsF;AACtF,KAAK,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GAC7D,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAC9D,MAAM,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAC5E,QAAQ,CAAC,CAAC,CAAC,GACX,CAAC,SAAS;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAC7C;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC9C,CAAC,SAAS;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAChE;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACxF,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GACnC,IAAI,CAAC,CAAC,CAAC,GACP,KAAK,CAAC;AAEhB,mEAAmE;AACnE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAClD,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACvC,KAAK,CAAC;AAoJZ;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,EACpE,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,GACtC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAMlC"}