From fbb99d991d951c5cfcc0ee261a3b6863a320eae5 Mon Sep 17 00:00:00 2001 From: Drini Cami Date: Tue, 20 Feb 2024 09:56:56 -0500 Subject: [PATCH] Make reduceSet option allow a custom ReduceSet object. --- src/BookReader.js | 12 ++++++++---- src/BookReader/options.js | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/BookReader.js b/src/BookReader.js index c63d0835a..a8d19719c 100644 --- a/src/BookReader.js +++ b/src/BookReader.js @@ -124,10 +124,14 @@ BookReader.prototype.setup = function(options) { this.defaults = options.defaults; this.padding = options.padding; - this.reduceSet = NAMED_REDUCE_SETS[options.reduceSet]; - if (!this.reduceSet) { - console.warn(`Invalid reduceSet ${options.reduceSet}. Ignoring.`); - this.reduceSet = NAMED_REDUCE_SETS[DEFAULT_OPTIONS.reduceSet]; + if (typeof(options.reduceSet) === 'string') { + this.reduceSet = NAMED_REDUCE_SETS[options.reduceSet]; + if (!this.reduceSet) { + console.warn(`Invalid reduceSet ${options.reduceSet}. Ignoring.`); + this.reduceSet = NAMED_REDUCE_SETS[DEFAULT_OPTIONS.reduceSet]; + } + } else { + this.reduceSet = options.reduceSet; } /** @type {number} diff --git a/src/BookReader/options.js b/src/BookReader/options.js index 4d56b0009..f19e27dc3 100644 --- a/src/BookReader/options.js +++ b/src/BookReader/options.js @@ -49,7 +49,7 @@ export const DEFAULT_OPTIONS = { */ imagesBaseURL: '/BookReader/images/', - /** @type {'pow2' | 'integer'} What reduces are valid for getURI. */ + /** @type {'pow2' | 'integer' | import('./ReduceSet.js').ReduceSet} What reduces are valid for getURI. */ reduceSet: 'pow2', /**