{"version":3,"sources":["webpack:///./node_modules/jws/index.js","webpack:///./node_modules/jws/lib/data-stream.js","webpack:///./node_modules/jws/lib/tostring.js","webpack:///./node_modules/jws/lib/sign-stream.js","webpack:///./node_modules/jws/lib/verify-stream.js"],"names":["SignStream","VerifyStream","exports","ALGORITHMS","sign","verify","decode","isValid","createSign","opts","createVerify","Buffer","Stream","DataStream","data","this","buffer","writable","readable","alloc","pipe","length","process","nextTick","emit","bind","TypeError","inherits","prototype","write","concat","from","end","module","obj","isBuffer","toString","JSON","stringify","jwa","util","base64url","string","encoding","replace","jwsSign","header","payload","secretOrKey","secret","privateKey","algo","alg","securedInput","encodedHeader","encodedPayload","format","jwsSecuredInput","signature","key","secretStream","once","e","JWS_REGEX","safeJsonParse","thing","Object","call","isObject","parse","headerFromJWS","jwsSig","split","signatureFromJWS","isValidJws","test","jwsVerify","algorithm","err","Error","code","join","securedInputFromJWS","jwsDecode","payloadFromJWS","typ","json","publicKey","valid"],"mappings":"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","file":"yarn.jws.becc34fe6fa559c58c21.js","sourcesContent":["/*global exports*/\nvar SignStream = require('./lib/sign-stream');\nvar VerifyStream = require('./lib/verify-stream');\n\nvar ALGORITHMS = [\n 'HS256', 'HS384', 'HS512',\n 'RS256', 'RS384', 'RS512',\n 'PS256', 'PS384', 'PS512',\n 'ES256', 'ES384', 'ES512'\n];\n\nexports.ALGORITHMS = ALGORITHMS;\nexports.sign = SignStream.sign;\nexports.verify = VerifyStream.verify;\nexports.decode = VerifyStream.decode;\nexports.isValid = VerifyStream.isValid;\nexports.createSign = function createSign(opts) {\n return new SignStream(opts);\n};\nexports.createVerify = function createVerify(opts) {\n return new VerifyStream(opts);\n};\n","/*global module, process*/\nvar Buffer = require('safe-buffer').Buffer;\nvar Stream = require('stream');\nvar util = require('util');\n\nfunction DataStream(data) {\n this.buffer = null;\n this.writable = true;\n this.readable = true;\n\n // No input\n if (!data) {\n this.buffer = Buffer.alloc(0);\n return this;\n }\n\n // Stream\n if (typeof data.pipe === 'function') {\n this.buffer = Buffer.alloc(0);\n data.pipe(this);\n return this;\n }\n\n // Buffer or String\n // or Object (assumedly a passworded key)\n if (data.length || typeof data === 'object') {\n this.buffer = data;\n this.writable = false;\n process.nextTick(function () {\n this.emit('end', data);\n this.readable = false;\n this.emit('close');\n }.bind(this));\n return this;\n }\n\n throw new TypeError('Unexpected data type ('+ typeof data + ')');\n}\nutil.inherits(DataStream, Stream);\n\nDataStream.prototype.write = function write(data) {\n this.buffer = Buffer.concat([this.buffer, Buffer.from(data)]);\n this.emit('data', data);\n};\n\nDataStream.prototype.end = function end(data) {\n if (data)\n this.write(data);\n this.emit('end', data);\n this.emit('close');\n this.writable = false;\n this.readable = false;\n};\n\nmodule.exports = DataStream;\n","/*global module*/\nvar Buffer = require('buffer').Buffer;\n\nmodule.exports = function toString(obj) {\n if (typeof obj === 'string')\n return obj;\n if (typeof obj === 'number' || Buffer.isBuffer(obj))\n return obj.toString();\n return JSON.stringify(obj);\n};\n","/*global module*/\nvar Buffer = require('safe-buffer').Buffer;\nvar DataStream = require('./data-stream');\nvar jwa = require('jwa');\nvar Stream = require('stream');\nvar toString = require('./tostring');\nvar util = require('util');\n\nfunction base64url(string, encoding) {\n return Buffer\n .from(string, encoding)\n .toString('base64')\n .replace(/=/g, '')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_');\n}\n\nfunction jwsSecuredInput(header, payload, encoding) {\n encoding = encoding || 'utf8';\n var encodedHeader = base64url(toString(header), 'binary');\n var encodedPayload = base64url(toString(payload), encoding);\n return util.format('%s.%s', encodedHeader, encodedPayload);\n}\n\nfunction jwsSign(opts) {\n var header = opts.header;\n var payload = opts.payload;\n var secretOrKey = opts.secret || opts.privateKey;\n var encoding = opts.encoding;\n var algo = jwa(header.alg);\n var securedInput = jwsSecuredInput(header, payload, encoding);\n var signature = algo.sign(securedInput, secretOrKey);\n return util.format('%s.%s', securedInput, signature);\n}\n\nfunction SignStream(opts) {\n var secret = opts.secret||opts.privateKey||opts.key;\n var secretStream = new DataStream(secret);\n this.readable = true;\n this.header = opts.header;\n this.encoding = opts.encoding;\n this.secret = this.privateKey = this.key = secretStream;\n this.payload = new DataStream(opts.payload);\n this.secret.once('close', function () {\n if (!this.payload.writable && this.readable)\n this.sign();\n }.bind(this));\n\n this.payload.once('close', function () {\n if (!this.secret.writable && this.readable)\n this.sign();\n }.bind(this));\n}\nutil.inherits(SignStream, Stream);\n\nSignStream.prototype.sign = function sign() {\n try {\n var signature = jwsSign({\n header: this.header,\n payload: this.payload.buffer,\n secret: this.secret.buffer,\n encoding: this.encoding\n });\n this.emit('done', signature);\n this.emit('data', signature);\n this.emit('end');\n this.readable = false;\n return signature;\n } catch (e) {\n this.readable = false;\n this.emit('error', e);\n this.emit('close');\n }\n};\n\nSignStream.sign = jwsSign;\n\nmodule.exports = SignStream;\n","/*global module*/\nvar Buffer = require('safe-buffer').Buffer;\nvar DataStream = require('./data-stream');\nvar jwa = require('jwa');\nvar Stream = require('stream');\nvar toString = require('./tostring');\nvar util = require('util');\nvar JWS_REGEX = /^[a-zA-Z0-9\\-_]+?\\.[a-zA-Z0-9\\-_]+?\\.([a-zA-Z0-9\\-_]+)?$/;\n\nfunction isObject(thing) {\n return Object.prototype.toString.call(thing) === '[object Object]';\n}\n\nfunction safeJsonParse(thing) {\n if (isObject(thing))\n return thing;\n try { return JSON.parse(thing); }\n catch (e) { return undefined; }\n}\n\nfunction headerFromJWS(jwsSig) {\n var encodedHeader = jwsSig.split('.', 1)[0];\n return safeJsonParse(Buffer.from(encodedHeader, 'base64').toString('binary'));\n}\n\nfunction securedInputFromJWS(jwsSig) {\n return jwsSig.split('.', 2).join('.');\n}\n\nfunction signatureFromJWS(jwsSig) {\n return jwsSig.split('.')[2];\n}\n\nfunction payloadFromJWS(jwsSig, encoding) {\n encoding = encoding || 'utf8';\n var payload = jwsSig.split('.')[1];\n return Buffer.from(payload, 'base64').toString(encoding);\n}\n\nfunction isValidJws(string) {\n return JWS_REGEX.test(string) && !!headerFromJWS(string);\n}\n\nfunction jwsVerify(jwsSig, algorithm, secretOrKey) {\n if (!algorithm) {\n var err = new Error(\"Missing algorithm parameter for jws.verify\");\n err.code = \"MISSING_ALGORITHM\";\n throw err;\n }\n jwsSig = toString(jwsSig);\n var signature = signatureFromJWS(jwsSig);\n var securedInput = securedInputFromJWS(jwsSig);\n var algo = jwa(algorithm);\n return algo.verify(securedInput, signature, secretOrKey);\n}\n\nfunction jwsDecode(jwsSig, opts) {\n opts = opts || {};\n jwsSig = toString(jwsSig);\n\n if (!isValidJws(jwsSig))\n return null;\n\n var header = headerFromJWS(jwsSig);\n\n if (!header)\n return null;\n\n var payload = payloadFromJWS(jwsSig);\n if (header.typ === 'JWT' || opts.json)\n payload = JSON.parse(payload, opts.encoding);\n\n return {\n header: header,\n payload: payload,\n signature: signatureFromJWS(jwsSig)\n };\n}\n\nfunction VerifyStream(opts) {\n opts = opts || {};\n var secretOrKey = opts.secret||opts.publicKey||opts.key;\n var secretStream = new DataStream(secretOrKey);\n this.readable = true;\n this.algorithm = opts.algorithm;\n this.encoding = opts.encoding;\n this.secret = this.publicKey = this.key = secretStream;\n this.signature = new DataStream(opts.signature);\n this.secret.once('close', function () {\n if (!this.signature.writable && this.readable)\n this.verify();\n }.bind(this));\n\n this.signature.once('close', function () {\n if (!this.secret.writable && this.readable)\n this.verify();\n }.bind(this));\n}\nutil.inherits(VerifyStream, Stream);\nVerifyStream.prototype.verify = function verify() {\n try {\n var valid = jwsVerify(this.signature.buffer, this.algorithm, this.key.buffer);\n var obj = jwsDecode(this.signature.buffer, this.encoding);\n this.emit('done', valid, obj);\n this.emit('data', valid);\n this.emit('end');\n this.readable = false;\n return valid;\n } catch (e) {\n this.readable = false;\n this.emit('error', e);\n this.emit('close');\n }\n};\n\nVerifyStream.decode = jwsDecode;\nVerifyStream.isValid = isValidJws;\nVerifyStream.verify = jwsVerify;\n\nmodule.exports = VerifyStream;\n"],"sourceRoot":""}