@bedrock-engineer/bro-xml-parser 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/browser.d.ts +1 -1
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js.map +1 -1
  4. package/dist/node.d.ts +1 -1
  5. package/dist/node.d.ts.map +1 -1
  6. package/dist/node.js.map +1 -1
  7. package/dist/resolvers/bhrg-resolvers.d.ts +3 -18
  8. package/dist/resolvers/bhrg-resolvers.d.ts.map +1 -1
  9. package/dist/resolvers/bhrg-resolvers.js +294 -41
  10. package/dist/resolvers/bhrg-resolvers.js.map +1 -1
  11. package/dist/resolvers/bore-resolver-utils.d.ts +21 -2
  12. package/dist/resolvers/bore-resolver-utils.d.ts.map +1 -1
  13. package/dist/resolvers/bore-resolver-utils.js +69 -22
  14. package/dist/resolvers/bore-resolver-utils.js.map +1 -1
  15. package/dist/resolvers/bore-resolvers.d.ts +34 -17
  16. package/dist/resolvers/bore-resolvers.d.ts.map +1 -1
  17. package/dist/resolvers/bore-resolvers.js +342 -175
  18. package/dist/resolvers/bore-resolvers.js.map +1 -1
  19. package/dist/resolvers/cpt-resolvers.d.ts +1 -8
  20. package/dist/resolvers/cpt-resolvers.d.ts.map +1 -1
  21. package/dist/resolvers/cpt-resolvers.js +2 -29
  22. package/dist/resolvers/cpt-resolvers.js.map +1 -1
  23. package/dist/resolvers/type-resolvers.d.ts +12 -4
  24. package/dist/resolvers/type-resolvers.d.ts.map +1 -1
  25. package/dist/resolvers/type-resolvers.js +12 -4
  26. package/dist/resolvers/type-resolvers.js.map +1 -1
  27. package/dist/resolvers.d.ts +3 -2
  28. package/dist/resolvers.d.ts.map +1 -1
  29. package/dist/resolvers.js +4 -2
  30. package/dist/resolvers.js.map +1 -1
  31. package/dist/schemas/bhrg-schema.d.ts.map +1 -1
  32. package/dist/schemas/bhrg-schema.js +35 -8
  33. package/dist/schemas/bhrg-schema.js.map +1 -1
  34. package/dist/schemas/bore-schema.d.ts.map +1 -1
  35. package/dist/schemas/bore-schema.js +46 -11
  36. package/dist/schemas/bore-schema.js.map +1 -1
  37. package/dist/schemas/common-fields.d.ts +16 -0
  38. package/dist/schemas/common-fields.d.ts.map +1 -0
  39. package/dist/schemas/common-fields.js +31 -0
  40. package/dist/schemas/common-fields.js.map +1 -0
  41. package/dist/schemas/cpt-schema.d.ts.map +1 -1
  42. package/dist/schemas/cpt-schema.js +20 -10
  43. package/dist/schemas/cpt-schema.js.map +1 -1
  44. package/dist/types/index.d.ts +465 -49
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/dist/types/index.js.map +1 -1
  47. package/package.json +3 -2
package/dist/browser.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  */
14
14
  export { BROParser } from "./parser.js";
15
15
  export { BrowserXMLAdapter as XMLAdapter } from "./adapters/browser-adapter.js";
