@bedrock-engineer/bro-xml-parser 0.2.0 → 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.
- package/dist/browser.d.ts +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js.map +1 -1
- package/dist/resolvers/bhrg-resolvers.d.ts +3 -18
- package/dist/resolvers/bhrg-resolvers.d.ts.map +1 -1
- package/dist/resolvers/bhrg-resolvers.js +294 -41
- package/dist/resolvers/bhrg-resolvers.js.map +1 -1
- package/dist/resolvers/bore-resolver-utils.d.ts +21 -2
- package/dist/resolvers/bore-resolver-utils.d.ts.map +1 -1
- package/dist/resolvers/bore-resolver-utils.js +69 -22
- package/dist/resolvers/bore-resolver-utils.js.map +1 -1
- package/dist/resolvers/bore-resolvers.d.ts +34 -17
- package/dist/resolvers/bore-resolvers.d.ts.map +1 -1
- package/dist/resolvers/bore-resolvers.js +342 -175
- package/dist/resolvers/bore-resolvers.js.map +1 -1
- package/dist/resolvers/cpt-resolvers.d.ts +1 -8
- package/dist/resolvers/cpt-resolvers.d.ts.map +1 -1
- package/dist/resolvers/cpt-resolvers.js +2 -29
- package/dist/resolvers/cpt-resolvers.js.map +1 -1
- package/dist/resolvers/type-resolvers.d.ts +12 -4
- package/dist/resolvers/type-resolvers.d.ts.map +1 -1
- package/dist/resolvers/type-resolvers.js +12 -4
- package/dist/resolvers/type-resolvers.js.map +1 -1
- package/dist/resolvers.d.ts +3 -2
- package/dist/resolvers.d.ts.map +1 -1
- package/dist/resolvers.js +4 -2
- package/dist/resolvers.js.map +1 -1
- package/dist/schemas/bhrg-schema.d.ts.map +1 -1
- package/dist/schemas/bhrg-schema.js +35 -8
- package/dist/schemas/bhrg-schema.js.map +1 -1
- package/dist/schemas/bore-schema.d.ts.map +1 -1
- package/dist/schemas/bore-schema.js +46 -11
- package/dist/schemas/bore-schema.js.map +1 -1
- package/dist/schemas/common-fields.d.ts +16 -0
- package/dist/schemas/common-fields.d.ts.map +1 -0
- package/dist/schemas/common-fields.js +31 -0
- package/dist/schemas/common-fields.js.map +1 -0
- package/dist/schemas/cpt-schema.d.ts.map +1 -1
- package/dist/schemas/cpt-schema.js +20 -10
- package/dist/schemas/cpt-schema.js.map +1 -1
- package/dist/types/index.d.ts +465 -49
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseDate, parseBoolean } from "./type-resolvers.js";
|
|
1
2
|
/**
|
|
2
3
|
* Creates a reusable namespace resolver function
|
|
3
4
|
*
|
|
@@ -144,28 +145,7 @@ export function createLayerParser(config) {
|
|
|
144
145
|
[config.requiredFields.soilNameKey]: soilName,
|
|
145
146
|
};
|
|
146
147
|
// Extract optional fields
|
|
147
|
-
|
|
148
|
-
const fieldNode = adapter.evaluateXPath(layerNode, field.xpath, nsResolver);
|
|
149
|
-
const textContent = fieldNode?.textContent?.trim() ?? null;
|
|
150
|
-
if (field.transform) {
|
|
151
|
-
// Apply custom transform function
|
|
152
|
-
const transformed = field.transform(textContent);
|
|
153
|
-
if (field.omitIfEmpty && (transformed === null || transformed === undefined)) {
|
|
154
|
-
continue;
|
|
155
|
-
}
|
|
156
|
-
layer[field.key] = transformed;
|
|
157
|
-
}
|
|
158
|
-
else if (field.omitIfEmpty) {
|
|
159
|
-
// Only set property if value exists
|
|
160
|
-
if (textContent) {
|
|
161
|
-
layer[field.key] = textContent;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
// Always set, using null for missing values
|
|
166
|
-
layer[field.key] = textContent;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
148
|
+
Object.assign(layer, extractOptionalFields(config.optionalFields, layerNode, adapter, namespaces));
|
|
169
149
|
// Call post-process callback for complex nested fields
|
|
170
150
|
if (config.postProcess) {
|
|
171
151
|
config.postProcess(layerNode, layer, adapter, namespaces);
|
|
@@ -175,6 +155,42 @@ export function createLayerParser(config) {
|
|
|
175
155
|
return layers;
|
|
176
156
|
};
|
|
177
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
|
+
}
|
|
178
194
|
/**
|
|
179
195
|
* Parse space-separated comma-delimited pairs from CSV text
|
|
180
196
|
*
|
|
@@ -269,4 +285,35 @@ export function parseCSVRows(csvText, parseRow) {
|
|
|
269
285
|
}
|
|
270
286
|
return results;
|
|
271
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
|
+
}
|
|
272
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":"
|
|
1
|
+
{"version":3,"file":"bore-resolver-utils.js","sourceRoot":"","sources":["../../src/resolvers/bore-resolver-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,24 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Functions to parse and convert bore-specific data structures
|
|
5
5
|
*/
|
|
6
|
-
import type { ResolverContext, BHRGTLayer,
|
|
6
|
+
import type { ResolverContext, BHRGTLayer, PostSedimentaryDiscontinuity, BoreholeSampleAnalysis, BoredInterval, SampledInterval, CompletedInterval, NotDescribedInterval, ExcavatedLayer, BoringVelocityMeasurement, FluidMudLayer, ReportHistory } from "../types/index.js";
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* them to BHRGTLayer objects with depth boundaries and soil classification.
|
|
12
|
-
*
|
|
13
|
-
* Extracts all coded fields from BHR-GT layers including:
|
|
14
|
-
* - Boundary determination methods (how boundaries were positioned)
|
|
15
|
-
* - Anthropogenic indicator (whether layer is man-made)
|
|
16
|
-
* - Tertiary soil constituent
|
|
17
|
-
* - Grain shape properties for coarse fractions
|
|
8
|
+
* Parse BHR-GT descriptive-log layers into a discriminated union of soil / rock
|
|
9
|
+
* layers. A layer describes either soil or rock; we branch on which is present
|
|
10
|
+
* so rock layers aren't forced through the soil shape (and vice versa).
|
|
18
11
|
*/
|
|
19
|
-
export declare
|
|
20
|
-
node: Node;
|
|
21
|
-
adapter: XMLAdapter;
|
|
22
|
-
namespaces: Namespaces;
|
|
23
|
-
}) => BHRGTLayer[];
|
|
12
|
+
export declare function processBHRGTLayerData(_value: string | null, context: ResolverContext): Array<BHRGTLayer>;
|
|
24
13
|
/**
|
|
25
14
|
* Process borehole sample analysis data from boreholeSampleAnalysis element
|
|
26
15
|
*
|
|
@@ -50,18 +39,46 @@ export declare function processSampledIntervals(_value: string | null, context:
|
|
|
50
39
|
* Extracts array of completed intervals with backfill information.
|
|
51
40
|
*/
|
|
52
41
|
export declare function processCompletedIntervals(_value: string | null, context: ResolverContext): Array<CompletedInterval>;
|
|
42
|
+
/**
|
|
43
|
+
* Process excavated layers from boring element
|
|
44
|
+
*
|
|
45
|
+
* Layers removed by excavation before/during boring.
|
|
46
|
+
*/
|
|
47
|
+
export declare function processExcavatedLayers(_value: string | null, context: ResolverContext): Array<ExcavatedLayer>;
|
|
48
|
+
/**
|
|
49
|
+
* Process boring velocity profile from boring element
|
|
50
|
+
*
|
|
51
|
+
* Series of (elapsed time, depth) points describing drilling progress.
|
|
52
|
+
*/
|
|
53
|
+
export declare function processBoringVelocity(_value: string | null, context: ResolverContext): Array<BoringVelocityMeasurement>;
|
|
54
|
+
/**
|
|
55
|
+
* Process fluid mud layer from document element
|
|
56
|
+
*
|
|
57
|
+
* Single optional fluid mud (slib) layer recorded at the borehole.
|
|
58
|
+
*/
|
|
59
|
+
export declare function processFluidMudLayer(_value: string | null, context: ResolverContext): FluidMudLayer | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Resolve an organisation identifier (KvK number, or European company
|
|
62
|
+
* registration number as a fallback) from an organisation element.
|
|
63
|
+
*/
|
|
64
|
+
export declare function resolveOrganisationId(_value: string | null, context: ResolverContext): string | null;
|
|
53
65
|
/**
|
|
54
66
|
* Process not described intervals from boreholeSampleDescription element
|
|
55
67
|
*
|
|
56
68
|
* Extracts array of intervals that were not described and the reason.
|
|
57
69
|
*/
|
|
58
70
|
export declare function processNotDescribedIntervals(_value: string | null, context: ResolverContext): Array<NotDescribedInterval>;
|
|
71
|
+
/**
|
|
72
|
+
* Process post-sedimentary discontinuities from the descriptive borehole log
|
|
73
|
+
*
|
|
74
|
+
* Fractures/fault planes crossing described intervals (e.g. in rock).
|
|
75
|
+
*/
|
|
76
|
+
export declare function processPostSedimentaryDiscontinuities(_value: string | null, context: ResolverContext): Array<PostSedimentaryDiscontinuity>;
|
|
59
77
|
/**
|
|
60
78
|
* Process registration history from document element
|
|
61
79
|
*
|
|
62
80
|
* Extracts BRO registration history information.
|
|
63
81
|
*/
|
|
64
|
-
export declare function processRegistrationHistory(_value: string | null, context: ResolverContext): RegistrationHistory | null;
|
|
65
82
|
/**
|
|
66
83
|
* Process report history from document element
|
|
67
84
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bore-resolvers.d.ts","sourceRoot":"","sources":["../../src/resolvers/bore-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,
|
|
1
|
+
{"version":3,"file":"bore-resolvers.d.ts","sourceRoot":"","sources":["../../src/resolvers/bore-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EAKV,4BAA4B,EAC5B,sBAAsB,EAiBtB,aAAa,EACb,eAAe,EAEf,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAuL3B;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,UAAU,CAAC,CA8DnB;AAyrCD;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,sBAAsB,GAAG,SAAS,CAqGpC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,aAAa,CAAC,CAgCtB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,eAAe,CAAC,CAiFxB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,iBAAiB,CAAC,CAoC1B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,cAAc,CAAC,CA8BvB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,yBAAyB,CAAC,CAiBlC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,aAAa,GAAG,SAAS,CAkB3B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,MAAM,GAAG,IAAI,CAOf;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,oBAAoB,CAAC,CA+B7B;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,4BAA4B,CAAC,CAoCrC;AAED;;;;GAIG;AAIH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,aAAa,GAAG,IAAI,CAyCtB"}
|