@bedrock-engineer/bro-xml-parser 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -9
- package/dist/adapters/node-adapter.d.ts.map +1 -1
- package/dist/adapters/node-adapter.js +6 -10
- package/dist/adapters/node-adapter.js.map +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js.map +1 -1
- package/dist/resolvers/bhrg-resolvers.d.ts.map +1 -1
- package/dist/resolvers/bhrg-resolvers.js +1 -23
- package/dist/resolvers/bhrg-resolvers.js.map +1 -1
- package/dist/resolvers/bore-resolvers.d.ts.map +1 -1
- package/dist/resolvers/bore-resolvers.js +50 -76
- package/dist/resolvers/bore-resolvers.js.map +1 -1
- package/dist/resolvers/constants.d.ts +2 -0
- package/dist/resolvers/constants.d.ts.map +1 -0
- package/dist/resolvers/constants.js +2 -0
- package/dist/resolvers/constants.js.map +1 -0
- package/dist/resolvers/cpt-resolvers.d.ts +22 -0
- package/dist/resolvers/cpt-resolvers.d.ts.map +1 -0
- package/dist/resolvers/cpt-resolvers.js +60 -0
- package/dist/resolvers/cpt-resolvers.js.map +1 -0
- package/dist/resolvers/measurement-resolver.d.ts.map +1 -1
- package/dist/resolvers/measurement-resolver.js +12 -6
- package/dist/resolvers/measurement-resolver.js.map +1 -1
- package/dist/resolvers/type-resolvers.d.ts +4 -3
- package/dist/resolvers/type-resolvers.d.ts.map +1 -1
- package/dist/resolvers/type-resolvers.js +16 -2
- package/dist/resolvers/type-resolvers.js.map +1 -1
- package/dist/schemas/cpt-schema.d.ts +1 -1
- package/dist/schemas/cpt-schema.d.ts.map +1 -1
- package/dist/schemas/cpt-schema.js +69 -1
- package/dist/schemas/cpt-schema.js.map +1 -1
- package/dist/types/index.d.ts +46 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +15 -14
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @bedrock-engineer/bro-xml-parser
|
|
2
2
|
|
|
3
|
+
> **Pre-1.0:** This library is under active development. Minor versions may include breaking changes.
|
|
4
|
+
|
|
3
5
|
TypeScript parser library for Dutch [Basisregistratie Ondergrond](https://basisregistratieondergrond.nl/) (BRO) XML data, focussing on geotechnical and geological data.
|
|
4
6
|
|
|
5
7
|
The [BRO contains many registration object types](https://basisregistratieondergrond.nl/inhoud-bro/registratieobjecten/). This library currently only covers three:
|
|
@@ -8,18 +10,21 @@ The [BRO contains many registration object types](https://basisregistratieonderg
|
|
|
8
10
|
2. **BHR-GT** (Geotechnical Borehole)
|
|
9
11
|
3. **BHR-G** (Geological Borehole)
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Support for more registration object types is desired but not our curent focus. PRs are welcome.
|
|
12
14
|
|
|
13
15
|
**Live demo:** [bro.bedrock.engineer](https://bro.bedrock.engineer/) ([source](https://github.com/bedrock-engineer/bro-xml-app))
|
|
14
16
|
|
|
15
|
-
> **Pre-1.0:** This library is under active development. Minor versions may include breaking changes.
|
|
16
|
-
|
|
17
17
|
## Installation
|
|
18
18
|
|
|
19
|
+
No dependencies in the browser.
|
|
20
|
+
|
|
19
21
|
```bash
|
|
20
22
|
npm install @bedrock-engineer/bro-xml-parser
|
|
23
|
+
```
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
For use in node.js, you need to install two extra dependencies.
|
|
26
|
+
|
|
27
|
+
```
|
|
23
28
|
npm install @xmldom/xmldom fontoxpath
|
|
24
29
|
```
|
|
25
30
|
|
|
@@ -56,11 +61,7 @@ const bhr_g = parser.parseBHRG(xmlText);
|
|
|
56
61
|
Extract only the fields you need:
|
|
57
62
|
|
|
58
63
|
```typescript
|
|
59
|
-
import {
|
|
60
|
-
BROParser,
|
|
61
|
-
XMLAdapter,
|
|
62
|
-
resolvers,
|
|
63
|
-
} from "@bedrock-engineer/bro-xml-parser/node";
|
|
64
|
+
import { BROParser, XMLAdapter, resolvers } from "@bedrock-engineer/bro-xml-parser/node";
|
|
64
65
|
|
|
65
66
|
const parser = new BROParser(new XMLAdapter());
|
|
66
67
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/node-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,UAAU,CAAoB;;
|
|
1
|
+
{"version":3,"file":"node-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/node-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,UAAU,CAAoB;;IActC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;IAKnC,aAAa,CACX,GAAG,EAAE,QAAQ,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,GAC1D,IAAI,GAAG,IAAI;IAmBd,gBAAgB,CACd,GAAG,EAAE,QAAQ,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,GAC1D,KAAK,CAAC,IAAI,CAAC;CAiBf"}
|
|
@@ -11,21 +11,17 @@ export class NodeXMLAdapter {
|
|
|
11
11
|
fontoxpath;
|
|
12
12
|
constructor() {
|
|
13
13
|
this.parser = new DOMParser({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
throw new Error(`XML parsing failed: ${msg}`);
|
|
20
|
-
},
|
|
21
|
-
fatalError: (msg) => {
|
|
22
|
-
throw new Error(`XML parsing failed: ${msg}`);
|
|
23
|
-
},
|
|
14
|
+
onError: (level, message) => {
|
|
15
|
+
// Ignore warnings; fatalError already throws in @xmldom/xmldom >= 0.9
|
|
16
|
+
if (level === "error") {
|
|
17
|
+
throw new Error(`XML parsing failed: ${message}`);
|
|
18
|
+
}
|
|
24
19
|
},
|
|
25
20
|
});
|
|
26
21
|
this.fontoxpath = fontoxpath;
|
|
27
22
|
}
|
|
28
23
|
parseXML(xmlText) {
|
|
24
|
+
// @xmldom/xmldom ships its own Document type; structurally compatible for our XPath usage
|
|
29
25
|
return this.parser.parseFromString(xmlText, "text/xml");
|
|
30
26
|
}
|
|
31
27
|
evaluateXPath(doc, query, namespaceResolver) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-adapter.js","sourceRoot":"","sources":["../../src/adapters/node-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,OAAO,cAAc;IACjB,MAAM,CAAY;IAClB,UAAU,CAAoB;IAEtC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC1B,
|
|
1
|
+
{"version":3,"file":"node-adapter.js","sourceRoot":"","sources":["../../src/adapters/node-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,OAAO,cAAc;IACjB,MAAM,CAAY;IAClB,UAAU,CAAoB;IAEtC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1B,sEAAsE;gBACtE,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,0FAA0F;QAC1F,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAwB,CAAC;IACjF,CAAC;IAED,aAAa,CACX,GAAoB,EACpB,KAAa,EACb,iBAA2D;QAE3D,IAAI,CAAC;YACH,qEAAqE;YACrE,OAAO,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2EAA2E;YAC3E,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEvE,qEAAqE;YACrE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxF,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,YAAY,KAAK,GAAG,CAAC,CAAC;YAC3E,CAAC;YAED,uEAAuE;YACvE,OAAO,CAAC,IAAI,CAAC,oCAAoC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,gBAAgB,CACd,GAAoB,EACpB,KAAa,EACb,iBAA2D;QAE3D,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kFAAkF;YAClF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEvE,qEAAqE;YACrE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxF,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,YAAY,KAAK,GAAG,CAAC,CAAC;YAC3E,CAAC;YAED,+EAA+E;YAC/E,OAAO,CAAC,IAAI,CAAC,oCAAoC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
|
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, VolumeChangeAtSpecificTime, ConsolidationStageAtLoading, LoadStage, } from "./types/index.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, VolumeChangeAtSpecificTime, ConsolidationStageAtLoading, LoadStage, RemovedLayer, RegistrationHistory, ReportHistory, IntermediateEvent, BoredInterval, SamplerDetails, SampledInterval, CompletedInterval, NotDescribedInterval, 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";
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -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,0BAA0B,EAC1B,2BAA2B,EAC3B,SAAS,
|
|
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,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"}
|
package/dist/browser.js.map
CHANGED
|
@@ -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;
|
|
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;AA+DhF,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, VolumeChangeAtSpecificTime, ConsolidationStageAtLoading, LoadStage, } from "./types/index.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, VolumeChangeAtSpecificTime, ConsolidationStageAtLoading, LoadStage, RemovedLayer, RegistrationHistory, ReportHistory, IntermediateEvent, BoredInterval, SamplerDetails, SampledInterval, CompletedInterval, NotDescribedInterval, 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";
|
package/dist/node.d.ts.map
CHANGED
|
@@ -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,0BAA0B,EAC1B,2BAA2B,EAC3B,SAAS,
|
|
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,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"}
|
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;
|
|
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;AA+D1E,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 +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;
|
|
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"}
|
|
@@ -4,29 +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
|
|
8
|
-
/**
|
|
9
|
-
* Parse ja/nee boolean field
|
|
10
|
-
*/
|
|
11
|
-
function parseJaNee(text) {
|
|
12
|
-
if (text === null) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
const lower = text.toLowerCase();
|
|
16
|
-
if (lower === "ja" || lower === "yes") {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
if (lower === "nee" || lower === "no") {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Helper to parse float with null handling
|
|
26
|
-
*/
|
|
27
|
-
function parseFloat(text) {
|
|
28
|
-
return parseFloatValue(text ?? null);
|
|
29
|
-
}
|
|
7
|
+
import { parseFloat, parseJaNee } from "./type-resolvers.js";
|
|
30
8
|
/**
|
|
31
9
|
* Process BHR-G layer data from descriptiveBoreholeLog element
|
|
32
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bhrg-resolvers.js","sourceRoot":"","sources":["../../src/resolvers/bhrg-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"bhrg-resolvers.js","sourceRoot":"","sources":["../../src/resolvers/bhrg-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAY;IAC/D,UAAU,EAAE,gCAAgC;IAC5C,cAAc,EAAE;QACd,aAAa,EAAE,yBAAyB;QACxC,aAAa,EAAE,yBAAyB;QACxC,QAAQ,EAAE,wCAAwC;QAClD,WAAW,EAAE,iBAAiB;KAC/B;IACD,cAAc,EAAE;QACd,sCAAsC;QACtC;YACE,KAAK,EAAE,sCAAsC;YAC7C,GAAG,EAAE,4BAA4B;SAClC;QACD;YACE,KAAK,EAAE,sCAAsC;YAC7C,GAAG,EAAE,4BAA4B;SAClC;QACD,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,eAAe,EAAE;QAC1D,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,QAAQ,EAAE;QAC5C,oCAAoC;QACpC,EAAE,KAAK,EAAE,+BAA+B,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;QAC3E;YACE,KAAK,EAAE,yDAAyD;YAChE,GAAG,EAAE,kCAAkC;SACxC;QACD;YACE,KAAK,EAAE,2CAA2C;YAClD,GAAG,EAAE,oBAAoB;SAC1B;QACD;YACE,KAAK,EAAE,8CAA8C;YACrD,GAAG,EAAE,uBAAuB;SAC7B;QACD,EAAE,KAAK,EAAE,wCAAwC,EAAE,GAAG,EAAE,iBAAiB,EAAE;KAC5E;CACF,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAqB,EACrB,OAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,6EAA6E;IAC7E,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAC5C,OAAO,EACP,4EAA4E,EAC5E,UAAU,CACX,CAAC;IAEF,MAAM,SAAS,GAAyB,EAAE,CAAC;IAE3C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE3D,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,UAAU;YACV,QAAQ;YACR,eAAe,EAAE,OAAO,CAAC,2BAA2B,CAAC;YACrD,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAqB,EACrB,OAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,+EAA+E;IAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAC5C,OAAO,EACP,gFAAgF,EAChF,UAAU,CACX,CAAC;IAEF,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE3D,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,UAAU;YACV,QAAQ;YACR,YAAY,EAAE,OAAO,CAAC,wBAAwB,CAAC;YAC/C,cAAc,EAAE,OAAO,CAAC,0BAA0B,CAAC;YACnD,eAAe,EAAE,OAAO,CAAC,2BAA2B,CAAC;YACrD,iBAAiB,EAAE,IAAI,EAAE,uBAAuB;SACjD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAAqB,EACrB,OAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,iEAAiE;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,8BAA8B,EAAE,UAAU,CAAC,CAAC;IAE/F,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAExE,cAAc;IACd,MAAM,yBAAyB,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC7E,MAAM,6BAA6B,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAErF,OAAO;QACL,sBAAsB,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI;QAC9F,kBAAkB,EAAE,OAAO,CAAC,6BAA6B,CAAC;QAC1D,0BAA0B,EAAE,6BAA6B;YACvD,CAAC,CAAC,IAAI,IAAI,CAAC,6BAA6B,CAAC;YACzC,CAAC,CAAC,IAAI;QACR,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACpD,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACxD,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC1D,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,OAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,2DAA2D;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAE,UAAU,CAAC,CAAC;IAEzF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAExF,MAAM,kBAAkB,GAA6B,EAAE,CAAC;IAExD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;QAEhE,kBAAkB,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC;YACzC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;SACxD,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,2CAA2C;IAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhE,OAAO;QACL,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,cAAc;QAC7B,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bore-resolvers.d.ts","sourceRoot":"","sources":["../../src/resolvers/bore-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EAEV,sBAAsB,EAetB,UAAU,EACV,UAAU,EACV,aAAa,EACb,eAAe,EAEf,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EAEd,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"bore-resolvers.d.ts","sourceRoot":"","sources":["../../src/resolvers/bore-resolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EAEV,sBAAsB,EAetB,UAAU,EACV,UAAU,EACV,aAAa,EACb,eAAe,EAEf,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAkC3B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;;;kBAoHhC,CAAC;AAshCH;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,sBAAsB,GAAG,SAAS,CA6GpC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,aAAa,CAAC,CAgCtB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,eAAe,CAAC,CA+DxB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,iBAAiB,CAAC,CAkC1B;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,oBAAoB,CAAC,CA+B7B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,mBAAmB,GAAG,IAAI,CA4B5B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,GACvB,aAAa,GAAG,IAAI,CAyCtB"}
|
|
@@ -6,24 +6,7 @@
|
|
|
6
6
|
// Import shared utilities
|
|
7
7
|
import { createXPathTextGetter, createNamespaceResolver, createLayerParser, getTextContent, findChildElement, extractArray, parseCSVPairs, parseCSVRows, } from "./bore-resolver-utils.js";
|
|
8
8
|
// Import type resolvers
|
|
9
|
-
import { parseBoolean
|
|
10
|
-
/**
|
|
11
|
-
* Parse ja/nee boolean field
|
|
12
|
-
* Returns true for 'ja'/'yes', false for 'nee'/'no', null if not present
|
|
13
|
-
*/
|
|
14
|
-
function parseJaNee(text) {
|
|
15
|
-
if (text === null) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
const lower = text.toLowerCase();
|
|
19
|
-
if (lower === "ja" || lower === "yes") {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
if (lower === "nee" || lower === "no") {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
9
|
+
import { parseBoolean, parseFloat, parseJaNee } from "./type-resolvers.js";
|
|
27
10
|
/**
|
|
28
11
|
* Parse dispersedInhomogeneity field
|
|
29
12
|
* Special case: 'geen' (none) means false, any other value means true
|
|
@@ -158,23 +141,12 @@ export const processBHRGTLayerData = createLayerParser({
|
|
|
158
141
|
sizeFraction: getText("./bhrgtcom:sizeFraction"),
|
|
159
142
|
angularity: getText("./bhrgtcom:angularity"),
|
|
160
143
|
sphericity: getText("./bhrgtcom:sphericity"),
|
|
144
|
+
roughness: getText("./bhrgtcom:roughness"),
|
|
161
145
|
};
|
|
162
146
|
layer.grainshape = grainshape;
|
|
163
147
|
}
|
|
164
148
|
},
|
|
165
149
|
});
|
|
166
|
-
/**
|
|
167
|
-
* Adapter for parseBoolean to handle our specific needs
|
|
168
|
-
*/
|
|
169
|
-
function parseBoolean(text) {
|
|
170
|
-
return parseBoole(text ?? null);
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Adapter for parseFloat to handle our specific needs
|
|
174
|
-
*/
|
|
175
|
-
function parseFloat(text) {
|
|
176
|
-
return parseFloatValue(text ?? null);
|
|
177
|
-
}
|
|
178
150
|
/**
|
|
179
151
|
* Empty structure constants for determinations
|
|
180
152
|
*/
|
|
@@ -221,23 +193,25 @@ const EMPTY_SATURATED_PERMEABILITY = {
|
|
|
221
193
|
function parseWaterContentDetermination(node, adapter, namespaces) {
|
|
222
194
|
const getText = createXPathTextGetter(node, adapter, namespaces);
|
|
223
195
|
const resultNode = findChildElement(node, "./bhrgtcom:determinationResult", adapter, namespaces);
|
|
196
|
+
const extra = resultNode
|
|
197
|
+
? {
|
|
198
|
+
dryingTemperature: getText("./bhrgtcom:determinationResult/bhrgtcom:dryingTemperature"),
|
|
199
|
+
waterContent: parseFloat(getText("./bhrgtcom:determinationResult/bhrgtcom:waterContent")),
|
|
200
|
+
saltCorrectionMethod: getText("./bhrgtcom:determinationResult/bhrgtcom:saltCorrectionMethod"),
|
|
201
|
+
dryingPeriod: getText("./bhrgtcom:determinationResult/bhrgtcom:dryingPeriod"),
|
|
202
|
+
}
|
|
203
|
+
: {
|
|
204
|
+
dryingTemperature: null,
|
|
205
|
+
waterContent: null,
|
|
206
|
+
saltCorrectionMethod: null,
|
|
207
|
+
dryingPeriod: null,
|
|
208
|
+
};
|
|
224
209
|
return {
|
|
225
210
|
determinationProcedure: getText("./bhrgtcom:determinationProcedure"),
|
|
226
211
|
determinationMethod: getText("./bhrgtcom:determinationMethod"),
|
|
227
212
|
sampleMoistness: getText("./bhrgtcom:sampleMoistness"),
|
|
228
213
|
removedMaterial: getText("./bhrgtcom:removedMaterial"),
|
|
229
|
-
|
|
230
|
-
? parseFloat(getText("./bhrgtcom:determinationResult/bhrgtcom:waterContent"))
|
|
231
|
-
: null,
|
|
232
|
-
dryingTemperature: resultNode
|
|
233
|
-
? getText("./bhrgtcom:determinationResult/bhrgtcom:dryingTemperature")
|
|
234
|
-
: null,
|
|
235
|
-
dryingPeriod: resultNode
|
|
236
|
-
? getText("./bhrgtcom:determinationResult/bhrgtcom:dryingPeriod")
|
|
237
|
-
: null,
|
|
238
|
-
saltCorrectionMethod: resultNode
|
|
239
|
-
? getText("./bhrgtcom:determinationResult/bhrgtcom:saltCorrectionMethod")
|
|
240
|
-
: null,
|
|
214
|
+
...extra,
|
|
241
215
|
};
|
|
242
216
|
}
|
|
243
217
|
/**
|
|
@@ -394,12 +368,12 @@ function parseParticleSizeDistributionDetermination(node, adapter, namespaces) {
|
|
|
394
368
|
* Parse consistency limits determination (Atterberg limits) from XML node
|
|
395
369
|
*/
|
|
396
370
|
function parseConsistencyLimitsDetermination(node, adapter, namespaces) {
|
|
397
|
-
const
|
|
398
|
-
if (!
|
|
371
|
+
const determinationNode = findChildElement(node, "./bhrgtcom:ConsistencyLimitsDetermination", adapter, namespaces);
|
|
372
|
+
if (!determinationNode) {
|
|
399
373
|
return EMPTY_CONSISTENCY_LIMITS;
|
|
400
374
|
}
|
|
401
|
-
const getText = createXPathTextGetter(
|
|
402
|
-
const plasticityAtSpecificWaterContent = extractArray(
|
|
375
|
+
const getText = createXPathTextGetter(determinationNode, adapter, namespaces);
|
|
376
|
+
const plasticityAtSpecificWaterContent = extractArray(determinationNode, "./bhrgtcom:plasticityAtSpecificWaterContent", (_pNode, getPlasticityText) => {
|
|
403
377
|
const waterContent = parseFloat(getPlasticityText("./bhrgtcom:waterContent"));
|
|
404
378
|
const numberOfFalls = parseInt(getPlasticityText("./bhrgtcom:numberOfFalls") ?? "0", 10);
|
|
405
379
|
return waterContent !== null && !isNaN(numberOfFalls)
|
|
@@ -422,12 +396,12 @@ function parseConsistencyLimitsDetermination(node, adapter, namespaces) {
|
|
|
422
396
|
* Parse settlement characteristics determination (Oedometer/Consolidation test) from XML node
|
|
423
397
|
*/
|
|
424
398
|
function parseSettlementCharacteristicsDetermination(node, adapter, namespaces) {
|
|
425
|
-
const
|
|
426
|
-
if (!
|
|
399
|
+
const determinationNode = findChildElement(node, "./bhrgtcom:SettlementCharacteristicsDetermination", adapter, namespaces);
|
|
400
|
+
if (!determinationNode) {
|
|
427
401
|
return EMPTY_SETTLEMENT_CHARACTERISTICS;
|
|
428
402
|
}
|
|
429
|
-
const getText = createXPathTextGetter(
|
|
430
|
-
const determinationSteps = extractArray(
|
|
403
|
+
const getText = createXPathTextGetter(determinationNode, adapter, namespaces);
|
|
404
|
+
const determinationSteps = extractArray(determinationNode, "./bhrgtcom:determinationStep", (stepNode, getStepText) => {
|
|
431
405
|
const stepNumber = parseInt(getStepText("./bhrgtcom:stepNumber") ?? "0", 10);
|
|
432
406
|
const heightChangeNode = findChildElement(stepNode, "./bhrgtcom:heightChangeDuringSettlement/bhrgtcom:values", adapter, namespaces);
|
|
433
407
|
const heightChangeDuringSettlement = parseCSVPairs(heightChangeNode?.textContent, (timeStr, heightStr) => {
|
|
@@ -465,12 +439,12 @@ function parseSettlementCharacteristicsDetermination(node, adapter, namespaces)
|
|
|
465
439
|
* Parse saturated permeability determination (Hydraulic conductivity test) from XML node
|
|
466
440
|
*/
|
|
467
441
|
function parseSaturatedPermeabilityDetermination(node, adapter, namespaces) {
|
|
468
|
-
const
|
|
469
|
-
if (!
|
|
442
|
+
const determinationNode = findChildElement(node, "./bhrgtcom:SaturatedPermeabilityDetermination", adapter, namespaces);
|
|
443
|
+
if (!determinationNode) {
|
|
470
444
|
return EMPTY_SATURATED_PERMEABILITY;
|
|
471
445
|
}
|
|
472
|
-
const getText = createXPathTextGetter(
|
|
473
|
-
const saturatedPermeabilityAtSpecificDensity = extractArray(
|
|
446
|
+
const getText = createXPathTextGetter(determinationNode, adapter, namespaces);
|
|
447
|
+
const saturatedPermeabilityAtSpecificDensity = extractArray(determinationNode, "./bhrgtcom:saturatedPermeabilityAtSpecificDensity", (_densityNode, getDensityText) => {
|
|
474
448
|
const dryVolumetricMassDensity = parseFloat(getDensityText("./bhrgtcom:dryVolumetricMassDensity"));
|
|
475
449
|
const saturatedPermeability = parseFloat(getDensityText("./bhrgtcom:saturatedPermeability"));
|
|
476
450
|
return dryVolumetricMassDensity !== null || saturatedPermeability !== null
|
|
@@ -500,19 +474,19 @@ function parseSaturatedPermeabilityDetermination(node, adapter, namespaces) {
|
|
|
500
474
|
function parseShearStressChangeDuringLoadingDeterminations(node, adapter, namespaces) {
|
|
501
475
|
const nsResolver = createNamespaceResolver(namespaces);
|
|
502
476
|
// Find all shearStressChangeDuringLoadingDetermination elements
|
|
503
|
-
const
|
|
477
|
+
const determinationNodes = adapter.evaluateXPathAll(node, "./bhrgtcom:shearStressChangeDuringLoadingDetermination", nsResolver);
|
|
504
478
|
// If no tests found, return undefined (property won't be set on interval)
|
|
505
|
-
if (
|
|
479
|
+
if (determinationNodes.length === 0) {
|
|
506
480
|
return undefined;
|
|
507
481
|
}
|
|
508
482
|
const determinations = [];
|
|
509
|
-
for (const
|
|
483
|
+
for (const determinationNode of determinationNodes) {
|
|
510
484
|
// Find the actual ShearStressChangeDuringLoadingDetermination child element
|
|
511
|
-
const
|
|
512
|
-
if (!
|
|
485
|
+
const actualDeterminationNode = findChildElement(determinationNode, "./bhrgtcom:ShearStressChangeDuringLoadingDetermination", adapter, namespaces);
|
|
486
|
+
if (!actualDeterminationNode) {
|
|
513
487
|
continue;
|
|
514
488
|
}
|
|
515
|
-
const getText = createXPathTextGetter(
|
|
489
|
+
const getText = createXPathTextGetter(actualDeterminationNode, adapter, namespaces);
|
|
516
490
|
// Parse main properties
|
|
517
491
|
const determination = {
|
|
518
492
|
determinationProcedure: getText("./bhrgtcom:determinationProcedure"),
|
|
@@ -531,7 +505,7 @@ function parseShearStressChangeDuringLoadingDeterminations(node, adapter, namesp
|
|
|
531
505
|
stopCriterion: getText("./bhrgtcom:stopCriterion"),
|
|
532
506
|
};
|
|
533
507
|
// Parse membrane correction (optional nested object)
|
|
534
|
-
const membraneCorrectionNode = findChildElement(
|
|
508
|
+
const membraneCorrectionNode = findChildElement(actualDeterminationNode, "./bhrgtcom:membraneCorrection", adapter, namespaces);
|
|
535
509
|
if (membraneCorrectionNode) {
|
|
536
510
|
const getMembText = createXPathTextGetter(membraneCorrectionNode, adapter, namespaces);
|
|
537
511
|
determination.membraneCorrection = {
|
|
@@ -541,7 +515,7 @@ function parseShearStressChangeDuringLoadingDeterminations(node, adapter, namesp
|
|
|
541
515
|
};
|
|
542
516
|
}
|
|
543
517
|
// Parse drainage strip correction (optional nested object)
|
|
544
|
-
const drainageStripNode = findChildElement(
|
|
518
|
+
const drainageStripNode = findChildElement(actualDeterminationNode, "./bhrgtcom:drainageStripCorrection", adapter, namespaces);
|
|
545
519
|
if (drainageStripNode) {
|
|
546
520
|
const getDrainText = createXPathTextGetter(drainageStripNode, adapter, namespaces);
|
|
547
521
|
determination.drainageStripCorrection = {
|
|
@@ -551,7 +525,7 @@ function parseShearStressChangeDuringLoadingDeterminations(node, adapter, namesp
|
|
|
551
525
|
};
|
|
552
526
|
}
|
|
553
527
|
// Parse saturation stage (optional nested object)
|
|
554
|
-
const saturationNode = findChildElement(
|
|
528
|
+
const saturationNode = findChildElement(actualDeterminationNode, "./bhrgtcom:saturationStageAtLoading", adapter, namespaces);
|
|
555
529
|
if (saturationNode) {
|
|
556
530
|
const getSatText = createXPathTextGetter(saturationNode, adapter, namespaces);
|
|
557
531
|
determination.saturationStageAtLoading = {
|
|
@@ -567,7 +541,7 @@ function parseShearStressChangeDuringLoadingDeterminations(node, adapter, namesp
|
|
|
567
541
|
};
|
|
568
542
|
}
|
|
569
543
|
// Parse consolidation stage (optional nested object with time-series data)
|
|
570
|
-
const consolidationNode = findChildElement(
|
|
544
|
+
const consolidationNode = findChildElement(actualDeterminationNode, "./bhrgtcom:consolidationStageAtLoading", adapter, namespaces);
|
|
571
545
|
if (consolidationNode) {
|
|
572
546
|
const getConsText = createXPathTextGetter(consolidationNode, adapter, namespaces);
|
|
573
547
|
// Parse volume change time series
|
|
@@ -591,7 +565,7 @@ function parseShearStressChangeDuringLoadingDeterminations(node, adapter, namesp
|
|
|
591
565
|
};
|
|
592
566
|
}
|
|
593
567
|
// Parse load stage (optional nested object with time-series data)
|
|
594
|
-
const loadStageNode = findChildElement(
|
|
568
|
+
const loadStageNode = findChildElement(actualDeterminationNode, "./bhrgtcom:loadStage", adapter, namespaces);
|
|
595
569
|
if (loadStageNode) {
|
|
596
570
|
const getLoadText = createXPathTextGetter(loadStageNode, adapter, namespaces);
|
|
597
571
|
// Parse shear stress measurements time series (6 columns)
|
|
@@ -655,18 +629,18 @@ function parseMaximumUndrainedShearStrengthDetermination(node, adapter, namespac
|
|
|
655
629
|
function parseShearStressChangeDuringHorizontalDeformationDeterminations(node, adapter, namespaces) {
|
|
656
630
|
const nsResolver = createNamespaceResolver(namespaces);
|
|
657
631
|
// Find all shearStressChangeDuringHorizontalDeformationDetermination elements
|
|
658
|
-
const
|
|
659
|
-
if (
|
|
632
|
+
const determinationNodes = adapter.evaluateXPathAll(node, "./bhrgtcom:shearStressChangeDuringHorizontalDeformationDetermination", nsResolver);
|
|
633
|
+
if (determinationNodes.length === 0) {
|
|
660
634
|
return undefined;
|
|
661
635
|
}
|
|
662
636
|
const determinations = [];
|
|
663
|
-
for (const
|
|
637
|
+
for (const determinationNode of determinationNodes) {
|
|
664
638
|
// Find the actual ShearStressChangeDuringHorizontalDeformationDetermination child element (PascalCase)
|
|
665
|
-
const
|
|
666
|
-
if (!
|
|
639
|
+
const actualDeterminationNode = findChildElement(determinationNode, "./bhrgtcom:ShearStressChangeDuringHorizontalDeformationDetermination", adapter, namespaces);
|
|
640
|
+
if (!actualDeterminationNode) {
|
|
667
641
|
continue;
|
|
668
642
|
}
|
|
669
|
-
const getText = createXPathTextGetter(
|
|
643
|
+
const getText = createXPathTextGetter(actualDeterminationNode, adapter, namespaces);
|
|
670
644
|
const determination = {
|
|
671
645
|
determinationProcedure: getText("./bhrgtcom:determinationProcedure"),
|
|
672
646
|
determinationMethod: getText("./bhrgtcom:determinationMethod"),
|
|
@@ -684,7 +658,7 @@ function parseShearStressChangeDuringHorizontalDeformationDeterminations(node, a
|
|
|
684
658
|
bearingFrictionCorrectionApplied: parseBoolean(getText("./bhrgtcom:bearingFrictionCorrectionApplied")),
|
|
685
659
|
};
|
|
686
660
|
// Parse consolidation stage (optional nested object with consolidation steps)
|
|
687
|
-
const consolidationNode = findChildElement(
|
|
661
|
+
const consolidationNode = findChildElement(actualDeterminationNode, "./bhrgtcom:consolidationStageAtHorizontalDeformation", adapter, namespaces);
|
|
688
662
|
if (consolidationNode) {
|
|
689
663
|
const getConsText = createXPathTextGetter(consolidationNode, adapter, namespaces);
|
|
690
664
|
const consolidationSteps = extractArray(consolidationNode, "./bhrgtcom:consolidationStep", (stepNode, getStepText) => {
|
|
@@ -709,7 +683,7 @@ function parseShearStressChangeDuringHorizontalDeformationDeterminations(node, a
|
|
|
709
683
|
};
|
|
710
684
|
}
|
|
711
685
|
// Parse shear stage (optional nested object with time-series data)
|
|
712
|
-
const shearStageNode = findChildElement(
|
|
686
|
+
const shearStageNode = findChildElement(actualDeterminationNode, "./bhrgtcom:shearStage", adapter, namespaces);
|
|
713
687
|
if (shearStageNode) {
|
|
714
688
|
const getShearText = createXPathTextGetter(shearStageNode, adapter, namespaces);
|
|
715
689
|
// Parse shear stress measurements time series (4-5 columns)
|
|
@@ -885,10 +859,10 @@ export function processBoreholeSampleAnalysis(_value, context) {
|
|
|
885
859
|
};
|
|
886
860
|
// Parse all determinations using registry pattern
|
|
887
861
|
for (const config of DETERMINATION_CONFIGS) {
|
|
888
|
-
const
|
|
889
|
-
if (
|
|
862
|
+
const determinationNode = adapter.evaluateXPath(intervalNode, config.xpath, nsResolver);
|
|
863
|
+
if (determinationNode) {
|
|
890
864
|
interval[config.propertyName] =
|
|
891
|
-
config.parser(
|
|
865
|
+
config.parser(determinationNode, adapter, namespaces);
|
|
892
866
|
}
|
|
893
867
|
}
|
|
894
868
|
investigatedIntervals.push(interval);
|