16
- export type { CPTData, CPTMeasurement, BHRGTData, BHRGTLayer, Grainshape, BHRGData, BHRGLayer, BROData, BROFileType, Location, ParseMeta, Schema, SchemaField, ResolverFunction, ResolverContext, Namespaces, BoreholeSampleAnalysis, InvestigatedInterval, ParticleSizeDistributionDetermination, ConsistencyLimitsDetermination, SettlementCharacteristicsDetermination, SaturatedPermeabilityDetermination, SaturatedPermeabilityAtSpecificDensity, ShearStressChangeDuringLoadingDetermination, SettlementDeterminationStep, ShearStressAtSpecificStrain, MaximumUndrainedShearStrengthDetermination, ShearStressChangeDuringHorizontalDeformationDetermination, ConsolidationStageAtHorizontalDeformation, ConsolidationStepAtHorizontalDeformation, ShearStageAtHorizontalDeformation, HorizontalDeformationDataPoint, HeightAtSpecificConsolidationTime, DissipationTest, DissipationMeasurement, QualityRegime, PlasticityAtSpecificWaterContent, HeightAtSpecificTime, MembraneCorrection, DrainageStripCorrection, SaturationStageAtLoading, SaturationStageAtCompression, SpecimenMadeForLoading, StressAtSpecificSettlement, VolumeChangeAtSpecificTime, ConsolidationStageAtLoading, LoadStage, RemovedLayer, RegistrationHistory, ReportHistory, IntermediateEvent, BoredInterval, SamplerDetails, SampledInterval, CompletedInterval, NotDescribedInterval, WaterContentDetermination, VolumetricMassDensityDetermination, OrganicMatterContentDetermination, CarbonateContentDetermination, VolumetricMassDensityOfSolidsDetermination, } from "./types/index.js";
16
+ export type { CPTData, CPTMeasurement, BHRGTData, BHRGTLayer, BHRGTLayerBase, BHRGTSoilLayer, BHRGTRockLayer, Grainshape, BHRGData, BHRGLayer, MunsellColour, SandConstituent, SandFraction, ShellConstituent, ShellFraction, GravelConstituent, GravelFraction, PeatConstituent, PeatFraction, Chunk, FineFractionDistributionOrganicSoil, FineFractionDistributionShellySoil, FractionDistribution, Mottle, ThinStratum, BROData, BRORegistrationObject, BROFileType, Location, ParseMeta, Schema, SchemaField, ResolverFunction, ResolverContext, Namespaces, BoreholeSampleAnalysis, InvestigatedInterval, ParticleSizeDistributionDetermination, ConsistencyLimitsDetermination, SettlementCharacteristicsDetermination, SaturatedPermeabilityDetermination, SaturatedPermeabilityAtSpecificDensity, ShearStressChangeDuringLoadingDetermination, SettlementDeterminationStep, ShearStressAtSpecificStrain, MaximumUndrainedShearStrengthDetermination, ShearStressChangeDuringHorizontalDeformationDetermination, ConsolidationStageAtHorizontalDeformation, ConsolidationStepAtHorizontalDeformation, ShearStageAtHorizontalDeformation, HorizontalDeformationDataPoint, HeightAtSpecificConsolidationTime, DissipationTest, DissipationMeasurement, QualityRegime, PlasticityAtSpecificWaterContent, HeightAtSpecificTime, MembraneCorrection, DrainageStripCorrection, SaturationStageAtLoading, SaturationStageAtCompression, SpecimenMadeForLoading, StressAtSpecificSettlement, VolumeChangeAtSpecificTime, ConsolidationStageAtLoading, LoadStage, RemovedLayer, RegistrationHistory, ReportHistory, IntermediateEvent, BoredInterval, SamplerDetails, SampledInterval, CoreRecovery, CompletedInterval, NotDescribedInterval, ExcavatedLayer, BoringVelocityMeasurement, FluidMudLayer, PostSedimentaryDiscontinuity, RockDescription, RockWeatheringDegree, SaturatedPermeabilityAtSpecificLoad, WaterContentDetermination, VolumetricMassDensityDetermination, OrganicMatterContentDetermination, CarbonateContentDetermination, VolumetricMassDensityOfSolidsDetermination, } from "./types/index.js";
17
17
  export { BROParseError } from "./types/index.js";
18
18
  export { SUPPORTED_VERSIONS } from "./core/version-detector.js";
19
19
  export type { DataType } from "./core/version-detector.js";
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhF,YAAY,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,EACX,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,qCAAqC,EACrC,8BAA8B,EAC9B,sCAAsC,EACtC,kCAAkC,EAClC,sCAAsC,EACtC,2CAA2C,EAC3C,2BAA2B,EAC3B,2BAA2B,EAC3B,0CAA0C,EAC1C,yDAAyD,EACzD,yCAAyC,EACzC,wCAAwC,EACxC,iCAAiC,EACjC,8BAA8B,EAC9B,iCAAiC,EACjC,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,gCAAgC,EAChC,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,0CAA0C,GAC3C,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhF,YAAY,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,KAAK,EACL,mCAAmC,EACnC,kCAAkC,EAClC,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,qCAAqC,EACrC,8BAA8B,EAC9B,sCAAsC,EACtC,kCAAkC,EAClC,sCAAsC,EACtC,2CAA2C,EAC3C,2BAA2B,EAC3B,2BAA2B,EAC3B,0CAA0C,EAC1C,yDAAyD,EACzD,yCAAyC,EACzC,wCAAwC,EACxC,iCAAiC,EACjC,8BAA8B,EAC9B,iCAAiC,EACjC,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,gCAAgC,EAChC,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,4BAA4B,EAC5B,eAAe,EACf,oBAAoB,EACpB,mCAAmC,EACnC,yBAAyB,EACzB,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,0CAA0C,GAC3C,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAkEhF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjG,iDAAiD;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,6CAA6C;AAC7C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AA6FhF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjG,iDAAiD;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,6CAA6C;AAC7C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
package/dist/node.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  */
14
14
  export { BROParser } from "./parser.js";
15
15
  export { NodeXMLAdapter as XMLAdapter } from "./adapters/node-adapter.js";
