88 */
99
1010import type {
11- AnyDataComponent ,
12- DataComponent ,
1311 QuantityComponent ,
1412 CountComponent ,
1513 BooleanComponent ,
@@ -73,7 +71,7 @@ export function parseQuantityComponent(data: unknown): QuantityComponent {
7371 throw new ParseError ( 'Quantity uom must have code or href property' ) ;
7472 }
7573
76- return data as QuantityComponent ;
74+ return data as unknown as QuantityComponent ;
7775}
7876
7977/**
@@ -88,7 +86,7 @@ export function parseCountComponent(data: unknown): CountComponent {
8886 throw new ParseError ( `Expected type 'Count', got '${ data . type } '` ) ;
8987 }
9088
91- return data as CountComponent ;
89+ return data as unknown as CountComponent ;
9290}
9391
9492/**
@@ -103,7 +101,7 @@ export function parseBooleanComponent(data: unknown): BooleanComponent {
103101 throw new ParseError ( `Expected type 'Boolean', got '${ data . type } '` ) ;
104102 }
105103
106- return data as BooleanComponent ;
104+ return data as unknown as BooleanComponent ;
107105}
108106
109107/**
@@ -118,7 +116,7 @@ export function parseTextComponent(data: unknown): TextComponent {
118116 throw new ParseError ( `Expected type 'Text', got '${ data . type } '` ) ;
119117 }
120118
121- return data as TextComponent ;
119+ return data as unknown as TextComponent ;
122120}
123121
124122/**
@@ -133,7 +131,7 @@ export function parseCategoryComponent(data: unknown): CategoryComponent {
133131 throw new ParseError ( `Expected type 'Category', got '${ data . type } '` ) ;
134132 }
135133
136- return data as CategoryComponent ;
134+ return data as unknown as CategoryComponent ;
137135}
138136
139137/**
@@ -152,7 +150,7 @@ export function parseTimeComponent(data: unknown): TimeComponent {
152150 throw new ParseError ( 'Time requires uom with code or href' ) ;
153151 }
154152
155- return data as TimeComponent ;
153+ return data as unknown as TimeComponent ;
156154}
157155
158156/**
@@ -171,7 +169,7 @@ export function parseQuantityRangeComponent(data: unknown): QuantityRangeCompone
171169 throw new ParseError ( 'QuantityRange requires uom with code or href' ) ;
172170 }
173171
174- return data as QuantityRangeComponent ;
172+ return data as unknown as QuantityRangeComponent ;
175173}
176174
177175/**
@@ -186,7 +184,7 @@ export function parseCountRangeComponent(data: unknown): CountRangeComponent {
186184 throw new ParseError ( `Expected type 'CountRange', got '${ data . type } '` ) ;
187185 }
188186
189- return data as CountRangeComponent ;
187+ return data as unknown as CountRangeComponent ;
190188}
191189
192190/**
@@ -201,7 +199,7 @@ export function parseCategoryRangeComponent(data: unknown): CategoryRangeCompone
201199 throw new ParseError ( `Expected type 'CategoryRange', got '${ data . type } '` ) ;
202200 }
203201
204- return data as CategoryRangeComponent ;
202+ return data as unknown as CategoryRangeComponent ;
205203}
206204
207205/**
@@ -220,7 +218,7 @@ export function parseTimeRangeComponent(data: unknown): TimeRangeComponent {
220218 throw new ParseError ( 'TimeRange requires uom with code or href' ) ;
221219 }
222220
223- return data as TimeRangeComponent ;
221+ return data as unknown as TimeRangeComponent ;
224222}
225223
226224/**
@@ -281,7 +279,7 @@ export function parseDataRecordComponent(data: unknown): DataRecordComponent {
281279 return {
282280 ...data ,
283281 fields,
284- } as DataRecordComponent ;
282+ } as unknown as DataRecordComponent ;
285283}
286284
287285/**
@@ -341,7 +339,7 @@ export function parseVectorComponent(data: unknown): VectorComponent {
341339 return {
342340 ...data ,
343341 coordinates,
344- } as VectorComponent ;
342+ } as unknown as VectorComponent ;
345343}
346344
347345/**
@@ -401,7 +399,7 @@ export function parseDataChoiceComponent(data: unknown): DataChoiceComponent {
401399 return {
402400 ...data ,
403401 items,
404- } as DataChoiceComponent ;
402+ } as unknown as DataChoiceComponent ;
405403}
406404
407405/**
@@ -448,7 +446,7 @@ export function parseDataArrayComponent(data: unknown): DataArrayComponent {
448446 }
449447 }
450448
451- return data as DataArrayComponent ;
449+ return data as unknown as DataArrayComponent ;
452450}
453451
454452/**
@@ -495,7 +493,7 @@ export function parseMatrixComponent(data: unknown): MatrixComponent {
495493 }
496494 }
497495
498- return data as MatrixComponent ;
496+ return data as unknown as MatrixComponent ;
499497}
500498
501499/**
@@ -542,7 +540,7 @@ export function parseDataStreamComponent(data: unknown): DataStreamComponent {
542540 }
543541 }
544542
545- return data as DataStreamComponent ;
543+ return data as unknown as DataStreamComponent ;
546544}
547545
548546/**
@@ -557,15 +555,15 @@ export function parseGeometryComponent(data: unknown): GeometryComponent {
557555 throw new ParseError ( `Expected type 'Geometry', got '${ data . type } '` ) ;
558556 }
559557
560- return data as GeometryComponent ;
558+ return data as unknown as GeometryComponent ;
561559}
562560
563561/**
564562 * Parse any DataComponent - dispatcher function
565563 *
566564 * This function validates structure during parsing and recursively parses nested components.
567565 */
568- export function parseDataComponent ( data : unknown ) : DataComponent {
566+ export function parseDataComponent ( data : unknown ) : unknown {
569567 if ( ! isObject ( data ) ) {
570568 throw new ParseError ( 'Data component must be an object' ) ;
571569 }
0 commit comments