@bedrock-engineer/bro-xml-parser 0.1.7 → 0.3.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 (71) hide show
  1. package/dist/adapters/browser-adapter.d.ts.map +1 -1
  2. package/dist/adapters/browser-adapter.js +6 -2
  3. package/dist/adapters/browser-adapter.js.map +1 -1
  4. package/dist/adapters/node-adapter.d.ts.map +1 -1
  5. package/dist/adapters/node-adapter.js +6 -2
  6. package/dist/adapters/node-adapter.js.map +1 -1
  7. package/dist/browser.d.ts +2 -2
  8. package/dist/browser.d.ts.map +1 -1
  9. package/dist/browser.js +1 -1
  10. package/dist/browser.js.map +1 -1
  11. package/dist/colors.d.ts +18 -8
  12. package/dist/colors.d.ts.map +1 -1
  13. package/dist/colors.js +1 -1
  14. package/dist/colors.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/node.d.ts +2 -2
  18. package/dist/node.d.ts.map +1 -1
  19. package/dist/node.js +1 -1
  20. package/dist/node.js.map +1 -1
  21. package/dist/parser.d.ts +2 -2
  22. package/dist/parser.js +2 -2
  23. package/dist/resolvers/bhrg-resolvers.d.ts +3 -18
  24. package/dist/resolvers/bhrg-resolvers.d.ts.map +1 -1
  25. package/dist/resolvers/bhrg-resolvers.js +296 -43
  26. package/dist/resolvers/bhrg-resolvers.js.map +1 -1
  27. package/dist/resolvers/bore-resolver-utils.d.ts +21 -2
  28. package/dist/resolvers/bore-resolver-utils.d.ts.map +1 -1
  29. package/dist/resolvers/bore-resolver-utils.js +73 -23
  30. package/dist/resolvers/bore-resolver-utils.js.map +1 -1
  31. package/dist/resolvers/bore-resolvers.d.ts +35 -18
  32. package/dist/resolvers/bore-resolvers.d.ts.map +1 -1
  33. package/dist/resolvers/bore-resolvers.js +428 -159
  34. package/dist/resolvers/bore-resolvers.js.map +1 -1
  35. package/dist/resolvers/cpt-resolvers.d.ts +1 -8
  36. package/dist/resolvers/cpt-resolvers.d.ts.map +1 -1
  37. package/dist/resolvers/cpt-resolvers.js +2 -29
  38. package/dist/resolvers/cpt-resolvers.js.map +1 -1
  39. package/dist/resolvers/gml-resolvers.d.ts.map +1 -1
  40. package/dist/resolvers/gml-resolvers.js +11 -1
  41. package/dist/resolvers/gml-resolvers.js.map +1 -1
  42. package/dist/resolvers/measurement-resolver.d.ts.map +1 -1
  43. package/dist/resolvers/measurement-resolver.js +6 -6
  44. package/dist/resolvers/measurement-resolver.js.map +1 -1
  45. package/dist/resolvers/type-resolvers.d.ts +22 -13
  46. package/dist/resolvers/type-resolvers.d.ts.map +1 -1
  47. package/dist/resolvers/type-resolvers.js +55 -43
  48. package/dist/resolvers/type-resolvers.js.map +1 -1
  49. package/dist/resolvers.d.ts +5 -4
  50. package/dist/resolvers.d.ts.map +1 -1
  51. package/dist/resolvers.js +6 -4
  52. package/dist/resolvers.js.map +1 -1
  53. package/dist/schema-presets.js +3 -3
  54. package/dist/schema-presets.js.map +1 -1
  55. package/dist/schemas/bhrg-schema.d.ts.map +1 -1
  56. package/dist/schemas/bhrg-schema.js +39 -14
  57. package/dist/schemas/bhrg-schema.js.map +1 -1
  58. package/dist/schemas/bore-schema.d.ts.map +1 -1
  59. package/dist/schemas/bore-schema.js +74 -14
  60. package/dist/schemas/bore-schema.js.map +1 -1
  61. package/dist/schemas/common-fields.d.ts +16 -0
  62. package/dist/schemas/common-fields.d.ts.map +1 -0
  63. package/dist/schemas/common-fields.js +31 -0
  64. package/dist/schemas/common-fields.js.map +1 -0
  65. package/dist/schemas/cpt-schema.d.ts.map +1 -1
  66. package/dist/schemas/cpt-schema.js +25 -14
  67. package/dist/schemas/cpt-schema.js.map +1 -1
  68. package/dist/types/index.d.ts +559 -61
  69. package/dist/types/index.d.ts.map +1 -1
  70. package/dist/types/index.js.map +1 -1
  71. package/package.json +15 -5
@@ -4,7 +4,7 @@
4
4
  * Functions to parse and convert BHR-G-specific data structures
5
5
  */
6
6
  import { createLayerParser, createXPathTextGetter, createNamespaceResolver, } from "./bore-resolver-utils.js";
