@bedrock-engineer/bro-xml-parser 0.2.0 → 0.4.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/README.md +21 -12
- package/dist/browser.d.ts +15 -5
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +7 -5
- package/dist/browser.js.map +1 -1
- package/dist/core/columns.d.ts +80 -0
- package/dist/core/columns.d.ts.map +1 -0
- package/dist/core/columns.js +100 -0
- package/dist/core/columns.js.map +1 -0
- package/dist/core/producer.d.ts +216 -0
- package/dist/core/producer.d.ts.map +1 -0
- package/dist/core/producer.js +85 -0
- package/dist/core/producer.js.map +1 -0
- package/dist/core/schema-parser.d.ts +41 -17
- package/dist/core/schema-parser.d.ts.map +1 -1
- package/dist/core/schema-parser.js +178 -73
- package/dist/core/schema-parser.js.map +1 -1
- package/dist/core/version-detector.d.ts +3 -1
- package/dist/core/version-detector.d.ts.map +1 -1
- package/dist/core/version-detector.js +37 -0
- package/dist/core/version-detector.js.map +1 -1
- package/dist/decoders/constants.d.ts +2 -0
- package/dist/decoders/constants.d.ts.map +1 -0
- package/dist/decoders/constants.js +2 -0
- package/dist/decoders/constants.js.map +1 -0
- package/dist/decoders/type-decoders.d.ts +38 -0
- package/dist/decoders/type-decoders.d.ts.map +1 -0
- package/dist/decoders/type-decoders.js +134 -0
- package/dist/decoders/type-decoders.js.map +1 -0
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +16 -0
- package/dist/namespaces.js.map +1 -1
- package/dist/node.d.ts +15 -5
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +7 -5
- package/dist/node.js.map +1 -1
- package/dist/parser.d.ts +69 -19
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +103 -29
- package/dist/parser.js.map +1 -1
- package/dist/producers.d.ts +36 -0
- package/dist/producers.d.ts.map +1 -0
- package/dist/producers.js +35 -0
- package/dist/producers.js.map +1 -0
- 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/gld-resolvers.d.ts +30 -0
- package/dist/resolvers/gld-resolvers.d.ts.map +1 -0
- package/dist/resolvers/gld-resolvers.js +76 -0
- package/dist/resolvers/gld-resolvers.js.map +1 -0
- package/dist/resolvers/gmw-resolvers.d.ts +37 -0
- package/dist/resolvers/gmw-resolvers.d.ts.map +1 -0
- package/dist/resolvers/gmw-resolvers.js +101 -0
- package/dist/resolvers/gmw-resolvers.js.map +1 -0
- 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 +5 -2
- package/dist/resolvers.d.ts.map +1 -1
- package/dist/resolvers.js +8 -2
- package/dist/resolvers.js.map +1 -1
- package/dist/schema-presets.d.ts +67 -16
- package/dist/schema-presets.d.ts.map +1 -1
- package/dist/schema-presets.js +51 -114
- package/dist/schema-presets.js.map +1 -1
- package/dist/schemas/bhrg-schema.d.ts +528 -9
- package/dist/schemas/bhrg-schema.d.ts.map +1 -1
- package/dist/schemas/bhrg-schema.js +330 -162
- package/dist/schemas/bhrg-schema.js.map +1 -1
- package/dist/schemas/bhrgt-analysis.d.ts +1057 -0
- package/dist/schemas/bhrgt-analysis.d.ts.map +1 -0
- package/dist/schemas/bhrgt-analysis.js +454 -0
- package/dist/schemas/bhrgt-analysis.js.map +1 -0
- package/dist/schemas/bore-schema.d.ts +773 -9
- package/dist/schemas/bore-schema.d.ts.map +1 -1
- package/dist/schemas/bore-schema.js +344 -257
- package/dist/schemas/bore-schema.js.map +1 -1
- package/dist/schemas/common-fields.d.ts +61 -0
- package/dist/schemas/common-fields.d.ts.map +1 -0
- package/dist/schemas/common-fields.js +82 -0
- package/dist/schemas/common-fields.js.map +1 -0
- package/dist/schemas/cpt-schema.d.ts +126 -9
- package/dist/schemas/cpt-schema.d.ts.map +1 -1
- package/dist/schemas/cpt-schema.js +182 -275
- package/dist/schemas/cpt-schema.js.map +1 -1
- package/dist/schemas/generated/gld.generated.d.ts +9 -0
- package/dist/schemas/generated/gld.generated.d.ts.map +1 -0
- package/dist/schemas/generated/gld.generated.js +19 -0
- package/dist/schemas/generated/gld.generated.js.map +1 -0
- package/dist/schemas/gld-schema.d.ts +92 -0
- package/dist/schemas/gld-schema.d.ts.map +1 -0
- package/dist/schemas/gld-schema.js +88 -0
- package/dist/schemas/gld-schema.js.map +1 -0
- package/dist/schemas/gmw-schema.d.ts +180 -0
- package/dist/schemas/gmw-schema.d.ts.map +1 -0
- package/dist/schemas/gmw-schema.js +131 -0
- package/dist/schemas/gmw-schema.js.map +1 -0
- package/dist/types/index.d.ts +51 -1005
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +3 -2
package/dist/resolvers.d.ts
CHANGED
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
export { parseFloat, parseInt, parseBoolean, parseDate, parseQualityClass, } from "./resolvers/type-resolvers.js";
|
|
28
28
|
export { parseGMLLocation } from "./resolvers/gml-resolvers.js";
|
|
29
29
|
export { processCPTResult } from "./resolvers/measurement-resolver.js";
|
|
30
|
-
export { processBHRGTLayerData, processBoreholeSampleAnalysis, processBoredIntervals, processSampledIntervals, processCompletedIntervals, processNotDescribedIntervals,
|
|
31
|
-
export {
|
|
30
|
+
export { processBHRGTLayerData, processBoreholeSampleAnalysis, processBoredIntervals, processSampledIntervals, processCompletedIntervals, processNotDescribedIntervals, processReportHistory, } from "./resolvers/bore-resolvers.js";
|
|
31
|
+
export { processRegistrationHistory } from "./resolvers/bore-resolver-utils.js";
|
|
32
|
+
export { processBHRGLayerData, processBHRGBoredIntervals, processBHRGSampledIntervals, processBHRGReportHistory, } from "./resolvers/bhrg-resolvers.js";
|
|
33
|
+
export { processMonitoringTubes, processIntermediateEvents, processSurveyBoreholeResearchIds, } from "./resolvers/gmw-resolvers.js";
|
|
34
|
+
export { processMonitoringPoint, processMonitoringNets, processObservations, } from "./resolvers/gld-resolvers.js";
|
|
32
35
|
//# sourceMappingURL=resolvers.d.ts.map
|
package/dist/resolvers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC"}
|
package/dist/resolvers.js
CHANGED
|
@@ -31,7 +31,13 @@ export { parseGMLLocation } from "./resolvers/gml-resolvers.js";
|
|
|
31
31
|
// Re-export measurement resolvers
|
|
32
32
|
export { processCPTResult } from "./resolvers/measurement-resolver.js";
|
|
33
33
|
// Re-export bore resolvers (BHR-GT)
|
|
34
|
-
export { processBHRGTLayerData, processBoreholeSampleAnalysis, processBoredIntervals, processSampledIntervals, processCompletedIntervals, processNotDescribedIntervals,
|
|
34
|
+
export { processBHRGTLayerData, processBoreholeSampleAnalysis, processBoredIntervals, processSampledIntervals, processCompletedIntervals, processNotDescribedIntervals, processReportHistory, } from "./resolvers/bore-resolvers.js";
|
|
35
|
+
// Registration history is shared across all registration types.
|
|
36
|
+
export { processRegistrationHistory } from "./resolvers/bore-resolver-utils.js";
|
|
35
37
|
// Re-export BHR-G resolvers
|
|
36
|
-
export { processBHRGLayerData, processBHRGBoredIntervals, processBHRGSampledIntervals,
|
|
38
|
+
export { processBHRGLayerData, processBHRGBoredIntervals, processBHRGSampledIntervals, processBHRGReportHistory, } from "./resolvers/bhrg-resolvers.js";
|
|
39
|
+
// Re-export GMW resolvers
|
|
40
|
+
export { processMonitoringTubes, processIntermediateEvents, processSurveyBoreholeResearchIds, } from "./resolvers/gmw-resolvers.js";
|
|
41
|
+
// Re-export GLD resolvers
|
|
42
|
+
export { processMonitoringPoint, processMonitoringNets, processObservations, } from "./resolvers/gld-resolvers.js";
|
|
37
43
|
//# sourceMappingURL=resolvers.js.map
|
package/dist/resolvers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,2BAA2B;AAC3B,OAAO,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAEvC,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,kCAAkC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,oCAAoC;AACpC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,2BAA2B;AAC3B,OAAO,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAEvC,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,kCAAkC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,oCAAoC;AACpC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAEvC,gEAAgE;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,4BAA4B;AAC5B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAEvC,0BAA0B;AAC1B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,8BAA8B,CAAC;AAEtC,0BAA0B;AAC1B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC"}
|
package/dist/schema-presets.d.ts
CHANGED
|
@@ -1,59 +1,110 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Schema presets for common extraction patterns
|
|
2
|
+
* Schema presets for common extraction patterns.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Each preset is a bare map of field name → {@link Producer}, built from the
|
|
5
|
+
* `producers` authoring surface. Pass one to {@link BROParser.parseCustom}; the
|
|
6
|
+
* return type is inferred from the map (each field's producer output type, plus
|
|
7
|
+
* `meta`). Presets can be used directly or spread into a larger custom map.
|
|
5
8
|
*
|
|
6
9
|
* @example
|
|
7
10
|
* ```typescript
|
|
8
|
-
* import { BROParser, presets } from '@bedrock-engineer/bro-xml';
|
|
11
|
+
* import { BROParser, presets, producers as p } from '@bedrock-engineer/bro-xml';
|
|
9
12
|
*
|
|
10
13
|
* const parser = new BROParser(new XMLAdapter());
|
|
11
14
|
*
|
|
12
15
|
* // Use a preset directly
|
|
13
16
|
* const locationData = parser.parseCustom(xml, presets.CPT_LOCATION_ONLY, 'CPT');
|
|
17
|
+
* locationData.deliveredLocation; // Location | null — inferred
|
|
14
18
|
*
|
|
15
19
|
* // Or extend a preset
|
|
16
|
-
* const
|
|
20
|
+
* const result = parser.parseCustom(xml, {
|
|
17
21
|
* ...presets.CPT_METADATA_ONLY,
|
|
18
|
-
* customField:
|
|
19
|
-
* };
|
|
22
|
+
* customField: p.text('./my/custom/path'),
|
|
23
|
+
* }, 'CPT');
|
|
20
24
|
* ```
|
|
21
25
|
*/
|
|
22
|
-
import type { Schema } from "./types/index.js";
|
|
23
26
|
/**
|
|
24
27
|
* CPT: Just the BRO ID and quality regime
|
|
25
28
|
*/
|
|
26
|
-
export declare const CPT_ID_ONLY:
|
|
29
|
+
export declare const CPT_ID_ONLY: {
|
|
30
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
31
|
+
qualityRegime: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
32
|
+
};
|
|
27
33
|
/**
|
|
28
34
|
* CPT: Location data only (delivered and standardized coordinates)
|
|
29
35
|
*/
|
|
30
|
-
export declare const CPT_LOCATION_ONLY:
|
|
36
|
+
export declare const CPT_LOCATION_ONLY: {
|
|
37
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
38
|
+
deliveredLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
39
|
+
standardizedLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
40
|
+
deliveredVerticalPositionOffset: import("./core/producer.js").ScalarProducer<number | null, "optional">;
|
|
41
|
+
};
|
|
31
42
|
/**
|
|
32
43
|
* CPT: Basic metadata without measurement data
|
|
33
44
|
*/
|
|
34
|
-
export declare const CPT_METADATA_ONLY:
|
|
45
|
+
export declare const CPT_METADATA_ONLY: {
|
|
46
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
47
|
+
qualityRegime: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
48
|
+
researchReportDate: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
49
|
+
deliveredLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
50
|
+
cptStandard: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
51
|
+
qualityClass: import("./core/producer.js").ScalarProducer<number | null, "optional">;
|
|
52
|
+
finalDepth: import("./core/producer.js").ScalarProducer<number | null, "optional">;
|
|
53
|
+
};
|
|
35
54
|
/**
|
|
36
55
|
* BHR-GT: Just the BRO ID and quality regime
|
|
37
56
|
*/
|
|
38
|
-
export declare const BORE_ID_ONLY:
|
|
57
|
+
export declare const BORE_ID_ONLY: {
|
|
58
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
59
|
+
qualityRegime: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
60
|
+
};
|
|
39
61
|
/**
|
|
40
62
|
* BHR-GT: Location data only
|
|
41
63
|
*/
|
|
42
|
-
export declare const BORE_LOCATION_ONLY:
|
|
64
|
+
export declare const BORE_LOCATION_ONLY: {
|
|
65
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
66
|
+
deliveredLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
67
|
+
standardizedLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
68
|
+
deliveredVerticalPositionOffset: import("./core/producer.js").ScalarProducer<number | null, "optional">;
|
|
69
|
+
};
|
|
43
70
|
/**
|
|
44
71
|
* BHR-GT: Basic metadata without layer data
|
|
45
72
|
*/
|
|
46
|
-
export declare const BORE_METADATA_ONLY:
|
|
73
|
+
export declare const BORE_METADATA_ONLY: {
|
|
74
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
75
|
+
qualityRegime: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
76
|
+
researchReportDate: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
77
|
+
deliveredLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
78
|
+
descriptionProcedure: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
79
|
+
finalBoreDepth: import("./core/producer.js").ScalarProducer<number | null, "optional">;
|
|
80
|
+
boreRockReached: import("./core/producer.js").ScalarProducer<boolean | null, "optional">;
|
|
81
|
+
};
|
|
47
82
|
/**
|
|
48
83
|
* BHR-G: Just the BRO ID and quality regime
|
|
49
84
|
*/
|
|
50
|
-
export declare const BHRG_ID_ONLY:
|
|
85
|
+
export declare const BHRG_ID_ONLY: {
|
|
86
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
87
|
+
qualityRegime: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
88
|
+
};
|
|
51
89
|
/**
|
|
52
90
|
* BHR-G: Location data only
|
|
53
91
|
*/
|
|
54
|
-
export declare const BHRG_LOCATION_ONLY:
|
|
92
|
+
export declare const BHRG_LOCATION_ONLY: {
|
|
93
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
94
|
+
deliveredLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
95
|
+
standardizedLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
96
|
+
deliveredVerticalPositionOffset: import("./core/producer.js").ScalarProducer<number | null, "optional">;
|
|
97
|
+
};
|
|
55
98
|
/**
|
|
56
99
|
* BHR-G: Basic metadata without layer data
|
|
57
100
|
*/
|
|
58
|
-
export declare const BHRG_METADATA_ONLY:
|
|
101
|
+
export declare const BHRG_METADATA_ONLY: {
|
|
102
|
+
broId: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
103
|
+
qualityRegime: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
104
|
+
researchReportDate: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
105
|
+
deliveredLocation: import("./core/producer.js").CustomProducer<import("./browser.js").Location | null, "optional">;
|
|
106
|
+
descriptionProcedure: import("./core/producer.js").ScalarProducer<string | null, "optional">;
|
|
107
|
+
finalBoreDepth: import("./core/producer.js").ScalarProducer<number | null, "optional">;
|
|
108
|
+
boreRockReached: import("./core/producer.js").ScalarProducer<boolean | null, "optional">;
|
|
109
|
+
};
|
|
59
110
|
//# sourceMappingURL=schema-presets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-presets.d.ts","sourceRoot":"","sources":["../src/schema-presets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema-presets.d.ts","sourceRoot":"","sources":["../src/schema-presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AASH;;GAEG;AACH,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;CAK7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAQ7B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAGxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;CAQ9B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAGxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;CAU9B,CAAC"}
|
package/dist/schema-presets.js
CHANGED
|
@@ -1,26 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Schema presets for common extraction patterns
|
|
2
|
+
* Schema presets for common extraction patterns.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Each preset is a bare map of field name → {@link Producer}, built from the
|
|
5
|
+
* `producers` authoring surface. Pass one to {@link BROParser.parseCustom}; the
|
|
6
|
+
* return type is inferred from the map (each field's producer output type, plus
|
|
7
|
+
* `meta`). Presets can be used directly or spread into a larger custom map.
|
|
5
8
|
*
|
|
6
9
|
* @example
|
|
7
10
|
* ```typescript
|
|
8
|
-
* import { BROParser, presets } from '@bedrock-engineer/bro-xml';
|
|
11
|
+
* import { BROParser, presets, producers as p } from '@bedrock-engineer/bro-xml';
|
|
9
12
|
*
|
|
10
13
|
* const parser = new BROParser(new XMLAdapter());
|
|
11
14
|
*
|
|
12
15
|
* // Use a preset directly
|
|
13
16
|
* const locationData = parser.parseCustom(xml, presets.CPT_LOCATION_ONLY, 'CPT');
|
|
17
|
+
* locationData.deliveredLocation; // Location | null — inferred
|
|
14
18
|
*
|
|
15
19
|
* // Or extend a preset
|
|
16
|
-
* const
|
|
20
|
+
* const result = parser.parseCustom(xml, {
|
|
17
21
|
* ...presets.CPT_METADATA_ONLY,
|
|
18
|
-
* customField:
|
|
19
|
-
* };
|
|
22
|
+
* customField: p.text('./my/custom/path'),
|
|
23
|
+
* }, 'CPT');
|
|
20
24
|
* ```
|
|
21
25
|
*/
|
|
22
|
-
import
|
|
23
|
-
import
|
|
26
|
+
import { text, number_, date, boolean_, qualityClass } from "./core/producer.js";
|
|
27
|
+
import { gmlLocation } from "./schemas/common-fields.js";
|
|
24
28
|
// ============================================================================
|
|
25
29
|
// CPT Presets
|
|
26
30
|
// ============================================================================
|
|
@@ -28,50 +32,29 @@ import * as gmlResolvers from "./resolvers/gml-resolvers.js";
|
|
|
28
32
|
* CPT: Just the BRO ID and quality regime
|
|
29
33
|
*/
|
|
30
34
|
export const CPT_ID_ONLY = {
|
|
31
|
-
broId:
|
|
32
|
-
qualityRegime:
|
|
35
|
+
broId: text("brocom:broId"),
|
|
36
|
+
qualityRegime: text("brocom:qualityRegime"),
|
|
33
37
|
};
|
|
34
38
|
/**
|
|
35
39
|
* CPT: Location data only (delivered and standardized coordinates)
|
|
36
40
|
*/
|
|
37
41
|
export const CPT_LOCATION_ONLY = {
|
|
38
|
-
broId:
|
|
39
|
-
deliveredLocation:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
standardizedLocation: {
|
|
44
|
-
xpath: "./dscpt:standardizedLocation/brocom:location",
|
|
45
|
-
resolver: gmlResolvers.parseGMLLocation,
|
|
46
|
-
},
|
|
47
|
-
deliveredVerticalPositionOffset: {
|
|
48
|
-
xpath: "./dscpt:deliveredVerticalPosition/cptcommon:offset",
|
|
49
|
-
resolver: typeResolvers.parseFloat,
|
|
50
|
-
},
|
|
42
|
+
broId: text("brocom:broId"),
|
|
43
|
+
deliveredLocation: gmlLocation("./dscpt:deliveredLocation/cptcommon:location"),
|
|
44
|
+
standardizedLocation: gmlLocation("./dscpt:standardizedLocation/brocom:location"),
|
|
45
|
+
deliveredVerticalPositionOffset: number_("./dscpt:deliveredVerticalPosition/cptcommon:offset"),
|
|
51
46
|
};
|
|
52
47
|
/**
|
|
53
48
|
* CPT: Basic metadata without measurement data
|
|
54
49
|
*/
|
|
55
50
|
export const CPT_METADATA_ONLY = {
|
|
56
|
-
broId:
|
|
57
|
-
qualityRegime:
|
|
58
|
-
researchReportDate:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
xpath: "./dscpt:deliveredLocation/cptcommon:location",
|
|
64
|
-
resolver: gmlResolvers.parseGMLLocation,
|
|
65
|
-
},
|
|
66
|
-
cptStandard: { xpath: "./dscpt:cptStandard" },
|
|
67
|
-
qualityClass: {
|
|
68
|
-
xpath: "./dscpt:conePenetrometerSurvey/cptcommon:qualityClass",
|
|
69
|
-
resolver: typeResolvers.parseQualityClass,
|
|
70
|
-
},
|
|
71
|
-
finalDepth: {
|
|
72
|
-
xpath: "./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:finalDepth",
|
|
73
|
-
resolver: typeResolvers.parseFloat,
|
|
74
|
-
},
|
|
51
|
+
broId: text("brocom:broId"),
|
|
52
|
+
qualityRegime: text("brocom:qualityRegime"),
|
|
53
|
+
researchReportDate: date("./dscpt:researchReportDate"),
|
|
54
|
+
deliveredLocation: gmlLocation("./dscpt:deliveredLocation/cptcommon:location"),
|
|
55
|
+
cptStandard: text("./dscpt:cptStandard"),
|
|
56
|
+
qualityClass: qualityClass("./dscpt:conePenetrometerSurvey/cptcommon:qualityClass"),
|
|
57
|
+
finalDepth: number_("./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:finalDepth"),
|
|
75
58
|
};
|
|
76
59
|
// ============================================================================
|
|
77
60
|
// BHR-GT (Geotechnical Borehole) Presets
|
|
@@ -80,52 +63,29 @@ export const CPT_METADATA_ONLY = {
|
|
|
80
63
|
* BHR-GT: Just the BRO ID and quality regime
|
|
81
64
|
*/
|
|
82
65
|
export const BORE_ID_ONLY = {
|
|
83
|
-
broId:
|
|
84
|
-
qualityRegime:
|
|
66
|
+
broId: text("brocom:broId"),
|
|
67
|
+
qualityRegime: text("brocom:qualityRegime"),
|
|
85
68
|
};
|
|
86
69
|
/**
|
|
87
70
|
* BHR-GT: Location data only
|
|
88
71
|
*/
|
|
89
72
|
export const BORE_LOCATION_ONLY = {
|
|
90
|
-
broId:
|
|
91
|
-
deliveredLocation:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
},
|
|
95
|
-
standardizedLocation: {
|
|
96
|
-
xpath: "./dsbhrgt:standardizedLocation/brocom:location",
|
|
97
|
-
resolver: gmlResolvers.parseGMLLocation,
|
|
98
|
-
},
|
|
99
|
-
deliveredVerticalPositionOffset: {
|
|
100
|
-
xpath: "./dsbhrgt:deliveredVerticalPosition/bhrgtcom:offset",
|
|
101
|
-
resolver: typeResolvers.parseFloat,
|
|
102
|
-
},
|
|
73
|
+
broId: text("brocom:broId"),
|
|
74
|
+
deliveredLocation: gmlLocation("./dsbhrgt:deliveredLocation/bhrgtcom:location"),
|
|
75
|
+
standardizedLocation: gmlLocation("./dsbhrgt:standardizedLocation/brocom:location"),
|
|
76
|
+
deliveredVerticalPositionOffset: number_("./dsbhrgt:deliveredVerticalPosition/bhrgtcom:offset"),
|
|
103
77
|
};
|
|
104
78
|
/**
|
|
105
79
|
* BHR-GT: Basic metadata without layer data
|
|
106
80
|
*/
|
|
107
81
|
export const BORE_METADATA_ONLY = {
|
|
108
|
-
broId:
|
|
109
|
-
qualityRegime:
|
|
110
|
-
researchReportDate:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
xpath: "./dsbhrgt:deliveredLocation/bhrgtcom:location",
|
|
116
|
-
resolver: gmlResolvers.parseGMLLocation,
|
|
117
|
-
},
|
|
118
|
-
descriptionProcedure: {
|
|
119
|
-
xpath: "./dsbhrgt:boreholeSampleDescription/bhrgtcom:descriptionProcedure",
|
|
120
|
-
},
|
|
121
|
-
finalBoreDepth: {
|
|
122
|
-
xpath: "./dsbhrgt:boring/bhrgtcom:finalDepthBoring",
|
|
123
|
-
resolver: typeResolvers.parseFloat,
|
|
124
|
-
},
|
|
125
|
-
boreRockReached: {
|
|
126
|
-
xpath: "./dsbhrgt:boring/bhrgtcom:rockReached",
|
|
127
|
-
resolver: typeResolvers.parseBoolean,
|
|
128
|
-
},
|
|
82
|
+
broId: text("brocom:broId"),
|
|
83
|
+
qualityRegime: text("brocom:qualityRegime"),
|
|
84
|
+
researchReportDate: date("./dsbhrgt:reportHistory/dsbhrgt:reportStartDate"),
|
|
85
|
+
deliveredLocation: gmlLocation("./dsbhrgt:deliveredLocation/bhrgtcom:location"),
|
|
86
|
+
descriptionProcedure: text("./dsbhrgt:boreholeSampleDescription/bhrgtcom:descriptionProcedure"),
|
|
87
|
+
finalBoreDepth: number_("./dsbhrgt:boring/bhrgtcom:finalDepthBoring"),
|
|
88
|
+
boreRockReached: boolean_("./dsbhrgt:boring/bhrgtcom:rockReached"),
|
|
129
89
|
};
|
|
130
90
|
// ============================================================================
|
|
131
91
|
// BHR-G (Geological Borehole) Presets
|
|
@@ -134,51 +94,28 @@ export const BORE_METADATA_ONLY = {
|
|
|
134
94
|
* BHR-G: Just the BRO ID and quality regime
|
|
135
95
|
*/
|
|
136
96
|
export const BHRG_ID_ONLY = {
|
|
137
|
-
broId:
|
|
138
|
-
qualityRegime:
|
|
97
|
+
broId: text("brocom:broId"),
|
|
98
|
+
qualityRegime: text("brocom:qualityRegime"),
|
|
139
99
|
};
|
|
140
100
|
/**
|
|
141
101
|
* BHR-G: Location data only
|
|
142
102
|
*/
|
|
143
103
|
export const BHRG_LOCATION_ONLY = {
|
|
144
|
-
broId:
|
|
145
|
-
deliveredLocation:
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
},
|
|
149
|
-
standardizedLocation: {
|
|
150
|
-
xpath: "./dsbhrg:standardizedLocation/brocom:location",
|
|
151
|
-
resolver: gmlResolvers.parseGMLLocation,
|
|
152
|
-
},
|
|
153
|
-
deliveredVerticalPositionOffset: {
|
|
154
|
-
xpath: "./dsbhrg:deliveredVerticalPosition/bhrgcom:offset",
|
|
155
|
-
resolver: typeResolvers.parseFloat,
|
|
156
|
-
},
|
|
104
|
+
broId: text("brocom:broId"),
|
|
105
|
+
deliveredLocation: gmlLocation("./dsbhrg:deliveredLocation/bhrgcom:location"),
|
|
106
|
+
standardizedLocation: gmlLocation("./dsbhrg:standardizedLocation/brocom:location"),
|
|
107
|
+
deliveredVerticalPositionOffset: number_("./dsbhrg:deliveredVerticalPosition/bhrgcom:offset"),
|
|
157
108
|
};
|
|
158
109
|
/**
|
|
159
110
|
* BHR-G: Basic metadata without layer data
|
|
160
111
|
*/
|
|
161
112
|
export const BHRG_METADATA_ONLY = {
|
|
162
|
-
broId:
|
|
163
|
-
qualityRegime:
|
|
164
|
-
researchReportDate:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
xpath: "./dsbhrg:deliveredLocation/bhrgcom:location",
|
|
170
|
-
resolver: gmlResolvers.parseGMLLocation,
|
|
171
|
-
},
|
|
172
|
-
descriptionProcedure: {
|
|
173
|
-
xpath: "./dsbhrg:boreholeSampleDescription/bhrgcom:BoreholeSampleDescription/bhrgcom:descriptionProcedure",
|
|
174
|
-
},
|
|
175
|
-
finalBoreDepth: {
|
|
176
|
-
xpath: "./dsbhrg:boring/bhrgcom:Boring/bhrgcom:finalDepthBoring",
|
|
177
|
-
resolver: typeResolvers.parseFloat,
|
|
178
|
-
},
|
|
179
|
-
boreRockReached: {
|
|
180
|
-
xpath: "./dsbhrg:boring/bhrgcom:Boring/bhrgcom:rockReached",
|
|
181
|
-
resolver: typeResolvers.parseBoolean,
|
|
182
|
-
},
|
|
113
|
+
broId: text("brocom:broId"),
|
|
114
|
+
qualityRegime: text("brocom:qualityRegime"),
|
|
115
|
+
researchReportDate: date("./dsbhrg:researchReportDate"),
|
|
116
|
+
deliveredLocation: gmlLocation("./dsbhrg:deliveredLocation/bhrgcom:location"),
|
|
117
|
+
descriptionProcedure: text("./dsbhrg:boreholeSampleDescription/bhrgcom:BoreholeSampleDescription/bhrgcom:descriptionProcedure"),
|
|
118
|
+
finalBoreDepth: number_("./dsbhrg:boring/bhrgcom:Boring/bhrgcom:finalDepthBoring"),
|
|
119
|
+
boreRockReached: boolean_("./dsbhrg:boring/bhrgcom:Boring/bhrgcom:rockReached"),
|
|
183
120
|
};
|
|
184
121
|
//# sourceMappingURL=schema-presets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-presets.js","sourceRoot":"","sources":["../src/schema-presets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema-presets.js","sourceRoot":"","sources":["../src/schema-presets.ts"],"names":[],"mappings":"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"}
|