@@ -2,12 +2,11 @@ import { describe, test, beforeEach, afterEach, expect, beforeAll, afterAll } fr
2
2
import { MockAgent , setGlobalDispatcher } from "undici" ;
3
3
import { toAbsoluteIri } from "@hyperjump/uri" ;
4
4
import { Hyperjump } from "./index.js" ;
5
- import { fromJref , toJref } from "../jref/index.js" ;
5
+ import { fromJref } from "../jref/index.js" ;
6
+ import { toJson } from "../json/jsonast-util.js" ;
6
7
7
8
/**
8
9
* @import { DocumentNode } from "./index.js"
9
- * @import { JrefNode } from "../jref/index.js"
10
- * @import { Reviver } from "../jref/index.js"
11
10
*/
12
11
13
12
@@ -20,23 +19,22 @@ describe("JSON Browser", () => {
20
19
beforeAll ( ( ) => {
21
20
/** @type (uri: string, text: string, embedded?: Record<string, DocumentNode>) => DocumentNode */
22
21
const parseToDocument = ( uri , text , embedded = { } ) => {
23
- /** @type Reviver<JrefNode | undefined> */
24
- const embeddedReviver = ( node , key ) => {
25
- if ( key === "$embedded" && node . type === "json" && node . jsonType === "object" ) {
22
+ const rootNode = fromJref ( text , uri , ( node , key ) => {
23
+ if ( key === "$embedded" && node . jsonType === "object" ) {
26
24
for ( const propertyNode of node . children ) {
27
25
const embeddedUri = toAbsoluteIri ( propertyNode . children [ 0 ] . value ) ;
28
- const embeddedJref = toJref ( propertyNode . children [ 1 ] , uri ) ;
26
+ const embeddedJref = toJson ( propertyNode . children [ 1 ] ) ;
29
27
embedded [ embeddedUri ] = parseToDocument ( embeddedUri , embeddedJref , embedded ) ;
30
28
}
31
29
return ;
32
30
} else {
33
31
return node ;
34
32
}
35
- } ;
33
+ } ) ;
36
34
37
35
return {
38
36
type : "embedded-document" ,
39
- children : [ fromJref ( text , uri , embeddedReviver ) ] ,
37
+ children : [ rootNode ] ,
40
38
uri : uri ,
41
39
fragmentKind : "json-pointer" ,
42
40
embedded : embedded
@@ -81,7 +79,7 @@ describe("JSON Browser", () => {
81
79
const uri = `${ testDomain } /main#/foo` ;
82
80
const subject = await hyperjump . get ( uri ) ;
83
81
84
- expect ( toJref ( subject , uri ) ) . to . equal ( `42` ) ;
82
+ expect ( toJson ( subject ) ) . to . equal ( `42` ) ;
85
83
} ) ;
86
84
87
85
test ( "getting the main document from an embedded document" , async ( ) => {
@@ -100,7 +98,7 @@ describe("JSON Browser", () => {
100
98
const uri = `${ testDomain } /main#/foo` ;
101
99
const subject = await hyperjump . get ( uri ) ;
102
100
103
- expect ( toJref ( subject , uri ) ) . to . equal ( `42` ) ;
101
+ expect ( toJson ( subject ) ) . to . equal ( `42` ) ;
104
102
} ) ;
105
103
106
104
test ( "getting an embedded document from an embedded document" , async ( ) => {
@@ -119,7 +117,7 @@ describe("JSON Browser", () => {
119
117
const uri = `${ testDomain } /main#/foo` ;
120
118
const subject = await hyperjump . get ( uri ) ;
121
119
122
- expect ( toJref ( subject , uri ) ) . to . equal ( `42` ) ;
120
+ expect ( toJson ( subject ) ) . to . equal ( `42` ) ;
123
121
} ) ;
124
122
125
123
test ( "a cached document takes precence over an embedded document" , async ( ) => {
@@ -148,7 +146,7 @@ describe("JSON Browser", () => {
148
146
const uri = `${ testDomain } /main#/foo` ;
149
147
const subject = await hyperjump . get ( uri ) ;
150
148
151
- expect ( toJref ( subject , uri ) ) . to . equal ( `42` ) ;
149
+ expect ( toJson ( subject ) ) . to . equal ( `42` ) ;
152
150
} ) ;
153
151
} ) ;
154
152
} ) ;
0 commit comments