opds-web-client
Version:
35 lines (34 loc) • 1.77 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var sinon_1 = require("sinon");
var PathForContext_1 = require("../components/context/PathForContext");
var ActionsContext_1 = require("../components/context/ActionsContext");
var StoreContext_1 = require("../components/context/StoreContext");
var actions_1 = require("../actions");
var DataFetcher_1 = require("../DataFetcher");
var OPDSDataAdapter_1 = require("../OPDSDataAdapter");
var store_1 = require("../store");
var BasicAuthPlugin_1 = require("../BasicAuthPlugin");
var defaultPathFor = (0, sinon_1.fake)(function (collectionUrl, bookUrl) {
return "/".concat(collectionUrl) + bookUrl ? "/".concat(bookUrl) : "";
});
var makeWrapper = function (config) {
if (config === void 0) { config = {}; }
var _a = config.pathFor, pathFor = _a === void 0 ? defaultPathFor : _a, proxyUrl = config.proxyUrl, initialState = config.initialState, authPlugins = config.authPlugins;
var fetcher = new DataFetcher_1.default({ adapter: OPDSDataAdapter_1.adapter, proxyUrl: proxyUrl });
var actions = new actions_1.default(fetcher);
var store = (0, store_1.default)(initialState || undefined, authPlugins || [BasicAuthPlugin_1.default], pathFor);
return {
store: store,
actions: actions,
fetcher: fetcher,
wrapper: function (_a) {
var children = _a.children;
return (React.createElement(PathForContext_1.default, { pathFor: pathFor },
React.createElement(ActionsContext_1.ActionsProvider, { actions: actions, fetcher: fetcher },
React.createElement(StoreContext_1.default, { store: store }, children))));
}
};
};
exports.default = makeWrapper;
;