UNPKG

opds-web-client

Version:
48 lines (47 loc) 2.21 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isServerSamlProvider = exports.getEnglishValue = exports.flattenSamlProviders = exports.generateCredentials = exports.SAML_AUTH_TYPE = void 0; exports.SAML_AUTH_TYPE = "http://librarysimplified.org/authtype/SAML-2.0"; function generateCredentials(username, password) { var btoaStr = btoa("".concat(username, ":").concat(password)); return "Basic ".concat(btoaStr); } exports.generateCredentials = generateCredentials; function flattenSamlProviders(providers) { return providers.reduce(function (flattened, provider) { if ((0, exports.isServerSamlProvider)(provider)) { return __spreadArray(__spreadArray([], flattened, true), serverToClientSamlProviders(provider), true); } return __spreadArray(__spreadArray([], flattened, true), [provider], false); }, []); } exports.flattenSamlProviders = flattenSamlProviders; function serverToClientSamlProviders(provider) { return provider.method.links.map(function (idp) { var _a; return ({ method: { href: idp.href, type: provider.method.type, description: (_a = (0, exports.getEnglishValue)(idp.display_names)) !== null && _a !== void 0 ? _a : "Unknown SAML Provider" }, id: idp.href, plugin: provider.plugin }); }); } var getEnglishValue = function (arr) { var _a; return (_a = arr.find(function (item) { return item.language === "en"; })) === null || _a === void 0 ? void 0 : _a.value; }; exports.getEnglishValue = getEnglishValue; var isServerSamlProvider = function (provider) { return provider.id === exports.SAML_AUTH_TYPE && "links" in provider.method; }; exports.isServerSamlProvider = isServerSamlProvider;