@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.
Files changed (116) hide show
  1. package/README.md +21 -12
  2. package/dist/browser.d.ts +15 -5
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +7 -5
  5. package/dist/browser.js.map +1 -1
  6. package/dist/core/columns.d.ts +80 -0
  7. package/dist/core/columns.d.ts.map +1 -0
  8. package/dist/core/columns.js +100 -0
  9. package/dist/core/columns.js.map +1 -0
  10. package/dist/core/producer.d.ts +216 -0
  11. package/dist/core/producer.d.ts.map +1 -0
  12. package/dist/core/producer.js +85 -0
  13. package/dist/core/producer.js.map +1 -0
  14. package/dist/core/schema-parser.d.ts +41 -17
  15. package/dist/core/schema-parser.d.ts.map +1 -1
  16. package/dist/core/schema-parser.js +178 -73
  17. package/dist/core/schema-parser.js.map +1 -1
  18. package/dist/core/version-detector.d.ts +3 -1
  19. package/dist/core/version-detector.d.ts.map +1 -1
  20. package/dist/core/version-detector.js +37 -0
  21. package/dist/core/version-detector.js.map +1 -1
  22. package/dist/decoders/constants.d.ts +2 -0
  23. package/dist/decoders/constants.d.ts.map +1 -0
  24. package/dist/decoders/constants.js +2 -0
  25. package/dist/decoders/constants.js.map +1 -0
  26. package/dist/decoders/type-decoders.d.ts +38 -0
  27. package/dist/decoders/type-decoders.d.ts.map +1 -0
  28. package/dist/decoders/type-decoders.js +134 -0
  29. package/dist/decoders/type-decoders.js.map +1 -0
  30. package/dist/namespaces.d.ts.map +1 -1
  31. package/dist/namespaces.js +16 -0
  32. package/dist/namespaces.js.map +1 -1
  33. package/dist/node.d.ts +15 -5
  34. package/dist/node.d.ts.map +1 -1
  35. package/dist/node.js +7 -5
  36. package/dist/node.js.map +1 -1
  37. package/dist/parser.d.ts +69 -19
  38. package/dist/parser.d.ts.map +1 -1
  39. package/dist/parser.js +103 -29
  40. package/dist/parser.js.map +1 -1
  41. package/dist/producers.d.ts +36 -0
  42. package/dist/producers.d.ts.map +1 -0
  43. package/dist/producers.js +35 -0
  44. package/dist/producers.js.map +1 -0
  45. package/dist/resolvers/bhrg-resolvers.d.ts +3 -18
  46. package/dist/resolvers/bhrg-resolvers.d.ts.map +1 -1
  47. package/dist/resolvers/bhrg-resolvers.js +294 -41
  48. package/dist/resolvers/bhrg-resolvers.js.map +1 -1
  49. package/dist/resolvers/bore-resolver-utils.d.ts +21 -2
  50. package/dist/resolvers/bore-resolver-utils.d.ts.map +1 -1
  51. package/dist/resolvers/bore-resolver-utils.js +69 -22
  52. package/dist/resolvers/bore-resolver-utils.js.map +1 -1
  53. package/dist/resolvers/bore-resolvers.d.ts +34 -17
  54. package/dist/resolvers/bore-resolvers.d.ts.map +1 -1
  55. package/dist/resolvers/bore-resolvers.js +342 -175
  56. package/dist/resolvers/bore-resolvers.js.map +1 -1
  57. package/dist/resolvers/cpt-resolvers.d.ts +1 -8
  58. package/dist/resolvers/cpt-resolvers.d.ts.map +1 -1
  59. package/dist/resolvers/cpt-resolvers.js +2 -29
  60. package/dist/resolvers/cpt-resolvers.js.map +1 -1
  61. package/dist/resolvers/gld-resolvers.d.ts +30 -0
  62. package/dist/resolvers/gld-resolvers.d.ts.map +1 -0
  63. package/dist/resolvers/gld-resolvers.js +76 -0
  64. package/dist/resolvers/gld-resolvers.js.map +1 -0
  65. package/dist/resolvers/gmw-resolvers.d.ts +37 -0
  66. package/dist/resolvers/gmw-resolvers.d.ts.map +1 -0
  67. package/dist/resolvers/gmw-resolvers.js +101 -0
  68. package/dist/resolvers/gmw-resolvers.js.map +1 -0
  69. package/dist/resolvers/type-resolvers.d.ts +12 -4
  70. package/dist/resolvers/type-resolvers.d.ts.map +1 -1
  71. package/dist/resolvers/type-resolvers.js +12 -4
  72. package/dist/resolvers/type-resolvers.js.map +1 -1
  73. package/dist/resolvers.d.ts +5 -2
  74. package/dist/resolvers.d.ts.map +1 -1
  75. package/dist/resolvers.js +8 -2
  76. package/dist/resolvers.js.map +1 -1
  77. package/dist/schema-presets.d.ts +67 -16
  78. package/dist/schema-presets.d.ts.map +1 -1
  79. package/dist/schema-presets.js +51 -114
  80. package/dist/schema-presets.js.map +1 -1
  81. package/dist/schemas/bhrg-schema.d.ts +528 -9
  82. package/dist/schemas/bhrg-schema.d.ts.map +1 -1
  83. package/dist/schemas/bhrg-schema.js +330 -162
  84. package/dist/schemas/bhrg-schema.js.map +1 -1
  85. package/dist/schemas/bhrgt-analysis.d.ts +1057 -0
  86. package/dist/schemas/bhrgt-analysis.d.ts.map +1 -0
  87. package/dist/schemas/bhrgt-analysis.js +454 -0
  88. package/dist/schemas/bhrgt-analysis.js.map +1 -0
  89. package/dist/schemas/bore-schema.d.ts +773 -9
  90. package/dist/schemas/bore-schema.d.ts.map +1 -1
  91. package/dist/schemas/bore-schema.js +344 -257
  92. package/dist/schemas/bore-schema.js.map +1 -1
  93. package/dist/schemas/common-fields.d.ts +61 -0
  94. package/dist/schemas/common-fields.d.ts.map +1 -0
  95. package/dist/schemas/common-fields.js +82 -0
  96. package/dist/schemas/common-fields.js.map +1 -0
  97. package/dist/schemas/cpt-schema.d.ts +126 -9
  98. package/dist/schemas/cpt-schema.d.ts.map +1 -1
  99. package/dist/schemas/cpt-schema.js +182 -275
  100. package/dist/schemas/cpt-schema.js.map +1 -1
  101. package/dist/schemas/generated/gld.generated.d.ts +9 -0
  102. package/dist/schemas/generated/gld.generated.d.ts.map +1 -0
  103. package/dist/schemas/generated/gld.generated.js +19 -0
  104. package/dist/schemas/generated/gld.generated.js.map +1 -0
  105. package/dist/schemas/gld-schema.d.ts +92 -0
  106. package/dist/schemas/gld-schema.d.ts.map +1 -0
  107. package/dist/schemas/gld-schema.js +88 -0
  108. package/dist/schemas/gld-schema.js.map +1 -0
  109. package/dist/schemas/gmw-schema.d.ts +180 -0
  110. package/dist/schemas/gmw-schema.d.ts.map +1 -0
  111. package/dist/schemas/gmw-schema.js +131 -0
  112. package/dist/schemas/gmw-schema.js.map +1 -0
  113. package/dist/types/index.d.ts +51 -1005
  114. package/dist/types/index.d.ts.map +1 -1
  115. package/dist/types/index.js.map +1 -1
  116. package/package.json +3 -2