16
- export type { CPTData, CPTMeasurement, BHRGTData, BHRGTLayer, Grainshape, BHRGData, BHRGLayer, BROData, BROFileType, Location, ParseMeta, Schema, SchemaField, ResolverFunction, ResolverContext, Namespaces, BoreholeSampleAnalysis, InvestigatedInterval, ParticleSizeDistributionDetermination, ConsistencyLimitsDetermination, SettlementCharacteristicsDetermination, SaturatedPermeabilityDetermination, SaturatedPermeabilityAtSpecificDensity, ShearStressChangeDuringLoadingDetermination, SettlementDeterminationStep, ShearStressAtSpecificStrain, MaximumUndrainedShearStrengthDetermination, ShearStressChangeDuringHorizontalDeformationDetermination, ConsolidationStageAtHorizontalDeformation, ConsolidationStepAtHorizontalDeformation, ShearStageAtHorizontalDeformation, HorizontalDeformationDataPoint, HeightAtSpecificConsolidationTime, DissipationTest, DissipationMeasurement, QualityRegime, PlasticityAtSpecificWaterContent, HeightAtSpecificTime, MembraneCorrection, DrainageStripCorrection, SaturationStageAtLoading, SaturationStageAtCompression, SpecimenMadeForLoading, StressAtSpecificSettlement, VolumeChangeAtSpecificTime, ConsolidationStageAtLoading, LoadStage, RemovedLayer, RegistrationHistory, ReportHistory, IntermediateEvent, BoredInterval, SamplerDetails, SampledInterval, CompletedInterval, NotDescribedInterval, WaterContentDetermination, VolumetricMassDensityDetermination, OrganicMatterContentDetermination, CarbonateContentDetermination, VolumetricMassDensityOfSolidsDetermination, } from "./types/index.js";
16
+ export type { CPTData, CPTMeasurement, BHRGTData, BHRGTLayer, BHRGTLayerBase, BHRGTSoilLayer, BHRGTRockLayer, Grainshape, BHRGData, BHRGLayer, MunsellColour, SandConstituent, SandFraction, ShellConstituent, ShellFraction, GravelConstituent, GravelFraction, PeatConstituent, PeatFraction, Chunk, FineFractionDistributionOrganicSoil, FineFractionDistributionShellySoil, FractionDistribution, Mottle, ThinStratum, BROData, BRORegistrationObject, BROFileType, Location, ParseMeta, Schema, SchemaField, ResolverFunction, ResolverContext, Namespaces, BoreholeSampleAnalysis, InvestigatedInterval, ParticleSizeDistributionDetermination, ConsistencyLimitsDetermination, SettlementCharacteristicsDetermination, SaturatedPermeabilityDetermination, SaturatedPermeabilityAtSpecificDensity, ShearStressChangeDuringLoadingDetermination, SettlementDeterminationStep, ShearStressAtSpecificStrain, MaximumUndrainedShearStrengthDetermination, ShearStressChangeDuringHorizontalDeformationDetermination, ConsolidationStageAtHorizontalDeformation, ConsolidationStepAtHorizontalDeformation, ShearStageAtHorizontalDeformation, HorizontalDeformationDataPoint, HeightAtSpecificConsolidationTime, DissipationTest, DissipationMeasurement, QualityRegime, PlasticityAtSpecificWaterContent, HeightAtSpecificTime, MembraneCorrection, DrainageStripCorrection, SaturationStageAtLoading, SaturationStageAtCompression, SpecimenMadeForLoading, StressAtSpecificSettlement, VolumeChangeAtSpecificTime, ConsolidationStageAtLoading, LoadStage, RemovedLayer, RegistrationHistory, ReportHistory, IntermediateEvent, BoredInterval, SamplerDetails, SampledInterval, CoreRecovery, CompletedInterval, NotDescribedInterval, ExcavatedLayer, BoringVelocityMeasurement, FluidMudLayer, PostSedimentaryDiscontinuity, RockDescription, RockWeatheringDegree, SaturatedPermeabilityAtSpecificLoad, WaterContentDetermination, VolumetricMassDensityDetermination, OrganicMatterContentDetermination, CarbonateContentDetermination, VolumetricMassDensityOfSolidsDetermination, } from "./types/index.js";
17
17
  export { BROParseError } from "./types/index.js";
18
18
  export { SUPPORTED_VERSIONS } from "./core/version-detector.js";
19
19
  export type { DataType } from "./core/version-detector.js";
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE1E,YAAY,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,EACX,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,qCAAqC,EACrC,8BAA8B,EAC9B,sCAAsC,EACtC,kCAAkC,EAClC,sCAAsC,EACtC,2CAA2C,EAC3C,2BAA2B,EAC3B,2BAA2B,EAC3B,0CAA0C,EAC1C,yDAAyD,EACzD,yCAAyC,EACzC,wCAAwC,EACxC,iCAAiC,EACjC,8BAA8B,EAC9B,iCAAiC,EACjC,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,gCAAgC,EAChC,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,0CAA0C,GAC3C,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE1E,YAAY,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,KAAK,EACL,mCAAmC,EACnC,kCAAkC,EAClC,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,qCAAqC,EACrC,8BAA8B,EAC9B,sCAAsC,EACtC,kCAAkC,EAClC,sCAAsC,EACtC,2CAA2C,EAC3C,2BAA2B,EAC3B,2BAA2B,EAC3B,0CAA0C,EAC1C,yDAAyD,EACzD,yCAAyC,EACzC,wCAAwC,EACxC,iCAAiC,EACjC,8BAA8B,EAC9B,iCAAiC,EACjC,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,gCAAgC,EAChC,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,4BAA4B,EAC5B,eAAe,EACf,oBAAoB,EACpB,mCAAmC,EACnC,yBAAyB,EACzB,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,0CAA0C,GAC3C,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAkE1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjG,iDAAiD;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,6CAA6C;AAC7C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA6F1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjG,iDAAiD;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,6CAA6C;AAC7C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC"}
@@ -3,22 +3,11 @@
3
3
  *
4
4
  * Functions to parse and convert BHR-G-specific data structures
5
5
  */
6
- import type { BHRGLayer, ResolverContext, BoredInterval, SampledInterval, RegistrationHistory, ReportHistory } from "../types/index.js";
7
- /**
8
- * Process BHR-G layer data from descriptiveBoreholeLog element
9
- *
10
- * Uses createLayerParser factory to extract layer elements and convert
11
- * them to BHRGLayer objects with depth boundaries and NEN5104 soil classification.
12
- *
13
- * Extracts all coded fields from BHR-G layers including:
14
- * - Boundary determination methods (how boundaries were positioned)
15
- * - Anthropogenic and rooted indicators
16
- * - All soil classification properties
17
- */
6
+ import type { BHRGLayer, ResolverContext, BoredInterval, SampledInterval, ReportHistory, XMLAdapter, Namespaces } from "../types/index.js";
18
7
  export declare const processBHRGLayerData: (value: string | null, context: {
19
8
  node: Node;
20
- adapter: import("../types/index.js").XMLAdapter;
21
- namespaces: import("../types/index.js").Namespaces;
9
+ adapter: XMLAdapter;
10
+ namespaces: Namespaces;
22
11
  }) => BHRGLayer[];
