@@ -6,24 +6,24 @@ export const fromJs: (value: Json, uri?: string) => JsonNode;
6
6
export const cons : (
7
7
baseUri : string ,
8
8
pointer : string ,
9
- value : Json ,
9
+ value : Json | undefined ,
10
10
type : JsonNodeType ,
11
11
children : JsonNode [ ] ,
12
12
parent ?: JsonNode
13
13
) => JsonNode ;
14
- export const get : ( url : string , context : JsonNode ) => JsonNode | undefined ;
14
+ export const get : < T extends JsonNode > ( url : string , context : T ) => T | undefined ;
15
15
export const uri : ( node : JsonNode ) => string ;
16
16
export const value : < A > ( node : JsonNode ) => A ;
17
17
export const has : ( key : string , node : JsonNode ) => boolean ;
18
- export const typeOf : ( node : JsonNode ) => JsonType ;
19
- export const step : ( key : string , node : JsonNode ) => JsonNode ;
20
- export const iter : ( node : JsonNode ) => Generator < JsonNode > ;
21
- export const keys : ( node : JsonNode ) => Generator < JsonNode > ;
22
- export const values : ( node : JsonNode ) => Generator < JsonNode > ;
23
- export const entries : ( node : JsonNode ) => Generator < [ JsonNode , JsonNode ] > ;
24
- export const length : ( node : JsonNode ) => number ;
18
+ export const typeOf : ( node : JsonNode ) => JsonNodeType ;
19
+ export const step : < T extends JsonNode > ( key : string , node : T ) => T | undefined ;
20
+ export const iter : < T extends JsonNode > ( node : T ) => Generator < T > ;
21
+ export const keys : < T extends JsonNode > ( node : T ) => Generator < T > ;
22
+ export const values : < T extends JsonNode > ( node : T ) => Generator < T > ;
23
+ export const entries : < T extends JsonNode > ( node : T ) => Generator < [ T , T ] > ;
24
+ export const length : < T extends JsonNode > ( node : T ) => number ;
25
25
26
- export const allNodes : ( node : JsonNode ) => Generator < JsonNode > ;
26
+ export const allNodes : < T extends JsonNode > ( node : T ) => Generator < T > ;
27
27
28
28
export type JsonNode = {
29
29
baseUri : string ;
0 commit comments