UNPKG

tickethead-sdk

Version:

SDK for the Tickethead API

37 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserType = void 0; exports.extractOrganizersFromJwt = extractOrganizersFromJwt; exports.getParsedJwt = getParsedJwt; var UserType; (function (UserType) { UserType["Registered"] = "registered"; UserType["Anonymous"] = "anon"; UserType["Guest"] = "guest"; })(UserType || (exports.UserType = UserType = {})); function extractOrganizersFromJwt(jwt) { const payload = getParsedJwt(jwt.token); if ((payload === null || payload === void 0 ? void 0 : payload.permissions) != null) { return Object.keys(payload === null || payload === void 0 ? void 0 : payload.permissions); } return []; } /** * Returns a JS object representation of a Javascript Web Token from its common encoded * string form. * * @template T the expected shape of the parsed token * @param {string} token a Javascript Web Token in base64 encoded, `.` separated form * @returns {(T | undefined)} an object-representation of the token * or undefined if parsing failed */ function getParsedJwt(token) { try { // TODO: Don't use atob if the code is running on node return JSON.parse(atob(token.split('.')[1])); } catch (_a) { return undefined; } } //# sourceMappingURL=jwt.js.map