23
12
  /**
24
13
  * Process bored intervals from BHR-G boring element
@@ -33,10 +22,6 @@ export declare function processBHRGBoredIntervals(_value: string | null, context
33
22
  * Note: BHR-G doesn't have the detailed sampler info that BHR-GT has
34
23
  */
35
24
  export declare function processBHRGSampledIntervals(_value: string | null, context: ResolverContext): Array<SampledInterval>;
36
- /**
37
- * Process registration history from BHR-G document element
38
- */
39
- export declare function processBHRGRegistrationHistory(_value: string | null, context: ResolverContext): RegistrationHistory | null;
40
25
  /**
41
26
  * Process report history from BHR-G document element
42
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bhrg-resolvers.d.ts","sourceRoot":"","sources":["../../src/resolvers/bhrg-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAS3B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB;;;;iBAoC/B,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,aAAa,CAAC,CAgCtB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,eAAe,CAAC,CAkCxB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,mBAAmB,GAAG,IAAI,CA4B5B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,aAAa,GAAG,IAAI,CAoCtB"}
1
+ {"version":3,"file":"bhrg-resolvers.d.ts","sourceRoot":"","sources":["../../src/resolvers/bhrg-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EAEb,UAAU,EACV,UAAU,EAUX,MAAM,mBAAmB,CAAC;AA4L3B,eAAO,MAAM,oBAAoB;;;;iBAiK/B,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,aAAa,CAAC,CAgCtB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,eAAe,CAAC,CAkCxB;AAKD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,aAAa,GAAG,IAAI,CAoCtB"}
@@ -4,7 +4,7 @@
4
4
  * Functions to parse and convert BHR-G-specific data structures
5
5
  */
6
6
  import { createLayerParser, createXPathTextGetter, createNamespaceResolver, } from "./bore-resolver-utils.js";
7
- import { parseFloat, parseBoolean, parseDate } from "./type-resolvers.js";
7
+ import { parseFloat, parseDate } from "./type-resolvers.js";
8
8
  /**
9
9
  * Process BHR-G layer data from descriptiveBoreholeLog element
10
10
  *
@@ -16,6 +16,151 @@ import { parseFloat, parseBoolean, parseDate } from "./type-resolvers.js";
16
16
  * - Anthropogenic and rooted indicators
17
17
  * - All soil classification properties
18
18
  */
