Skip to content
This repository has been archived by the owner on Aug 12, 2022. It is now read-only.

Commit

Permalink
support pagination loader options (eagerload)
Browse files Browse the repository at this point in the history
  • Loading branch information
letmaik committed Mar 24, 2016
1 parent 66e7b12 commit 52959ef
Showing 1 changed file with 6 additions and 11 deletions.
17 changes: 6 additions & 11 deletions src/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,17 @@ import {shallowcopy, mergeInto} from './util.js'
* @returns {object} The wrapped Coverage Data API object.
*/
export function wrap (data, options) {
return doWrap(data, options)
}

function doWrap (data, wrapOptions, loaderOptions) {
if (typeof wrapOptions.loader !== 'function') {
if (typeof options.loader !== 'function') {
throw new Error('options.loader must be a function')
}
if (data.coverages) {
return wrapCollection(data, wrapOptions, loaderOptions)
return wrapCollection(data, options)
} else {
return wrapCoverage(data, wrapOptions)
return wrapCoverage(data, options)
}
}

function wrapCollection (collection, wrapOptions, loaderOptions) {
function wrapCollection (collection, wrapOptions) {
// TODO wrap each individual coverage as well!
return API.discover(collection).then(api => {
let newcoll = shallowcopy(collection)
Expand All @@ -46,7 +42,7 @@ function wrapCollection (collection, wrapOptions, loaderOptions) {
let wrapPageLink = url => {
if (!url) return
return {
load: () => load(url, loaderOptions).then(coll => wrap(coll, wrapOptions))
load: (options) => load(url, options).then(coll => wrap(coll, wrapOptions))
}
}
newcoll.paging = {
Expand Down Expand Up @@ -170,8 +166,7 @@ class QueryProxy {
.subset(localSubsetConstraints)
.execute()
} else {
// carry-over headers for paging
return doWrap(resultCollection, this._wrapOptions, options)
return wrap(resultCollection, this._wrapOptions)
}
})
}
Expand Down

0 comments on commit 52959ef

Please sign in to comment.