Skip to content

Phase 3, Task 9: SensorML Main Parser #22

@Sam-Bolling

Description

@Sam-Bolling

Phase 3, Task 9: SensorML Main Parser

Status: COMPLETED — commit 31944c2

Deliverables

File Lines Description
parser.ts ~500 Main entry point: parseSensorML30(), type discrimination, capability/characteristic parsing, shared property-group helpers
parser.spec.ts ~300 46 tests: type discrimination (7), recursive parsing (2), capability/characteristic (5), shared helpers (3), error handling (3)
errors.ts +5 Added optional path property to SensorMLParseError

Test Results

  • 5 suites, 221 tests pass (all SensorML tests)
  • Zero regressions in existing sub-parser tests

Implementation Notes

  • parseSensorML30(json) validates input, reads type discriminator, dispatches to 4 sub-parsers
  • Exported shared helpers (parseDescribedObjectProperties, parseAbstractProcessProperties, parseAbstractPhysicalProcessProperties) available for future sub-parser refactor
  • parseCapabilityList / parseCharacteristicList fully implemented with AnyProperty name validation
  • SWE Common component parsing deferred to Issues Phase 3, Task 11: SWE Common Simple Components Parser #24-Phase 3, Task 15: SWE Common Index #28 (pass-through pattern)
  • Re-exports SensorMLParseError and parsePosition for public API surface"

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions