{"version":3,"sources":["jsdelivr-header.js","/npm/@serverless-jwt/next@0.2.1/dist/index.js"],"names":[],"mappings":"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","file":"/npm/@serverless-jwt/next@0.2.1/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@serverless-jwt/next@0.2.1/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (_) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NextJwtVerifier = void 0;\nvar jwt_verifier_1 = require(\"@serverless-jwt/jwt-verifier\");\n/**\n * Middleware to validate a token and set the user context.\n */\nvar validateJWT = function (verifier, options) {\n    return function (apiRoute) { return function (req, res) { return __awaiter(void 0, void 0, void 0, function () {\n        var claims, accessToken, err_1, authenticatedRequest;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    if (!req) {\n                        throw new Error('Request is not available');\n                    }\n                    if (!res) {\n                        throw new Error('Response is not available');\n                    }\n                    _a.label = 1;\n                case 1:\n                    _a.trys.push([1, 3, , 4]);\n                    accessToken = jwt_verifier_1.getTokenFromHeader(req.headers.authorization);\n                    return [4 /*yield*/, verifier.verifyAccessToken(accessToken)];\n                case 2:\n                    claims = _a.sent();\n                    return [3 /*break*/, 4];\n                case 3:\n                    err_1 = _a.sent();\n                    if (typeof options.handleError !== 'undefined' && options.handleError !== null) {\n                        return [2 /*return*/, options.handleError(res, err_1)];\n                    }\n                    return [2 /*return*/, res.status(401).json({\n                            error: err_1.code,\n                            error_description: err_1.message\n                        })];\n                case 4:\n                    authenticatedRequest = req;\n                    authenticatedRequest.identityContext = {\n                        token: accessToken,\n                        claims: claims\n                    };\n                    // Continue.\n                    return [2 /*return*/, apiRoute(req, res)];\n            }\n        });\n    }); }; };\n};\n/**\n * Create a JWT verifier handler.\n * @param options\n */\nexports.NextJwtVerifier = function (options) {\n    var verifier = new jwt_verifier_1.JwtVerifier(options);\n    return validateJWT(verifier, options);\n};\nvar jwt_verifier_2 = require(\"@serverless-jwt/jwt-verifier\");\nObject.defineProperty(exports, \"claimToArray\", { enumerable: true, get: function () { return jwt_verifier_2.claimToArray; } });\nObject.defineProperty(exports, \"removeNamespaces\", { enumerable: true, get: function () { return jwt_verifier_2.removeNamespaces; } });\nObject.defineProperty(exports, \"getTokenFromHeader\", { enumerable: true, get: function () { return jwt_verifier_2.getTokenFromHeader; } });\n"]}