19
+ /** Collect trimmed text of all nodes matching xpath (skipping empties). */
20
+ function textList(base, xpath, adapter, namespaces) {
21
+ const nsResolver = createNamespaceResolver(namespaces);
22
+ return adapter
23
+ .evaluateXPathAll(base, xpath, nsResolver)
24
+ .map((n) => n.textContent?.trim() ?? "")
25
+ .filter((s) => s !== "");
26
+ }
27
+ function parseMunsellColour(node, adapter, ns) {
28
+ const g = createXPathTextGetter(node, adapter, ns);
29
+ return {
30
+ munsellHue: g("./bhrgcom:munsellHue"),
31
+ munsellValue: g("./bhrgcom:munsellValue"),
32
+ munsellChroma: g("./bhrgcom:munsellChroma"),
33
+ };
34
+ }
35
+ function parseSandFraction(node, adapter, ns) {
36
+ const g = createXPathTextGetter(node, adapter, ns);
37
+ const nsResolver = createNamespaceResolver(ns);
38
+ const sandConstituents = adapter
39
+ .evaluateXPathAll(node, "./bhrgcom:sandConstituent", nsResolver)
40
+ .map((c) => {
41
+ const gc = createXPathTextGetter(c, adapter, ns);
42
+ return {
43
+ grainColour: gc("./bhrgcom:grainColour"),
44
+ percentageClass: gc("./bhrgcom:percentageClass"),
45
+ archiveClass: gc("./bhrgcom:archiveClass"),
46
+ };
47
+ });
48
+ return {
49
+ darkGrainContentClass: g("./bhrgcom:darkGrainContentClass"),
50
+ darkGrainContentClassArchive: g("./bhrgcom:darkGrainContentClassArchive"),
51
+ angularity: g("./bhrgcom:angularity"),
52
+ sandMedianClass: g("./bhrgcom:sandMedianClass"),
53
+ sandSorting: g("./bhrgcom:sandSorting"),
54
+ variegation: g("./bhrgcom:variegation"),
55
+ anomalouslyCoarseContentClass: g("./bhrgcom:anomalouslyCoarseContentClass"),
56
+ anomalouslyCoarseContentClassArchive: g("./bhrgcom:anomalouslyCoarseContentClassArchive"),
57
+ granuleContentClass: g("./bhrgcom:granuleContentClass"),
58
+ granuleContentClassArchive: g("./bhrgcom:granuleContentClassArchive"),
59
+ estimatedMedian: parseFloat(g("./bhrgcom:estimatedMedian")),
60
+ sandConstituents,
61
+ };
62
+ }
63
+ function parseShellFraction(node, adapter, ns) {
64
+ const g = createXPathTextGetter(node, adapter, ns);
65
+ const nsResolver = createNamespaceResolver(ns);
66
+ const shellConstituents = adapter
67
+ .evaluateXPathAll(node, "./bhrgcom:shellConstituent", nsResolver)
68
+ .map((c) => {
69
+ const gc = createXPathTextGetter(c, adapter, ns);
70
+ return {
71
+ shellTaxon: gc("./bhrgcom:shellTaxon"),
72
+ relativeAbundance: gc("./bhrgcom:relativeAbundance"),
73
+ relativeAbundanceClass: gc("./bhrgcom:relativeAbundanceClass"),
74
+ relativeAbundanceClassArchive: gc("./bhrgcom:relativeAbundanceClassArchive"),
75
+ };
76
+ });
77
+ return {
78
+ gritContentClass: g("./bhrgcom:gritContentClass"),
79
+ fragmentContentClass: g("./bhrgcom:fragmentContentClass"),
80
+ remainsContentClass: g("./bhrgcom:remainsContentClass"),
81
+ wholeContentClass: g("./bhrgcom:wholeContentClass"),
82
+ doublets: g("./bhrgcom:doublets"),
83
+ thickWalledContentClass: g("./bhrgcom:thickWalledContentClass"),
84
+ thinWalledContentClass: g("./bhrgcom:thinWalledContentClass"),
85
+ inSitu: g("./bhrgcom:inSitu"),
86
+ weatheringDegree: g("./bhrgcom:weatheringDegree"),
87
+ shellConstituents,
88
+ };
89
+ }
90
+ function parseGravelFraction(node, adapter, ns) {
91
+ const g = createXPathTextGetter(node, adapter, ns);
92
+ const nsResolver = createNamespaceResolver(ns);
93
+ const gravelConstituents = adapter
94
+ .evaluateXPathAll(node, "./bhrgcom:gravelConstituent", nsResolver)
95
+ .map((c) => {
96
+ const gc = createXPathTextGetter(c, adapter, ns);
97
+ return {
98
+ gravelType: gc("./bhrgcom:gravelType"),
99
+ fractionProportion: parseFloat(gc("./bhrgcom:fractionProportion")),
100
+ archiveClass: gc("./bhrgcom:archiveClass"),
101
+ };
102
+ });
103
+ return {
104
+ gravelMedianClass: g("./bhrgcom:gravelMedianClass"),
105
+ angularity: g("./bhrgcom:angularity"),
106
+ fineGravelContentClass: g("./bhrgcom:fineGravelContentClass"),
107
+ mediumCoarseGravelContentClass: g("./bhrgcom:mediumCoarseGravelContentClass"),
108
+ veryCoarseGravelContentClass: g("./bhrgcom:veryCoarseGravelContentClass"),
109
+ ventifactPresent: g("./bhrgcom:ventifactPresent"),
110
+ sphericity: g("./bhrgcom:sphericity"),
111
+ variegation: g("./bhrgcom:variegation"),
112
+ gravelProvenance: g("./bhrgcom:gravelProvenance"),
113
+ estimatedMedian: parseFloat(g("./bhrgcom:estimatedMedian")),
114
+ gravelConstituents,
115
+ };
116
+ }
117
+ function parsePeatFraction(node, adapter, ns) {
118
+ const g = createXPathTextGetter(node, adapter, ns);
119
+ const nsResolver = createNamespaceResolver(ns);
120
+ const peatConstituents = adapter
121
+ .evaluateXPathAll(node, "./bhrgcom:peatConstituent", nsResolver)
122
+ .map((c) => {
123
+ const gc = createXPathTextGetter(c, adapter, ns);
124
+ return {
125
+ plantRemainType: gc("./bhrgcom:plantRemainType"),
126
+ percentageClass: gc("./bhrgcom:percentageClass"),
127
+ archiveClass: gc("./bhrgcom:archiveClass"),
128
+ };
129
+ });
130
+ return { peatType: g("./bhrgcom:peatType"), peatConstituents };
131
+ }
132
+ function parseFractionDistribution(node, adapter, ns) {
133
+ const g = createXPathTextGetter(node, adapter, ns);
134
+ const nsResolver = createNamespaceResolver(ns);
135
+ const result = {
136
+ fractionDistributionComplete: g("./bhrgcom:fractionDistributionComplete"),
137
+ estimatedMassProportionOrganicMatter: parseFloat(g("./bhrgcom:estimatedMassProportionOrganicMatter")),
138
+ estimatedMassProportionShellMatter: parseFloat(g("./bhrgcom:estimatedMassProportionShellMatter")),
139
+ estimatedVolumeProportionShellMatter: parseFloat(g("./bhrgcom:estimatedVolumeProportionShellMatter")),
140
+ estimatedMassProportionShell: parseFloat(g("./bhrgcom:estimatedMassProportionShell")),
141
+ estimatedMassProportionGravel: parseFloat(g("./bhrgcom:estimatedMassProportionGravel")),
142
+ estimatedVolumeProportionGravel: parseFloat(g("./bhrgcom:estimatedVolumeProportionGravel")),
143
+ };
144
+ const organic = adapter.evaluateXPath(node, "./bhrgcom:fineFractionDistributionOrganicSoil", nsResolver);
145
+ if (organic) {
146
+ const go = createXPathTextGetter(organic, adapter, ns);
147
+ result.fineFractionDistributionOrganicSoil = {
148
+ estimatedMassProportionSand: parseFloat(go("./bhrgcom:estimatedMassProportionSand")),
149
+ estimatedMassProportionSilt: parseFloat(go("./bhrgcom:estimatedMassProportionSilt")),
150
+ estimatedMassProportionLutum: parseFloat(go("./bhrgcom:estimatedMassProportionLutum")),
151
+ };
152
+ }
153
+ const shelly = adapter.evaluateXPath(node, "./bhrgcom:fineFractionDistributionShellySoil", nsResolver);
154
+ if (shelly) {
155
+ const gs = createXPathTextGetter(shelly, adapter, ns);
156
+ result.fineFractionDistributionShellySoil = {
157
+ estimatedVolumeProportionSand: parseFloat(gs("./bhrgcom:estimatedVolumeProportionSand")),
158
+ estimatedVolumeProportionSilt: parseFloat(gs("./bhrgcom:estimatedVolumeProportionSilt")),
159
+ estimatedVolumeProportionLutum: parseFloat(gs("./bhrgcom:estimatedVolumeProportionLutum")),
160
+ };
161
+ }
162
+ return result;
163
+ }
19
164
  export const processBHRGLayerData = createLayerParser({
20
165
  layerXPath: ".//bhrgcom:layer/bhrgcom:Layer",
21
166
  requiredFields: {
@@ -26,32 +171,165 @@ export const processBHRGLayerData = createLayerParser({
26
171
  },
27
172
  optionalFields: [
28
173
  // Layer-level fields (outside <soil>)
29
- {
30
- xpath: "./bhrgcom:upperBoundaryDetermination",
31
- key: "upperBoundaryDetermination",
32
- },
33
- {
34
- xpath: "./bhrgcom:lowerBoundaryDetermination",
35
- key: "lowerBoundaryDetermination",
36
- },
174
+ { xpath: "./bhrgcom:upperBoundaryDetermination", key: "upperBoundaryDetermination" },
175
+ { xpath: "./bhrgcom:lowerBoundaryDetermination", key: "lowerBoundaryDetermination" },
37
176
  { xpath: "./bhrgcom:anthropogenic", key: "anthropogenic" },
38
177
  { xpath: "./bhrgcom:rooted", key: "rooted" },
178
+ { xpath: "./bhrgcom:postSedimentary", key: "postSedimentary", omitIfEmpty: true },
179
+ { xpath: "./bhrgcom:horizonCode", key: "horizonCode", omitIfEmpty: true },
180
+ { xpath: "./bhrgcom:humanTrace", key: "humanTrace", omitIfEmpty: true },
181
+ { xpath: "./bhrgcom:geologicalOrigin", key: "geologicalOrigin", omitIfEmpty: true },
182
+ { xpath: "./bhrgcom:bioturbated", key: "bioturbated", omitIfEmpty: true },
39
183
  // Soil-level fields (inside <soil>)
40
184
  { xpath: "./bhrgcom:soil/bhrgcom:colour", key: "color", omitIfEmpty: true },
41
185
  {
42
186
  xpath: "./bhrgcom:soil/bhrgcom:organicMatterContentClassNEN5104",
43
187
  key: "organicMatterContentClassNEN5104",
44
188
  },
189
+ { xpath: "./bhrgcom:soil/bhrgcom:gravelContentClass", key: "gravelContentClass" },
190
+ { xpath: "./bhrgcom:soil/bhrgcom:carbonateContentClass", key: "carbonateContentClass" },
191
+ { xpath: "./bhrgcom:soil/bhrgcom:sandMedianClass", key: "sandMedianClass" },
45
192
  {
46
- xpath: "./bhrgcom:soil/bhrgcom:gravelContentClass",
47
- key: "gravelContentClass",
193
+ xpath: "./bhrgcom:soil/bhrgcom:geologicalSoilName",
194
+ key: "geologicalSoilName",
195
+ omitIfEmpty: true,
48
196
  },
49
197
  {
50
- xpath: "./bhrgcom:soil/bhrgcom:carbonateContentClass",
51
- key: "carbonateContentClass",
198
+ xpath: "./bhrgcom:soil/bhrgcom:shellMatterContentClass",
199
+ key: "shellMatterContentClass",
200
+ omitIfEmpty: true,
201
+ },
202
+ { xpath: "./bhrgcom:soil/bhrgcom:micaContentClass", key: "micaContentClass", omitIfEmpty: true },
203
+ {
204
+ xpath: "./bhrgcom:soil/bhrgcom:micaContentClassArchive",
205
+ key: "micaContentClassArchive",
206
+ omitIfEmpty: true,
207
+ },
208
+ {
209
+ xpath: "./bhrgcom:soil/bhrgcom:shellMatterContentClassArchive",
210
+ key: "shellMatterContentClassArchive",
211
+ omitIfEmpty: true,
212
+ },
213
+ {
214
+ xpath: "./bhrgcom:soil/bhrgcom:glauconiteContentClass",
215
+ key: "glauconiteContentClass",
216
+ omitIfEmpty: true,
217
+ },
218
+ {
219
+ xpath: "./bhrgcom:soil/bhrgcom:glauconiteContentClassArchive",
220
+ key: "glauconiteContentClassArchive",
221
+ omitIfEmpty: true,
222
+ },
223
+ {
224
+ xpath: "./bhrgcom:soil/bhrgcom:sedimentaryPhenomenon",
225
+ key: "sedimentaryPhenomenon",
226
+ omitIfEmpty: true,
52
227
  },
53
- { xpath: "./bhrgcom:soil/bhrgcom:sandMedianClass", key: "sandMedianClass" },
54
228
  ],
229
+ postProcess: (layerNode, layer, adapter, namespaces) => {
230
+ const nsResolver = createNamespaceResolver(namespaces);
231
+ // Layer-level repeatable codes
232
+ const structure = textList(layerNode, "./bhrgcom:structure", adapter, namespaces);
233
+ if (structure.length) {
234
+ layer.structure = structure;
235
+ }
236
+ const verticalTrend = textList(layerNode, "./bhrgcom:verticalTrend", adapter, namespaces);
237
+ if (verticalTrend.length) {
238
+ layer.verticalTrend = verticalTrend;
239
+ }
240
+ const archeological = textList(layerNode, "./bhrgcom:archeologicalConstituent/bhrgcom:constituentType", adapter, namespaces);
241
+ if (archeological.length) {
242
+ layer.archeologicalConstituents = archeological;
243
+ }
244
+ // Thin strata (layer level)
245
+ const thinStrata = adapter
246
+ .evaluateXPathAll(layerNode, "./bhrgcom:thinStratum", nsResolver)
247
+ .map((t) => {
248
+ const g = createXPathTextGetter(t, adapter, namespaces);
249
+ return {
250
+ layerProportion: parseFloat(g("./bhrgcom:layerProportion")),
251
+ layerProportionClass: g("./bhrgcom:layerProportionClass"),
252
+ layerProportionClassArchive: g("./bhrgcom:layerProportionClassArchive"),
253
+ stratumThicknessClass: g("./bhrgcom:stratumThicknessClass"),
254
+ geologicalOrigin: g("./bhrgcom:geologicalOrigin"),
255
+ };
256
+ });
257
+ if (thinStrata.length) {
258
+ layer.thinStrata = thinStrata;
259
+ }
260
+ const soilNode = adapter.evaluateXPath(layerNode, "./bhrgcom:soil", nsResolver);
261
+ if (!soilNode) {
262
+ return;
263
+ }
264
+ const vcf = textList(soilNode, "./bhrgcom:veryCoarseFractionContentClass", adapter, namespaces);
265
+ if (vcf.length) {
266
+ layer.veryCoarseFractionContentClass = vcf;
267
+ }
268
+ const vcfArchive = textList(soilNode, "./bhrgcom:veryCoarseFractionContentClassArchive", adapter, namespaces);
269
+ if (vcfArchive.length) {
270
+ layer.veryCoarseFractionContentClassArchive = vcfArchive;
271
+ }
272
+ const animalFossils = textList(soilNode, "./bhrgcom:animalFossil/bhrgcom:animalFossilType", adapter, namespaces);
273
+ if (animalFossils.length) {
274
+ layer.animalFossils = animalFossils;
275
+ }
276
+ const single = (xpath) => adapter.evaluateXPath(soilNode, xpath, nsResolver);
277
+ const munsell = single("./bhrgcom:munsellColour");
278
+ if (munsell) {
279
+ layer.munsellColour = parseMunsellColour(munsell, adapter, namespaces);
280
+ }
281
+ const sand = single("./bhrgcom:sandFraction");
282
+ if (sand) {
283
+ layer.sandFraction = parseSandFraction(sand, adapter, namespaces);
284
+ }
285
+ const shell = single("./bhrgcom:shellFraction");
286
+ if (shell) {
287
+ layer.shellFraction = parseShellFraction(shell, adapter, namespaces);
288
+ }
289
+ const gravel = single("./bhrgcom:gravelFraction");
290
+ if (gravel) {
291
+ layer.gravelFraction = parseGravelFraction(gravel, adapter, namespaces);
292
+ }
293
+ const peat = single("./bhrgcom:peatFraction");
294
+ if (peat) {
295
+ layer.peatFraction = parsePeatFraction(peat, adapter, namespaces);
296
+ }
297
+ const fracDist = single("./bhrgcom:fractionDistribution");
298
+ if (fracDist) {
299
+ layer.fractionDistribution = parseFractionDistribution(fracDist, adapter, namespaces);
300
+ }
301
+ // Chunks and mottles (soil level, repeatable)
302
+ const chunks = adapter
303
+ .evaluateXPathAll(soilNode, "./bhrgcom:chunk", nsResolver)
304
+ .map((c) => {
305
+ const g = createXPathTextGetter(c, adapter, namespaces);
306
+ return {
307
+ soilType: g("./bhrgcom:soilType"),
308
+ sizeClass: g("./bhrgcom:sizeClass"),
309
+ percentageClass: g("./bhrgcom:percentageClass"),
310
+ archiveClass: g("./bhrgcom:archiveClass"),
311
+ colour: g("./bhrgcom:colour"),
312
+ geologicalOrigin: g("./bhrgcom:geologicalOrigin"),
313
+ cemented: g("./bhrgcom:cemented"),
314
+ };
315
+ });
316
+ if (chunks.length) {
317
+ layer.chunks = chunks;
318
+ }
319
+ const mottles = adapter
320
+ .evaluateXPathAll(soilNode, "./bhrgcom:mottle", nsResolver)
321
+ .map((m) => {
322
+ const g = createXPathTextGetter(m, adapter, namespaces);
323
+ return {
324
+ colour: g("./bhrgcom:colour"),
325
+ density: g("./bhrgcom:density"),
326
+ inBands: g("./bhrgcom:inBands"),
327
+ };
328
+ });
329
+ if (mottles.length) {
330
+ layer.mottles = mottles;
331
+ }
332
+ },
55
333
  });
56
334
  /**
57
335
  * Process bored intervals from BHR-G boring element
@@ -110,33 +388,8 @@ export function processBHRGSampledIntervals(_value, context) {
110
388
  }
111
389
  return intervals;
112
390
  }
113
- /**
114
- * Process registration history from BHR-G document element
115
- */
116
- export function processBHRGRegistrationHistory(_value, context) {
117
- const { element, adapter, namespaces } = context;
118
- const nsResolver = createNamespaceResolver(namespaces);
119
- // Find registrationHistory element (in default namespace dsbhrg)
120
- const historyNode = adapter.evaluateXPath(element, "./dsbhrg:registrationHistory", nsResolver);
121
- if (!historyNode) {
122
- return null;
123
- }
124
- const getText = createXPathTextGetter(historyNode, adapter, namespaces);
125
- // Parse dates
126
- const objectRegistrationTimeStr = getText("./brocom:objectRegistrationTime");
127
- const registrationCompletionTimeStr = getText("./brocom:registrationCompletionTime");
128
- const latestCorrectionTimeStr = getText("./brocom:latestCorrectionTime");
129
- return {
130
- objectRegistrationTime: parseDate(objectRegistrationTimeStr),
131
- registrationStatus: getText("./brocom:registrationStatus"),
132
- registrationCompletionTime: parseDate(registrationCompletionTimeStr),
133
- latestCorrectionTime: parseDate(latestCorrectionTimeStr),
134
- corrected: parseBoolean(getText("./brocom:corrected")),
135
- underReview: parseBoolean(getText("./brocom:underReview")),
136
- deregistered: parseBoolean(getText("./brocom:deregistered")),
137
- reregistered: parseBoolean(getText("./brocom:reregistered")),
138
- };
139
- }
391
+ // Registration history is parsed by the shared processRegistrationHistory in
392
+ // bore-resolver-utils (identical across CPT/BHR-GT/BHR-G).
140
393
  /**
141
394
  * Process report history from BHR-G document element
142
395
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bhrg-resolvers.js","sourceRoot":"","sources":["../../src/resolvers/bhrg-resolvers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bhrg-resolvers.js","sourceRoot":"","sources":["../../src/resolvers/bhrg-resolvers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { XMLAdapter, Namespaces } from "../types/index.js";
1
+ import type { XMLAdapter, Namespaces, ResolverContext, RegistrationHistory } from "../types/index.js";
2
2
  type XPathTextGetter = (xpath: string) => string | null;
3
3
  type NamespaceResolver = (prefix: string | null) => string | null;
4
4
  /**
@@ -72,7 +72,7 @@ export declare function extractArray<T>(contextNode: Node, xpathPattern: string,
72
72
  /**
73
73
  * Configuration for optional layer fields
74
74
  */
75
- interface OptionalLayerField<T> {
75
+ export interface OptionalLayerField<T> {
76
76
  /** XPath to the field element */
77
77
  xpath: string;
78
78
  /** Property name on the result object */
@@ -139,6 +139,16 @@ export declare function createLayerParser<T extends {
139
139
  adapter: XMLAdapter;
140
140
  namespaces: Namespaces;
141
141
  }) => Array<T>;
142
+ /**
143
+ * Extract a set of optional fields into a typed `Partial<T>` the caller can
144
+ * spread into a layer object (or Object.assign onto one).
145
+ *
146
+ * Shared by createLayerParser and bespoke layer parsers so the omitIfEmpty /
147
+ * transform semantics stay identical everywhere. The only assertion is where a
148
+ * field's `transform` (typed `=> unknown`) or the raw text is committed to its
149
+ * declared property type - the inherent XML-to-typed-value boundary.
150
+ */
151
+ export declare function extractOptionalFields<T>(fields: Array<OptionalLayerField<T>>, layerNode: Node, adapter: XMLAdapter, namespaces: Namespaces): Partial<T>;
142
152
  /**
143
153
  * Parse space-separated comma-delimited pairs from CSV text
144
154
  *
@@ -193,5 +203,14 @@ export declare function parseCSVPairs<T>(csvText: string | null | undefined, par
193
203
  * ```
194
204
  */
195
205
  export declare function parseCSVRows<T>(csvText: string | null | undefined, parseRow: (columns: Array<string>) => T | null): Array<T>;
206
+ /**
207
+ * Parse the BRO registration history.
208
+ *
209
+ * Shared by every registration type (CPT, BHR-GT, BHR-G): the `registrationHistory`
210
+ * element is a direct child of the registration object and its children are all
211
+ * `brocom:*`, identical across domains - only the container's ds-namespace differs,
212
+ * which we sidestep with a namespace-agnostic local-name() match.
213
+ */
214
+ export declare function processRegistrationHistory(_value: string | null, context: ResolverContext): RegistrationHistory | null;
196
215
  export {};
197
216
  //# sourceMappingURL=bore-resolver-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bore-resolver-utils.d.ts","sourceRoot":"","sources":["../../src/resolvers/bore-resolver-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bore-resolver-utils.d.ts","sourceRoot":"","sources":["../../src/resolvers/bore-resolver-utils.ts"],"names":[],"mappings":"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"}