"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } // Manually implement reselect/createSelector without memoization so we don't force the dependency, // because this object is simple enough to not need memoization and the interface makes it easier to share null handling logic var createSelector = function createSelector(deps, selector) { return function (state) { return selector.apply(void 0, _toConsumableArray(deps.map(function (dep) { return dep(state); }))); }; }; var getUser = function getUser(user) { return user || {}; }; var getId = createSelector([getUser], function (_ref) { var id = _ref.id; return id; }); var getName = createSelector([getUser], function (_ref2) { var name = _ref2.name; return name; }); var getRoles = createSelector([getUser], function (_ref3) { var roles = _ref3.roles; return roles || []; }); var getSubscriptions = createSelector([getUser], function (_ref4) { var subscriptions = _ref4.subscriptions; return subscriptions || []; }); var getSubscriptionTier = createSelector([getUser], function (_ref5) { var subscriptionTier = _ref5.subscriptionTier; return subscriptionTier; }); /** * Converts a decoded JWT object to a simple user object * @param {object} jwt, A decoded JWT from the Auth API * @returns {object} A user object with simple property names instead of JWT schema links */ var jwtToUser = function jwtToUser(jwt) { return jwt ? { id: jwt['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier'], name: jwt['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'], roles: jwt['http://schemas.microsoft.com/ws/2008/06/identity/claims/role'], subscription: jwt['http://schemas.dndbeyond.com/ws/2019/08/identity/claims/subscriber'], subscriptionTier: jwt['http://schemas.dndbeyond.com/ws/2019/08/identity/claims/subscriptiontier'], avatarUrl: jwt.avatarUrl } : null; }; var _default = { getId: getId, getName: getName, getRoles: getRoles, getSubscriptions: getSubscriptions, getSubscriptionTier: getSubscriptionTier, jwtToUser: jwtToUser }; exports["default"] = _default;