@bedrock-engineer/bro-xml-parser 0.3.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.
Files changed (96) 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/gld-resolvers.d.ts +30 -0
  46. package/dist/resolvers/gld-resolvers.d.ts.map +1 -0
  47. package/dist/resolvers/gld-resolvers.js +76 -0
  48. package/dist/resolvers/gld-resolvers.js.map +1 -0
  49. package/dist/resolvers/gmw-resolvers.d.ts +37 -0
  50. package/dist/resolvers/gmw-resolvers.d.ts.map +1 -0
  51. package/dist/resolvers/gmw-resolvers.js +101 -0
  52. package/dist/resolvers/gmw-resolvers.js.map +1 -0
  53. package/dist/resolvers.d.ts +2 -0
  54. package/dist/resolvers.d.ts.map +1 -1
  55. package/dist/resolvers.js +4 -0
  56. package/dist/resolvers.js.map +1 -1
  57. package/dist/schema-presets.d.ts +67 -16
  58. package/dist/schema-presets.d.ts.map +1 -1
  59. package/dist/schema-presets.js +51 -114
  60. package/dist/schema-presets.js.map +1 -1
  61. package/dist/schemas/bhrg-schema.d.ts +528 -9
  62. package/dist/schemas/bhrg-schema.d.ts.map +1 -1
  63. package/dist/schemas/bhrg-schema.js +330 -189
  64. package/dist/schemas/bhrg-schema.js.map +1 -1
  65. package/dist/schemas/bhrgt-analysis.d.ts +1057 -0
  66. package/dist/schemas/bhrgt-analysis.d.ts.map +1 -0
  67. package/dist/schemas/bhrgt-analysis.js +454 -0
  68. package/dist/schemas/bhrgt-analysis.js.map +1 -0
  69. package/dist/schemas/bore-schema.d.ts +773 -9
  70. package/dist/schemas/bore-schema.d.ts.map +1 -1
  71. package/dist/schemas/bore-schema.js +344 -292
  72. package/dist/schemas/bore-schema.js.map +1 -1
  73. package/dist/schemas/common-fields.d.ts +50 -5
  74. package/dist/schemas/common-fields.d.ts.map +1 -1
  75. package/dist/schemas/common-fields.js +70 -19
  76. package/dist/schemas/common-fields.js.map +1 -1
  77. package/dist/schemas/cpt-schema.d.ts +126 -9
  78. package/dist/schemas/cpt-schema.d.ts.map +1 -1
  79. package/dist/schemas/cpt-schema.js +182 -285
  80. package/dist/schemas/cpt-schema.js.map +1 -1
  81. package/dist/schemas/generated/gld.generated.d.ts +9 -0
  82. package/dist/schemas/generated/gld.generated.d.ts.map +1 -0
  83. package/dist/schemas/generated/gld.generated.js +19 -0
  84. package/dist/schemas/generated/gld.generated.js.map +1 -0
  85. package/dist/schemas/gld-schema.d.ts +92 -0
  86. package/dist/schemas/gld-schema.d.ts.map +1 -0
  87. package/dist/schemas/gld-schema.js +88 -0
  88. package/dist/schemas/gld-schema.js.map +1 -0
  89. package/dist/schemas/gmw-schema.d.ts +180 -0
  90. package/dist/schemas/gmw-schema.d.ts.map +1 -0
  91. package/dist/schemas/gmw-schema.js +131 -0
  92. package/dist/schemas/gmw-schema.js.map +1 -0
  93. package/dist/types/index.d.ts +51 -1421
  94. package/dist/types/index.d.ts.map +1 -1
  95. package/dist/types/index.js.map +1 -1
  96. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bhrgt-analysis.d.ts","sourceRoot":"","sources":["../../src/schemas/bhrgt-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAsC,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAYxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AA2BhD,QAAA,MAAM,WAAW;;;;;;EAGP,CAAC;AAEX,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;EAMb,CAAC;AAEX,QAAA,MAAM,aAAa;;;;;;EAGT,CAAC;AAEX,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;EAOT,CAAC;AAEX,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;EAMZ,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAC7D,gBAAgB;AAChB,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACzE,gBAAgB;AAChB,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACrE,gBAAgB;AAChB,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACtE,gBAAgB;AAChB,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI5E,QAAA,MAAM,aAAa;;;;;;;;;cAWjB,CAAC;AAEH,QAAA,MAAM,uBAAuB;;;;;cAO3B,CAAC;AAEH,QAAA,MAAM,cAAc;;;;;;cAQlB,CAAC;AAEH,QAAA,MAAM,SAAS;;;;;cAOb,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;cAQrB,CAAC;AAEH,QAAA,MAAM,mBAAmB;;;;;;;;;cAavB,CAAC;AAsBH,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiEjB,CAAC;AAIH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;cAsBtB,CAAC;AAEH,QAAA,MAAM,yBAAyB;;;;;;;;;cAW7B,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;cAiBnB,CAAC;AAEH,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkBd,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;cAkChB,CAAC;AAIH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+FrB,CAAC;AAEH,QAAA,MAAM,6BAA6B;;;;;;;cASjC,CAAC;AAEH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0CxB,CAAC;AAIH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4DzB,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAW5B,CAAC;AAMH,qGAAqG;AACrG,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACxE,4GAA4G;AAC5G,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAG1E,gBAAgB;AAChB,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AACvE,gBAAgB;AAChB,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1F,gBAAgB;AAChB,MAAM,MAAM,iCAAiC,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAChF,gBAAgB;AAChB,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AACvE,gBAAgB;AAChB,MAAM,MAAM,0CAA0C,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5F,gBAAgB;AAChB,MAAM,MAAM,0CAA0C,GAAG,QAAQ,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC9F,gBAAgB;AAChB,MAAM,MAAM,qCAAqC,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AACnF,gBAAgB;AAChB,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACjF,gBAAgB;AAChB,MAAM,MAAM,sCAAsC,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC;AACjF,gBAAgB;AAChB,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAC;AAC3E,gBAAgB;AAChB,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACtF,gBAAgB;AAChB,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAC/E,gBAAgB;AAChB,MAAM,MAAM,2CAA2C,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC7F,gBAAgB;AAChB,MAAM,MAAM,wCAAwC,GAAG,QAAQ,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACtG,gBAAgB;AAChB,MAAM,MAAM,yDAAyD,GAAG,QAAQ,CAC9E,OAAO,oBAAoB,CAC5B,CAAC;AAGF,gBAAgB;AAChB,MAAM,MAAM,gCAAgC,GAC1C,8BAA8B,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,gBAAgB;AAChB,MAAM,MAAM,sCAAsC,GAChD,kCAAkC,CAAC,wCAAwC,CAAC,CAAC,MAAM,CAAC,CAAC;AACvF,gBAAgB;AAChB,MAAM,MAAM,mCAAmC,GAC7C,kCAAkC,CAAC,qCAAqC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpF,gBAAgB;AAChB,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAC1C,2CAA2C,CAAC,oBAAoB,CAAC,CAClE,CAAC;AACF,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,2CAA2C,CAAC,yBAAyB,CAAC,CACvE,CAAC;AACF,gBAAgB;AAChB,MAAM,MAAM,sBAAsB,GAAG,WAAW,CAC9C,2CAA2C,CAAC,wBAAwB,CAAC,CACtE,CAAC;AACF,gBAAgB;AAChB,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAChD,2CAA2C,CAAC,0BAA0B,CAAC,CACxE,CAAC;AACF,gBAAgB;AAChB,MAAM,MAAM,2BAA2B,GAAG,WAAW,CACnD,2CAA2C,CAAC,6BAA6B,CAAC,CAC3E,CAAC;AACF,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,2CAA2C,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9F,gBAAgB;AAChB,MAAM,MAAM,yCAAyC,GAAG,WAAW,CACjE,yDAAyD,CAAC,2CAA2C,CAAC,CACvG,CAAC;AACF,gBAAgB;AAChB,MAAM,MAAM,iCAAiC,GAAG,WAAW,CACzD,yDAAyD,CAAC,YAAY,CAAC,CACxE,CAAC"}
@@ -0,0 +1,454 @@
1
+ /**
2
+ * BHR-GT-BMA (Borehole Sample Analysis) — the laboratory-determination subtree.
3
+ *
4
+ * The ~13 lab determinations of an investigated interval, as declarative
5
+ * producers. Determinations are mounted with `presence: "omit"` so each is keyed
6
+ * only when performed; the CSV time-series (settlement / triaxial / direct-shear)
7
+ * are decoded with the {@link columns} producer.
8
+ */
9
+ import { object, array, custom, scalar, text, date, number, boolean, } from "../core/producer.js";
10
+ import { columns, col } from "../core/columns.js";
11
+ import { parseFloat, parseInt } from "../decoders/type-decoders.js";
12
+ const REQUIRED = { presence: "required" };
13
+ /** Mount an object/array producer at a relative path, keyed only when present. */
14
+ function optional(producer, at) {
15
+ return { ...producer, at, presence: "omit" };
16
+ }
17
+ /** A repeatable code list: text of each match, always present (may be empty). */
18
+ function codeList(each) {
19
+ return array({ each, item: text() });
20
+ }
21
+ /** Depth boundary: decimal, defaulting to 0 when absent (XSD-required in practice). */
22
+ function depth(at) {
23
+ return scalar({ at, decode: (raw) => parseFloat(raw) ?? 0 });
24
+ }
25
+ /** Integer step/count, defaulting to 0 when absent. */
26
+ function intOr0(at) {
27
+ return scalar({ at, decode: (raw) => parseInt(raw) ?? 0 });
28
+ }
29
+ // === CSV column specs (as const so column names + cell types drive RowOf) ===
30
+ const TIME_HEIGHT = [
31
+ { name: "time", parse: col.num },
32
+ { name: "height", parse: col.num },
33
+ ];
34
+ const STRESS_SETTLEMENT = [
35
+ { name: "elapsedTime", parse: col.num },
36
+ { name: "verticalStrain", parse: col.num },
37
+ { name: "excessPoreWaterPressure", parse: col.num },
38
+ { name: "verticalEffectiveStress", parse: col.num },
39
+ { name: "horizontalEffectiveStress", parse: col.num },
40
+ ];
41
+ const VOLUME_CHANGE = [
42
+ { name: "time", parse: col.num },
43
+ { name: "volumeChange", parse: col.num },
44
+ ];
45
+ const SHEAR_LOADING = [
46
+ { name: "time", parse: col.num },
47
+ { name: "axialStrain", parse: col.num },
48
+ { name: "deviatorStress", parse: col.num },
49
+ { name: "cellPressure", parse: col.num },
50
+ { name: "porePressure", parse: col.num, optional: true },
51
+ { name: "volumeChange", parse: col.num, optional: true },
52
+ ];
53
+ const SHEAR_HORIZONTAL = [
54
+ { name: "time", parse: col.num },
55
+ { name: "horizontalDisplacement", parse: col.num },
56
+ { name: "shearStress", parse: col.num },
57
+ { name: "verticalStress", parse: col.num },
58
+ { name: "heightChange", parse: col.num, optional: true },
59
+ ];
60
+ // === Determinations that read directly from their wrapper node ===
61
+ const WATER_CONTENT = object({
62
+ fields: {
63
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
64
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
65
+ sampleMoistness: text("./bhrgtcom:sampleMoistness"),
66
+ removedMaterial: text("./bhrgtcom:removedMaterial"),
67
+ waterContent: number("./bhrgtcom:determinationResult/bhrgtcom:waterContent"),
68
+ dryingTemperature: text("./bhrgtcom:determinationResult/bhrgtcom:dryingTemperature"),
69
+ dryingPeriod: text("./bhrgtcom:determinationResult/bhrgtcom:dryingPeriod"),
70
+ saltCorrectionMethod: text("./bhrgtcom:determinationResult/bhrgtcom:saltCorrectionMethod"),
71
+ },
72
+ });
73
+ const VOLUMETRIC_MASS_DENSITY = object({
74
+ fields: {
75
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
76
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
77
+ sampleMoistness: text("./bhrgtcom:sampleMoistness"),
78
+ volumetricMassDensity: number("./bhrgtcom:volumetricMassDensity"),
79
+ },
80
+ });
81
+ const ORGANIC_MATTER = object({
82
+ fields: {
83
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
84
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
85
+ removedMaterial: text("./bhrgtcom:removedMaterial"),
86
+ lutumCorrectionApplied: boolean("./bhrgtcom:lutumCorrectionApplied"),
87
+ organicMatterContent: number("./bhrgtcom:organicMatterContent"),
88
+ },
89
+ });
90
+ const CARBONATE = object({
91
+ fields: {
92
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
93
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
94
+ removedMaterial: text("./bhrgtcom:removedMaterial"),
95
+ carbonateContent: number("./bhrgtcom:carbonateContent"),
96
+ },
97
+ });
98
+ const DENSITY_OF_SOLIDS = object({
99
+ fields: {
100
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
101
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
102
+ liquidUsed: text("./bhrgtcom:usedMedium"),
103
+ sampleContainerVolume: text("./bhrgtcom:sampleContainerVolume"),
104
+ volumetricMassDensityOfSolids: number("./bhrgtcom:volumetricMassDensitySolids"),
105
+ },
106
+ });
107
+ const MAX_UNDRAINED_SHEAR = object({
108
+ fields: {
109
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
110
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
111
+ determinationDiameter: text("./bhrgtcom:determinationDiameter"),
112
+ verticallyDetermined: boolean("./bhrgtcom:verticallyDetermined"),
113
+ sampleMoistness: text("./bhrgtcom:sampleMoistness"),
114
+ maximumUndrainedShearStrength: number("./bhrgtcom:maximumUndrainedShearStrength"),
115
+ lowestMaximumUndrainedShearStrength: number("./bhrgtcom:lowestMaximumUndrainedShearStrength"),
116
+ highestMaximumUndrainedShearStrength: number("./bhrgtcom:highestMaximumUndrainedShearStrength"),
117
+ },
118
+ });
119
+ // === Particle size distribution (fractions live in mutually-exclusive groups) ===
120
+ const PSD = "./bhrgtcom:basicParticleSizeDistribution";
121
+ const PSD_DET_S = `${PSD}/bhrgtcom:detailedDistributionFractionSmaller63um`;
122
+ const PSD_STD_S = `${PSD}/bhrgtcom:standardDistributionFractionSmaller63um`;
123
+ const PSD_STD_L = `${PSD}/bhrgtcom:standardDistributionFractionLarger63um`;
124
+ const PSD_DET_L = `${PSD}/bhrgtcom:detailedDistributionFractionLarger63um`;
125
+ /** A fraction read from one fixed group path (null when that group is absent). */
126
+ const frac = (group, name) => number(`${group}/bhrgtcom:${name}`);
127
+ /** A fraction present in either of two mutually-exclusive groups (first non-null wins). */
128
+ function fracEither(name) {
129
+ return custom({
130
+ produce: (lens) => parseFloat(lens.textAt(`${PSD_DET_S}/bhrgtcom:${name}`) ?? lens.textAt(`${PSD_STD_S}/bhrgtcom:${name}`)),
131
+ });
132
+ }
133
+ const PARTICLE_SIZE = object({
134
+ fields: {
135
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
136
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
137
+ fractionDistribution: text("./bhrgtcom:fractionDistribution"),
138
+ dispersionMethod: text("./bhrgtcom:dispersionMethod"),
139
+ removedMaterial: text("./bhrgtcom:removedMaterial"),
140
+ equivalentMassDeterminationMethod: text("./bhrgtcom:equivalentMassDeterminationMethod"),
141
+ equivalentMass: number("./bhrgtcom:equivalentMass"),
142
+ usedOpticalModel: text("./bhrgtcom:usedOpticalModel"),
143
+ fractionSmaller63um: frac(PSD, "fractionSmaller63um"),
144
+ fractionLarger63um: frac(PSD, "fractionLarger63um"),
145
+ // Detailed <63μm group (with 3 fractions shared with the standard <63μm group)
146
+ fraction0to2um: fracEither("fraction0to2um"),
147
+ fraction2to4um: frac(PSD_DET_S, "fraction2to4um"),
148
+ fraction4to8um: frac(PSD_DET_S, "fraction4to8um"),
149
+ fraction8to16um: frac(PSD_DET_S, "fraction8to16um"),
150
+ fraction16to32um: frac(PSD_DET_S, "fraction16to32um"),
151
+ fraction32to50um: fracEither("fraction32to50um"),
152
+ fraction50to63um: fracEither("fraction50to63um"),
153
+ fraction2to32um: frac(PSD_STD_S, "fraction2to32um"),
154
+ // Standard >63μm group
155
+ fraction63to90um: frac(PSD_STD_L, "fraction63to90um"),
156
+ fraction90to125um: frac(PSD_STD_L, "fraction90to125um"),
157
+ fraction125to180um: frac(PSD_STD_L, "fraction125to180um"),
158
+ fraction180to250um: frac(PSD_STD_L, "fraction180to250um"),
159
+ fraction250to355um: frac(PSD_STD_L, "fraction250to355um"),
160
+ fraction355to500um: frac(PSD_STD_L, "fraction355to500um"),
161
+ fraction500to710um: frac(PSD_STD_L, "fraction500to710um"),
162
+ fraction710to1000um: frac(PSD_STD_L, "fraction710to1000um"),
163
+ fraction1000to1400um: frac(PSD_STD_L, "fraction1000to1400um"),
164
+ fraction1400umto2mm: frac(PSD_STD_L, "fraction1400umto2mm"),
165
+ fraction2to4mm: frac(PSD_STD_L, "fraction2to4mm"),
166
+ fraction4to8mm: frac(PSD_STD_L, "fraction4to8mm"),
167
+ fraction8to16mm: frac(PSD_STD_L, "fraction8to16mm"),
168
+ // eslint-disable-next-line @typescript-eslint/naming-convention
169
+ fraction16to31_5mm: frac(PSD_STD_L, "fraction16to31_5mm"),
170
+ // eslint-disable-next-line @typescript-eslint/naming-convention
171
+ fraction31_5to63mm: frac(PSD_STD_L, "fraction31_5to63mm"),
172
+ fractionLarger63mm: frac(PSD_STD_L, "fractionLarger63mm"),
173
+ // Detailed >63μm group (finer buckets, alternative to the standard >63μm set)
174
+ fraction63to75um: frac(PSD_DET_L, "fraction63to75um"),
175
+ fraction75to90um: frac(PSD_DET_L, "fraction75to90um"),
176
+ fraction90to106um: frac(PSD_DET_L, "fraction90to106um"),
177
+ fraction106to125um: frac(PSD_DET_L, "fraction106to125um"),
178
+ fraction125to150um: frac(PSD_DET_L, "fraction125to150um"),
179
+ fraction150to180um: frac(PSD_DET_L, "fraction150to180um"),
180
+ fraction180to212um: frac(PSD_DET_L, "fraction180to212um"),
181
+ fraction212to250um: frac(PSD_DET_L, "fraction212to250um"),
182
+ // eslint-disable-next-line @typescript-eslint/naming-convention
183
+ fraction4to5_6mm: frac(PSD_DET_L, "fraction4to5_6mm"),
184
+ // eslint-disable-next-line @typescript-eslint/naming-convention
185
+ fraction5_6to8mm: frac(PSD_DET_L, "fraction5_6to8mm"),
186
+ // eslint-disable-next-line @typescript-eslint/naming-convention
187
+ fraction8to11_2mm: frac(PSD_DET_L, "fraction8to11_2mm"),
188
+ // eslint-disable-next-line @typescript-eslint/naming-convention
189
+ fraction11_2to16mm: frac(PSD_DET_L, "fraction11_2to16mm"),
190
+ fraction16to20mm: frac(PSD_DET_L, "fraction16to20mm"),
191
+ // eslint-disable-next-line @typescript-eslint/naming-convention
192
+ fraction20to31_5mm: frac(PSD_DET_L, "fraction20to31_5mm"),
193
+ },
194
+ });
195
+ // === Determinations wrapped in a PascalCase child element ===
196
+ const CONSISTENCY_LIMITS = object({
197
+ fields: {
198
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
199
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
200
+ fractionLarger500um: number("./bhrgtcom:fractionLarger500um"),
201
+ usedMedium: text("./bhrgtcom:usedMedium"),
202
+ performanceIrregularity: text("./bhrgtcom:performanceIrregularity"),
203
+ conusType: text("./bhrgtcom:conusType"),
204
+ liquidLimit: number("./bhrgtcom:liquidLimit"),
205
+ plasticLimit: number("./bhrgtcom:plasticLimit"),
206
+ plasticityIndex: number("./bhrgtcom:plasticityIndex"),
207
+ plasticityAtSpecificWaterContent: array({
208
+ each: "./bhrgtcom:plasticityAtSpecificWaterContent",
209
+ item: object({
210
+ fields: {
211
+ waterContent: { ...number("./bhrgtcom:waterContent"), ...REQUIRED },
212
+ numberOfFalls: intOr0("./bhrgtcom:numberOfFalls"),
213
+ penetrationDepth: number("./bhrgtcom:penetrationDepth"),
214
+ },
215
+ }),
216
+ }),
217
+ },
218
+ });
219
+ const SATURATION_AT_COMPRESSION = object({
220
+ fields: {
221
+ porousDiscWet: boolean("./bhrgtcom:porousDiscWet"),
222
+ usedMedium: text("./bhrgtcom:usedMedium"),
223
+ backPressure: number("./bhrgtcom:backPressure"),
224
+ constantHeight: boolean("./bhrgtcom:constantHeight"),
225
+ specimenHeightAfterwards: number("./bhrgtcom:specimenHeightAfterwards"),
226
+ disturbanceInduced: boolean("./bhrgtcom:disturbanceInduced"),
227
+ maximumStressDifference: number("./bhrgtcom:maximumStressDifference"),
228
+ maximumStrain: number("./bhrgtcom:maximumStrain"),
229
+ },
230
+ });
231
+ const SETTLEMENT_STEP = object({
232
+ fields: {
233
+ stepNumber: intOr0("./bhrgtcom:stepNumber"),
234
+ wetPerformed: boolean("./bhrgtcom:wetPerformed"),
235
+ swellObserved: boolean("./bhrgtcom:swellObserved"),
236
+ strainPoint24hours: number("./bhrgtcom:strainPoint24hours"),
237
+ stepType: text("./bhrgtcom:stepType"),
238
+ verticalStress: number("./bhrgtcom:verticalStress"),
239
+ heightChangeDuringSettlement: columns("./bhrgtcom:heightChangeDuringSettlement/bhrgtcom:values", TIME_HEIGHT),
240
+ stressChangeDuringSettlement: columns("./bhrgtcom:stressChangeDuringSettlement/bhrgtcom:values", STRESS_SETTLEMENT),
241
+ },
242
+ });
243
+ const SETTLEMENT = object({
244
+ fields: {
245
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
246
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
247
+ ringDiameter: number("./bhrgtcom:ringDiameter"),
248
+ sampleMoistness: text("./bhrgtcom:sampleMoistness"),
249
+ filterPaperUsed: boolean("./bhrgtcom:filterPaperUsed"),
250
+ temperature: number("./bhrgtcom:temperature"),
251
+ wallFrictionCorrectionMethod: text("./bhrgtcom:wallFrictionCorrectionMethod"),
252
+ apparatusDeformationApplied: boolean("./bhrgtcom:apparatusDeformationApplied"),
253
+ bearingFrictionCorrectionApplied: boolean("./bhrgtcom:bearingFrictionCorrectionApplied"),
254
+ irregularResult: boolean("./bhrgtcom:irregularResult"),
255
+ saturationStageAtCompression: optional(SATURATION_AT_COMPRESSION, "./bhrgtcom:saturationStageAtCompression"),
256
+ determinationSteps: array({ each: "./bhrgtcom:determinationStep", item: SETTLEMENT_STEP }),
257
+ },
258
+ });
259
+ const PERMEABILITY = object({
260
+ fields: {
261
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
262
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
263
+ specimenMade: boolean("./bhrgtcom:specimenMade"),
264
+ saturatedWithCO2: boolean("./bhrgtcom:saturatedWithCO2"),
265
+ verticallyDetermined: boolean("./bhrgtcom:verticallyDetermined"),
266
+ currentDownwards: boolean("./bhrgtcom:currentDownwards"),
267
+ usedMedium: text("./bhrgtcom:usedMedium"),
268
+ waterDegassed: boolean("./bhrgtcom:waterDegassed"),
269
+ temperature: number("./bhrgtcom:temperature"),
270
+ maximumGradient: number("./bhrgtcom:maximumGradient"),
271
+ ringWaterRepellent: text("./bhrgtcom:ringWaterRepellent"),
272
+ waterContentAfterwards: number("./bhrgtcom:waterContentAfterwards"),
273
+ materialIrregularity: codeList("./bhrgtcom:materialIrregularity"),
274
+ saturatedPermeabilityAtSpecificDensity: array({
275
+ each: "./bhrgtcom:saturatedPermeabilityAtSpecificDensity",
276
+ item: object({
277
+ fields: {
278
+ dryVolumetricMassDensity: number("./bhrgtcom:dryVolumetricMassDensity"),
279
+ saturatedPermeability: number("./bhrgtcom:saturatedPermeability"),
280
+ },
281
+ }),
282
+ }),
283
+ saturatedPermeabilityAtSpecificLoad: array({
284
+ each: "./bhrgtcom:saturatedPermeabilityAtSpecificLoad",
285
+ item: object({
286
+ fields: {
287
+ load: number("./bhrgtcom:load"),
288
+ saturatedPermeability: number("./bhrgtcom:saturatedPermeability"),
289
+ },
290
+ }),
291
+ }),
292
+ },
293
+ });
294
+ // === Shear determinations (repeatable; wrapper holds a PascalCase inner) ===
295
+ const SHEAR_LOADING_DET = object({
296
+ fields: {
297
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
298
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
299
+ specimenDisturbed: boolean("./bhrgtcom:specimenDisturbed"),
300
+ specimenTrimmed: boolean("./bhrgtcom:specimenTrimmed"),
301
+ sampleMoistness: text("./bhrgtcom:sampleMoistness"),
302
+ beginDiameter: number("./bhrgtcom:beginDiameter"),
303
+ beginHeight: number("./bhrgtcom:beginHeight"),
304
+ topCapTiltable: boolean("./bhrgtcom:topCapTiltable"),
305
+ filterPaperUsed: boolean("./bhrgtcom:filterPaperUsed"),
306
+ drainageStripsUsed: boolean("./bhrgtcom:drainageStripsUsed"),
307
+ membraneSaturatedBefore: boolean("./bhrgtcom:membraneSaturatedBefore"),
308
+ apparatusDeformationApplied: boolean("./bhrgtcom:apparatusDeformationApplied"),
309
+ cellDeformationApplied: boolean("./bhrgtcom:cellDeformationApplied"),
310
+ stopCriterion: text("./bhrgtcom:stopCriterion"),
311
+ membraneCorrection: optional(object({
312
+ fields: {
313
+ correctionMethod: text("./bhrgtcom:correctionMethod"),
314
+ thickness: number("./bhrgtcom:thickness"),
315
+ stiffnessClass: text("./bhrgtcom:stiffnessClass"),
316
+ },
317
+ }), "./bhrgtcom:membraneCorrection"),
318
+ drainageStripCorrection: optional(object({
319
+ fields: {
320
+ correctionMethod: text("./bhrgtcom:correctionMethod"),
321
+ orientation: text("./bhrgtcom:orientation"),
322
+ coverage: text("./bhrgtcom:coverage"),
323
+ },
324
+ }), "./bhrgtcom:drainageStripCorrection"),
325
+ madeSpecimenForLoading: optional(object({
326
+ fields: {
327
+ makingMethod: text("./bhrgtcom:makingMethod"),
328
+ dryVolumetricMassDensity: number("./bhrgtcom:dryVolumetricMassDensity"),
329
+ },
330
+ }), "./bhrgtcom:madeSpecimenForLoading"),
331
+ saturationStageAtLoading: optional(object({
332
+ fields: {
333
+ porousDiscWet: boolean("./bhrgtcom:porousDiscWet"),
334
+ porousDiscRough: boolean("./bhrgtcom:porousDiscRough"),
335
+ usedMedium: text("./bhrgtcom:usedMedium"),
336
+ constantHeight: boolean("./bhrgtcom:constantHeight"),
337
+ cellPressureAutomaticallyControlled: boolean("./bhrgtcom:cellPressureAutomaticallyControlled"),
338
+ backPressure: number("./bhrgtcom:backPressure"),
339
+ effectivePressure: number("./bhrgtcom:effectivePressure"),
340
+ skemptonBCoefficient: number("./bhrgtcom:skemptonB_Coefficient"),
341
+ disturbanceInduced: boolean("./bhrgtcom:disturbanceInduced"),
342
+ stressDifference: number("./bhrgtcom:stressDifference"),
343
+ },
344
+ }), "./bhrgtcom:saturationStageAtLoading"),
345
+ consolidationStageAtLoading: optional(object({
346
+ fields: {
347
+ drainageTwoSided: boolean("./bhrgtcom:drainageTwoSided"),
348
+ consolidationMethod: text("./bhrgtcom:consolidationMethod"),
349
+ verticalConsolidationStress: number("./bhrgtcom:verticalConsolidationStress"),
350
+ horizontalConsolidationStress: number("./bhrgtcom:horizontalConsolidationStress"),
351
+ verticalStrain: number("./bhrgtcom:verticalStrain"),
352
+ lateralEarthPressureCoefficient: number("./bhrgtcom:lateralEarthPressureCoefficient"),
353
+ volumeChangeDuringConsolidation: columns("./bhrgtcom:volumeChangeDuringConsolidation/bhrgtcom:values", VOLUME_CHANGE),
354
+ },
355
+ }), "./bhrgtcom:consolidationStageAtLoading"),
356
+ loadStage: optional(object({
357
+ fields: {
358
+ deformationRate: number("./bhrgtcom:deformationRate"),
359
+ specimenShape: text("./bhrgtcom:specimenShape"),
360
+ shearStressChangeDuringLoading: columns("./bhrgtcom:shearStressChangeDuringLoading/bhrgtcom:values", SHEAR_LOADING),
361
+ },
362
+ }), "./bhrgtcom:loadStage"),
363
+ },
364
+ });
365
+ const HORIZONTAL_CONSOLIDATION_STEP = object({
366
+ fields: {
367
+ stepNumber: intOr0("./bhrgtcom:stepNumber"),
368
+ verticalStress: number("./bhrgtcom:verticalStress"),
369
+ heightChangeDuringConsolidation: columns("./bhrgtcom:heightChangeDuringConsolidation/bhrgtcom:values", TIME_HEIGHT),
370
+ },
371
+ });
372
+ const SHEAR_HORIZONTAL_DET = object({
373
+ fields: {
374
+ determinationProcedure: text("./bhrgtcom:determinationProcedure"),
375
+ determinationMethod: text("./bhrgtcom:determinationMethod"),
376
+ specimenDisturbed: boolean("./bhrgtcom:specimenDisturbed"),
377
+ sampleMoistness: text("./bhrgtcom:sampleMoistness"),
378
+ specimenWaterSaturated: boolean("./bhrgtcom:specimenWaterSaturated"),
379
+ porousDiscWet: boolean("./bhrgtcom:porousDiscWet"),
380
+ drained: boolean("./bhrgtcom:drained"),
381
+ lateralSupport: text("./bhrgtcom:lateralSupport"),
382
+ beginDiameter: number("./bhrgtcom:beginDiameter"),
383
+ beginHeight: number("./bhrgtcom:beginHeight"),
384
+ stopCriterion: text("./bhrgtcom:stopCriterion"),
385
+ membraneCorrectionApplied: boolean("./bhrgtcom:membraneCorrectionApplied"),
386
+ apparatusDeformationApplied: boolean("./bhrgtcom:apparatusDeformationApplied"),
387
+ bearingFrictionCorrectionApplied: boolean("./bhrgtcom:bearingFrictionCorrectionApplied"),
388
+ consolidationStageAtHorizontalDeformation: optional(object({
389
+ fields: {
390
+ pedestalFixed: boolean("./bhrgtcom:pedestalFixed"),
391
+ consolidationSteps: array({
392
+ each: "./bhrgtcom:consolidationStep",
393
+ item: HORIZONTAL_CONSOLIDATION_STEP,
394
+ }),
395
+ },
396
+ }), "./bhrgtcom:consolidationStageAtHorizontalDeformation"),
397
+ shearStage: optional(object({
398
+ fields: {
399
+ deformationRate: number("./bhrgtcom:deformationRate"),
400
+ activeHeightControl: boolean("./bhrgtcom:activeHeightControl"),
401
+ shearStressChangeDuringHorizontalDeformation: columns("./bhrgtcom:shearStressChangeDuringHorizontalDeformation/bhrgtcom:values", SHEAR_HORIZONTAL),
402
+ },
403
+ }), "./bhrgtcom:shearStage"),
404
+ },
405
+ });
406
+ // === Investigated interval ===
407
+ const INVESTIGATED_INTERVAL = object({
408
+ fields: {
409
+ beginDepth: depth("./bhrgtcom:beginDepth"),
410
+ endDepth: depth("./bhrgtcom:endDepth"),
411
+ sampleQuality: text("./bhrgtcom:sampleQuality"),
412
+ analysisType: text("./bhrgtcom:analysisType"),
413
+ waterContentDetermined: boolean("./bhrgtcom:waterContentDetermined"),
414
+ organicMatterContentDetermined: boolean("./bhrgtcom:organicMatterContentDetermined"),
415
+ carbonateContentDetermined: boolean("./bhrgtcom:carbonateContentDetermined"),
416
+ volumetricMassDensityDetermined: boolean("./bhrgtcom:volumetricMassDensityDetermined"),
417
+ volumetricMassDensitySolidsDetermined: boolean("./bhrgtcom:volumetricMassDensitySolidsDetermined"),
418
+ described: boolean("./bhrgtcom:described"),
419
+ waterContentDetermination: optional(WATER_CONTENT, "./bhrgtcom:waterContentDetermination"),
420
+ organicMatterContentDetermination: optional(ORGANIC_MATTER, "./bhrgtcom:organicMatterContentDetermination"),
421
+ carbonateContentDetermination: optional(CARBONATE, "./bhrgtcom:carbonateContentDetermination"),
422
+ volumetricMassDensityDetermination: optional(VOLUMETRIC_MASS_DENSITY, "./bhrgtcom:volumetricMassDensityDetermination"),
423
+ volumetricMassDensityOfSolidsDetermination: optional(DENSITY_OF_SOLIDS, "./bhrgtcom:volumetricMassDensitySolidsDetermination"),
424
+ particleSizeDistributionDetermination: optional(PARTICLE_SIZE, "./bhrgtcom:particleSizeDistributionDetermination"),
425
+ consistencyLimitsDetermination: optional(CONSISTENCY_LIMITS, "./bhrgtcom:consistencyLimitsDetermination/bhrgtcom:ConsistencyLimitsDetermination"),
426
+ settlementCharacteristicsDetermination: optional(SETTLEMENT, "./bhrgtcom:settlementCharacteristicsDetermination/bhrgtcom:SettlementCharacteristicsDetermination"),
427
+ saturatedPermeabilityDetermination: optional(PERMEABILITY, "./bhrgtcom:saturatedPermeabilityDetermination/bhrgtcom:SaturatedPermeabilityDetermination"),
428
+ maximumUndrainedShearStrengthDetermination: optional(MAX_UNDRAINED_SHEAR, "./bhrgtcom:maximumUndrainedShearStrengthDetermination"),
429
+ shearStressChangeDuringLoadingDetermination: array({
430
+ each: "./bhrgtcom:shearStressChangeDuringLoadingDetermination/bhrgtcom:ShearStressChangeDuringLoadingDetermination",
431
+ item: SHEAR_LOADING_DET,
432
+ presence: "omit",
433
+ }),
434
+ shearStressChangeDuringHorizontalDeformationDetermination: array({
435
+ each: "./bhrgtcom:shearStressChangeDuringHorizontalDeformationDetermination/bhrgtcom:ShearStressChangeDuringHorizontalDeformationDetermination",
436
+ item: SHEAR_HORIZONTAL_DET,
437
+ presence: "omit",
438
+ }),
439
+ },
440
+ });
441
+ /** The `analysis` field: absent (`omit`) when there is no BMA subtree. */
442
+ export const ANALYSIS_PRODUCER = object({
443
+ at: "./dsbhrgt:boreholeSampleAnalysis",
444
+ presence: "omit",
445
+ fields: {
446
+ analysisReportDate: date("./bhrgtcom:analysisReportDate"),
447
+ analysisProcedure: text("./bhrgtcom:analysisProcedure"),
448
+ investigatedIntervals: array({
449
+ each: "./bhrgtcom:investigatedInterval",
450
+ item: INVESTIGATED_INTERVAL,
451
+ }),
452
+ },
453
+ });
454
+ //# sourceMappingURL=bhrgt-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bhrgt-analysis.js","sourceRoot":"","sources":["../../src/schemas/bhrgt-analysis.ts"],"names":[],"mappings":"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"}