Phase 3, Task 5: SensorML 3.0 Type Definitions
Status: COMPLETE ✅
Resolved by commit 3eac9c6.
Deliverables
| File |
Lines |
Description |
src/ogc-api/csapi/formats/sensorml/types.ts |
852 |
Full SensorML 3.0 type hierarchy |
src/ogc-api/csapi/formats/sensorml/types.spec.ts |
462 |
23 type compilation & discriminator tests |
Coverage
- 50 exported types covering the complete SensorML 3.0 process model
- Inheritance chain:
DescribedObject → AbstractProcess → AbstractPhysicalProcess → concrete
- 4 concrete process types with string-literal
type discriminators:
SimpleProcess, AggregateProcess, PhysicalComponent, PhysicalSystem
SensorMLProcess discriminated union for type-safe narrowing via switch(proc.type)
- 20+ supporting types: Term, Document, Event, ResponsibleParty, CapabilityList, CharacteristicList, Settings, Position, ComponentList, ConnectionList, etc.
- SWE Common integration via
import type { ... } from '../swecommon/types.js'
Verification
tsc --noEmit: clean (zero errors)
- 23/23 SensorML tests pass
- 27/27 SWE Common tests pass (no regressions)
- All 400 CSAPI tests unaffected"
Phase 3, Task 5: SensorML 3.0 Type Definitions
Status: COMPLETE ✅
Resolved by commit
3eac9c6.Deliverables
src/ogc-api/csapi/formats/sensorml/types.tssrc/ogc-api/csapi/formats/sensorml/types.spec.tsCoverage
DescribedObject → AbstractProcess → AbstractPhysicalProcess → concretetypediscriminators:SimpleProcess,AggregateProcess,PhysicalComponent,PhysicalSystemSensorMLProcessdiscriminated union for type-safe narrowing viaswitch(proc.type)import type { ... } from '../swecommon/types.js'Verification
tsc --noEmit: clean (zero errors)