@@ -21,8 +21,9 @@ import {
21
21
SearchData ,
22
22
FulfillmentLink
23
23
} from "./interfaces" ;
24
+ // import { resolve } from "url";
24
25
25
- const resolve = ( base , relative ) => new URL ( relative , base ) . toString ( ) ;
26
+ // const resolve = (base, relative) => new URL(relative, base).toString();
26
27
27
28
let sanitizeHtml ;
28
29
const createDOMPurify = require ( "dompurify" ) ;
@@ -49,9 +50,14 @@ export function adapter(
49
50
url : string
50
51
) : CollectionData | BookData {
51
52
if ( data instanceof OPDSFeed ) {
53
+ console . log ( 'in adapter - OPDSFeed' )
54
+ console . log ( 'url -->' , url )
55
+ console . log ( 'data -->' , data )
52
56
let collectionData = feedToCollection ( data , url ) ;
57
+ console . log ( 'collectionData -->' , collectionData )
53
58
return collectionData ;
54
59
} else if ( data instanceof OPDSEntry ) {
60
+ console . log ( 'in adapter - OPDSEntry' )
55
61
let bookData = entryToBook ( data , url ) ;
56
62
return bookData ;
57
63
} else {
@@ -60,34 +66,47 @@ export function adapter(
60
66
}
61
67
62
68
export function entryToBook ( entry : OPDSEntry , feedUrl : string ) : BookData {
69
+ console . log ( 'in entryToBook function' )
63
70
let authors = entry . authors . map ( author => {
71
+ console . log ( 'in authors loop' )
64
72
return author . name ;
65
73
} ) ;
66
74
67
75
let contributors = entry . contributors . map ( contributor => {
76
+ console . log ( 'in contributors loop' )
68
77
return contributor . name ;
69
78
} ) ;
70
79
71
80
let imageUrl , imageThumbLink ;
72
81
let artworkLinks = entry . links . filter ( link => {
82
+ console . log ( 'in artworkLinks loop' )
73
83
return link instanceof OPDSArtworkLink ;
74
84
} ) ;
75
85
if ( artworkLinks . length > 0 ) {
76
86
imageThumbLink = artworkLinks . find (
77
87
link => link . rel === "http://opds-spec.org/image/thumbnail"
78
88
) ;
79
89
if ( imageThumbLink ) {
80
- imageUrl = resolve ( feedUrl , imageThumbLink . href ) ;
90
+ console . log ( 'in if statement before first resolve in entryToBook' )
91
+ console . log ( 'feedUrl -->' , feedUrl )
92
+ console . log ( 'imageThumLink.href -->' , imageThumbLink . href )
93
+ // imageUrl = resolve(feedUrl, imageThumbLink.href); // feedUrl = /OWL..., imageThumb = https:// --> new URL(https://, /OWL)
94
+ imageUrl = imageThumbLink . href
81
95
} else {
82
96
console . log ( "WARNING: using possibly large image for " + entry . title ) ;
83
- imageUrl = resolve ( feedUrl , artworkLinks [ 0 ] . href ) ;
97
+ // imageUrl = resolve(feedUrl, artworkLinks[0].href);
98
+ imageUrl = artworkLinks [ 0 ] . href
84
99
}
85
100
}
86
101
87
102
let detailUrl ;
88
103
let detailLink = entry . links . find ( link => link instanceof CompleteEntryLink ) ;
89
104
if ( detailLink ) {
90
- detailUrl = resolve ( feedUrl , detailLink . href ) ;
105
+ console . log ( 'in if detailLink statement' )
106
+ console . log ( 'detailLink.href -->' , detailLink . href )
107
+ console . log ( 'feedUrl --->' , feedUrl )
108
+ // detailUrl = resolve(feedUrl, detailLink.href);
109
+ detailUrl = detailLink . href
91
110
}
92
111
93
112
let categories = entry . categories
@@ -96,14 +115,18 @@ export function entryToBook(entry: OPDSEntry, feedUrl: string): BookData {
96
115
97
116
let openAccessLinks = entry . links
98
117
. filter ( link => {
118
+ console . log ( 'in openAccessLinks' )
99
119
return (
100
120
link instanceof OPDSAcquisitionLink &&
101
121
link . rel === OPDSAcquisitionLink . OPEN_ACCESS_REL
102
122
) ;
103
123
} )
104
124
. map ( link => {
125
+ console . log ( 'link.href -->' , link . href )
126
+ console . log ( 'feedUrl -->' , feedUrl )
105
127
return {
106
- url : resolve ( feedUrl , link . href ) ,
128
+ // url: resolve(feedUrl, link.href),
129
+ url : link . href ,
107
130
type : link . type
108
131
} ;
109
132
} ) ;
@@ -116,7 +139,10 @@ export function entryToBook(entry: OPDSEntry, feedUrl: string): BookData {
116
139
) ;
117
140
} ) ;
118
141
if ( borrowLink ) {
119
- borrowUrl = resolve ( feedUrl , borrowLink . href ) ;
142
+ console . log ( 'in borrowLink if statement' )
143
+ console . log ( 'borrowLink.href -->' , borrowLink . href )
144
+ // borrowUrl = resolve(feedUrl, borrowLink.href);
145
+ borrowUrl = borrowLink . href
120
146
}
121
147
122
148
let allBorrowLinks : FulfillmentLink [ ] = entry . links
@@ -134,7 +160,8 @@ export function entryToBook(entry: OPDSEntry, feedUrl: string): BookData {
134
160
indirectType = indirects [ 0 ] . type ;
135
161
}
136
162
return {
137
- url : resolve ( feedUrl , link . href ) ,
163
+ // url: resolve(feedUrl, link.href),
164
+ url : link . href ,
138
165
type : link . type ,
139
166
indirectType
140
167
} ;
@@ -156,7 +183,8 @@ export function entryToBook(entry: OPDSEntry, feedUrl: string): BookData {
156
183
indirectType = indirects [ 0 ] . type ;
157
184
}
158
185
return {
159
- url : resolve ( feedUrl , link . href ) ,
186
+ url : link . href ,
187
+ // url: resolve(feedUrl, link.href),
160
188
type : link . type ,
161
189
indirectType
162
190
} ;
@@ -200,7 +228,8 @@ export function entryToBook(entry: OPDSEntry, feedUrl: string): BookData {
200
228
function entryToLink ( entry : OPDSEntry , feedUrl : string ) : LinkData | null {
201
229
let links = entry . links ;
202
230
if ( links . length > 0 ) {
203
- const href = resolve ( feedUrl , links [ 0 ] . href ) ;
231
+ // const href = resolve(feedUrl, links[0].href);
232
+ const href = links [ 0 ] . href
204
233
return {
205
234
id : entry . id ,
206
235
text : entry . title ,
@@ -253,9 +282,10 @@ function OPDSLinkToLinkData(feedUrl, link: OPDSLink = null): LinkData | null {
253
282
if ( ! link || ! link . href ) {
254
283
return null ;
255
284
}
256
-
285
+ console . log ( 'in OPDSLinkToLinkData' )
257
286
return {
258
- url : resolve ( feedUrl , link . href ) ,
287
+ // url: resolve(feedUrl, link.href),
288
+ url : link . href ,
259
289
text : link . title ,
260
290
type : link . rel
261
291
} ;
@@ -265,6 +295,7 @@ export function feedToCollection(
265
295
feed : OPDSFeed ,
266
296
feedUrl : string
267
297
) : CollectionData {
298
+ console . log ( 'in feedToCollection function!' )
268
299
let collection = < CollectionData > {
269
300
id : feed . id ,
270
301
title : feed . title ,
@@ -288,20 +319,29 @@ export function feedToCollection(
288
319
let links : OPDSLink [ ] = [ ] ;
289
320
290
321
feed . entries . forEach ( entry => {
322
+ console . log ( 'in feed.entries loop' )
291
323
if ( feed instanceof AcquisitionFeed ) {
324
+ console . log ( 'in first if statement' )
292
325
let book = entryToBook ( entry , feedUrl ) ;
293
326
const collectionLink : OPDSCollectionLink = entry . links . find (
294
327
link => link instanceof OPDSCollectionLink
295
328
) ;
296
329
if ( collectionLink ) {
330
+ console . log ( 'in second if statement' )
297
331
let { title, href } = collectionLink ;
332
+ console . log ( 'collectionLink -->' , collectionLink )
333
+ console . log ( 'href from collectionLink --->' , href )
298
334
299
335
if ( laneIndex [ title ] ) {
336
+ console . log ( 'in third if statement' )
300
337
laneIndex [ title ] . books . push ( book ) ;
301
338
} else {
339
+ console . log ( 'in else statement' )
340
+ console . log ( 'feedUrl --->' , feedUrl )
302
341
laneIndex [ title ] = {
303
342
title,
304
- url : resolve ( feedUrl , href ) ,
343
+ // url: resolve(feedUrl, href),
344
+ url : href ,
305
345
books : [ book ]
306
346
} ;
307
347
// use array of titles to preserve lane order
@@ -316,7 +356,10 @@ export function feedToCollection(
316
356
}
317
357
} ) ;
318
358
359
+ console . log ( 'finished feed.entries loop' )
360
+
319
361
lanes = laneTitles . reduce ( ( result , title ) => {
362
+ console . log ( 'in laneTitles loop' )
320
363
let lane = laneIndex [ title ] ;
321
364
lane . books = dedupeBooks ( lane . books ) ;
322
365
result . push ( lane ) ;
@@ -325,6 +368,7 @@ export function feedToCollection(
325
368
326
369
let facetLinks : OPDSFacetLink [ ] = [ ] ;
327
370
if ( feed . links ) {
371
+ console . log ( 'in feed.links if statement' )
328
372
facetLinks = feed . links . filter ( link => {
329
373
return link instanceof OPDSFacetLink ;
330
374
} ) ;
@@ -333,14 +377,21 @@ export function feedToCollection(
333
377
return link instanceof SearchLink ;
334
378
} ) ;
335
379
if ( searchLink ) {
336
- search = { url : resolve ( feedUrl , searchLink . href ) } ;
380
+ console . log ( 'searchLink is true!' )
381
+ console . log ( 'feedUrl -->' , feedUrl )
382
+ console . log ( 'searchLink.href -->' , searchLink . href )
383
+ // search = { url: resolve(feedUrl, searchLink.href) };
384
+ search = { url : searchLink . href }
337
385
}
338
386
339
387
let nextPageLink = feed . links . find ( link => {
340
388
return link . rel === "next" ;
341
389
} ) ;
342
390
if ( nextPageLink ) {
343
- nextPageUrl = resolve ( feedUrl , nextPageLink . href ) ;
391
+ console . log ( 'in nextPageLink' )
392
+ // nextPageUrl = resolve(feedUrl, nextPageLink.href);
393
+ nextPageUrl = nextPageLink . href
394
+ console . log ( nextPageUrl )
344
395
}
345
396
346
397
catalogRootLink = feed . links . find ( link => {
@@ -360,7 +411,8 @@ export function feedToCollection(
360
411
facetGroups = facetLinks . reduce ( ( result , link ) => {
361
412
let groupLabel = link . facetGroup ;
362
413
let label = link . title ;
363
- let href = resolve ( feedUrl , link . href ) ;
414
+ let href = link . href
415
+ // let href = resolve(feedUrl, link.href);
364
416
let active = link . activeFacet ;
365
417
let facet = { label, href, active } ;
366
418
let newResult : any [ ] = [ ] ;
0 commit comments