7
- import { parseFloat, parseJaNee } from "./type-resolvers.js";
7
+ import { parseFloat, parseDate } from "./type-resolvers.js";
8
8
  /**
9
9
  * Process BHR-G layer data from descriptiveBoreholeLog element
10
10
  *
@@ -16,6 +16,151 @@ import { parseFloat, parseJaNee } from "./type-resolvers.js";
16
16
  * - Anthropogenic and rooted indicators
17
17
  * - All soil classification properties
18
18
  */
19
+ /** Collect trimmed text of all nodes matching xpath (skipping empties). */
20
+ function textList(base, xpath, adapter, namespaces) {
21
+ const nsResolver = createNamespaceResolver(namespaces);
22
+ return adapter
23
+ .evaluateXPathAll(base, xpath, nsResolver)
24
+ .map((n) => n.textContent?.trim() ?? "")
25
+ .filter((s) => s !== "");
26
+ }
27
+ function parseMunsellColour(node, adapter, ns) {
28
+ const g = createXPathTextGetter(node, adapter, ns);
29
+ return {
30
+ munsellHue: g("./bhrgcom:munsellHue"),
31
+ munsellValue: g("./bhrgcom:munsellValue"),
32
+ munsellChroma: g("./bhrgcom:munsellChroma"),
33
+ };
34
+ }
35
+ function parseSandFraction(node, adapter, ns) {
36
+ const g = createXPathTextGetter(node, adapter, ns);
37
+ const nsResolver = createNamespaceResolver(ns);
38
+ const sandConstituents = adapter
39
+ .evaluateXPathAll(node, "./bhrgcom:sandConstituent", nsResolver)
40
+ .map((c) => {
41
+ const gc = createXPathTextGetter(c, adapter, ns);
42
+ return {
43
+ grainColour: gc("./bhrgcom:grainColour"),
44
+ percentageClass: gc("./bhrgcom:percentageClass"),
45
+ archiveClass: gc("./bhrgcom:archiveClass"),
46
+ };
47
+ });
48
+ return {
49
+ darkGrainContentClass: g("./bhrgcom:darkGrainContentClass"),
50
+ darkGrainContentClassArchive: g("./bhrgcom:darkGrainContentClassArchive"),
51
+ angularity: g("./bhrgcom:angularity"),
52
+ sandMedianClass: g("./bhrgcom:sandMedianClass"),
53
+ sandSorting: g("./bhrgcom:sandSorting"),
54
+ variegation: g("./bhrgcom:variegation"),
55
+ anomalouslyCoarseContentClass: g("./bhrgcom:anomalouslyCoarseContentClass"),
56
+ anomalouslyCoarseContentClassArchive: g("./bhrgcom:anomalouslyCoarseContentClassArchive"),
57
+ granuleContentClass: g("./bhrgcom:granuleContentClass"),
58
+ granuleContentClassArchive: g("./bhrgcom:granuleContentClassArchive"),
59
+ estimatedMedian: parseFloat(g("./bhrgcom:estimatedMedian")),
60
+ sandConstituents,
61
+ };
62
+ }
63
+ function parseShellFraction(node, adapter, ns) {
64
+ const g = createXPathTextGetter(node, adapter, ns);
65
+ const nsResolver = createNamespaceResolver(ns);
66
+ const shellConstituents = adapter
67
+ .evaluateXPathAll(node, "./bhrgcom:shellConstituent", nsResolver)
68
+ .map((c) => {
69
+ const gc = createXPathTextGetter(c, adapter, ns);
70
+ return {
71
+ shellTaxon: gc("./bhrgcom:shellTaxon"),
72
+ relativeAbundance: gc("./bhrgcom:relativeAbundance"),
73
+ relativeAbundanceClass: gc("./bhrgcom:relativeAbundanceClass"),
74
+ relativeAbundanceClassArchive: gc("./bhrgcom:relativeAbundanceClassArchive"),
75
+ };
76
+ });
77
+ return {
78
+ gritContentClass: g("./bhrgcom:gritContentClass"),
79
+ fragmentContentClass: g("./bhrgcom:fragmentContentClass"),
80
+ remainsContentClass: g("./bhrgcom:remainsContentClass"),
81
+ wholeContentClass: g("./bhrgcom:wholeContentClass"),
82
+ doublets: g("./bhrgcom:doublets"),
83
+ thickWalledContentClass: g("./bhrgcom:thickWalledContentClass"),
84
+ thinWalledContentClass: g("./bhrgcom:thinWalledContentClass"),
85
+ inSitu: g("./bhrgcom:inSitu"),
86
+ weatheringDegree: g("./bhrgcom:weatheringDegree"),
87
+ shellConstituents,
88
+ };
89
+ }
90
+ function parseGravelFraction(node, adapter, ns) {
91
+ const g = createXPathTextGetter(node, adapter, ns);
92
+ const nsResolver = createNamespaceResolver(ns);
93
+ const gravelConstituents = adapter
94
+ .evaluateXPathAll(node, "./bhrgcom:gravelConstituent", nsResolver)
95
+ .map((c) => {
96
+ const gc = createXPathTextGetter(c, adapter, ns);
97
+ return {
98
+ gravelType: gc("./bhrgcom:gravelType"),
99
+ fractionProportion: parseFloat(gc("./bhrgcom:fractionProportion")),
100
+ archiveClass: gc("./bhrgcom:archiveClass"),
101
+ };
102
+ });
103
+ return {
104
+ gravelMedianClass: g("./bhrgcom:gravelMedianClass"),
105
+ angularity: g("./bhrgcom:angularity"),
106
+ fineGravelContentClass: g("./bhrgcom:fineGravelContentClass"),
107
+ mediumCoarseGravelContentClass: g("./bhrgcom:mediumCoarseGravelContentClass"),
108
+ veryCoarseGravelContentClass: g("./bhrgcom:veryCoarseGravelContentClass"),
109
+ ventifactPresent: g("./bhrgcom:ventifactPresent"),
110
+ sphericity: g("./bhrgcom:sphericity"),
111
+ variegation: g("./bhrgcom:variegation"),
112
+ gravelProvenance: g("./bhrgcom:gravelProvenance"),
113
+ estimatedMedian: parseFloat(g("./bhrgcom:estimatedMedian")),
114
+ gravelConstituents,
115
+ };
116
+ }
117
+ function parsePeatFraction(node, adapter, ns) {
118
+ const g = createXPathTextGetter(node, adapter, ns);
119
+ const nsResolver = createNamespaceResolver(ns);
120
+ const peatConstituents = adapter
121
+ .evaluateXPathAll(node, "./bhrgcom:peatConstituent", nsResolver)
122
+ .map((c) => {
123
+ const gc = createXPathTextGetter(c, adapter, ns);
124
+ return {
125
+ plantRemainType: gc("./bhrgcom:plantRemainType"),
126
+ percentageClass: gc("./bhrgcom:percentageClass"),
127
+ archiveClass: gc("./bhrgcom:archiveClass"),
128
+ };
129
+ });
130
+ return { peatType: g("./bhrgcom:peatType"), peatConstituents };
131
+ }
132
+ function parseFractionDistribution(node, adapter, ns) {
133
+ const g = createXPathTextGetter(node, adapter, ns);
134
+ const nsResolver = createNamespaceResolver(ns);
135
+ const result = {
136
+ fractionDistributionComplete: g("./bhrgcom:fractionDistributionComplete"),
137
+ estimatedMassProportionOrganicMatter: parseFloat(g("./bhrgcom:estimatedMassProportionOrganicMatter")),
138
+ estimatedMassProportionShellMatter: parseFloat(g("./bhrgcom:estimatedMassProportionShellMatter")),
139
+ estimatedVolumeProportionShellMatter: parseFloat(g("./bhrgcom:estimatedVolumeProportionShellMatter")),
140
+ estimatedMassProportionShell: parseFloat(g("./bhrgcom:estimatedMassProportionShell")),
141
+ estimatedMassProportionGravel: parseFloat(g("./bhrgcom:estimatedMassProportionGravel")),
142
+ estimatedVolumeProportionGravel: parseFloat(g("./bhrgcom:estimatedVolumeProportionGravel")),
143
+ };
144
+ const organic = adapter.evaluateXPath(node, "./bhrgcom:fineFractionDistributionOrganicSoil", nsResolver);
145
+ if (organic) {
146
+ const go = createXPathTextGetter(organic, adapter, ns);
147
+ result.fineFractionDistributionOrganicSoil = {
148
+ estimatedMassProportionSand: parseFloat(go("./bhrgcom:estimatedMassProportionSand")),
149
+ estimatedMassProportionSilt: parseFloat(go("./bhrgcom:estimatedMassProportionSilt")),
150
+ estimatedMassProportionLutum: parseFloat(go("./bhrgcom:estimatedMassProportionLutum")),
151
+ };
152
+ }
153
+ const shelly = adapter.evaluateXPath(node, "./bhrgcom:fineFractionDistributionShellySoil", nsResolver);
154
+ if (shelly) {
155
+ const gs = createXPathTextGetter(shelly, adapter, ns);
156
+ result.fineFractionDistributionShellySoil = {
157
+ estimatedVolumeProportionSand: parseFloat(gs("./bhrgcom:estimatedVolumeProportionSand")),
158
+ estimatedVolumeProportionSilt: parseFloat(gs("./bhrgcom:estimatedVolumeProportionSilt")),
159
+ estimatedVolumeProportionLutum: parseFloat(gs("./bhrgcom:estimatedVolumeProportionLutum")),
160
+ };
161
+ }
162
+ return result;
163
+ }
19
164
  export const processBHRGLayerData = createLayerParser({
20
165
  layerXPath: ".//bhrgcom:layer/bhrgcom:Layer",
21
166
  requiredFields: {
@@ -26,32 +171,165 @@ export const processBHRGLayerData = createLayerParser({
26
171
  },
27
172
  optionalFields: [
28
173
  // Layer-level fields (outside <soil>)
29
- {
30
- xpath: "./bhrgcom:upperBoundaryDetermination",
31
- key: "upperBoundaryDetermination",
32
- },
33
- {
34
- xpath: "./bhrgcom:lowerBoundaryDetermination",
35
- key: "lowerBoundaryDetermination",
36
- },
174
+ { xpath: "./bhrgcom:upperBoundaryDetermination", key: "upperBoundaryDetermination" },
175
+ { xpath: "./bhrgcom:lowerBoundaryDetermination", key: "lowerBoundaryDetermination" },
37
176
  { xpath: "./bhrgcom:anthropogenic", key: "anthropogenic" },
38
177
  { xpath: "./bhrgcom:rooted", key: "rooted" },
178
+ { xpath: "./bhrgcom:postSedimentary", key: "postSedimentary", omitIfEmpty: true },
179
+ { xpath: "./bhrgcom:horizonCode", key: "horizonCode", omitIfEmpty: true },
180
+ { xpath: "./bhrgcom:humanTrace", key: "humanTrace", omitIfEmpty: true },
181
+ { xpath: "./bhrgcom:geologicalOrigin", key: "geologicalOrigin", omitIfEmpty: true },
182
+ { xpath: "./bhrgcom:bioturbated", key: "bioturbated", omitIfEmpty: true },
39
183
  // Soil-level fields (inside <soil>)
40
184
  { xpath: "./bhrgcom:soil/bhrgcom:colour", key: "color", omitIfEmpty: true },
41
185
  {
42
186
  xpath: "./bhrgcom:soil/bhrgcom:organicMatterContentClassNEN5104",
43
187
  key: "organicMatterContentClassNEN5104",
44
188
  },
189
+ { xpath: "./bhrgcom:soil/bhrgcom:gravelContentClass", key: "gravelContentClass" },
190
+ { xpath: "./bhrgcom:soil/bhrgcom:carbonateContentClass", key: "carbonateContentClass" },
191
+ { xpath: "./bhrgcom:soil/bhrgcom:sandMedianClass", key: "sandMedianClass" },
45
192
  {
46
- xpath: "./bhrgcom:soil/bhrgcom:gravelContentClass",
47
- key: "gravelContentClass",
193
+ xpath: "./bhrgcom:soil/bhrgcom:geologicalSoilName",
194
+ key: "geologicalSoilName",
195
+ omitIfEmpty: true,
48
196
  },
49
197
  {
50
- xpath: "./bhrgcom:soil/bhrgcom:carbonateContentClass",
51
- key: "carbonateContentClass",
198
+ xpath: "./bhrgcom:soil/bhrgcom:shellMatterContentClass",
199
+ key: "shellMatterContentClass",
200
+ omitIfEmpty: true,
201
+ },
202
+ { xpath: "./bhrgcom:soil/bhrgcom:micaContentClass", key: "micaContentClass", omitIfEmpty: true },
203
+ {
204
+ xpath: "./bhrgcom:soil/bhrgcom:micaContentClassArchive",
205
+ key: "micaContentClassArchive",
206
+ omitIfEmpty: true,
207
+ },
208
+ {
209
+ xpath: "./bhrgcom:soil/bhrgcom:shellMatterContentClassArchive",
210
+ key: "shellMatterContentClassArchive",
211
+ omitIfEmpty: true,
212
+ },
213
+ {
214
+ xpath: "./bhrgcom:soil/bhrgcom:glauconiteContentClass",
215
+ key: "glauconiteContentClass",
216
+ omitIfEmpty: true,
217
+ },
218
+ {
219
+ xpath: "./bhrgcom:soil/bhrgcom:glauconiteContentClassArchive",
220
+ key: "glauconiteContentClassArchive",
221
+ omitIfEmpty: true,
222
+ },
223
+ {
224
+ xpath: "./bhrgcom:soil/bhrgcom:sedimentaryPhenomenon",
225
+ key: "sedimentaryPhenomenon",
226
+ omitIfEmpty: true,
52
227
  },
53
- { xpath: "./bhrgcom:soil/bhrgcom:sandMedianClass", key: "sandMedianClass" },
54
228
  ],
229
+ postProcess: (layerNode, layer, adapter, namespaces) => {
230
+ const nsResolver = createNamespaceResolver(namespaces);
231
+ // Layer-level repeatable codes
232
+ const structure = textList(layerNode, "./bhrgcom:structure", adapter, namespaces);
233
+ if (structure.length) {
234
+ layer.structure = structure;
235
+ }
236
+ const verticalTrend = textList(layerNode, "./bhrgcom:verticalTrend", adapter, namespaces);
237
+ if (verticalTrend.length) {
238
+ layer.verticalTrend = verticalTrend;
239
+ }
240
+ const archeological = textList(layerNode, "./bhrgcom:archeologicalConstituent/bhrgcom:constituentType", adapter, namespaces);
241
+ if (archeological.length) {
242
+ layer.archeologicalConstituents = archeological;
243
+ }
244
+ // Thin strata (layer level)
245
+ const thinStrata = adapter
246
+ .evaluateXPathAll(layerNode, "./bhrgcom:thinStratum", nsResolver)
247
+ .map((t) => {
248
+ const g = createXPathTextGetter(t, adapter, namespaces);
249
+ return {
250
+ layerProportion: parseFloat(g("./bhrgcom:layerProportion")),
251
+ layerProportionClass: g("./bhrgcom:layerProportionClass"),
252
+ layerProportionClassArchive: g("./bhrgcom:layerProportionClassArchive"),
253
+ stratumThicknessClass: g("./bhrgcom:stratumThicknessClass"),
254
+ geologicalOrigin: g("./bhrgcom:geologicalOrigin"),
255
+ };
256
+ });
257
+ if (thinStrata.length) {
258
+ layer.thinStrata = thinStrata;
259
+ }
260
+ const soilNode = adapter.evaluateXPath(layerNode, "./bhrgcom:soil", nsResolver);
261
+ if (!soilNode) {
262
+ return;
263
+ }
264
+ const vcf = textList(soilNode, "./bhrgcom:veryCoarseFractionContentClass", adapter, namespaces);
265
+ if (vcf.length) {
266
+ layer.veryCoarseFractionContentClass = vcf;
267
+ }
268
+ const vcfArchive = textList(soilNode, "./bhrgcom:veryCoarseFractionContentClassArchive", adapter, namespaces);
269
+ if (vcfArchive.length) {
270
+ layer.veryCoarseFractionContentClassArchive = vcfArchive;
271
+ }
272
+ const animalFossils = textList(soilNode, "./bhrgcom:animalFossil/bhrgcom:animalFossilType", adapter, namespaces);
273
+ if (animalFossils.length) {
274
+ layer.animalFossils = animalFossils;
275
+ }
276
+ const single = (xpath) => adapter.evaluateXPath(soilNode, xpath, nsResolver);
277
+ const munsell = single("./bhrgcom:munsellColour");
278
+ if (munsell) {
279
+ layer.munsellColour = parseMunsellColour(munsell, adapter, namespaces);
280
+ }
281
+ const sand = single("./bhrgcom:sandFraction");
282
+ if (sand) {
283
+ layer.sandFraction = parseSandFraction(sand, adapter, namespaces);
284
+ }
285
+ const shell = single("./bhrgcom:shellFraction");
286
+ if (shell) {
287
+ layer.shellFraction = parseShellFraction(shell, adapter, namespaces);
288
+ }
289
+ const gravel = single("./bhrgcom:gravelFraction");
290
+ if (gravel) {
291
+ layer.gravelFraction = parseGravelFraction(gravel, adapter, namespaces);
292
+ }
293
+ const peat = single("./bhrgcom:peatFraction");
294
+ if (peat) {
295
+ layer.peatFraction = parsePeatFraction(peat, adapter, namespaces);
296
+ }
297
+ const fracDist = single("./bhrgcom:fractionDistribution");
298
+ if (fracDist) {
299
+ layer.fractionDistribution = parseFractionDistribution(fracDist, adapter, namespaces);
300
+ }
301
+ // Chunks and mottles (soil level, repeatable)
302
+ const chunks = adapter
303
+ .evaluateXPathAll(soilNode, "./bhrgcom:chunk", nsResolver)
304
+ .map((c) => {
305
+ const g = createXPathTextGetter(c, adapter, namespaces);
306
+ return {
307
+ soilType: g("./bhrgcom:soilType"),
308
+ sizeClass: g("./bhrgcom:sizeClass"),
309
+ percentageClass: g("./bhrgcom:percentageClass"),
310
+ archiveClass: g("./bhrgcom:archiveClass"),
311
+ colour: g("./bhrgcom:colour"),
312
+ geologicalOrigin: g("./bhrgcom:geologicalOrigin"),
313
+ cemented: g("./bhrgcom:cemented"),
314
+ };
315
+ });
316
+ if (chunks.length) {
317
+ layer.chunks = chunks;
318
+ }
319
+ const mottles = adapter
320
+ .evaluateXPathAll(soilNode, "./bhrgcom:mottle", nsResolver)
321
+ .map((m) => {
322
+ const g = createXPathTextGetter(m, adapter, namespaces);
323
+ return {
324
+ colour: g("./bhrgcom:colour"),
325
+ density: g("./bhrgcom:density"),
326
+ inBands: g("./bhrgcom:inBands"),
327
+ };
328
+ });
329
+ if (mottles.length) {
330
+ layer.mottles = mottles;
331
+ }
332
+ },
55
333
  });
56
334
  /**
57
335
  * Process bored intervals from BHR-G boring element
@@ -110,33 +388,8 @@ export function processBHRGSampledIntervals(_value, context) {
110
388
  }
111
389
  return intervals;
112
390
  }
113
- /**
114
- * Process registration history from BHR-G document element
115
- */
116
- export function processBHRGRegistrationHistory(_value, context) {
117
- const { element, adapter, namespaces } = context;
118
- const nsResolver = createNamespaceResolver(namespaces);
119
- // Find registrationHistory element (in default namespace dsbhrg)
120
- const historyNode = adapter.evaluateXPath(element, "./dsbhrg:registrationHistory", nsResolver);
121
- if (!historyNode) {
122
- return null;
123
- }
124
- const getText = createXPathTextGetter(historyNode, adapter, namespaces);
125
- // Parse dates
126
- const objectRegistrationTimeStr = getText("./brocom:objectRegistrationTime");
127
- const registrationCompletionTimeStr = getText("./brocom:registrationCompletionTime");
128
- return {
129
- objectRegistrationTime: objectRegistrationTimeStr ? new Date(objectRegistrationTimeStr) : null,
130
- registrationStatus: getText("./brocom:registrationStatus"),
131
- registrationCompletionTime: registrationCompletionTimeStr
132
- ? new Date(registrationCompletionTimeStr)
133
- : null,
134
- corrected: parseJaNee(getText("./brocom:corrected")),
135
- underReview: parseJaNee(getText("./brocom:underReview")),
136
- deregistered: parseJaNee(getText("./brocom:deregistered")),
137
- reregistered: parseJaNee(getText("./brocom:reregistered")),
138
- };
139
- }
391
+ // Registration history is parsed by the shared processRegistrationHistory in
392
+ // bore-resolver-utils (identical across CPT/BHR-GT/BHR-G).
140
393
  /**
141
394
  * Process report history from BHR-G document element
142
395
  *
@@ -155,10 +408,10 @@ export function processBHRGReportHistory(_value, context) {
155
408
  const intermediateEvents = [];
156
409
  for (const eventNode of eventNodes) {
157
410
  const getEventText = createXPathTextGetter(eventNode, adapter, namespaces);
158
- const eventDateStr = getEventText("./bhrgcom:date/brocom:date");
411
+ const eventDateStr = getEventText("./bhrgcom:date");
159
412
  intermediateEvents.push({
160
413
  eventName: getEventText("./bhrgcom:name"),
161
- eventDate: eventDateStr ? new Date(eventDateStr) : null,
414
+ eventDate: parseDate(eventDateStr),
162
415
  });
163
416
  }
164
417
  // BHR-G doesn't have reportStartDate/reportEndDate at top level
@@ -1 +1 @@
1
- {"version":3,"file":"bhrg-resolvers.js","sourceRoot":"","sources":["../../src/resolvers/bhrg-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAY;IAC/D,UAAU,EAAE,gCAAgC;IAC5C,cAAc,EAAE;QACd,aAAa,EAAE,yBAAyB;QACxC,aAAa,EAAE,yBAAyB;QACxC,QAAQ,EAAE,wCAAwC;QAClD,WAAW,EAAE,iBAAiB;KAC/B;IACD,cAAc,EAAE;QACd,sCAAsC;QACtC;YACE,KAAK,EAAE,sCAAsC;YAC7C,GAAG,EAAE,4BAA4B;SAClC;QACD;YACE,KAAK,EAAE,sCAAsC;YAC7C,GAAG,EAAE,4BAA4B;SAClC;QACD,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,eAAe,EAAE;QAC1D,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,QAAQ,EAAE;QAC5C,oCAAoC;QACpC,EAAE,KAAK,EAAE,+BAA+B,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;QAC3E;YACE,KAAK,EAAE,yDAAyD;YAChE,GAAG,EAAE,kCAAkC;SACxC;QACD;YACE,KAAK,EAAE,2CAA2C;YAClD,GAAG,EAAE,oBAAoB;SAC1B;QACD;YACE,KAAK,EAAE,8CAA8C;YACrD,GAAG,EAAE,uBAAuB;SAC7B;QACD,EAAE,KAAK,EAAE,wCAAwC,EAAE,GAAG,EAAE,iBAAiB,EAAE;KAC5E;CACF,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAqB,EACrB,OAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,6EAA6E;IAC7E,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAC5C,OAAO,EACP,4EAA4E,EAC5E,UAAU,CACX,CAAC;IAEF,MAAM,SAAS,GAAyB,EAAE,CAAC;IAE3C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE3D,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,UAAU;YACV,QAAQ;YACR,eAAe,EAAE,OAAO,CAAC,2BAA2B,CAAC;YACrD,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAqB,EACrB,OAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,+EAA+E;IAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAC5C,OAAO,EACP,gFAAgF,EAChF,UAAU,CACX,CAAC;IAEF,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE3D,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,UAAU;YACV,QAAQ;YACR,YAAY,EAAE,OAAO,CAAC,wBAAwB,CAAC;YAC/C,cAAc,EAAE,OAAO,CAAC,0BAA0B,CAAC;YACnD,eAAe,EAAE,OAAO,CAAC,2BAA2B,CAAC;YACrD,iBAAiB,EAAE,IAAI,EAAE,uBAAuB;SACjD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAAqB,EACrB,OAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,iEAAiE;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,8BAA8B,EAAE,UAAU,CAAC,CAAC;IAE/F,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAExE,cAAc;IACd,MAAM,yBAAyB,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC7E,MAAM,6BAA6B,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAErF,OAAO;QACL,sBAAsB,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI;QAC9F,kBAAkB,EAAE,OAAO,CAAC,6BAA6B,CAAC;QAC1D,0BAA0B,EAAE,6BAA6B;YACvD,CAAC,CAAC,IAAI,IAAI,CAAC,6BAA6B,CAAC;YACzC,CAAC,CAAC,IAAI;QACR,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACpD,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACxD,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC1D,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,OAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,2DAA2D;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAE,UAAU,CAAC,CAAC;IAEzF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAExF,MAAM,kBAAkB,GAA6B,EAAE,CAAC;IAExD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;QAEhE,kBAAkB,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC;YACzC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;SACxD,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,2CAA2C;IAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhE,OAAO;QACL,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,cAAc;QAC7B,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"bhrg-resolvers.js","sourceRoot":"","sources":["../../src/resolvers/bhrg-resolvers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { XMLAdapter, Namespaces } from "../types/index.js";
1
+ import type { XMLAdapter, Namespaces, ResolverContext, RegistrationHistory } from "../types/index.js";
2
2
  type XPathTextGetter = (xpath: string) => string | null;
3
3
  type NamespaceResolver = (prefix: string | null) => string | null;
4
4
  /**
@@ -72,7 +72,7 @@ export declare function extractArray<T>(contextNode: Node, xpathPattern: string,
72
72
  /**
73
73
  * Configuration for optional layer fields
74
74
  */
75
- interface OptionalLayerField<T> {
75
+ export interface OptionalLayerField<T> {
76
76
  /** XPath to the field element */
77
77
  xpath: string;
78
78
  /** Property name on the result object */
@@ -139,6 +139,16 @@ export declare function createLayerParser<T extends {
139
139
  adapter: XMLAdapter;
140
140
  namespaces: Namespaces;
141
141
  }) => Array<T>;
142
+ /**
143
+ * Extract a set of optional fields into a typed `Partial<T>` the caller can
144
+ * spread into a layer object (or Object.assign onto one).
145
+ *
146
+ * Shared by createLayerParser and bespoke layer parsers so the omitIfEmpty /
147
+ * transform semantics stay identical everywhere. The only assertion is where a
148
+ * field's `transform` (typed `=> unknown`) or the raw text is committed to its
149
+ * declared property type - the inherent XML-to-typed-value boundary.
150
+ */
151
+ export declare function extractOptionalFields<T>(fields: Array<OptionalLayerField<T>>, layerNode: Node, adapter: XMLAdapter, namespaces: Namespaces): Partial<T>;
142
152
  /**
143
153
  * Parse space-separated comma-delimited pairs from CSV text
144
154
  *
@@ -193,5 +203,14 @@ export declare function parseCSVPairs<T>(csvText: string | null | undefined, par
193
203
  * ```
194
204
  */
195
205
  export declare function parseCSVRows<T>(csvText: string | null | undefined, parseRow: (columns: Array<string>) => T | null): Array<T>;
206
+ /**
207
+ * Parse the BRO registration history.
208
+ *
209
+ * Shared by every registration type (CPT, BHR-GT, BHR-G): the `registrationHistory`
210
+ * element is a direct child of the registration object and its children are all
211
+ * `brocom:*`, identical across domains - only the container's ds-namespace differs,
212
+ * which we sidestep with a namespace-agnostic local-name() match.
213
+ */
214
+ export declare function processRegistrationHistory(_value: string | null, context: ResolverContext): RegistrationHistory | null;
196
215
  export {};
197
216
  //# sourceMappingURL=bore-resolver-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bore-resolver-utils.d.ts","sourceRoot":"","sources":["../../src/resolvers/bore-resolver-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bore-resolver-utils.d.ts","sourceRoot":"","sources":["../../src/resolvers/bore-resolver-utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { parseDate, parseBoolean } from "./type-resolvers.js";
1
2
  /**
2
3
  * Creates a reusable namespace resolver function
3
4
  *
@@ -15,7 +16,10 @@ export function createNamespaceResolver(namespaces) {
15
16
  */
16
17
  export function getTextContent(node) {
17
18
  const trimmed = node?.textContent?.trim();
18
- return trimmed || null;
19
+ if (!trimmed) {
20
+ return null;
21
+ }
22
+ return trimmed;
19
23
  }
20
24
  /**
21
25
  * Creates an XPath text getter bound to a specific context node
@@ -141,28 +145,7 @@ export function createLayerParser(config) {
141
145
  [config.requiredFields.soilNameKey]: soilName,
142
146
  };
143
147
  // Extract optional fields
144
- for (const field of config.optionalFields) {
145
- const fieldNode = adapter.evaluateXPath(layerNode, field.xpath, nsResolver);
146
- const textContent = fieldNode?.textContent?.trim() ?? null;
147
- if (field.transform) {
148
- // Apply custom transform function
149
- const transformed = field.transform(textContent);
150
- if (field.omitIfEmpty && (transformed === null || transformed === undefined)) {
151
- continue;
152
- }
153
- layer[field.key] = transformed;
154
- }
155
- else if (field.omitIfEmpty) {
156
- // Only set property if value exists
157
- if (textContent) {
158
- layer[field.key] = textContent;
159
- }
160
- }
161
- else {
162
- // Always set, using null for missing values
163
- layer[field.key] = textContent;
164
- }
165
- }
148
+ Object.assign(layer, extractOptionalFields(config.optionalFields, layerNode, adapter, namespaces));
166
149
  // Call post-process callback for complex nested fields
167
150
  if (config.postProcess) {
168
151
  config.postProcess(layerNode, layer, adapter, namespaces);
@@ -172,6 +155,42 @@ export function createLayerParser(config) {
172
155
  return layers;
173
156
  };
174
157
  }
158
+ /**
159
+ * Extract a set of optional fields into a typed `Partial<T>` the caller can
160
+ * spread into a layer object (or Object.assign onto one).
161
+ *
162
+ * Shared by createLayerParser and bespoke layer parsers so the omitIfEmpty /
163
+ * transform semantics stay identical everywhere. The only assertion is where a
164
+ * field's `transform` (typed `=> unknown`) or the raw text is committed to its
165
+ * declared property type - the inherent XML-to-typed-value boundary.
166
+ */
167
+ export function extractOptionalFields(fields, layerNode, adapter, namespaces) {
168
+ const nsResolver = createNamespaceResolver(namespaces);
169
+ const out = {};
170
+ const set = (key, value) => {
171
+ out[key] = value;
172
+ };
173
+ for (const field of fields) {
174
+ const fieldNode = adapter.evaluateXPath(layerNode, field.xpath, nsResolver);
175
+ const textContent = fieldNode?.textContent?.trim() ?? null;
176
+ if (field.transform) {
177
+ const transformed = field.transform(textContent);
178
+ if (field.omitIfEmpty && (transformed === null || transformed === undefined)) {
179
+ continue;
180
+ }
181
+ set(field.key, transformed);
182
+ }
183
+ else if (field.omitIfEmpty) {
184
+ if (textContent) {
185
+ set(field.key, textContent);
186
+ }
187
+ }
188
+ else {
189
+ set(field.key, textContent);
190
+ }
191
+ }
192
+ return out;
193
+ }
175
194
  /**
176
195
  * Parse space-separated comma-delimited pairs from CSV text
177
196
  *
@@ -266,4 +285,35 @@ export function parseCSVRows(csvText, parseRow) {
266
285
  }
267
286
  return results;
268
287
  }
288
+ /**
289
+ * Parse the BRO registration history.
290
+ *
291
+ * Shared by every registration type (CPT, BHR-GT, BHR-G): the `registrationHistory`
292
+ * element is a direct child of the registration object and its children are all
293
+ * `brocom:*`, identical across domains - only the container's ds-namespace differs,
294
+ * which we sidestep with a namespace-agnostic local-name() match.
295
+ */
296
+ export function processRegistrationHistory(_value, context) {
297
+ const { element, adapter, namespaces } = context;
298
+ const nsResolver = createNamespaceResolver(namespaces);
299
+ const historyNode = adapter.evaluateXPath(element, "./*[local-name()='registrationHistory']", nsResolver);
300
+ if (!historyNode) {
301
+ return null;
302
+ }
303
+ const getText = createXPathTextGetter(historyNode, adapter, namespaces);
304
+ return {
305
+ objectRegistrationTime: parseDate(getText("./brocom:objectRegistrationTime")),
306
+ registrationStatus: getText("./brocom:registrationStatus"),
307
+ registrationCompletionTime: parseDate(getText("./brocom:registrationCompletionTime")),
308
+ latestCorrectionTime: parseDate(getText("./brocom:latestCorrectionTime")),
309
+ latestAdditionTime: parseDate(getText("./brocom:latestAdditionTime")),
310
+ underReviewTime: parseDate(getText("./brocom:underReviewTime")),
311
+ deregistrationTime: parseDate(getText("./brocom:deregistrationTime")),
312
+ reregistrationTime: parseDate(getText("./brocom:reregistrationTime")),
313
+ corrected: parseBoolean(getText("./brocom:corrected")),
314
+ underReview: parseBoolean(getText("./brocom:underReview")),
315
+ deregistered: parseBoolean(getText("./brocom:deregistered")),
316
+ reregistered: parseBoolean(getText("./brocom:reregistered")),
317
+ };
318
+ }
269
319
  //# sourceMappingURL=bore-resolver-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bore-resolver-utils.js","sourceRoot":"","sources":["../../src/resolvers/bore-resolver-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bore-resolver-utils.js","sourceRoot":"","sources":["../../src/resolvers/bore-resolver-utils.ts"],"names":[],"mappings":"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"}