@bedrock-engineer/bro-xml-parser 0.4.0 → 0.5.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 +3 -3
- package/dist/core/producer.d.ts +3 -3
- package/dist/core/producer.d.ts.map +1 -1
- package/dist/core/producer.js +3 -3
- package/dist/core/producer.js.map +1 -1
- package/dist/parser.d.ts +1 -1
- package/dist/parser.js +3 -3
- package/dist/parser.js.map +1 -1
- package/dist/producers.d.ts +4 -4
- package/dist/producers.d.ts.map +1 -1
- package/dist/producers.js +4 -4
- package/dist/producers.js.map +1 -1
- package/dist/schema-presets.js +9 -9
- package/dist/schema-presets.js.map +1 -1
- package/dist/schemas/bhrg-schema.js +54 -54
- package/dist/schemas/bhrg-schema.js.map +1 -1
- package/dist/schemas/bhrgt-analysis.js +122 -122
- package/dist/schemas/bhrgt-analysis.js.map +1 -1
- package/dist/schemas/bore-schema.js +83 -83
- package/dist/schemas/bore-schema.js.map +1 -1
- package/dist/schemas/common-fields.js +6 -6
- package/dist/schemas/common-fields.js.map +1 -1
- package/dist/schemas/cpt-schema.js +31 -31
- package/dist/schemas/cpt-schema.js.map +1 -1
- package/dist/schemas/gld-schema.js +6 -6
- package/dist/schemas/gld-schema.js.map +1 -1
- package/dist/schemas/gmw-schema.js +26 -26
- package/dist/schemas/gmw-schema.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -73,7 +73,7 @@ const result = parser.parseCustom(
|
|
|
73
73
|
xmlText,
|
|
74
74
|
{
|
|
75
75
|
id: p.text("brocom:broId"),
|
|
76
|
-
depth: p.
|
|
76
|
+
depth: p.number(".//cptcommon:finalDepth"),
|
|
77
77
|
location: p.gmlLocation("./dscpt:deliveredLocation/cptcommon:location"),
|
|
78
78
|
},
|
|
79
79
|
"CPT",
|
|
@@ -82,8 +82,8 @@ const result = parser.parseCustom(
|
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
The `producers` namespace carries every building block the library uses internally:
|
|
85
|
-
scalar combinators (`text`, `
|
|
86
|
-
structural combinators (`
|
|
85
|
+
scalar combinators (`text`, `number`, `integer`, `date`, `boolean`, `qualityClass`),
|
|
86
|
+
structural combinators (`object`, `array`, `oneOf`, `custom`), the domain helpers
|
|
87
87
|
(`gmlLocation`, `columns`), and the shared field-maps (`COMMON_REGISTRATION_PRODUCERS`,
|
|
88
88
|
`REGISTRATION_HISTORY`) you can spread into a schema.
|
|
89
89
|
|
package/dist/core/producer.d.ts
CHANGED
|
@@ -158,15 +158,15 @@ export declare function text<P extends Presence = "optional">(at?: string, opts?
|
|
|
158
158
|
/** Precision-preserving ISO date/dateTime string (`string | null`). */
|
|
159
159
|
export declare function date<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): ScalarProducer<string | null, P>;
|
|
160
160
|
/** Decimal number (`number | null`). */
|
|
161
|
-
export declare function
|
|
161
|
+
export declare function number<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): ScalarProducer<number | null, P>;
|
|
162
162
|
/** Integer (`number | null`). */
|
|
163
163
|
export declare function integer<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): ScalarProducer<number | null, P>;
|
|
164
164
|
/** Boolean (`boolean | null`), understanding BRO's `ja`/`nee`. */
|
|
165
|
-
export declare function
|
|
165
|
+
export declare function boolean<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): ScalarProducer<boolean | null, P>;
|
|
166
166
|
/** BRO quality class (`number | null`), understanding `"klasse2"` and `"2"`. */
|
|
167
167
|
export declare function qualityClass<P extends Presence = "optional">(at?: string, opts?: LeafOpts<P>): ScalarProducer<number | null, P>;
|
|
168
168
|
/** A fixed set of named fields. Output type is inferred from `fields`. */
|
|
169
|
-
export declare function
|
|
169
|
+
export declare function object<F extends Record<string, Producer<unknown, Presence>>, P extends Presence = "optional">(opts: {
|
|
170
170
|
fields: F;
|
|
171
171
|
presence?: P;
|
|
172
172
|
} & BaseMeta): ObjectProducer<ProducedFields<F>, P>;
|
|
@@ -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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"}
|
package/dist/core/producer.js
CHANGED
|
@@ -39,7 +39,7 @@ export function date(at, opts = {}) {
|
|
|
39
39
|
return leaf(parseDate, at, opts);
|
|
40
40
|
}
|
|
41
41
|
/** Decimal number (`number | null`). */
|
|
42
|
-
export function
|
|
42
|
+
export function number(at, opts = {}) {
|
|
43
43
|
return leaf(parseFloat, at, opts);
|
|
44
44
|
}
|
|
45
45
|
/** Integer (`number | null`). */
|
|
@@ -47,7 +47,7 @@ export function integer(at, opts = {}) {
|
|
|
47
47
|
return leaf(parseInt, at, opts);
|
|
48
48
|
}
|
|
49
49
|
/** Boolean (`boolean | null`), understanding BRO's `ja`/`nee`. */
|
|
50
|
-
export function
|
|
50
|
+
export function boolean(at, opts = {}) {
|
|
51
51
|
return leaf(parseBoolean, at, opts);
|
|
52
52
|
}
|
|
53
53
|
/** BRO quality class (`number | null`), understanding `"klasse2"` and `"2"`. */
|
|
@@ -55,7 +55,7 @@ export function qualityClass(at, opts = {}) {
|
|
|
55
55
|
return leaf(parseQualityClass, at, opts);
|
|
56
56
|
}
|
|
57
57
|
/** A fixed set of named fields. Output type is inferred from `fields`. */
|
|
58
|
-
export function
|
|
58
|
+
export function object(opts) {
|
|
59
59
|
const { fields, ...meta } = opts;
|
|
60
60
|
return { kind: "object", fields, ...meta };
|
|
61
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"producer.js","sourceRoot":"","sources":["../../src/core/producer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAkJtC,gDAAgD;AAChD,MAAM,UAAU,MAAM,CACpB,IAAsB;IAEtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAS,IAAI,CACX,MAAiC,EACjC,EAAsB,EACtB,IAAiB;IAEjB,OAAO,MAAM,CAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,IAAI,CAClB,EAAW,EACX,OAAoB,EAAE;IAEtB,OAAO,IAAI,CAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,IAAI,CAClB,EAAW,EACX,OAAoB,EAAE;IAEtB,OAAO,IAAI,CAAmB,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"producer.js","sourceRoot":"","sources":["../../src/core/producer.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.ts
CHANGED
|
@@ -210,7 +210,7 @@ export declare class BROParser {
|
|
|
210
210
|
* // Define only the fields you need
|
|
211
211
|
* const result = parser.parseCustom(xmlText, {
|
|
212
212
|
* id: p.text('brocom:broId'), // string | null
|
|
213
|
-
* depth: p.
|
|
213
|
+
* depth: p.number('./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:finalDepth'),
|
|
214
214
|
* location: p.gmlLocation('./dscpt:deliveredLocation/cptcommon:location'),
|
|
215
215
|
* }, 'CPT');
|
|
216
216
|
*
|
package/dist/parser.js
CHANGED
|
@@ -14,7 +14,7 @@ import { GMW_PRODUCER } from "./schemas/gmw-schema.js";
|
|
|
14
14
|
import { GLD_PRODUCER } from "./schemas/gld-schema.js";
|
|
15
15
|
import { BRO_NAMESPACES } from "./namespaces.js";
|
|
16
16
|
import { BROParseError } from "./types/index.js";
|
|
17
|
-
import {
|
|
17
|
+
import { object } from "./core/producer.js";
|
|
18
18
|
/**
|
|
19
19
|
* Main BRO Parser class
|
|
20
20
|
*
|
|
@@ -287,7 +287,7 @@ export class BROParser {
|
|
|
287
287
|
* // Define only the fields you need
|
|
288
288
|
* const result = parser.parseCustom(xmlText, {
|
|
289
289
|
* id: p.text('brocom:broId'), // string | null
|
|
290
|
-
* depth: p.
|
|
290
|
+
* depth: p.number('./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:finalDepth'),
|
|
291
291
|
* location: p.gmlLocation('./dscpt:deliveredLocation/cptcommon:location'),
|
|
292
292
|
* }, 'CPT');
|
|
293
293
|
*
|
|
@@ -319,7 +319,7 @@ export class BROParser {
|
|
|
319
319
|
};
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
|
-
const { value, warnings } = this.parser.produce(doc,
|
|
322
|
+
const { value, warnings } = this.parser.produce(doc, object({ fields }), "dispatchDocument");
|
|
323
323
|
meta.warnings.push(...warnings);
|
|
324
324
|
return { meta, ...value };
|
|
325
325
|
}
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,cAAc,GAEf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAajD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/producers.d.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* One import carrying every building block the library uses internally to
|
|
5
5
|
* describe how an XML node becomes a typed value:
|
|
6
6
|
*
|
|
7
|
-
* - the leaf combinators (`text`, `date`, `
|
|
8
|
-
* `qualityClass`) and the structural combinators (`
|
|
7
|
+
* - the leaf combinators (`text`, `date`, `number`, `integer`, `boolean`,
|
|
8
|
+
* `qualityClass`) and the structural combinators (`object`, `array`,
|
|
9
9
|
* `oneOf`, and the `custom` / `scalar` escape hatches),
|
|
10
10
|
* - the domain helpers `gmlLocation` (GML `Point` → {@link Location}) and
|
|
11
11
|
* `columns` / `col` (BRO's column time-series CSVs),
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
* const parser = new BROParser(new XMLAdapter());
|
|
23
23
|
* const result = parser.parseCustom(xml, {
|
|
24
24
|
* ...p.COMMON_REGISTRATION_PRODUCERS,
|
|
25
|
-
* depth: p.
|
|
25
|
+
* depth: p.number("./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:finalDepth"),
|
|
26
26
|
* location: p.gmlLocation("./dscpt:deliveredLocation/cptcommon:location"),
|
|
27
27
|
* }, "CPT");
|
|
28
28
|
* result.depth; // number | null — inferred, no casts
|
|
29
29
|
* result.location; // Location | null
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
export { scalar, text, date,
|
|
32
|
+
export { scalar, text, date, number, integer, boolean, qualityClass, object, array, custom, oneOf, } from "./core/producer.js";
|
|
33
33
|
export { columns, col } from "./core/columns.js";
|
|
34
34
|
export type { ColumnSpec, ColumnParser, RowOf } from "./core/columns.js";
|
|
35
35
|
export { gmlLocation, REGISTRATION_HISTORY, COMMON_REGISTRATION_PRODUCERS, } from "./schemas/common-fields.js";
|
package/dist/producers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"producers.d.ts","sourceRoot":"","sources":["../src/producers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"producers.d.ts","sourceRoot":"","sources":["../src/producers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,EACN,KAAK,GACN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC"}
|
package/dist/producers.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* One import carrying every building block the library uses internally to
|
|
5
5
|
* describe how an XML node becomes a typed value:
|
|
6
6
|
*
|
|
7
|
-
* - the leaf combinators (`text`, `date`, `
|
|
8
|
-
* `qualityClass`) and the structural combinators (`
|
|
7
|
+
* - the leaf combinators (`text`, `date`, `number`, `integer`, `boolean`,
|
|
8
|
+
* `qualityClass`) and the structural combinators (`object`, `array`,
|
|
9
9
|
* `oneOf`, and the `custom` / `scalar` escape hatches),
|
|
10
10
|
* - the domain helpers `gmlLocation` (GML `Point` → {@link Location}) and
|
|
11
11
|
* `columns` / `col` (BRO's column time-series CSVs),
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
* const parser = new BROParser(new XMLAdapter());
|
|
23
23
|
* const result = parser.parseCustom(xml, {
|
|
24
24
|
* ...p.COMMON_REGISTRATION_PRODUCERS,
|
|
25
|
-
* depth: p.
|
|
25
|
+
* depth: p.number("./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:finalDepth"),
|
|
26
26
|
* location: p.gmlLocation("./dscpt:deliveredLocation/cptcommon:location"),
|
|
27
27
|
* }, "CPT");
|
|
28
28
|
* result.depth; // number | null — inferred, no casts
|
|
29
29
|
* result.location; // Location | null
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
export { scalar, text, date,
|
|
32
|
+
export { scalar, text, date, number, integer, boolean, qualityClass, object, array, custom, oneOf, } from "./core/producer.js";
|
|
33
33
|
export { columns, col } from "./core/columns.js";
|
|
34
34
|
export { gmlLocation, REGISTRATION_HISTORY, COMMON_REGISTRATION_PRODUCERS, } from "./schemas/common-fields.js";
|
|
35
35
|
//# sourceMappingURL=producers.js.map
|
package/dist/producers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"producers.js","sourceRoot":"","sources":["../src/producers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"producers.js","sourceRoot":"","sources":["../src/producers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,EACN,KAAK,GACN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC"}
|
package/dist/schema-presets.js
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* }, 'CPT');
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
|
-
import { text,
|
|
26
|
+
import { text, number, date, boolean, qualityClass } from "./core/producer.js";
|
|
27
27
|
import { gmlLocation } from "./schemas/common-fields.js";
|
|
28
28
|
// ============================================================================
|
|
29
29
|
// CPT Presets
|
|
@@ -42,7 +42,7 @@ export const CPT_LOCATION_ONLY = {
|
|
|
42
42
|
broId: text("brocom:broId"),
|
|
43
43
|
deliveredLocation: gmlLocation("./dscpt:deliveredLocation/cptcommon:location"),
|
|
44
44
|
standardizedLocation: gmlLocation("./dscpt:standardizedLocation/brocom:location"),
|
|
45
|
-
deliveredVerticalPositionOffset:
|
|
45
|
+
deliveredVerticalPositionOffset: number("./dscpt:deliveredVerticalPosition/cptcommon:offset"),
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
48
48
|
* CPT: Basic metadata without measurement data
|
|
@@ -54,7 +54,7 @@ export const CPT_METADATA_ONLY = {
|
|
|
54
54
|
deliveredLocation: gmlLocation("./dscpt:deliveredLocation/cptcommon:location"),
|
|
55
55
|
cptStandard: text("./dscpt:cptStandard"),
|
|
56
56
|
qualityClass: qualityClass("./dscpt:conePenetrometerSurvey/cptcommon:qualityClass"),
|
|
57
|
-
finalDepth:
|
|
57
|
+
finalDepth: number("./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:finalDepth"),
|
|
58
58
|
};
|
|
59
59
|
// ============================================================================
|
|
60
60
|
// BHR-GT (Geotechnical Borehole) Presets
|
|
@@ -73,7 +73,7 @@ export const BORE_LOCATION_ONLY = {
|
|
|
73
73
|
broId: text("brocom:broId"),
|
|
74
74
|
deliveredLocation: gmlLocation("./dsbhrgt:deliveredLocation/bhrgtcom:location"),
|
|
75
75
|
standardizedLocation: gmlLocation("./dsbhrgt:standardizedLocation/brocom:location"),
|
|
76
|
-
deliveredVerticalPositionOffset:
|
|
76
|
+
deliveredVerticalPositionOffset: number("./dsbhrgt:deliveredVerticalPosition/bhrgtcom:offset"),
|
|
77
77
|
};
|
|
78
78
|
/**
|
|
79
79
|
* BHR-GT: Basic metadata without layer data
|
|
@@ -84,8 +84,8 @@ export const BORE_METADATA_ONLY = {
|
|
|
84
84
|
researchReportDate: date("./dsbhrgt:reportHistory/dsbhrgt:reportStartDate"),
|
|
85
85
|
deliveredLocation: gmlLocation("./dsbhrgt:deliveredLocation/bhrgtcom:location"),
|
|
86
86
|
descriptionProcedure: text("./dsbhrgt:boreholeSampleDescription/bhrgtcom:descriptionProcedure"),
|
|
87
|
-
finalBoreDepth:
|
|
88
|
-
boreRockReached:
|
|
87
|
+
finalBoreDepth: number("./dsbhrgt:boring/bhrgtcom:finalDepthBoring"),
|
|
88
|
+
boreRockReached: boolean("./dsbhrgt:boring/bhrgtcom:rockReached"),
|
|
89
89
|
};
|
|
90
90
|
// ============================================================================
|
|
91
91
|
// BHR-G (Geological Borehole) Presets
|
|
@@ -104,7 +104,7 @@ export const BHRG_LOCATION_ONLY = {
|
|
|
104
104
|
broId: text("brocom:broId"),
|
|
105
105
|
deliveredLocation: gmlLocation("./dsbhrg:deliveredLocation/bhrgcom:location"),
|
|
106
106
|
standardizedLocation: gmlLocation("./dsbhrg:standardizedLocation/brocom:location"),
|
|
107
|
-
deliveredVerticalPositionOffset:
|
|
107
|
+
deliveredVerticalPositionOffset: number("./dsbhrg:deliveredVerticalPosition/bhrgcom:offset"),
|
|
108
108
|
};
|
|
109
109
|
/**
|
|
110
110
|
* BHR-G: Basic metadata without layer data
|
|
@@ -115,7 +115,7 @@ export const BHRG_METADATA_ONLY = {
|
|
|
115
115
|
researchReportDate: date("./dsbhrg:researchReportDate"),
|
|
116
116
|
deliveredLocation: gmlLocation("./dsbhrg:deliveredLocation/bhrgcom:location"),
|
|
117
117
|
descriptionProcedure: text("./dsbhrg:boreholeSampleDescription/bhrgcom:BoreholeSampleDescription/bhrgcom:descriptionProcedure"),
|
|
118
|
-
finalBoreDepth:
|
|
119
|
-
boreRockReached:
|
|
118
|
+
finalBoreDepth: number("./dsbhrg:boring/bhrgcom:Boring/bhrgcom:finalDepthBoring"),
|
|
119
|
+
boreRockReached: boolean("./dsbhrg:boring/bhrgcom:Boring/bhrgcom:rockReached"),
|
|
120
120
|
};
|
|
121
121
|
//# sourceMappingURL=schema-presets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-presets.js","sourceRoot":"","sources":["../src/schema-presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"schema-presets.js","sourceRoot":"","sources":["../src/schema-presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* Field coverage is verified against the official XSD with
|
|
13
13
|
* `npm run check:xsd-coverage`.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
15
|
+
import { object, array, text, date, number, boolean } from "../core/producer.js";
|
|
16
16
|
import { COMMON_REGISTRATION_PRODUCERS, REGISTRATION_HISTORY, gmlLocation, } from "./common-fields.js";
|
|
17
17
|
const REQUIRED = { presence: "required" };
|
|
18
18
|
const OMIT = { presence: "omit" };
|
|
@@ -25,14 +25,14 @@ function codeList(each) {
|
|
|
25
25
|
return array({ each, item: text(), presence: "omit" });
|
|
26
26
|
}
|
|
27
27
|
// === Nested soil sub-structures (fields relative to each sub-structure node) ===
|
|
28
|
-
const MUNSELL_COLOUR =
|
|
28
|
+
const MUNSELL_COLOUR = object({
|
|
29
29
|
fields: {
|
|
30
30
|
munsellHue: text("./bhrgcom:munsellHue"),
|
|
31
31
|
munsellValue: text("./bhrgcom:munsellValue"),
|
|
32
32
|
munsellChroma: text("./bhrgcom:munsellChroma"),
|
|
33
33
|
},
|
|
34
34
|
});
|
|
35
|
-
const SAND_FRACTION =
|
|
35
|
+
const SAND_FRACTION = object({
|
|
36
36
|
fields: {
|
|
37
37
|
darkGrainContentClass: text("./bhrgcom:darkGrainContentClass"),
|
|
38
38
|
darkGrainContentClassArchive: text("./bhrgcom:darkGrainContentClassArchive"),
|
|
@@ -44,10 +44,10 @@ const SAND_FRACTION = object_({
|
|
|
44
44
|
anomalouslyCoarseContentClassArchive: text("./bhrgcom:anomalouslyCoarseContentClassArchive"),
|
|
45
45
|
granuleContentClass: text("./bhrgcom:granuleContentClass"),
|
|
46
46
|
granuleContentClassArchive: text("./bhrgcom:granuleContentClassArchive"),
|
|
47
|
-
estimatedMedian:
|
|
47
|
+
estimatedMedian: number("./bhrgcom:estimatedMedian"),
|
|
48
48
|
sandConstituents: array({
|
|
49
49
|
each: "./bhrgcom:sandConstituent",
|
|
50
|
-
item:
|
|
50
|
+
item: object({
|
|
51
51
|
fields: {
|
|
52
52
|
grainColour: text("./bhrgcom:grainColour"),
|
|
53
53
|
percentageClass: text("./bhrgcom:percentageClass"),
|
|
@@ -57,7 +57,7 @@ const SAND_FRACTION = object_({
|
|
|
57
57
|
}),
|
|
58
58
|
},
|
|
59
59
|
});
|
|
60
|
-
const SHELL_FRACTION =
|
|
60
|
+
const SHELL_FRACTION = object({
|
|
61
61
|
fields: {
|
|
62
62
|
gritContentClass: text("./bhrgcom:gritContentClass"),
|
|
63
63
|
fragmentContentClass: text("./bhrgcom:fragmentContentClass"),
|
|
@@ -70,7 +70,7 @@ const SHELL_FRACTION = object_({
|
|
|
70
70
|
weatheringDegree: text("./bhrgcom:weatheringDegree"),
|
|
71
71
|
shellConstituents: array({
|
|
72
72
|
each: "./bhrgcom:shellConstituent",
|
|
73
|
-
item:
|
|
73
|
+
item: object({
|
|
74
74
|
fields: {
|
|
75
75
|
shellTaxon: text("./bhrgcom:shellTaxon"),
|
|
76
76
|
relativeAbundance: text("./bhrgcom:relativeAbundance"),
|
|
@@ -81,7 +81,7 @@ const SHELL_FRACTION = object_({
|
|
|
81
81
|
}),
|
|
82
82
|
},
|
|
83
83
|
});
|
|
84
|
-
const GRAVEL_FRACTION =
|
|
84
|
+
const GRAVEL_FRACTION = object({
|
|
85
85
|
fields: {
|
|
86
86
|
gravelMedianClass: text("./bhrgcom:gravelMedianClass"),
|
|
87
87
|
angularity: text("./bhrgcom:angularity"),
|
|
@@ -92,25 +92,25 @@ const GRAVEL_FRACTION = object_({
|
|
|
92
92
|
sphericity: text("./bhrgcom:sphericity"),
|
|
93
93
|
variegation: text("./bhrgcom:variegation"),
|
|
94
94
|
gravelProvenance: text("./bhrgcom:gravelProvenance"),
|
|
95
|
-
estimatedMedian:
|
|
95
|
+
estimatedMedian: number("./bhrgcom:estimatedMedian"),
|
|
96
96
|
gravelConstituents: array({
|
|
97
97
|
each: "./bhrgcom:gravelConstituent",
|
|
98
|
-
item:
|
|
98
|
+
item: object({
|
|
99
99
|
fields: {
|
|
100
100
|
gravelType: text("./bhrgcom:gravelType"),
|
|
101
|
-
fractionProportion:
|
|
101
|
+
fractionProportion: number("./bhrgcom:fractionProportion"),
|
|
102
102
|
archiveClass: text("./bhrgcom:archiveClass"),
|
|
103
103
|
},
|
|
104
104
|
}),
|
|
105
105
|
}),
|
|
106
106
|
},
|
|
107
107
|
});
|
|
108
|
-
const PEAT_FRACTION =
|
|
108
|
+
const PEAT_FRACTION = object({
|
|
109
109
|
fields: {
|
|
110
110
|
peatType: text("./bhrgcom:peatType"),
|
|
111
111
|
peatConstituents: array({
|
|
112
112
|
each: "./bhrgcom:peatConstituent",
|
|
113
|
-
item:
|
|
113
|
+
item: object({
|
|
114
114
|
fields: {
|
|
115
115
|
plantRemainType: text("./bhrgcom:plantRemainType"),
|
|
116
116
|
percentageClass: text("./bhrgcom:percentageClass"),
|
|
@@ -120,41 +120,41 @@ const PEAT_FRACTION = object_({
|
|
|
120
120
|
}),
|
|
121
121
|
},
|
|
122
122
|
});
|
|
123
|
-
const FRACTION_DISTRIBUTION =
|
|
123
|
+
const FRACTION_DISTRIBUTION = object({
|
|
124
124
|
fields: {
|
|
125
125
|
fractionDistributionComplete: text("./bhrgcom:fractionDistributionComplete"),
|
|
126
|
-
estimatedMassProportionOrganicMatter:
|
|
127
|
-
estimatedMassProportionShellMatter:
|
|
128
|
-
estimatedVolumeProportionShellMatter:
|
|
129
|
-
estimatedMassProportionShell:
|
|
130
|
-
estimatedMassProportionGravel:
|
|
131
|
-
estimatedVolumeProportionGravel:
|
|
132
|
-
fineFractionDistributionOrganicSoil: optional(
|
|
126
|
+
estimatedMassProportionOrganicMatter: number("./bhrgcom:estimatedMassProportionOrganicMatter"),
|
|
127
|
+
estimatedMassProportionShellMatter: number("./bhrgcom:estimatedMassProportionShellMatter"),
|
|
128
|
+
estimatedVolumeProportionShellMatter: number("./bhrgcom:estimatedVolumeProportionShellMatter"),
|
|
129
|
+
estimatedMassProportionShell: number("./bhrgcom:estimatedMassProportionShell"),
|
|
130
|
+
estimatedMassProportionGravel: number("./bhrgcom:estimatedMassProportionGravel"),
|
|
131
|
+
estimatedVolumeProportionGravel: number("./bhrgcom:estimatedVolumeProportionGravel"),
|
|
132
|
+
fineFractionDistributionOrganicSoil: optional(object({
|
|
133
133
|
fields: {
|
|
134
|
-
estimatedMassProportionSand:
|
|
135
|
-
estimatedMassProportionSilt:
|
|
136
|
-
estimatedMassProportionLutum:
|
|
134
|
+
estimatedMassProportionSand: number("./bhrgcom:estimatedMassProportionSand"),
|
|
135
|
+
estimatedMassProportionSilt: number("./bhrgcom:estimatedMassProportionSilt"),
|
|
136
|
+
estimatedMassProportionLutum: number("./bhrgcom:estimatedMassProportionLutum"),
|
|
137
137
|
},
|
|
138
138
|
}), "./bhrgcom:fineFractionDistributionOrganicSoil"),
|
|
139
|
-
fineFractionDistributionShellySoil: optional(
|
|
139
|
+
fineFractionDistributionShellySoil: optional(object({
|
|
140
140
|
fields: {
|
|
141
|
-
estimatedVolumeProportionSand:
|
|
142
|
-
estimatedVolumeProportionSilt:
|
|
143
|
-
estimatedVolumeProportionLutum:
|
|
141
|
+
estimatedVolumeProportionSand: number("./bhrgcom:estimatedVolumeProportionSand"),
|
|
142
|
+
estimatedVolumeProportionSilt: number("./bhrgcom:estimatedVolumeProportionSilt"),
|
|
143
|
+
estimatedVolumeProportionLutum: number("./bhrgcom:estimatedVolumeProportionLutum"),
|
|
144
144
|
},
|
|
145
145
|
}), "./bhrgcom:fineFractionDistributionShellySoil"),
|
|
146
146
|
},
|
|
147
147
|
});
|
|
148
|
-
const THIN_STRATUM =
|
|
148
|
+
const THIN_STRATUM = object({
|
|
149
149
|
fields: {
|
|
150
|
-
layerProportion:
|
|
150
|
+
layerProportion: number("./bhrgcom:layerProportion"),
|
|
151
151
|
layerProportionClass: text("./bhrgcom:layerProportionClass"),
|
|
152
152
|
layerProportionClassArchive: text("./bhrgcom:layerProportionClassArchive"),
|
|
153
153
|
stratumThicknessClass: text("./bhrgcom:stratumThicknessClass"),
|
|
154
154
|
geologicalOrigin: text("./bhrgcom:geologicalOrigin"),
|
|
155
155
|
},
|
|
156
156
|
});
|
|
157
|
-
const CHUNK =
|
|
157
|
+
const CHUNK = object({
|
|
158
158
|
fields: {
|
|
159
159
|
soilType: text("./bhrgcom:soilType"),
|
|
160
160
|
sizeClass: text("./bhrgcom:sizeClass"),
|
|
@@ -165,7 +165,7 @@ const CHUNK = object_({
|
|
|
165
165
|
cemented: text("./bhrgcom:cemented"),
|
|
166
166
|
},
|
|
167
167
|
});
|
|
168
|
-
const MOTTLE =
|
|
168
|
+
const MOTTLE = object({
|
|
169
169
|
fields: {
|
|
170
170
|
colour: text("./bhrgcom:colour"),
|
|
171
171
|
density: text("./bhrgcom:density"),
|
|
@@ -173,10 +173,10 @@ const MOTTLE = object_({
|
|
|
173
173
|
},
|
|
174
174
|
});
|
|
175
175
|
// === One descriptive-log layer (fields relative to bhrgcom:Layer) ===
|
|
176
|
-
const LAYER =
|
|
176
|
+
const LAYER = object({
|
|
177
177
|
fields: {
|
|
178
|
-
upperBoundary:
|
|
179
|
-
lowerBoundary:
|
|
178
|
+
upperBoundary: number("./bhrgcom:upperBoundary", REQUIRED),
|
|
179
|
+
lowerBoundary: number("./bhrgcom:lowerBoundary", REQUIRED),
|
|
180
180
|
soilNameNEN5104: text("./bhrgcom:soil/bhrgcom:soilNameNEN5104", REQUIRED),
|
|
181
181
|
// Layer-level (outside <soil>)
|
|
182
182
|
upperBoundaryDetermination: text("./bhrgcom:upperBoundaryDetermination"),
|
|
@@ -228,14 +228,14 @@ const LOG = `${SAMPLE_DESC}/bhrgcom:descriptiveBoreholeLog/bhrgcom:DescriptiveBo
|
|
|
228
228
|
* Report history. BHR-G carries only an `event` list (no explicit report
|
|
229
229
|
* start/end), so both dates are taken from the first event via `event[1]`.
|
|
230
230
|
*/
|
|
231
|
-
const REPORT_HISTORY =
|
|
231
|
+
const REPORT_HISTORY = object({
|
|
232
232
|
at: "./dsbhrg:reportHistory",
|
|
233
233
|
fields: {
|
|
234
234
|
reportStartDate: date("./bhrgcom:event[1]/bhrgcom:date"),
|
|
235
235
|
reportEndDate: date("./bhrgcom:event[1]/bhrgcom:date"),
|
|
236
236
|
intermediateEvents: array({
|
|
237
237
|
each: "./bhrgcom:event",
|
|
238
|
-
item:
|
|
238
|
+
item: object({
|
|
239
239
|
fields: {
|
|
240
240
|
eventName: text("./bhrgcom:name"),
|
|
241
241
|
eventDate: date("./bhrgcom:date"),
|
|
@@ -244,7 +244,7 @@ const REPORT_HISTORY = object_({
|
|
|
244
244
|
}),
|
|
245
245
|
},
|
|
246
246
|
});
|
|
247
|
-
export const BHRG_PRODUCER =
|
|
247
|
+
export const BHRG_PRODUCER = object({
|
|
248
248
|
fields: {
|
|
249
249
|
// === Core identification (shared brocom fields) ===
|
|
250
250
|
...COMMON_REGISTRATION_PRODUCERS,
|
|
@@ -253,10 +253,10 @@ export const BHRG_PRODUCER = object_({
|
|
|
253
253
|
deliveredLocation: gmlLocation("./dsbhrg:deliveredLocation/bhrgcom:location"),
|
|
254
254
|
standardizedLocation: gmlLocation("./dsbhrg:standardizedLocation/brocom:location"),
|
|
255
255
|
// === Vertical position ===
|
|
256
|
-
deliveredVerticalPositionOffset:
|
|
256
|
+
deliveredVerticalPositionOffset: number("./dsbhrg:deliveredVerticalPosition/bhrgcom:offset"),
|
|
257
257
|
deliveredVerticalPositionDatum: text("./dsbhrg:deliveredVerticalPosition/bhrgcom:verticalDatum"),
|
|
258
258
|
deliveredVerticalPositionReferencePoint: text("./dsbhrg:deliveredVerticalPosition/bhrgcom:localVerticalReferencePoint"),
|
|
259
|
-
waterDepth:
|
|
259
|
+
waterDepth: number("./dsbhrg:deliveredVerticalPosition/bhrgcom:waterDepth"),
|
|
260
260
|
verticalPositioningDate: date("./dsbhrg:deliveredVerticalPosition/bhrgcom:verticalPositioningDate"),
|
|
261
261
|
verticalPositioningMethod: text("./dsbhrg:deliveredVerticalPosition/bhrgcom:verticalPositioningMethod"),
|
|
262
262
|
verticalPositioningOperator: text("./dsbhrg:deliveredVerticalPosition/bhrgcom:verticalPositioningOperator"),
|
|
@@ -267,17 +267,17 @@ export const BHRG_PRODUCER = object_({
|
|
|
267
267
|
// === Boring metadata ===
|
|
268
268
|
descriptionProcedure: text(`${SAMPLE_DESC}/bhrgcom:descriptionProcedure`),
|
|
269
269
|
utensil: text(`${SAMPLE_DESC}/bhrgcom:utensil`),
|
|
270
|
-
boreRockReached:
|
|
271
|
-
finalBoreDepth:
|
|
272
|
-
finalSampleDepth:
|
|
270
|
+
boreRockReached: boolean(`${BORING}/bhrgcom:rockReached`),
|
|
271
|
+
finalBoreDepth: number(`${BORING}/bhrgcom:finalDepthBoring`),
|
|
272
|
+
finalSampleDepth: number(`${BORING}/bhrgcom:finalDepthSampling`),
|
|
273
273
|
boreHoleCompleted: text(`${BORING}/bhrgcom:boreholeCompleted`),
|
|
274
274
|
// === Boring execution details ===
|
|
275
275
|
boringStartDate: date(`${BORING}/bhrgcom:boringStartDate`),
|
|
276
276
|
boringEndDate: date(`${BORING}/bhrgcom:boringEndDate`),
|
|
277
277
|
boringProcedure: text(`${BORING}/bhrgcom:boringProcedure`),
|
|
278
278
|
boringTechnique: text(`${BORING}/bhrgcom:boredInterval/bhrgcom:BoredInterval/bhrgcom:boringTechnique`),
|
|
279
|
-
trajectoryExcavated:
|
|
280
|
-
subsurfaceContaminated:
|
|
279
|
+
trajectoryExcavated: boolean(`${BORING}/bhrgcom:trajectoryExcavated`),
|
|
280
|
+
subsurfaceContaminated: boolean(`${BORING}/bhrgcom:subsurfaceContaminated`),
|
|
281
281
|
stopCriterion: text(`${BORING}/bhrgcom:stopCriterion`),
|
|
282
282
|
flushingAdditiveUsed: text(`${BORING}/bhrgcom:flushingAdditiveUsed`),
|
|
283
283
|
// === Sampling details ===
|
|
@@ -290,33 +290,33 @@ export const BHRG_PRODUCER = object_({
|
|
|
290
290
|
descriptionLocation: text(`${LOG}/bhrgcom:descriptionLocation`),
|
|
291
291
|
descriptionReportDate: date(`${SAMPLE_DESC}/bhrgcom:descriptionReportDate`),
|
|
292
292
|
describedMaterial: text(`${LOG}/bhrgcom:describedMaterial`),
|
|
293
|
-
continuouslySampled:
|
|
293
|
+
continuouslySampled: boolean(`${LOG}/bhrgcom:continuouslySampled`),
|
|
294
294
|
sampleMoistness: text(`${LOG}/bhrgcom:sampleMoistness`),
|
|
295
295
|
// === Layer data ===
|
|
296
296
|
data: array({ at: LOG, each: ".//bhrgcom:layer/bhrgcom:Layer", item: LAYER }),
|
|
297
297
|
// === Boring interval arrays ===
|
|
298
298
|
boredIntervals: array({
|
|
299
299
|
each: `${BORING}/bhrgcom:boredInterval/bhrgcom:BoredInterval`,
|
|
300
|
-
item:
|
|
300
|
+
item: object({
|
|
301
301
|
fields: {
|
|
302
|
-
beginDepth:
|
|
303
|
-
endDepth:
|
|
302
|
+
beginDepth: number("./bhrgcom:beginDepth", REQUIRED),
|
|
303
|
+
endDepth: number("./bhrgcom:endDepth", REQUIRED),
|
|
304
304
|
boringTechnique: text("./bhrgcom:boringTechnique"),
|
|
305
|
-
boredDiameter:
|
|
305
|
+
boredDiameter: number("./bhrgcom:boredDiameter"),
|
|
306
306
|
},
|
|
307
307
|
}),
|
|
308
308
|
}),
|
|
309
309
|
sampledIntervals: array({
|
|
310
310
|
each: `${BORING}/bhrgcom:sampledInterval/bhrgcom:SampledInterval`,
|
|
311
|
-
item:
|
|
311
|
+
item: object({
|
|
312
312
|
fields: {
|
|
313
|
-
beginDepth:
|
|
314
|
-
endDepth:
|
|
313
|
+
beginDepth: number("./bhrgcom:beginDepth", REQUIRED),
|
|
314
|
+
endDepth: number("./bhrgcom:endDepth", REQUIRED),
|
|
315
315
|
preTreatment: text("./bhrgcom:preTreatment"),
|
|
316
316
|
samplingMethod: text("./bhrgcom:samplingMethod"),
|
|
317
317
|
samplingQuality: text("./bhrgcom:samplingQuality"),
|
|
318
318
|
// Not present in BHR-G (only BHR-GT) — always null.
|
|
319
|
-
orientatedSampled:
|
|
319
|
+
orientatedSampled: boolean("./bhrgcom:orientatedSampled"),
|
|
320
320
|
},
|
|
321
321
|
}),
|
|
322
322
|
}),
|