@@ -1,13 +1,777 @@
1
1
  /**
2
- * BHR-GT (Geotechnical Borehole) schema definition
2
+ * BHR-GT (Geotechnical borehole) schema.
3
3
  *
4
- * Defines metadata fields for BHR-GT data following BRO structure.
5
- * Each field specifies:
6
- * - xpath: location in XML document
7
- * - resolver: function to convert/parse value (optional)
8
- * - attribute: which property to extract (optional, defaults to textContent)
9
- * - required: whether field is mandatory (optional, defaults to false)
4
+ * Maps the dsbhrgt/2.1 registration object to {@link BHRGTData}. Each described
5
+ * layer is a soil/rock discriminated union ({@link oneOf} on `material`); the
6
+ * laboratory-analysis subtree (BHR-GT-BMA) is delegated to
7
+ * {@link ANALYSIS_PRODUCER}. Coverage is verified against the official XSD with
8
+ * `npm run check:xsd-coverage`.
10
9
  */
11
- import type { Schema } from "../types/index.js";
12
- export declare const BORE_SCHEMA: Schema;
10
+ import type { Produced, ProducedFields } from "../core/producer.js";
11
+ declare const ROCK_DESCRIPTION: import("../core/producer.js").ObjectProducer<{
12
+ rockType: string | null;
13
+ cementType: string | null;
14
+ colour: string | null;
15
+ tertiaryRockConstituent: (string | null)[];
16
+ interbedding: string | null;
17
+ dispersedInhomogeneity: (string | null)[];
18
+ carbonateContentClass: string | null;
19
+ crossBedding: string | null;
20
+ gradedBedding: string | null;
21
+ voidsPresent: string | null;
22
+ voidDistribution: string | null;
23
+ stability: string | null;
24
+ strengthClass: string | null;
25
+ weathered: string | null;
26
+ weatheringDegree?: {
27
+ discolouration: string | null;
28
+ disintegration: string | null;
29
+ decomposition: string | null;
30
+ };
31
+ }, "optional">;
32
+ declare const GRAINSHAPE: import("../core/producer.js").ObjectProducer<{
33
+ sizeFraction: string | null;
34
+ angularity: string | null;
35
+ sphericity: string | null;
36
+ roughness: string | null;
37
+ }, "optional">;
38
+ /** Fields shared by every layer, regardless of soil/rock. */
39
+ declare const LAYER_BASE: {
40
+ upperBoundary: import("../core/producer.js").ScalarProducer<number | null, "optional">;
41
+ lowerBoundary: import("../core/producer.js").ScalarProducer<number | null, "optional">;
42
+ upperBoundaryDetermination: import("../core/producer.js").ScalarProducer<string | null, "optional">;
43
+ lowerBoundaryDetermination: import("../core/producer.js").ScalarProducer<string | null, "optional">;
44
+ anthropogenic: import("../core/producer.js").ScalarProducer<boolean | null, "optional">;
45
+ slant: import("../core/producer.js").ScalarProducer<boolean | null, "optional">;
46
+ bedding: import("../core/producer.js").ScalarProducer<string | null, "omit">;
47
+ compositeLayer: import("../core/producer.js").ScalarProducer<boolean | null, "omit">;
48
+ activityType: import("../core/producer.js").ScalarProducer<string | null, "omit">;
49
+ bedded: import("../core/producer.js").ScalarProducer<boolean | null, "optional">;
50
+ internalStructureIntact: import("../core/producer.js").ScalarProducer<boolean | null, "optional">;
51
+ specialMaterial: import("../core/producer.js").ScalarProducer<string | null, "omit">;
52
+ };
53
+ declare const LAYER: import("../core/producer.js").OneOfProducer<{
54
+ upperBoundary: number | null;
55
+ lowerBoundary: number | null;
56
+ upperBoundaryDetermination: string | null;
57
+ lowerBoundaryDetermination: string | null;
58
+ anthropogenic: boolean | null;
59
+ slant: boolean | null;
60
+ bedded: boolean | null;
61
+ internalStructureIntact: boolean | null;
62
+ bedding?: string | null;
63
+ compositeLayer?: boolean | null;
64
+ activityType?: string | null;
65
+ specialMaterial?: string | null;
66
+ rock: {
67
+ rockType: string | null;
68
+ cementType: string | null;
69
+ colour: string | null;
70
+ tertiaryRockConstituent: (string | null)[];
71
+ interbedding: string | null;
72
+ dispersedInhomogeneity: (string | null)[];
73
+ carbonateContentClass: string | null;
74
+ crossBedding: string | null;
75
+ gradedBedding: string | null;
76
+ voidsPresent: string | null;
77
+ voidDistribution: string | null;
78
+ stability: string | null;
79
+ strengthClass: string | null;
80
+ weathered: string | null;
81
+ weatheringDegree?: {
82
+ discolouration: string | null;
83
+ disintegration: string | null;
84
+ decomposition: string | null;
85
+ };
86
+ };
87
+ material: "rock";
88
+ } | {
89
+ upperBoundary: number | null;
90
+ lowerBoundary: number | null;
91
+ upperBoundaryDetermination: string | null;
92
+ lowerBoundaryDetermination: string | null;
93
+ anthropogenic: boolean | null;
94
+ slant: boolean | null;
95
+ bedded: boolean | null;
96
+ internalStructureIntact: boolean | null;
97
+ bedding?: string | null;
98
+ compositeLayer?: boolean | null;
99
+ activityType?: string | null;
100
+ specialMaterial?: string | null;
101
+ dispersedInhomogeneity: boolean | null;
102
+ carbonateContentClass: string | null;
103
+ geotechnicalSoilName: string;
104
+ tertiaryConstituent: string | null;
105
+ organicMatterContentClass: string | null;
106
+ sandMedianClass: string | null;
107
+ mixed: boolean | null;
108
+ mottled: boolean | null;
109
+ fineSoilConsistency: string | null;
110
+ organicSoilConsistency: string | null;
111
+ organicSoilTexture: string | null;
112
+ peatTensileStrength: string | null;
113
+ interbedding?: string | null;
114
+ crossBedding?: string | null;
115
+ gradedBedding?: string | null;
116
+ soilNameNEN5104?: string | null;
117
+ gravelContentClassNEN5104?: string | null;
118
+ organicMatterContentClassNEN5104?: string | null;
119
+ color?: string | null;
120
+ gravelMedianClass?: string | null;
121
+ geotechnicalDepositionalCharacteristic?: string | null;
122
+ mixingType?: string | null;
123
+ fineGravelContentClass?: string | null;
124
+ mediumCoarseGravelContentClass?: string | null;
125
+ veryCoarseGravelContentClass?: string | null;
126
+ sandSortingNEN5104?: string | null;
127
+ peatType?: string | null;
128
+ depositionalAge?: string | null;
129
+ grainshape?: {
130
+ sizeFraction: string | null;
131
+ angularity: string | null;
132
+ sphericity: string | null;
133
+ roughness: string | null;
134
+ };
135
+ material: "soil";
136
+ }, "optional">;
137
+ /**
138
+ * A BHR-GT described layer: a soil/rock discriminated union on `material`.
139
+ * Inferred from {@link LAYER} — the schema is the single source of truth.
140
+ * @internal
141
+ */
142
+ export type BHRGTLayer = Produced<typeof LAYER>;
143
+ /** Fields common to every {@link BHRGTLayer}, regardless of material. @internal */
144
+ export type BHRGTLayerBase = ProducedFields<typeof LAYER_BASE>;
145
+ /** A layer that describes soil (`material === "soil"`). @internal */
146
+ export type BHRGTSoilLayer = Extract<BHRGTLayer, {
147
+ material: "soil";
148
+ }>;
149
+ /** A layer that describes rock (`material === "rock"`). @internal */
150
+ export type BHRGTRockLayer = Extract<BHRGTLayer, {
151
+ material: "rock";
152
+ }>;
153
+ declare const BORED_INTERVAL: import("../core/producer.js").ObjectProducer<{
154
+ beginDepth: number | null;
155
+ endDepth: number | null;
156
+ boringTechnique: string | null;
157
+ boredDiameter: number | null;
158
+ }, "optional">;
159
+ declare const SAMPLED_INTERVAL: import("../core/producer.js").ObjectProducer<{
160
+ beginDepth: number | null;
161
+ endDepth: number | null;
162
+ preTreatment: string | null;
163
+ samplingMethod: string | null;
164
+ samplingQuality: string | null;
165
+ orientatedSampled: boolean | null;
166
+ sampler?: {
167
+ samplerType: string | null;
168
+ sampleContainerDiameter: number | null;
169
+ sampleContainerLength: number | null;
170
+ cuttingShoeInsideDiameter: number | null;
171
+ cuttingShoeOutsideDiameter: number | null;
172
+ stockingUsed: boolean | null;
173
+ rightAngledCuttingShoe: boolean | null;
174
+ taperAngle: number | null;
175
+ lubricationFluidUsed: boolean | null;
176
+ coreCatcherPresent: boolean | null;
177
+ pistonPresent: boolean | null;
178
+ };
179
+ coreRecovery?: {
180
+ totalCoreRecovery: number | null;
181
+ solidCoreRecovery: number | null;
182
+ rockQualityDesignation: number | null;
183
+ fieldDetermined: boolean | null;
184
+ };
185
+ }, "optional">;
186
+ declare const COMPLETED_INTERVAL: import("../core/producer.js").ObjectProducer<{
187
+ beginDepth: number | null;
188
+ endDepth: number | null;
189
+ permanentCasingPresent: boolean | null;
190
+ diameterPermanentCasing: number | null;
191
+ materialPermanentCasing: string | null;
192
+ backfillMaterial: string | null;
193
+ backfillMaterialWashed: boolean | null;
194
+ backfillMaterialCertified: boolean | null;
195
+ }, "optional">;
196
+ declare const POST_SED_DISCONTINUITY: import("../core/producer.js").ObjectProducer<{
197
+ beginDepth: number | null;
198
+ endDepth: number | null;
199
+ inRock: string | null;
200
+ discontinuityType: string | null;
201
+ compositeDiscontinuity: string | null;
202
+ spacing: number | null;
203
+ smooth: string | null;
204
+ apertureClass: string | null;
205
+ infillMaterial: string | null;
206
+ }, "optional">;
207
+ export declare const BORE_PRODUCER: import("../core/producer.js").ObjectProducer<{
208
+ researchOperator: string | null;
209
+ researchReportDate: string | null;
210
+ deliveredLocation: import("../browser.js").Location | null;
211
+ standardizedLocation: import("../browser.js").Location | null;
212
+ deliveredVerticalPositionOffset: number | null;
213
+ deliveredVerticalPositionDatum: string | null;
214
+ deliveredVerticalPositionReferencePoint: string | null;
215
+ deliveryContext: string | null;
216
+ surveyPurpose: string | null;
217
+ stopCriterion: string | null;
218
+ groundwaterLevel: number | null;
219
+ data: ({
220
+ upperBoundary: number | null;
221
+ lowerBoundary: number | null;
222
+ upperBoundaryDetermination: string | null;
223
+ lowerBoundaryDetermination: string | null;
224
+ anthropogenic: boolean | null;
225
+ slant: boolean | null;
226
+ bedded: boolean | null;
227
+ internalStructureIntact: boolean | null;
228
+ bedding?: string | null;
229
+ compositeLayer?: boolean | null;
230
+ activityType?: string | null;
231
+ specialMaterial?: string | null;
232
+ rock: {
233
+ rockType: string | null;
234
+ cementType: string | null;
235
+ colour: string | null;
236
+ tertiaryRockConstituent: (string | null)[];
237
+ interbedding: string | null;
238
+ dispersedInhomogeneity: (string | null)[];
239
+ carbonateContentClass: string | null;
240
+ crossBedding: string | null;
241
+ gradedBedding: string | null;
242
+ voidsPresent: string | null;
243
+ voidDistribution: string | null;
244
+ stability: string | null;
245
+ strengthClass: string | null;
246
+ weathered: string | null;
247
+ weatheringDegree?: {
248
+ discolouration: string | null;
249
+ disintegration: string | null;
250
+ decomposition: string | null;
251
+ };
252
+ };
253
+ material: "rock";
254
+ } | {
255
+ upperBoundary: number | null;
256
+ lowerBoundary: number | null;
257
+ upperBoundaryDetermination: string | null;
258
+ lowerBoundaryDetermination: string | null;
259
+ anthropogenic: boolean | null;
260
+ slant: boolean | null;
261
+ bedded: boolean | null;
262
+ internalStructureIntact: boolean | null;
263
+ bedding?: string | null;
264
+ compositeLayer?: boolean | null;
265
+ activityType?: string | null;
266
+ specialMaterial?: string | null;
267
+ dispersedInhomogeneity: boolean | null;
268
+ carbonateContentClass: string | null;
269
+ geotechnicalSoilName: string;
270
+ tertiaryConstituent: string | null;
271
+ organicMatterContentClass: string | null;
272
+ sandMedianClass: string | null;
273
+ mixed: boolean | null;
274
+ mottled: boolean | null;
275
+ fineSoilConsistency: string | null;
276
+ organicSoilConsistency: string | null;
277
+ organicSoilTexture: string | null;
278
+ peatTensileStrength: string | null;
279
+ interbedding?: string | null;
280
+ crossBedding?: string | null;
281
+ gradedBedding?: string | null;
282
+ soilNameNEN5104?: string | null;
283
+ gravelContentClassNEN5104?: string | null;
284
+ organicMatterContentClassNEN5104?: string | null;
285
+ color?: string | null;
286
+ gravelMedianClass?: string | null;
287
+ geotechnicalDepositionalCharacteristic?: string | null;
288
+ mixingType?: string | null;
289
+ fineGravelContentClass?: string | null;
290
+ mediumCoarseGravelContentClass?: string | null;
291
+ veryCoarseGravelContentClass?: string | null;
292
+ sandSortingNEN5104?: string | null;
293
+ peatType?: string | null;
294
+ depositionalAge?: string | null;
295
+ grainshape?: {
296
+ sizeFraction: string | null;
297
+ angularity: string | null;
298
+ sphericity: string | null;
299
+ roughness: string | null;
300
+ };
301
+ material: "soil";
302
+ })[];
303
+ registrationHistory: {
304
+ objectRegistrationTime: string | null;
305
+ registrationStatus: string | null;
306
+ registrationCompletionTime: string | null;
307
+ latestCorrectionTime: string | null;
308
+ latestAdditionTime: string | null;
309
+ underReviewTime: string | null;
310
+ deregistrationTime: string | null;
311
+ reregistrationTime: string | null;
312
+ corrected: boolean | null;
313
+ underReview: boolean | null;
314
+ deregistered: boolean | null;
315
+ reregistered: boolean | null;
316
+ };
317
+ broId: string | null;
318
+ qualityRegime: string | null;
319
+ deliveryAccountableParty: string | null;
320
+ objectIdAccountableParty: string | null;
321
+ deliveryResponsibleParty: string | null;
322
+ sampleMoistness: string | null;
323
+ boringTechnique: string | null;
324
+ samplingMethod: string | null;
325
+ samplingQuality: string | null;
326
+ orientatedSampled: boolean | null;
327
+ samplerType: string | null;
328
+ sampleContainerDiameter: number | null;
329
+ sampleContainerLength: number | null;
330
+ cuttingShoeInsideDiameter: number | null;
331
+ cuttingShoeOutsideDiameter: number | null;
332
+ stockingUsed: boolean | null;
333
+ rightAngledCuttingShoe: boolean | null;
334
+ taperAngle: number | null;
335
+ lubricationFluidUsed: boolean | null;
336
+ coreCatcherPresent: boolean | null;
337
+ pistonPresent: boolean | null;
338
+ descriptionProcedure: string | null;
339
+ meanHighestGroundwaterLevel: number | null;
340
+ meanLowestGroundwaterLevel: number | null;
341
+ boreRockReached: boolean | null;
342
+ finalBoreDepth: number | null;
343
+ finalSampleDepth: number | null;
344
+ finalDepthPreparation: number | null;
345
+ finalDepthExcavation: number | null;
346
+ finalDepthTemporaryCasing: number | null;
347
+ boreHoleCompleted: boolean | null;
348
+ boringStartDate: string | null;
349
+ boringEndDate: string | null;
350
+ boringProcedure: string | null;
351
+ trajectoryExcavated: boolean | null;
352
+ subsurfaceContaminated: boolean | null;
353
+ flushingMediumUsed: boolean | null;
354
+ flushingAdditive: string | null;
355
+ temporaryCasingUsed: boolean | null;
356
+ preparation: string | null;
357
+ soilUse: string | null;
358
+ positionOnGroundBody: string | null;
359
+ temporaryChange: string | null;
360
+ samplingProcedure: string | null;
361
+ boreholeLogChecked: boolean | null;
362
+ descriptionQuality: string | null;
363
+ descriptionLocation: string | null;
364
+ descriptionReportDate: string | null;
365
+ describedMaterial: string | null;
366
+ continuouslySampled: boolean | null;
367
+ boredIntervals: {
368
+ beginDepth: number | null;
369
+ endDepth: number | null;
370
+ boringTechnique: string | null;
371
+ boredDiameter: number | null;
372
+ }[];
373
+ sampledIntervals: {
374
+ beginDepth: number | null;
375
+ endDepth: number | null;
376
+ preTreatment: string | null;
377
+ samplingMethod: string | null;
378
+ samplingQuality: string | null;
379
+ orientatedSampled: boolean | null;
380
+ sampler?: {
381
+ samplerType: string | null;
382
+ sampleContainerDiameter: number | null;
383
+ sampleContainerLength: number | null;
384
+ cuttingShoeInsideDiameter: number | null;
385
+ cuttingShoeOutsideDiameter: number | null;
386
+ stockingUsed: boolean | null;
387
+ rightAngledCuttingShoe: boolean | null;
388
+ taperAngle: number | null;
389
+ lubricationFluidUsed: boolean | null;
390
+ coreCatcherPresent: boolean | null;
391
+ pistonPresent: boolean | null;
392
+ };
393
+ coreRecovery?: {
394
+ totalCoreRecovery: number | null;
395
+ solidCoreRecovery: number | null;
396
+ rockQualityDesignation: number | null;
397
+ fieldDetermined: boolean | null;
398
+ };
399
+ }[];
400
+ completedIntervals: {
401
+ beginDepth: number | null;
402
+ endDepth: number | null;
403
+ permanentCasingPresent: boolean | null;
404
+ diameterPermanentCasing: number | null;
405
+ materialPermanentCasing: string | null;
406
+ backfillMaterial: string | null;
407
+ backfillMaterialWashed: boolean | null;
408
+ backfillMaterialCertified: boolean | null;
409
+ }[];
410
+ notDescribedIntervals: {
411
+ beginDepth: number | null;
412
+ endDepth: number | null;
413
+ noDescriptionReason: string | null;
414
+ }[];
415
+ postSedimentaryDiscontinuities: {
416
+ beginDepth: number | null;
417
+ endDepth: number | null;
418
+ inRock: string | null;
419
+ discontinuityType: string | null;
420
+ compositeDiscontinuity: string | null;
421
+ spacing: number | null;
422
+ smooth: string | null;
423
+ apertureClass: string | null;
424
+ infillMaterial: string | null;
425
+ }[];
426
+ excavatedLayers: {
427
+ upperBoundary: number | null;
428
+ lowerBoundary: number | null;
429
+ excavatedMaterial: string | null;
430
+ }[];
431
+ boringVelocity: {
432
+ elapsedTime: number | null;
433
+ depth: number | null;
434
+ }[];
435
+ reportHistory: {
436
+ reportStartDate: string | null;
437
+ reportEndDate: string | null;
438
+ intermediateEvents: {
439
+ eventName: string | null;
440
+ eventDate: string | null;
441
+ }[];
442
+ };
443
+ discipline: string | null;
444
+ surveyProcedure: string | null;
445
+ siteCharacteristicDetermined: boolean | null;
446
+ analysis?: {
447
+ analysisReportDate: string | null;
448
+ analysisProcedure: string | null;
449
+ investigatedIntervals: {
450
+ beginDepth: number;
451
+ endDepth: number;
452
+ sampleQuality: string | null;
453
+ analysisType: string | null;
454
+ waterContentDetermined: boolean | null;
455
+ organicMatterContentDetermined: boolean | null;
456
+ carbonateContentDetermined: boolean | null;
457
+ volumetricMassDensityDetermined: boolean | null;
458
+ volumetricMassDensitySolidsDetermined: boolean | null;
459
+ described: boolean | null;
460
+ waterContentDetermination?: {
461
+ determinationProcedure: string | null;
462
+ determinationMethod: string | null;
463
+ sampleMoistness: string | null;
464
+ removedMaterial: string | null;
465
+ waterContent: number | null;
466
+ dryingTemperature: string | null;
467
+ dryingPeriod: string | null;
468
+ saltCorrectionMethod: string | null;
469
+ };
470
+ organicMatterContentDetermination?: {
471
+ determinationProcedure: string | null;
472
+ determinationMethod: string | null;
473
+ removedMaterial: string | null;
474
+ lutumCorrectionApplied: boolean | null;
475
+ organicMatterContent: number | null;
476
+ };
477
+ carbonateContentDetermination?: {
478
+ determinationProcedure: string | null;
479
+ determinationMethod: string | null;
480
+ removedMaterial: string | null;
481
+ carbonateContent: number | null;
482
+ };
483
+ volumetricMassDensityDetermination?: {
484
+ determinationProcedure: string | null;
485
+ determinationMethod: string | null;
486
+ sampleMoistness: string | null;
487
+ volumetricMassDensity: number | null;
488
+ };
489
+ volumetricMassDensityOfSolidsDetermination?: {
490
+ determinationProcedure: string | null;
491
+ determinationMethod: string | null;
492
+ liquidUsed: string | null;
493
+ sampleContainerVolume: string | null;
494
+ volumetricMassDensityOfSolids: number | null;
495
+ };
496
+ particleSizeDistributionDetermination?: {
497
+ determinationProcedure: string | null;
498
+ determinationMethod: string | null;
499
+ removedMaterial: string | null;
500
+ fractionDistribution: string | null;
501
+ dispersionMethod: string | null;
502
+ equivalentMassDeterminationMethod: string | null;
503
+ equivalentMass: number | null;
504
+ usedOpticalModel: string | null;
505
+ fractionSmaller63um: number | null;
506
+ fractionLarger63um: number | null;
507
+ fraction0to2um: number | null;
508
+ fraction2to4um: number | null;
509
+ fraction4to8um: number | null;
510
+ fraction8to16um: number | null;
511
+ fraction16to32um: number | null;
512
+ fraction32to50um: number | null;
513
+ fraction50to63um: number | null;
514
+ fraction2to32um: number | null;
515
+ fraction63to90um: number | null;
516
+ fraction90to125um: number | null;
517
+ fraction125to180um: number | null;
518
+ fraction180to250um: number | null;
519
+ fraction250to355um: number | null;
520
+ fraction355to500um: number | null;
521
+ fraction500to710um: number | null;
522
+ fraction710to1000um: number | null;
523
+ fraction1000to1400um: number | null;
524
+ fraction1400umto2mm: number | null;
525
+ fraction2to4mm: number | null;
526
+ fraction4to8mm: number | null;
527
+ fraction8to16mm: number | null;
528
+ fraction16to31_5mm: number | null;
529
+ fraction31_5to63mm: number | null;
530
+ fractionLarger63mm: number | null;
531
+ fraction63to75um: number | null;
532
+ fraction75to90um: number | null;
533
+ fraction90to106um: number | null;
534
+ fraction106to125um: number | null;
535
+ fraction125to150um: number | null;
536
+ fraction150to180um: number | null;
537
+ fraction180to212um: number | null;
538
+ fraction212to250um: number | null;
539
+ fraction4to5_6mm: number | null;
540
+ fraction5_6to8mm: number | null;
541
+ fraction8to11_2mm: number | null;
542
+ fraction11_2to16mm: number | null;
543
+ fraction16to20mm: number | null;
544
+ fraction20to31_5mm: number | null;
545
+ };
546
+ consistencyLimitsDetermination?: {
547
+ determinationProcedure: string | null;
548
+ determinationMethod: string | null;
549
+ fractionLarger500um: number | null;
550
+ usedMedium: string | null;
551
+ performanceIrregularity: string | null;
552
+ conusType: string | null;
553
+ liquidLimit: number | null;
554
+ plasticLimit: number | null;
555
+ plasticityIndex: number | null;
556
+ plasticityAtSpecificWaterContent: {
557
+ waterContent: number | null;
558
+ numberOfFalls: number;
559
+ penetrationDepth: number | null;
560
+ }[];
561
+ };
562
+ settlementCharacteristicsDetermination?: {
563
+ temperature: number | null;
564
+ determinationProcedure: string | null;
565
+ determinationMethod: string | null;
566
+ sampleMoistness: string | null;
567
+ ringDiameter: number | null;
568
+ filterPaperUsed: boolean | null;
569
+ wallFrictionCorrectionMethod: string | null;
570
+ apparatusDeformationApplied: boolean | null;
571
+ bearingFrictionCorrectionApplied: boolean | null;
572
+ irregularResult: boolean | null;
573
+ determinationSteps: {
574
+ verticalStress: number | null;
575
+ stepNumber: number;
576
+ wetPerformed: boolean | null;
577
+ swellObserved: boolean | null;
578
+ strainPoint24hours: number | null;
579
+ stepType: string | null;
580
+ heightChangeDuringSettlement: {
581
+ time: number | null;
582
+ height: number | null;
583
+ }[];
584
+ stressChangeDuringSettlement: {
585
+ elapsedTime: number | null;
586
+ verticalStrain: number | null;
587
+ excessPoreWaterPressure: number | null;
588
+ verticalEffectiveStress: number | null;
589
+ horizontalEffectiveStress: number | null;
590
+ }[];
591
+ }[];
592
+ saturationStageAtCompression?: {
593
+ usedMedium: string | null;
594
+ porousDiscWet: boolean | null;
595
+ backPressure: number | null;
596
+ constantHeight: boolean | null;
597
+ specimenHeightAfterwards: number | null;
598
+ disturbanceInduced: boolean | null;
599
+ maximumStressDifference: number | null;
600
+ maximumStrain: number | null;
601
+ };
602
+ };
603
+ saturatedPermeabilityDetermination?: {
604
+ temperature: number | null;
605
+ determinationProcedure: string | null;
606
+ determinationMethod: string | null;
607
+ verticallyDetermined: boolean | null;
608
+ usedMedium: string | null;
609
+ specimenMade: boolean | null;
610
+ saturatedWithCO2: boolean | null;
611
+ currentDownwards: boolean | null;
612
+ waterDegassed: boolean | null;
613
+ maximumGradient: number | null;
614
+ ringWaterRepellent: string | null;
615
+ waterContentAfterwards: number | null;
616
+ materialIrregularity: (string | null)[];
617
+ saturatedPermeabilityAtSpecificDensity: {
618
+ dryVolumetricMassDensity: number | null;
619
+ saturatedPermeability: number | null;
620
+ }[];
621
+ saturatedPermeabilityAtSpecificLoad: {
622
+ saturatedPermeability: number | null;
623
+ load: number | null;
624
+ }[];
625
+ };
626
+ maximumUndrainedShearStrengthDetermination?: {
627
+ determinationProcedure: string | null;
628
+ determinationMethod: string | null;
629
+ sampleMoistness: string | null;
630
+ determinationDiameter: string | null;
631
+ verticallyDetermined: boolean | null;
632
+ maximumUndrainedShearStrength: number | null;
633
+ lowestMaximumUndrainedShearStrength: number | null;
634
+ highestMaximumUndrainedShearStrength: number | null;
635
+ };
636
+ shearStressChangeDuringLoadingDetermination?: {
637
+ stopCriterion: string | null;
638
+ determinationProcedure: string | null;
639
+ determinationMethod: string | null;
640
+ sampleMoistness: string | null;
641
+ filterPaperUsed: boolean | null;
642
+ apparatusDeformationApplied: boolean | null;
643
+ specimenDisturbed: boolean | null;
644
+ specimenTrimmed: boolean | null;
645
+ beginDiameter: number | null;
646
+ beginHeight: number | null;
647
+ topCapTiltable: boolean | null;
648
+ drainageStripsUsed: boolean | null;
649
+ membraneSaturatedBefore: boolean | null;
650
+ cellDeformationApplied: boolean | null;
651
+ membraneCorrection?: {
652
+ correctionMethod: string | null;
653
+ thickness: number | null;
654
+ stiffnessClass: string | null;
655
+ };
656
+ drainageStripCorrection?: {
657
+ correctionMethod: string | null;
658
+ orientation: string | null;
659
+ coverage: string | null;
660
+ };
661
+ madeSpecimenForLoading?: {
662
+ dryVolumetricMassDensity: number | null;
663
+ makingMethod: string | null;
664
+ };
665
+ saturationStageAtLoading?: {
666
+ usedMedium: string | null;
667
+ porousDiscWet: boolean | null;
668
+ backPressure: number | null;
669
+ constantHeight: boolean | null;
670
+ disturbanceInduced: boolean | null;
671
+ porousDiscRough: boolean | null;
672
+ cellPressureAutomaticallyControlled: boolean | null;
673
+ effectivePressure: number | null;
674
+ skemptonBCoefficient: number | null;
675
+ stressDifference: number | null;
676
+ };
677
+ consolidationStageAtLoading?: {
678
+ verticalStrain: number | null;
679
+ drainageTwoSided: boolean | null;
680
+ consolidationMethod: string | null;
681
+ verticalConsolidationStress: number | null;
682
+ horizontalConsolidationStress: number | null;
683
+ lateralEarthPressureCoefficient: number | null;
684
+ volumeChangeDuringConsolidation: {
685
+ time: number | null;
686
+ volumeChange: number | null;
687
+ }[];
688
+ };
689
+ loadStage?: {
690
+ deformationRate: number | null;
691
+ specimenShape: string | null;
692
+ shearStressChangeDuringLoading: {
693
+ time: number | null;
694
+ axialStrain: number | null;
695
+ deviatorStress: number | null;
696
+ cellPressure: number | null;
697
+ porePressure: number | null;
698
+ volumeChange: number | null;
699
+ }[];
700
+ };
701
+ }[];
702
+ shearStressChangeDuringHorizontalDeformationDetermination?: {
703
+ stopCriterion: string | null;
704
+ determinationProcedure: string | null;
705
+ determinationMethod: string | null;
706
+ sampleMoistness: string | null;
707
+ porousDiscWet: boolean | null;
708
+ apparatusDeformationApplied: boolean | null;
709
+ bearingFrictionCorrectionApplied: boolean | null;
710
+ specimenDisturbed: boolean | null;
711
+ beginDiameter: number | null;
712
+ beginHeight: number | null;
713
+ specimenWaterSaturated: boolean | null;
714
+ drained: boolean | null;
715
+ lateralSupport: string | null;
716
+ membraneCorrectionApplied: boolean | null;
717
+ consolidationStageAtHorizontalDeformation?: {
718
+ pedestalFixed: boolean | null;
719
+ consolidationSteps: {
720
+ verticalStress: number | null;
721
+ stepNumber: number;
722
+ heightChangeDuringConsolidation: {
723
+ time: number | null;
724
+ height: number | null;
725
+ }[];
726
+ }[];
727
+ };
728
+ shearStage?: {
729
+ deformationRate: number | null;
730
+ activeHeightControl: boolean | null;
731
+ shearStressChangeDuringHorizontalDeformation: {
732
+ time: number | null;
733
+ horizontalDisplacement: number | null;
734
+ shearStress: number | null;
735
+ verticalStress: number | null;
736
+ heightChange: number | null;
737
+ }[];
738
+ };
739
+ }[];
740
+ }[];
741
+ };
742
+ fluidMudLayer?: {
743
+ thickness: number | null;
744
+ colour: string | null;
745
+ upperBoundaryPositioningMethod: string | null;
746
+ lowerBoundaryPositioningMethod: string | null;
747
+ };
748
+ }, "optional">;
749
+ type BoreData = Produced<typeof BORE_PRODUCER>;
750
+ /** Rock description of a rock layer. Inferred from {@link ROCK_DESCRIPTION}. @internal */
751
+ export type RockDescription = Produced<typeof ROCK_DESCRIPTION>;
752
+ /** Three-axis rock weathering degree. @internal */
753
+ export type RockWeatheringDegree = NonNullable<RockDescription["weatheringDegree"]>;
754
+ /** Grain-shape properties of a sand/gravel fraction. Inferred from {@link GRAINSHAPE}. @internal */
755
+ export type Grainshape = Produced<typeof GRAINSHAPE>;
756
+ /** One bored interval. Inferred from {@link BORED_INTERVAL}. @internal */
757
+ export type BoredInterval = Produced<typeof BORED_INTERVAL>;
758
+ /** One sampled interval. Inferred from {@link SAMPLED_INTERVAL}. @internal */
759
+ export type SampledInterval = Produced<typeof SAMPLED_INTERVAL>;
760
+ /** Sampler details of a sampled interval. @internal */
761
+ export type SamplerDetails = NonNullable<SampledInterval["sampler"]>;
762
+ /** Core-recovery details of a sampled interval. @internal */
763
+ export type CoreRecovery = NonNullable<SampledInterval["coreRecovery"]>;
764
+ /** One completed interval. Inferred from {@link COMPLETED_INTERVAL}. @internal */
765
+ export type CompletedInterval = Produced<typeof COMPLETED_INTERVAL>;
766
+ /** A post-sedimentary discontinuity. Inferred from {@link POST_SED_DISCONTINUITY}. @internal */
767
+ export type PostSedimentaryDiscontinuity = Produced<typeof POST_SED_DISCONTINUITY>;
768
+ /** One excavated layer. @internal */
769
+ export type ExcavatedLayer = BoreData["excavatedLayers"][number];
770
+ /** One borehole boring-velocity measurement. @internal */
771
+ export type BoringVelocityMeasurement = BoreData["boringVelocity"][number];
772
+ /** One not-described interval. @internal */
773
+ export type NotDescribedInterval = BoreData["notDescribedIntervals"][number];
774
+ /** A fluid-mud layer. @internal */
775
+ export type FluidMudLayer = NonNullable<BoreData["fluidMudLayer"]>;
776
+ export {};
13
777
  //# sourceMappingURL=bore-schema.d.ts.map