Comparing version 2.4.0 to 2.4.1-beta-1
@@ -299,3 +299,3 @@ "use strict"; | ||
key: "post", | ||
value: function post(path, params, callback, useJwt) { | ||
value: function post(path, params, callback, useJwt, headers) { | ||
var qs = {}; | ||
@@ -314,3 +314,15 @@ if (!useJwt) { | ||
this.request({ path: path, body: querystring.stringify(params) }, "POST", callback); | ||
headers = headers || {}; | ||
if (useJwt) { | ||
headers["Authorization"] = "Bearer " + this.credentials.generateJwt(); | ||
} | ||
var encodedParams = void 0; | ||
if (headers["Content-Type"] == "application/json") { | ||
encodedParams = JSON.stringify(params); | ||
} else { | ||
encodedParams = querystring.stringify(params); | ||
} | ||
this.request({ path: path, body: encodedParams, headers: headers }, "POST", callback); | ||
} | ||
@@ -364,2 +376,2 @@ }, { | ||
module.exports = exports["default"]; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9IdHRwQ2xpZW50LmpzIl0sIm5hbWVzIjpbImh0dHBzIiwicmVxdWlyZSIsImh0dHAiLCJyZXF1ZXN0IiwicXVlcnlzdHJpbmciLCJIdHRwQ2xpZW50Iiwib3B0aW9ucyIsImNyZWRlbnRpYWxzIiwiaG9zdCIsInBvcnQiLCJoZWFkZXJzIiwiQWNjZXB0IiwibG9nZ2VyIiwidGltZW91dCIsInJlcXVlc3RMaWIiLCJ1c2VyQWdlbnQiLCJlbmRwb2ludCIsIm1ldGhvZCIsImNhbGxiYWNrIiwic2tpcEpzb25QYXJzaW5nIiwicGF0aCIsIk9iamVjdCIsImFzc2lnbiIsInVuZGVmaW5lZCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5mbyIsImJvZHkiLCJlbmQiLCJyZXNwb25zZURhdGEiLCJvbiIsImlzQmluYXJ5IiwicmVzcG9uc2UiLCJzZXRFbmNvZGluZyIsInB1c2giLCJjaHVuayIsInN0YXR1c0NvZGUiLCJCdWZmZXIiLCJjb25jYXQiLCJfX3BhcnNlUmVzcG9uc2UiLCJlIiwiZXJyb3IiLCJodHRwUmVzcG9uc2UiLCJkYXRhIiwiaXNBcnJheU9yQnVmZmVyIiwiQXJyYXkiLCJFcnJvciIsInN0YXR1cyIsIm1lc3NhZ2UiLCJyZXRyeUFmdGVyTWlsbGlzIiwiam9pbiIsIkpTT04iLCJwYXJzZSIsInBhcnNlRXJyb3IiLCJsaW1pdGVkQWNjZXNzU3RhdHVzIiwiZXJyIiwiX0lORk9fIiwicGFyYW1zIiwidXNlSnd0IiwidXNlQmFzaWNBdXRoIiwiYXBpS2V5IiwiYXBpU2VjcmV0Iiwic3RyaW5naWZ5IiwiZ2VuZXJhdGVKd3QiLCJmcm9tIiwidG9TdHJpbmciLCJxcyIsImxlbmd0aCIsImpvaW5DaGFyIiwiaW5kZXhPZiIsImZpbGUiLCJmb3JtRGF0YSIsInZhbHVlIiwiZmlsZW5hbWUiLCJ1cmwiLCJwb3N0IiwiQXV0aG9yaXphdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUlBLFFBQVFDLFFBQVEsT0FBUixDQUFa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QUVrQkUsSSxFQUFNc0MsTSxFQUFReEMsUSxFQUFVeUMsTSxFQUFRO0FBQ2pERCxlQUFTQSxVQUFVLEVBQW5CO0FBQ0EsVUFBSSxDQUFDQyxNQUFMLEVBQWE7QUFDWEQsZUFBTyxTQUFQLElBQW9CLEtBQUtuRCxXQUFMLENBQWlCc0QsTUFBckM7QUFDQUgsZUFBTyxZQUFQLElBQXVCLEtBQUtuRCxXQUFMLENBQWlCdUQsU0FBeEM7QUFDRDs7QUFFRDFDLGFBQU9BLE9BQU8sR0FBUCxHQUFhaEIsWUFBWTJELFNBQVosQ0FBc0JMLE1BQXRCLENBQXBCOztBQUVBLFdBQUt2RCxPQUFMLENBQWEsRUFBRWlCLE1BQU1BLElBQVIsRUFBYixFQUE2QixNQUE3QixFQUFxQ0YsUUFBckM7QUFDRDs7Ozs7O2tCQUdZYixVIiwiZmlsZSI6Ikh0dHBDbGllbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaHR0cHMgPSByZXF1aXJlKFwiaHR0cHNcIik7XG52YXIgaHR0cCA9IHJlcXVpcmUoXCJodHRwXCIpO1xudmFyIHJlcXVlc3QgPSByZXF1aXJlKFwicmVxdWVzdFwiKTtcbnZhciBxdWVyeXN0cmluZyA9IHJlcXVpcmUoXCJxdWVyeXN0cmluZ1wiKTtcblxuY2xhc3MgSHR0cENsaWVudCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMsIGNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5jcmVkZW50aWFscyA9IGNyZWRlbnRpYWxzO1xuICAgIHRoaXMuaG9zdCA9IG9wdGlvbnMuaG9zdCB8fCBcInJlc3QubmV4bW8uY29tXCI7XG4gICAgdGhpcy5wb3J0ID0gb3B0aW9ucy5wb3J0IHx8IDQ0MztcbiAgICB0aGlzLmh0dHBzID0gb3B0aW9ucy5odHRwcyB8fCBodHRwcztcbiAgICB0aGlzLmh0dHAgPSBvcHRpb25zLmh0dHAgfHwgaHR0cDtcbiAgICB0aGlzLmhlYWRlcnMgPSB7XG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxuICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgIH07XG4gICAgdGhpcy5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlcjtcbiAgICB0aGlzLnRpbWVvdXQgPSBvcHRpb25zLnRpbWVvdXQ7XG4gICAgdGhpcy5yZXF1ZXN0TGliID0gcmVxdWVzdDtcblxuICAgIGlmIChvcHRpb25zLnVzZXJBZ2VudCkge1xuICAgICAgdGhpcy5oZWFkZXJzW1wiVXNlci1BZ2VudFwiXSA9IG9wdGlvbnMudXNlckFnZW50O1xuICAgIH1cbiAgfVxuXG4gIHJlcXVlc3QoZW5kcG9pbnQsIG1ldGhvZCwgY2FsbGJhY2ssIHNraXBKc29uUGFyc2luZyA9IGZhbHNlKSB7XG4gICAgaWYgKHR5cGVvZiBtZXRob2QgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgY2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgICBlbmRwb2ludC5tZXRob2QgPSBlbmRwb2ludC5tZXRob2QgfHwgXCJHRVRcIjtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBtZXRob2QgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGVuZHBvaW50Lm1ldGhvZCA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICBpZiAoZW5kcG9pbnQubWV0aG9kID09PSBcIlBPU1RcIiB8fCBlbmRwb2ludC5tZXRob2QgPT09IFwiREVMRVRFXCIpIHtcbiAgICAgIC8vIFRPRE86IHZlcmlmeSB0aGUgZm9sbG93aW5nIGZpeCBpcyByZXF1aXJlZFxuICAgICAgLy8gRml4IGJyb2tlbiBkdWUgb3QgNDExIENvbnRlbnQtTGVuZ3RoIGVycm9yIG5vdyBzZW50IGJ5IE5leG1vIEFQSVxuICAgICAgLy8gUEwgMjAxNi1TZXB0LTYgLSBjb21tZW50ZWQgb3V0IENvbnRlbnQtTGVuZ3RoIDBcbiAgICAgIC8vIGhlYWRlcnNbJ0NvbnRlbnQtTGVuZ3RoJ10gPSAwO1xuICAgIH1cbiAgICB2YXIgb3B0aW9ucyA9IHtcbiAgICAgIGhvc3Q6IGVuZHBvaW50Lmhvc3QgPyBlbmRwb2ludC5ob3N0IDogdGhpcy5ob3N0LFxuICAgICAgcG9ydDogdGhpcy5wb3J0LFxuICAgICAgcGF0aDogZW5kcG9pbnQucGF0aCxcbiAgICAgIG1ldGhvZDogZW5kcG9pbnQubWV0aG9kLFxuICAgICAgaGVhZGVyczogT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5oZWFkZXJzKVxuICAgIH07XG5cbiAgICBpZiAodGhpcy50aW1lb3V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wdGlvbnMudGltZW91dCA9IHRoaXMudGltZW91dDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBleGlzdGluZyBoZWFkZXJzIHRvIGJlIG92ZXJyaWRkZW5cbiAgICAvLyBBbGxvdyBuZXcgaGVhZGVycyB0byBiZSBhZGRlZFxuICAgIGlmIChlbmRwb2ludC5oZWFkZXJzKSB7XG4gICAgICBPYmplY3Qua2V5cyhlbmRwb2ludC5oZWFkZXJzKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgICAgICBvcHRpb25zLmhlYWRlcnNba2V5XSA9IGVuZHBvaW50LmhlYWRlcnNba2V5XTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubG9nZ2VyLmluZm8oXCJSZXF1ZXN0OlwiLCBvcHRpb25zLCBcIlxcbkJvZHk6XCIsIGVuZHBvaW50LmJvZHkpO1xuICAgIHZhciByZXF1ZXN0O1xuXG4gICAgaWYgKG9wdGlvbnMucG9ydCA9PT0gNDQzKSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5odHRwcy5yZXF1ZXN0KG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5odHRwLnJlcXVlc3Qob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmVxdWVzdC5lbmQoZW5kcG9pbnQuYm9keSk7XG5cbiAgICAvLyBLZWVwIGFuIGFycmF5IG9mIFN0cmluZyBvciBCdWZmZXJzLFxuICAgIC8vIGRlcGVuZGluZyBvbiBjb250ZW50IHR5cGUgKGJpbmFyeSBvciBKU09OKSBvZiByZXNwb25zZVxuICAgIHZhciByZXNwb25zZURhdGEgPSBbXTtcblxuICAgIHJlcXVlc3Qub24oXCJyZXNwb25zZVwiLCByZXNwb25zZSA9PiB7XG4gICAgICB2YXIgaXNCaW5hcnkgPVxuICAgICAgICByZXNwb25zZS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdID09PSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiO1xuICAgICAgaWYgKCFpc0JpbmFyeSkge1xuICAgICAgICByZXNwb25zZS5zZXRFbmNvZGluZyhcInV0ZjhcIik7XG4gICAgICB9XG5cbiAgICAgIHJlc3BvbnNlLm9uKFwiZGF0YVwiLCBjaHVuayA9PiB7XG4gICAgICAgIHJlc3BvbnNlRGF0YS5wdXNoKGNodW5rKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNwb25zZS5vbihcImVuZFwiLCAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXCJyZXNwb25zZSBlbmRlZDpcIiwgcmVzcG9uc2Uuc3RhdHVzQ29kZSk7XG4gICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgIGlmIChpc0JpbmFyeSkge1xuICAgICAgICAgICAgcmVzcG9uc2VEYXRhID0gQnVmZmVyLmNvbmNhdChyZXNwb25zZURhdGEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX19wYXJzZVJlc3BvbnNlKFxuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICByZXNwb25zZURhdGEsXG4gICAgICAgICAgICBlbmRwb2ludC5tZXRob2QsXG4gICAgICAgICAgICBjYWxsYmFjayxcbiAgICAgICAgICAgIHNraXBKc29uUGFyc2luZ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmVzcG9uc2Uub24oXCJjbG9zZVwiLCBlID0+IHtcbiAgICAgICAgaWYgKGUpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgIFwicHJvYmxlbSB3aXRoIEFQSSByZXF1ZXN0IGRldGFpbGVkIHN0YWNrdHJhY2UgYmVsb3cgXCJcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGUpO1xuICAgICAgICAgIGNhbGxiYWNrKGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXF1ZXN0Lm9uKFwiZXJyb3JcIiwgZSA9PiB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcInByb2JsZW0gd2l0aCBBUEkgcmVxdWVzdCBkZXRhaWxlZCBzdGFja3RyYWNlIGJlbG93IFwiKTtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGUpO1xuICAgICAgY2FsbGJhY2soZSk7XG4gICAgfSk7XG4gIH1cblxuICBfX3BhcnNlUmVzcG9uc2UoaHR0cFJlc3BvbnNlLCBkYXRhLCBtZXRob2QsIGNhbGxiYWNrLCBza2lwSnNvblBhcnNpbmcpIHtcbiAgICBjb25zdCBpc0FycmF5T3JCdWZmZXIgPSBkYXRhIGluc3RhbmNlb2YgQXJyYXkgfHwgZGF0YSBpbnN0YW5jZW9mIEJ1ZmZlcjtcbiAgICBpZiAoIWlzQXJyYXlPckJ1ZmZlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZGF0YSBzaG91bGQgYmUgb2YgdHlwZSBBcnJheSBvciBCdWZmZXJcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdHVzID0gaHR0cFJlc3BvbnNlLnN0YXR1c0NvZGU7XG4gICAgY29uc3QgaGVhZGVycyA9IGh0dHBSZXNwb25zZS5oZWFkZXJzO1xuXG4gICAgbGV0IHJlc3BvbnNlID0gbnVsbDtcbiAgICB2YXIgZXJyb3IgPSBudWxsO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmIChzdGF0dXMgPj0gNTAwKSB7XG4gICAgICAgIGVycm9yID0geyBtZXNzYWdlOiBcIlNlcnZlciBFcnJvclwiLCBzdGF0dXNDb2RlOiBzdGF0dXMgfTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGh0dHBSZXNwb25zZS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdID09PSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2UgPSBkYXRhO1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IDQyOSkge1xuICAgICAgICAvLyA0MjkgZG9lcyBub3QgcmV0dXJuIGEgcGFyc2FibGUgYm9keVxuICAgICAgICBpZiAoIWhlYWRlcnNbXCJyZXRyeS1hZnRlclwiXSkge1xuICAgICAgICAgIC8vIHJldHJ5IGJhc2VkIG9uIGFsbG93ZWQgcGVyIHNlY29uZFxuICAgICAgICAgIGNvbnN0IHJldHJ5QWZ0ZXJNaWxsaXMgPSBtZXRob2QgPT09IFwiUE9TVFwiID8gMTAwMCAvIDIgOiAxMDAwIC8gNTtcbiAgICAgICAgICBoZWFkZXJzW1wicmV0cnktYWZ0ZXJcIl0gPSByZXRyeUFmdGVyTWlsbGlzO1xuICAgICAgICB9XG4gICAgICAgIGVycm9yID0geyBib2R5OiBkYXRhLmpvaW4oXCJcIikgfTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgcmVzcG9uc2UgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPj0gNDAwIHx8IHN0YXR1cyA8IDIwMCkge1xuICAgICAgICBlcnJvciA9IHsgYm9keTogSlNPTi5wYXJzZShkYXRhLmpvaW4oXCJcIikpLCBoZWFkZXJzIH07XG4gICAgICB9IGVsc2UgaWYgKG1ldGhvZCAhPT0gXCJERUxFVEVcIikge1xuICAgICAgICBpZiAoISFza2lwSnNvblBhcnNpbmcpIHtcbiAgICAgICAgICByZXNwb25zZSA9IGRhdGEuam9pbihcIlwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNwb25zZSA9IEpTT04ucGFyc2UoZGF0YS5qb2luKFwiXCIpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2UgPSBkYXRhO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKHBhcnNlRXJyb3IpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKHBhcnNlRXJyb3IpO1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgIFwiY291bGQgbm90IGNvbnZlcnQgQVBJIHJlc3BvbnNlIHRvIEpTT04sIGFib3ZlIGVycm9yIGlzIGlnbm9yZWQgYW5kIHJhdyBBUEkgcmVzcG9uc2UgaXMgcmV0dXJuZWQgdG8gY2xpZW50XCJcbiAgICAgICk7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIlJhdyBFcnJvciBtZXNzYWdlIGZyb20gQVBJIFwiKTtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBcIiR7ZGF0YX1cImApO1xuXG4gICAgICBlcnJvciA9IHtcbiAgICAgICAgc3RhdHVzOiBzdGF0dXMsXG4gICAgICAgIG1lc3NhZ2U6IFwiVGhlIEFQSSByZXNwb25zZSBjb3VsZCBub3QgYmUgcGFyc2VkLlwiLFxuICAgICAgICBib2R5OiBkYXRhLmpvaW4oXCJcIiksXG4gICAgICAgIHBhcnNlRXJyb3I6IHBhcnNlRXJyb3JcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBlcnJvci5zdGF0dXNDb2RlID0gc3RhdHVzO1xuICAgICAgZXJyb3IuaGVhZGVycyA9IGhlYWRlcnM7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICAgIH1cbiAgfVxuXG4gIF9hZGRMaW1pdGVkQWNjZXNzTWVzc2FnZVRvRXJyb3JzKGNhbGxiYWNrLCBsaW1pdGVkQWNjZXNzU3RhdHVzKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGVyciwgZGF0YSkge1xuICAgICAgaWYgKGVyciAmJiBlcnIuc3RhdHVzID09IGxpbWl0ZWRBY2Nlc3NTdGF0dXMpIHtcbiAgICAgICAgZXJyLl9JTkZPXyA9XG4gICAgICAgICAgXCJUaGlzIGVuZHBvaW50IG1heSBuZWVkIGFjdGl2YXRpbmcgb24geW91ciBhY2NvdW50LiBQbGVhc2UgZW1haWwgc3VwcG9ydEBuZXhtby5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb25cIjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVyciwgZGF0YSk7XG4gICAgfTtcbiAgfVxuXG4gIGdldChwYXRoLCBwYXJhbXMsIGNhbGxiYWNrLCB1c2VKd3QgPSBmYWxzZSwgdXNlQmFzaWNBdXRoID0gZmFsc2UpIHtcbiAgICBpZiAoIWNhbGxiYWNrKSB7XG4gICAgICBpZiAodHlwZW9mIHBhcmFtcyA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgY2FsbGJhY2sgPSBwYXJhbXM7XG4gICAgICAgIHBhcmFtcyA9IHt9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgICBpZiAoIXVzZUp3dCAmJiAhdXNlQmFzaWNBdXRoKSB7XG4gICAgICBwYXJhbXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBwYXJhbXNbXCJhcGlfc2VjcmV0XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXQ7XG4gICAgfVxuXG4gICAgcGF0aCA9IHBhdGggKyBcIj9cIiArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShwYXJhbXMpO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfTtcbiAgICBpZiAodXNlSnd0KSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCZWFyZXIgJHt0aGlzLmNyZWRlbnRpYWxzLmdlbmVyYXRlSnd0KCl9YDtcbiAgICB9XG4gICAgaWYgKHVzZUJhc2ljQXV0aCkge1xuICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmFzaWMgJHtCdWZmZXIuZnJvbShcbiAgICAgICAgdGhpcy5jcmVkZW50aWFscy5hcGlLZXkgKyBcIjpcIiArIHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0XG4gICAgICApLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWA7XG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0KHsgcGF0aDogcGF0aCwgaGVhZGVycyB9LCBcIkdFVFwiLCBjYWxsYmFjayk7XG4gIH1cblxuICBkZWxldGUocGF0aCwgY2FsbGJhY2ssIHVzZUp3dCwgdXNlQmFzaWNBdXRoKSB7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIGlmICghdXNlSnd0ICYmICF1c2VCYXNpY0F1dGgpIHtcbiAgICAgIHBhcmFtc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHBhcmFtc1tcImFwaV9zZWNyZXRcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldDtcbiAgICB9XG5cbiAgICBsZXQgaGVhZGVycyA9IHt9O1xuXG4gICAgaWYgKHVzZUJhc2ljQXV0aCkge1xuICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmFzaWMgJHtCdWZmZXIuZnJvbShcbiAgICAgICAgdGhpcy5jcmVkZW50aWFscy5hcGlLZXkgKyBcIjpcIiArIHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0XG4gICAgICApLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWA7XG4gICAgfVxuICAgIHBhdGggPSBwYXRoICsgXCI/XCIgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkocGFyYW1zKTtcblxuICAgIHRoaXMucmVxdWVzdCh7IHBhdGg6IHBhdGgsIGhlYWRlcnMgfSwgXCJERUxFVEVcIiwgY2FsbGJhY2spO1xuICB9XG5cbiAgcG9zdEZpbGUocGF0aCwgb3B0aW9ucywgY2FsbGJhY2ssIHVzZUp3dCkge1xuICAgIGxldCBxcyA9IHt9O1xuICAgIGlmICghdXNlSnd0KSB7XG4gICAgICBxc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHFzW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0O1xuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhxcykubGVuZ3RoKSB7XG4gICAgICBsZXQgam9pbkNoYXIgPSBcIj9cIjtcbiAgICAgIGlmIChwYXRoLmluZGV4T2Yoam9pbkNoYXIpICE9PSAtMSkge1xuICAgICAgICBqb2luQ2hhciA9IFwiJlwiO1xuICAgICAgfVxuICAgICAgcGF0aCA9IHBhdGggKyBqb2luQ2hhciArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShxcyk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZSA9IG9wdGlvbnMuZmlsZTtcbiAgICBkZWxldGUgb3B0aW9ucy5maWxlOyAvLyBXZSBkb24ndCBzZW5kIHRoaXMgYXMgbWV0YWRhdGFcblxuICAgIGNvbnN0IGZvcm1EYXRhID0ge307XG5cbiAgICBpZiAoZmlsZSkge1xuICAgICAgZm9ybURhdGFbXCJmaWxlZGF0YVwiXSA9IHtcbiAgICAgICAgdmFsdWU6IGZpbGUsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBmaWxlbmFtZTogb3B0aW9ucy5maWxlbmFtZSB8fCBudWxsXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaW5mbykge1xuICAgICAgZm9ybURhdGEuaW5mbyA9IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMuaW5mbyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudXJsKSB7XG4gICAgICBmb3JtRGF0YS51cmwgPSBvcHRpb25zLnVybDtcbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3RMaWIucG9zdChcbiAgICAgIHtcbiAgICAgICAgdXJsOiBcImh0dHBzOi8vXCIgKyB0aGlzLmhvc3QgKyBwYXRoLFxuICAgICAgICBmb3JtRGF0YTogZm9ybURhdGEsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5jcmVkZW50aWFscy5nZW5lcmF0ZUp3dCgpfWBcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIHBvc3QocGF0aCwgcGFyYW1zLCBjYWxsYmFjaywgdXNlSnd0KSB7XG4gICAgbGV0IHFzID0ge307XG4gICAgaWYgKCF1c2VKd3QpIHtcbiAgICAgIHFzW1wiYXBpX2tleVwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5O1xuICAgICAgcXNbXCJhcGlfc2VjcmV0XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXQ7XG4gICAgfVxuXG4gICAgbGV0IGpvaW5DaGFyID0gXCI/XCI7XG4gICAgaWYgKHBhdGguaW5kZXhPZihqb2luQ2hhcikgIT09IC0xKSB7XG4gICAgICBqb2luQ2hhciA9IFwiJlwiO1xuICAgIH1cblxuICAgIHBhdGggPSBwYXRoICsgam9pbkNoYXIgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkocXMpO1xuXG4gICAgdGhpcy5yZXF1ZXN0KFxuICAgICAgeyBwYXRoOiBwYXRoLCBib2R5OiBxdWVyeXN0cmluZy5zdHJpbmdpZnkocGFyYW1zKSB9LFxuICAgICAgXCJQT1NUXCIsXG4gICAgICBjYWxsYmFja1xuICAgICk7XG4gIH1cblxuICBwb3N0SnNvbihwYXRoLCBwYXJhbXMsIGNhbGxiYWNrLCB1c2VKd3QsIHVzZUJhc2ljQXV0aCkge1xuICAgIGxldCBxcyA9IHt9O1xuICAgIGlmICghdXNlSnd0ICYmICF1c2VCYXNpY0F1dGgpIHtcbiAgICAgIHFzW1wiYXBpX2tleVwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5O1xuICAgICAgcXNbXCJhcGlfc2VjcmV0XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXQ7XG4gICAgfVxuXG4gICAgbGV0IGpvaW5DaGFyID0gXCI/XCI7XG4gICAgaWYgKHBhdGguaW5kZXhPZihqb2luQ2hhcikgIT09IC0xKSB7XG4gICAgICBqb2luQ2hhciA9IFwiJlwiO1xuICAgIH1cblxuICAgIHBhdGggPSBwYXRoICsgam9pbkNoYXIgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkocXMpO1xuXG4gICAgbGV0IGhlYWRlcnMgPSB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH07XG4gICAgaWYgKHVzZUJhc2ljQXV0aCkge1xuICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmFzaWMgJHtCdWZmZXIuZnJvbShcbiAgICAgICAgdGhpcy5jcmVkZW50aWFscy5hcGlLZXkgKyBcIjpcIiArIHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0XG4gICAgICApLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWA7XG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0KFxuICAgICAge1xuICAgICAgICBwYXRoOiBwYXRoLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwYXJhbXMpLFxuICAgICAgICBoZWFkZXJzXG4gICAgICB9LFxuICAgICAgXCJQT1NUXCIsXG4gICAgICBjYWxsYmFja1xuICAgICk7XG4gIH1cblxuICBwb3N0VXNlUXVlcnlTdHJpbmcocGF0aCwgcGFyYW1zLCBjYWxsYmFjaywgdXNlSnd0KSB7XG4gICAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICAgIGlmICghdXNlSnd0KSB7XG4gICAgICBwYXJhbXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBwYXJhbXNbXCJhcGlfc2VjcmV0XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXQ7XG4gICAgfVxuXG4gICAgcGF0aCA9IHBhdGggKyBcIj9cIiArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShwYXJhbXMpO1xuXG4gICAgdGhpcy5yZXF1ZXN0KHsgcGF0aDogcGF0aCB9LCBcIlBPU1RcIiwgY2FsbGJhY2spO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEh0dHBDbGllbnQ7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9IdHRwQ2xpZW50LmpzIl0sIm5hbWVzIjpbImh0dHBzIiwicmVxdWlyZSIsImh0dHAiLCJyZXF1ZXN0IiwicXVlcnlzdHJpbmciLCJIdHRwQ2xpZW50Iiwib3B0aW9ucyIsImNyZWRlbnRpYWxzIiwiaG9zdCIsInBvcnQiLCJoZWFkZXJzIiwiQWNjZXB0IiwibG9nZ2VyIiwidGltZW91dCIsInJlcXVlc3RMaWIiLCJ1c2VyQWdlbnQiLCJlbmRwb2ludCIsIm1ldGhvZCIsImNhbGxiYWNrIiwic2tpcEpzb25QYXJzaW5nIiwicGF0aCIsIk9iamVjdCIsImFzc2lnbiIsInVuZGVmaW5lZCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaW5mbyIsImJvZHkiLCJlbmQiLCJyZXNwb25zZURhdGEiLCJvbiIsImlzQmluYXJ5IiwicmVzcG9uc2UiLCJzZXRFbmNvZGluZyIsInB1c2giLCJjaHVuayIsInN0YXR1c0NvZGUiLCJCdWZmZXIiLCJjb25jYXQiLCJfX3BhcnNlUmVzcG9uc2UiLCJlIiwiZXJyb3IiLCJodHRwUmVzcG9uc2UiLCJkYXRhIiwiaXNBcnJheU9yQnVmZmVyIiwiQXJyYXkiLCJFcnJvciIsInN0YXR1cyIsIm1lc3NhZ2UiLCJyZXRyeUFmdGVyTWlsbGlzIiwiam9pbiIsIkpTT04iLCJwYXJzZSIsInBhcnNlRXJyb3IiLCJsaW1pdGVkQWNjZXNzU3RhdHVzIiwiZXJyIiwiX0lORk9fIiwicGFyYW1zIiwidXNlSnd0IiwidXNlQmFzaWNBdXRoIiwiYXBpS2V5IiwiYXBpU2VjcmV0Iiwic3RyaW5naWZ5IiwiZ2VuZXJhdGVKd3QiLCJmcm9tIiwidG9TdHJpbmciLCJxcyIsImxlbmd0aCIsImpvaW5DaGFyIiwiaW5kZXhPZiIsImZpbGUiLCJmb3JtRGF0YSIsInZhbHVlIiwiZmlsZW5hbWUiLCJ1cmwiLCJwb3N0IiwiQXV0aG9yaXphdGlvbiIsImVuY29kZWRQYXJhbXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFJQSxRQUFR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a0QsWUFBSixFQUFrQjtBQUNoQmxELGdCQUFRLGVBQVIsZUFBb0M0QixPQUFPMkIsSUFBUCxDQUNsQyxLQUFLMUQsV0FBTCxDQUFpQnNELE1BQWpCLEdBQTBCLEdBQTFCLEdBQWdDLEtBQUt0RCxXQUFMLENBQWlCdUQsU0FEZixFQUVsQ0ksUUFGa0MsQ0FFekIsUUFGeUIsQ0FBcEM7QUFHRDs7QUFFRCxXQUFLL0QsT0FBTCxDQUNFO0FBQ0VpQixjQUFNQSxJQURSO0FBRUVRLGNBQU13QixLQUFLVyxTQUFMLENBQWVMLE1BQWYsQ0FGUjtBQUdFaEQ7QUFIRixPQURGLEVBTUUsTUFORixFQU9FUSxRQVBGO0FBU0Q7Ozt1Q0FFa0JFLEksRUFBTXNDLE0sRUFBUXhDLFEsRUFBVXlDLE0sRUFBUTtBQUNqREQsZUFBU0EsVUFBVSxFQUFuQjtBQUNBLFVBQUksQ0FBQ0MsTUFBTCxFQUFhO0FBQ1hELGVBQU8sU0FBUCxJQUFvQixLQUFLbkQsV0FBTCxDQUFpQnNELE1BQXJDO0FBQ0FILGVBQU8sWUFBUCxJQUF1QixLQUFLbkQsV0FBTCxDQUFpQnVELFNBQXhDO0FBQ0Q7O0FBRUQxQyxhQUFPQSxPQUFPLEdBQVAsR0FBYWhCLFlBQVkyRCxTQUFaLENBQXNCTCxNQUF0QixDQUFwQjs7QUFFQSxXQUFLdkQsT0FBTCxDQUFhLEVBQUVpQixNQUFNQSxJQUFSLEVBQWIsRUFBNkIsTUFBN0IsRUFBcUNGLFFBQXJDO0FBQ0Q7Ozs7OztrQkFHWWIsVSIsImZpbGUiOiJIdHRwQ2xpZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGh0dHBzID0gcmVxdWlyZShcImh0dHBzXCIpO1xudmFyIGh0dHAgPSByZXF1aXJlKFwiaHR0cFwiKTtcbnZhciByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG52YXIgcXVlcnlzdHJpbmcgPSByZXF1aXJlKFwicXVlcnlzdHJpbmdcIik7XG5cbmNsYXNzIEh0dHBDbGllbnQge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zLCBjcmVkZW50aWFscykge1xuICAgIHRoaXMuY3JlZGVudGlhbHMgPSBjcmVkZW50aWFscztcbiAgICB0aGlzLmhvc3QgPSBvcHRpb25zLmhvc3QgfHwgXCJyZXN0Lm5leG1vLmNvbVwiO1xuICAgIHRoaXMucG9ydCA9IG9wdGlvbnMucG9ydCB8fCA0NDM7XG4gICAgdGhpcy5odHRwcyA9IG9wdGlvbnMuaHR0cHMgfHwgaHR0cHM7XG4gICAgdGhpcy5odHRwID0gb3B0aW9ucy5odHRwIHx8IGh0dHA7XG4gICAgdGhpcy5oZWFkZXJzID0ge1xuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIixcbiAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICB9O1xuICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXI7XG4gICAgdGhpcy50aW1lb3V0ID0gb3B0aW9ucy50aW1lb3V0O1xuICAgIHRoaXMucmVxdWVzdExpYiA9IHJlcXVlc3Q7XG5cbiAgICBpZiAob3B0aW9ucy51c2VyQWdlbnQpIHtcbiAgICAgIHRoaXMuaGVhZGVyc1tcIlVzZXItQWdlbnRcIl0gPSBvcHRpb25zLnVzZXJBZ2VudDtcbiAgICB9XG4gIH1cblxuICByZXF1ZXN0KGVuZHBvaW50LCBtZXRob2QsIGNhbGxiYWNrLCBza2lwSnNvblBhcnNpbmcgPSBmYWxzZSkge1xuICAgIGlmICh0eXBlb2YgbWV0aG9kID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNhbGxiYWNrID0gbWV0aG9kO1xuICAgICAgZW5kcG9pbnQubWV0aG9kID0gZW5kcG9pbnQubWV0aG9kIHx8IFwiR0VUXCI7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbWV0aG9kICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBlbmRwb2ludC5tZXRob2QgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgaWYgKGVuZHBvaW50Lm1ldGhvZCA9PT0gXCJQT1NUXCIgfHwgZW5kcG9pbnQubWV0aG9kID09PSBcIkRFTEVURVwiKSB7XG4gICAgICAvLyBUT0RPOiB2ZXJpZnkgdGhlIGZvbGxvd2luZyBmaXggaXMgcmVxdWlyZWRcbiAgICAgIC8vIEZpeCBicm9rZW4gZHVlIG90IDQxMSBDb250ZW50LUxlbmd0aCBlcnJvciBub3cgc2VudCBieSBOZXhtbyBBUElcbiAgICAgIC8vIFBMIDIwMTYtU2VwdC02IC0gY29tbWVudGVkIG91dCBDb250ZW50LUxlbmd0aCAwXG4gICAgICAvLyBoZWFkZXJzWydDb250ZW50LUxlbmd0aCddID0gMDtcbiAgICB9XG4gICAgdmFyIG9wdGlvbnMgPSB7XG4gICAgICBob3N0OiBlbmRwb2ludC5ob3N0ID8gZW5kcG9pbnQuaG9zdCA6IHRoaXMuaG9zdCxcbiAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgIHBhdGg6IGVuZHBvaW50LnBhdGgsXG4gICAgICBtZXRob2Q6IGVuZHBvaW50Lm1ldGhvZCxcbiAgICAgIGhlYWRlcnM6IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuaGVhZGVycylcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMudGltZW91dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcHRpb25zLnRpbWVvdXQgPSB0aGlzLnRpbWVvdXQ7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZXhpc3RpbmcgaGVhZGVycyB0byBiZSBvdmVycmlkZGVuXG4gICAgLy8gQWxsb3cgbmV3IGhlYWRlcnMgdG8gYmUgYWRkZWRcbiAgICBpZiAoZW5kcG9pbnQuaGVhZGVycykge1xuICAgICAgT2JqZWN0LmtleXMoZW5kcG9pbnQuaGVhZGVycykuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgb3B0aW9ucy5oZWFkZXJzW2tleV0gPSBlbmRwb2ludC5oZWFkZXJzW2tleV07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmxvZ2dlci5pbmZvKFwiUmVxdWVzdDpcIiwgb3B0aW9ucywgXCJcXG5Cb2R5OlwiLCBlbmRwb2ludC5ib2R5KTtcbiAgICB2YXIgcmVxdWVzdDtcblxuICAgIGlmIChvcHRpb25zLnBvcnQgPT09IDQ0Mykge1xuICAgICAgcmVxdWVzdCA9IHRoaXMuaHR0cHMucmVxdWVzdChvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVxdWVzdCA9IHRoaXMuaHR0cC5yZXF1ZXN0KG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJlcXVlc3QuZW5kKGVuZHBvaW50LmJvZHkpO1xuXG4gICAgLy8gS2VlcCBhbiBhcnJheSBvZiBTdHJpbmcgb3IgQnVmZmVycyxcbiAgICAvLyBkZXBlbmRpbmcgb24gY29udGVudCB0eXBlIChiaW5hcnkgb3IgSlNPTikgb2YgcmVzcG9uc2VcbiAgICB2YXIgcmVzcG9uc2VEYXRhID0gW107XG5cbiAgICByZXF1ZXN0Lm9uKFwicmVzcG9uc2VcIiwgcmVzcG9uc2UgPT4ge1xuICAgICAgdmFyIGlzQmluYXJ5ID1cbiAgICAgICAgcmVzcG9uc2UuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSA9PT0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIjtcbiAgICAgIGlmICghaXNCaW5hcnkpIHtcbiAgICAgICAgcmVzcG9uc2Uuc2V0RW5jb2RpbmcoXCJ1dGY4XCIpO1xuICAgICAgfVxuXG4gICAgICByZXNwb25zZS5vbihcImRhdGFcIiwgY2h1bmsgPT4ge1xuICAgICAgICByZXNwb25zZURhdGEucHVzaChjaHVuayk7XG4gICAgICB9KTtcblxuICAgICAgcmVzcG9uc2Uub24oXCJlbmRcIiwgKCkgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFwicmVzcG9uc2UgZW5kZWQ6XCIsIHJlc3BvbnNlLnN0YXR1c0NvZGUpO1xuICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICBpZiAoaXNCaW5hcnkpIHtcbiAgICAgICAgICAgIHJlc3BvbnNlRGF0YSA9IEJ1ZmZlci5jb25jYXQocmVzcG9uc2VEYXRhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLl9fcGFyc2VSZXNwb25zZShcbiAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgcmVzcG9uc2VEYXRhLFxuICAgICAgICAgICAgZW5kcG9pbnQubWV0aG9kLFxuICAgICAgICAgICAgY2FsbGJhY2ssXG4gICAgICAgICAgICBza2lwSnNvblBhcnNpbmdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJlc3BvbnNlLm9uKFwiY2xvc2VcIiwgZSA9PiB7XG4gICAgICAgIGlmIChlKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgICBcInByb2JsZW0gd2l0aCBBUEkgcmVxdWVzdCBkZXRhaWxlZCBzdGFja3RyYWNlIGJlbG93IFwiXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihlKTtcbiAgICAgICAgICBjYWxsYmFjayhlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmVxdWVzdC5vbihcImVycm9yXCIsIGUgPT4ge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJwcm9ibGVtIHdpdGggQVBJIHJlcXVlc3QgZGV0YWlsZWQgc3RhY2t0cmFjZSBiZWxvdyBcIik7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihlKTtcbiAgICAgIGNhbGxiYWNrKGUpO1xuICAgIH0pO1xuICB9XG5cbiAgX19wYXJzZVJlc3BvbnNlKGh0dHBSZXNwb25zZSwgZGF0YSwgbWV0aG9kLCBjYWxsYmFjaywgc2tpcEpzb25QYXJzaW5nKSB7XG4gICAgY29uc3QgaXNBcnJheU9yQnVmZmVyID0gZGF0YSBpbnN0YW5jZW9mIEFycmF5IHx8IGRhdGEgaW5zdGFuY2VvZiBCdWZmZXI7XG4gICAgaWYgKCFpc0FycmF5T3JCdWZmZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImRhdGEgc2hvdWxkIGJlIG9mIHR5cGUgQXJyYXkgb3IgQnVmZmVyXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXR1cyA9IGh0dHBSZXNwb25zZS5zdGF0dXNDb2RlO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBodHRwUmVzcG9uc2UuaGVhZGVycztcblxuICAgIGxldCByZXNwb25zZSA9IG51bGw7XG4gICAgdmFyIGVycm9yID0gbnVsbDtcblxuICAgIHRyeSB7XG4gICAgICBpZiAoc3RhdHVzID49IDUwMCkge1xuICAgICAgICBlcnJvciA9IHsgbWVzc2FnZTogXCJTZXJ2ZXIgRXJyb3JcIiwgc3RhdHVzQ29kZTogc3RhdHVzIH07XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBodHRwUmVzcG9uc2UuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSA9PT0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIlxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlID0gZGF0YTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSA0MjkpIHtcbiAgICAgICAgLy8gNDI5IGRvZXMgbm90IHJldHVybiBhIHBhcnNhYmxlIGJvZHlcbiAgICAgICAgaWYgKCFoZWFkZXJzW1wicmV0cnktYWZ0ZXJcIl0pIHtcbiAgICAgICAgICAvLyByZXRyeSBiYXNlZCBvbiBhbGxvd2VkIHBlciBzZWNvbmRcbiAgICAgICAgICBjb25zdCByZXRyeUFmdGVyTWlsbGlzID0gbWV0aG9kID09PSBcIlBPU1RcIiA/IDEwMDAgLyAyIDogMTAwMCAvIDU7XG4gICAgICAgICAgaGVhZGVyc1tcInJldHJ5LWFmdGVyXCJdID0gcmV0cnlBZnRlck1pbGxpcztcbiAgICAgICAgfVxuICAgICAgICBlcnJvciA9IHsgYm9keTogZGF0YS5qb2luKFwiXCIpIH07XG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICAgIHJlc3BvbnNlID0gbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID49IDQwMCB8fCBzdGF0dXMgPCAyMDApIHtcbiAgICAgICAgZXJyb3IgPSB7IGJvZHk6IEpTT04ucGFyc2UoZGF0YS5qb2luKFwiXCIpKSwgaGVhZGVycyB9O1xuICAgICAgfSBlbHNlIGlmIChtZXRob2QgIT09IFwiREVMRVRFXCIpIHtcbiAgICAgICAgaWYgKCEhc2tpcEpzb25QYXJzaW5nKSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSBkYXRhLmpvaW4oXCJcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSBKU09OLnBhcnNlKGRhdGEuam9pbihcIlwiKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlID0gZGF0YTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChwYXJzZUVycm9yKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihwYXJzZUVycm9yKTtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICBcImNvdWxkIG5vdCBjb252ZXJ0IEFQSSByZXNwb25zZSB0byBKU09OLCBhYm92ZSBlcnJvciBpcyBpZ25vcmVkIGFuZCByYXcgQVBJIHJlc3BvbnNlIGlzIHJldHVybmVkIHRvIGNsaWVudFwiXG4gICAgICApO1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJSYXcgRXJyb3IgbWVzc2FnZSBmcm9tIEFQSSBcIik7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihgXCIke2RhdGF9XCJgKTtcblxuICAgICAgZXJyb3IgPSB7XG4gICAgICAgIHN0YXR1czogc3RhdHVzLFxuICAgICAgICBtZXNzYWdlOiBcIlRoZSBBUEkgcmVzcG9uc2UgY291bGQgbm90IGJlIHBhcnNlZC5cIixcbiAgICAgICAgYm9keTogZGF0YS5qb2luKFwiXCIpLFxuICAgICAgICBwYXJzZUVycm9yOiBwYXJzZUVycm9yXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChlcnJvcikge1xuICAgICAgZXJyb3Iuc3RhdHVzQ29kZSA9IHN0YXR1cztcbiAgICAgIGVycm9yLmhlYWRlcnMgPSBoZWFkZXJzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgY2FsbGJhY2soZXJyb3IsIHJlc3BvbnNlKTtcbiAgICB9XG4gIH1cblxuICBfYWRkTGltaXRlZEFjY2Vzc01lc3NhZ2VUb0Vycm9ycyhjYWxsYmFjaywgbGltaXRlZEFjY2Vzc1N0YXR1cykge1xuICAgIHJldHVybiBmdW5jdGlvbihlcnIsIGRhdGEpIHtcbiAgICAgIGlmIChlcnIgJiYgZXJyLnN0YXR1cyA9PSBsaW1pdGVkQWNjZXNzU3RhdHVzKSB7XG4gICAgICAgIGVyci5fSU5GT18gPVxuICAgICAgICAgIFwiVGhpcyBlbmRwb2ludCBtYXkgbmVlZCBhY3RpdmF0aW5nIG9uIHlvdXIgYWNjb3VudC4gUGxlYXNlIGVtYWlsIHN1cHBvcnRAbmV4bW8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uXCI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjYWxsYmFjayhlcnIsIGRhdGEpO1xuICAgIH07XG4gIH1cblxuICBnZXQocGF0aCwgcGFyYW1zLCBjYWxsYmFjaywgdXNlSnd0ID0gZmFsc2UsIHVzZUJhc2ljQXV0aCA9IGZhbHNlKSB7XG4gICAgaWYgKCFjYWxsYmFjaykge1xuICAgICAgaWYgKHR5cGVvZiBwYXJhbXMgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGNhbGxiYWNrID0gcGFyYW1zO1xuICAgICAgICBwYXJhbXMgPSB7fTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gICAgaWYgKCF1c2VKd3QgJiYgIXVzZUJhc2ljQXV0aCkge1xuICAgICAgcGFyYW1zW1wiYXBpX2tleVwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5O1xuICAgICAgcGFyYW1zW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0O1xuICAgIH1cblxuICAgIHBhdGggPSBwYXRoICsgXCI/XCIgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkocGFyYW1zKTtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH07XG4gICAgaWYgKHVzZUp3dCkge1xuICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7dGhpcy5jcmVkZW50aWFscy5nZW5lcmF0ZUp3dCgpfWA7XG4gICAgfVxuICAgIGlmICh1c2VCYXNpY0F1dGgpIHtcbiAgICAgIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdID0gYEJhc2ljICR7QnVmZmVyLmZyb20oXG4gICAgICAgIHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5ICsgXCI6XCIgKyB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldFxuICAgICAgKS50b1N0cmluZyhcImJhc2U2NFwiKX1gO1xuICAgIH1cblxuICAgIHRoaXMucmVxdWVzdCh7IHBhdGg6IHBhdGgsIGhlYWRlcnMgfSwgXCJHRVRcIiwgY2FsbGJhY2spO1xuICB9XG5cbiAgZGVsZXRlKHBhdGgsIGNhbGxiYWNrLCB1c2VKd3QsIHVzZUJhc2ljQXV0aCkge1xuICAgIGxldCBwYXJhbXMgPSB7fTtcbiAgICBpZiAoIXVzZUp3dCAmJiAhdXNlQmFzaWNBdXRoKSB7XG4gICAgICBwYXJhbXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBwYXJhbXNbXCJhcGlfc2VjcmV0XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXQ7XG4gICAgfVxuXG4gICAgbGV0IGhlYWRlcnMgPSB7fTtcblxuICAgIGlmICh1c2VCYXNpY0F1dGgpIHtcbiAgICAgIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdID0gYEJhc2ljICR7QnVmZmVyLmZyb20oXG4gICAgICAgIHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5ICsgXCI6XCIgKyB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldFxuICAgICAgKS50b1N0cmluZyhcImJhc2U2NFwiKX1gO1xuICAgIH1cbiAgICBwYXRoID0gcGF0aCArIFwiP1wiICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHBhcmFtcyk7XG5cbiAgICB0aGlzLnJlcXVlc3QoeyBwYXRoOiBwYXRoLCBoZWFkZXJzIH0sIFwiREVMRVRFXCIsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHBvc3RGaWxlKHBhdGgsIG9wdGlvbnMsIGNhbGxiYWNrLCB1c2VKd3QpIHtcbiAgICBsZXQgcXMgPSB7fTtcbiAgICBpZiAoIXVzZUp3dCkge1xuICAgICAgcXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBxc1tcImFwaV9zZWNyZXRcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldDtcbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMocXMpLmxlbmd0aCkge1xuICAgICAgbGV0IGpvaW5DaGFyID0gXCI/XCI7XG4gICAgICBpZiAocGF0aC5pbmRleE9mKGpvaW5DaGFyKSAhPT0gLTEpIHtcbiAgICAgICAgam9pbkNoYXIgPSBcIiZcIjtcbiAgICAgIH1cbiAgICAgIHBhdGggPSBwYXRoICsgam9pbkNoYXIgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkocXMpO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XG4gICAgZGVsZXRlIG9wdGlvbnMuZmlsZTsgLy8gV2UgZG9uJ3Qgc2VuZCB0aGlzIGFzIG1ldGFkYXRhXG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IHt9O1xuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGZvcm1EYXRhW1wiZmlsZWRhdGFcIl0gPSB7XG4gICAgICAgIHZhbHVlOiBmaWxlLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZmlsZW5hbWU6IG9wdGlvbnMuZmlsZW5hbWUgfHwgbnVsbFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmluZm8pIHtcbiAgICAgIGZvcm1EYXRhLmluZm8gPSBKU09OLnN0cmluZ2lmeShvcHRpb25zLmluZm8pO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnVybCkge1xuICAgICAgZm9ybURhdGEudXJsID0gb3B0aW9ucy51cmw7XG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0TGliLnBvc3QoXG4gICAgICB7XG4gICAgICAgIHVybDogXCJodHRwczovL1wiICsgdGhpcy5ob3N0ICsgcGF0aCxcbiAgICAgICAgZm9ybURhdGE6IGZvcm1EYXRhLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuY3JlZGVudGlhbHMuZ2VuZXJhdGVKd3QoKX1gXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjYWxsYmFja1xuICAgICk7XG4gIH1cblxuICBwb3N0KHBhdGgsIHBhcmFtcywgY2FsbGJhY2ssIHVzZUp3dCwgaGVhZGVycykge1xuICAgIGxldCBxcyA9IHt9O1xuICAgIGlmICghdXNlSnd0KSB7XG4gICAgICBxc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHFzW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0O1xuICAgIH1cblxuICAgIGxldCBqb2luQ2hhciA9IFwiP1wiO1xuICAgIGlmIChwYXRoLmluZGV4T2Yoam9pbkNoYXIpICE9PSAtMSkge1xuICAgICAgam9pbkNoYXIgPSBcIiZcIjtcbiAgICB9XG5cbiAgICBwYXRoID0gcGF0aCArIGpvaW5DaGFyICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHFzKTtcblxuICAgIGhlYWRlcnMgPSBoZWFkZXJzIHx8IHt9O1xuICAgIGlmICh1c2VKd3QpIHtcbiAgICAgIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdID0gYEJlYXJlciAke3RoaXMuY3JlZGVudGlhbHMuZ2VuZXJhdGVKd3QoKX1gO1xuICAgIH1cblxuICAgIGxldCBlbmNvZGVkUGFyYW1zO1xuICAgIGlmIChoZWFkZXJzW1wiQ29udGVudC1UeXBlXCJdID09IFwiYXBwbGljYXRpb24vanNvblwiKSB7XG4gICAgICBlbmNvZGVkUGFyYW1zID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZW5jb2RlZFBhcmFtcyA9IHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShwYXJhbXMpO1xuICAgIH1cblxuICAgIHRoaXMucmVxdWVzdCh7IHBhdGgsIGJvZHk6IGVuY29kZWRQYXJhbXMsIGhlYWRlcnMgfSwgXCJQT1NUXCIsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHBvc3RKc29uKHBhdGgsIHBhcmFtcywgY2FsbGJhY2ssIHVzZUp3dCwgdXNlQmFzaWNBdXRoKSB7XG4gICAgbGV0IHFzID0ge307XG4gICAgaWYgKCF1c2VKd3QgJiYgIXVzZUJhc2ljQXV0aCkge1xuICAgICAgcXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBxc1tcImFwaV9zZWNyZXRcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldDtcbiAgICB9XG5cbiAgICBsZXQgam9pbkNoYXIgPSBcIj9cIjtcbiAgICBpZiAocGF0aC5pbmRleE9mKGpvaW5DaGFyKSAhPT0gLTEpIHtcbiAgICAgIGpvaW5DaGFyID0gXCImXCI7XG4gICAgfVxuXG4gICAgcGF0aCA9IHBhdGggKyBqb2luQ2hhciArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShxcyk7XG5cbiAgICBsZXQgaGVhZGVycyA9IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfTtcbiAgICBpZiAodXNlQmFzaWNBdXRoKSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCYXNpYyAke0J1ZmZlci5mcm9tKFxuICAgICAgICB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleSArIFwiOlwiICsgdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXRcbiAgICAgICkudG9TdHJpbmcoXCJiYXNlNjRcIil9YDtcbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHBhcmFtcyksXG4gICAgICAgIGhlYWRlcnNcbiAgICAgIH0sXG4gICAgICBcIlBPU1RcIixcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RVc2VRdWVyeVN0cmluZyhwYXRoLCBwYXJhbXMsIGNhbGxiYWNrLCB1c2VKd3QpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gICAgaWYgKCF1c2VKd3QpIHtcbiAgICAgIHBhcmFtc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHBhcmFtc1tcImFwaV9zZWNyZXRcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldDtcbiAgICB9XG5cbiAgICBwYXRoID0gcGF0aCArIFwiP1wiICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHBhcmFtcyk7XG5cbiAgICB0aGlzLnJlcXVlc3QoeyBwYXRoOiBwYXRoIH0sIFwiUE9TVFwiLCBjYWxsYmFjayk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgSHR0cENsaWVudDtcbiJdfQ== |
@@ -57,2 +57,10 @@ "use strict"; | ||
var _Conversations = require("./Conversations"); | ||
var _Conversations2 = _interopRequireDefault(_Conversations); | ||
var _Users = require("./Users"); | ||
var _Users2 = _interopRequireDefault(_Users); | ||
var _FilesResource = require("./FilesResource"); | ||
@@ -74,2 +82,10 @@ | ||
var _Channel = require("./Channel"); | ||
var _Channel2 = _interopRequireDefault(_Channel); | ||
var _Dispatch = require("./Dispatch"); | ||
var _Dispatch2 = _interopRequireDefault(_Dispatch); | ||
var _HttpClient = require("./HttpClient"); | ||
@@ -148,2 +164,4 @@ | ||
this.calls = new _CallsResource2.default(this.credentials, this.options); | ||
this.conversations = new _Conversations2.default(this.credentials, this.options); | ||
this.users = new _Users2.default(this.credentials, this.options); | ||
this.files = new _FilesResource2.default(this.credentials, this.options); | ||
@@ -153,2 +171,4 @@ this.conversion = new _Conversion2.default(this.credentials, this.options); | ||
this.redact = new _Redact2.default(this.credentials, this.options); | ||
this.channel = new _Channel2.default(this.credentials, this.options); | ||
this.dispatch = new _Dispatch2.default(this.credentials, this.options); | ||
@@ -214,2 +234,2 @@ /** | ||
module.exports = exports["default"]; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9OZXhtby5qcyJdLCJuYW1lcyI6WyJqd3RHZW5lcmF0b3JJbnN0YW5jZSIsIk5leG1vIiwiY3JlZGVudGlhbHMiLCJvcHRpb25zIiwiZGVidWciLCJwYXJzZSIsImxvZ2dlciIsInVzZXJBZ2VudCIsInBhY2thZ2VEZXRhaWxzIiwicmVxdWlyZSIsImpvaW4iLCJfX2Rpcm5hbWUiLCJ2ZXJzaW9uIiwicHJvY2VzcyIsInJlcGxhY2UiLCJlIiwiY29uc29sZSIsIndhcm4iLCJhcHBlbmRUb1VzZXJBZ2VudCIsImh0dHBDbGllbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJob3N0IiwiYXBpIiwicmVzdCIsIm1lc3NhZ2UiLCJ2b2ljZSIsIm51bWJlciIsInZlcmlmeSIsIm51bWJlckluc2lnaHQiLCJhcHBsaWNhdGlvbnMiLCJhY2NvdW50IiwiY2FsbHMiLCJmaWxlcyIsImNvbnZlcnNpb24iLCJtZWRpYSIsInJlZGFjdCIsImFwcCIsImNsYWltcyIsImFwcGxpY2F0aW9uX2lkIiwidW5kZWZpbmVkIiwiYXBwbGljYXRpb25JZCIsImdlbmVyYXRlSnd0IiwicHJpdmF0ZUtleSIsIkJ1ZmZlciIsImV4aXN0c1N5bmMiLCJFcnJvciIsInJlYWRGaWxlU3luYyIsImdlbmVyYXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLHVCQUF1Qiw0QkFBN0I7O0lBRU1DLEs7QUFDSjs7Ozs7Ozs7OztBQVVBLGlCQUFZQyxXQUFaLEVBQXFEO0FBQUEsUUFBNUJDLE9BQTRCLHVFQUFsQixFQUFFQyxPQUFPLEtBQVQsRUFBa0I7O0FBQUE7O0FBQ25ELFNBQUtGLFdBQUwsR0FB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QWI7QUFDQSxTQUFLaUMsTUFBTCxHQUFjLHFCQUFXLEtBQUtsQyxXQUFoQixFQUE2QixLQUFLQyxPQUFsQyxDQUFkOztBQUVBOzs7QUFHQSxTQUFLa0MsR0FBTCxHQUFXLEtBQUtQLFlBQWhCO0FBQ0Q7O0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBWXlCO0FBQUEsVUFBYlEsTUFBYSx1RUFBSixFQUFJOztBQUN2QixVQUFJQSxPQUFPQyxjQUFQLEtBQTBCQyxTQUE5QixFQUF5QztBQUN2Q0YsZUFBT0MsY0FBUCxHQUF3QixLQUFLckMsV0FBTCxDQUFpQnVDLGFBQXpDO0FBQ0Q7QUFDRCxhQUFPeEMsTUFBTXlDLFdBQU4sQ0FBa0IsS0FBS3hDLFdBQUwsQ0FBaUJ5QyxVQUFuQyxFQUErQ0wsTUFBL0MsQ0FBUDtBQUNEOzs7Ozs7QUFHSDs7Ozs7Ozs7Ozs7QUFTQXJDLE1BQU15QyxXQUFOLEdBQW9CLFVBQUNDLFVBQUQsRUFBYUwsTUFBYixFQUF3QjtBQUMxQyxNQUFJLEVBQUVLLHNCQUFzQkMsTUFBeEIsQ0FBSixFQUFxQztBQUNuQyxRQUFJLENBQUMsYUFBR0MsVUFBSCxDQUFjRixVQUFkLENBQUwsRUFBZ0M7QUFDOUIsWUFBTSxJQUFJRyxLQUFKLGFBQW1CSCxVQUFuQixtQkFBTjtBQUNELEtBRkQsTUFFTztBQUNMQSxtQkFBYSxhQUFHSSxZQUFILENBQWdCSixVQUFoQixDQUFiO0FBQ0Q7QUFDRjtBQUNELFNBQU8zQyxxQkFBcUJnRCxRQUFyQixDQUE4QkwsVUFBOUIsRUFBMENMLE1BQTFDLENBQVA7QUFDRCxDQVREOztrQkFXZXJDLEsiLCJmaWxlIjoiTmV4bW8uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgQ3JlZGVudGlhbHMgZnJvbSBcIi4vQ3JlZGVudGlhbHNcIjtcbmltcG9ydCBKd3RHZW5lcmF0b3IgZnJvbSBcIi4vSnd0R2VuZXJhdG9yXCI7XG5pbXBvcnQgTWVzc2FnZSBmcm9tIFwiLi9NZXNzYWdlXCI7XG5pbXBvcnQgVm9pY2UgZnJvbSBcIi4vVm9pY2VcIjtcbmltcG9ydCBOdW1iZXIgZnJvbSBcIi4vTnVtYmVyXCI7XG5pbXBvcnQgVmVyaWZ5IGZyb20gXCIuL1ZlcmlmeVwiO1xuaW1wb3J0IE51bWJlckluc2lnaHQgZnJvbSBcIi4vTnVtYmVySW5zaWdodFwiO1xuaW1wb3J0IEFwcCBmcm9tIFwiLi9BcHBcIjtcbmltcG9ydCBBY2NvdW50IGZyb20gXCIuL0FjY291bnRcIjtcbmltcG9ydCBDYWxsc1Jlc291cmNlIGZyb20gXCIuL0NhbGxzUmVzb3VyY2VcIjtcbmltcG9ydCBGaWxlc1Jlc291cmNlIGZyb20gXCIuL0ZpbGVzUmVzb3VyY2VcIjtcbmltcG9ydCBDb252ZXJzaW9uIGZyb20gXCIuL0NvbnZlcnNpb25cIjtcbmltcG9ydCBNZWRpYSBmcm9tIFwiLi9NZWRpYVwiO1xuaW1wb3J0IFJlZGFjdCBmcm9tIFwiLi9SZWRhY3RcIjtcbmltcG9ydCBIdHRwQ2xpZW50IGZyb20gXCIuL0h0dHBDbGllbnRcIjtcbmltcG9ydCBOdWxsTG9nZ2VyIGZyb20gXCIuL051bGxMb2dnZXJcIjtcbmltcG9ydCBDb25zb2xlTG9nZ2VyIGZyb20gXCIuL0NvbnNvbGVMb2dnZXJcIjtcblxuY29uc3Qgand0R2VuZXJhdG9ySW5zdGFuY2UgPSBuZXcgSnd0R2VuZXJhdG9yKCk7XG5cbmNsYXNzIE5leG1vIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7Q3JlZGVudGlhbHN9IGNyZWRlbnRpYWxzIC0gTmV4bW8gQVBJIGNyZWRlbnRpYWxzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjcmVkZW50aWFscy5hcGlLZXkgLSB0aGUgTmV4bW8gQVBJIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3JlZGVudGlhbHMuYXBpU2VjcmV0IC0gdGhlIE5leG1vIEFQSSBzZWNyZXRcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmRlYnVnIC0gYHRydWVgIHRvIHR1cm4gb24gZGVidWcgbG9nZ2luZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5sb2dnZXIgLSBTZXQgYSBjdXN0b20gbG9nZ2VyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5hcHBlbmRUb1VzZXJBZ2VudCAtIEEgdmFsdWUgdG8gYXBwZW5kIHRvIHRoZSB1c2VyIGFnZW50LlxuICAgKiAgICAgICAgICAgICAgICAgICAgVGhlIHZhbHVlIHdpbGwgYmUgcHJlZml4ZWQgd2l0aCBhIGAvYFxuICAgKi9cbiAgY29uc3RydWN0b3IoY3JlZGVudGlhbHMsIG9wdGlvbnMgPSB7IGRlYnVnOiBmYWxzZSB9KSB7XG4gICAgdGhpcy5jcmVkZW50aWFscyA9IENyZWRlbnRpYWxzLnBhcnNlKGNyZWRlbnRpYWxzKTtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgLy8gSWYgbm8gbG9nZ2VyIGhhcyBiZWVuIHN1cHBsaWVkIGJ1dCBkZWJ1ZyBoYXMgYmVlbiBzZXRcbiAgICAvLyBkZWZhdWx0IHRvIHVzaW5nIHRoZSBDb25zb2xlTG9nZ2VyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMubG9nZ2VyICYmIHRoaXMub3B0aW9ucy5kZWJ1Zykge1xuICAgICAgdGhpcy5vcHRpb25zLmxvZ2dlciA9IG5ldyBDb25zb2xlTG9nZ2VyKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5vcHRpb25zLmxvZ2dlcikge1xuICAgICAgLy8gU3dhbGxvdyB0aGUgbG9nZ2luZ1xuICAgICAgdGhpcy5vcHRpb25zLmxvZ2dlciA9IG5ldyBOdWxsTG9nZ2VyKCk7XG4gICAgfVxuXG4gICAgbGV0IHVzZXJBZ2VudCA9IFwibmV4bW8tbm9kZS9VTktOT1dOIG5vZGUvVU5LTk9XTlwiO1xuICAgIHRyeSB7XG4gICAgICB2YXIgcGFja2FnZURldGFpbHMgPSByZXF1aXJlKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCJwYWNrYWdlLmpzb25cIikpO1xuICAgICAgdXNlckFnZW50ID0gYG5leG1vLW5vZGUvJHtcbiAgICAgICAgcGFja2FnZURldGFpbHMudmVyc2lvblxuICAgICAgfSBub2RlLyR7cHJvY2Vzcy52ZXJzaW9uLnJlcGxhY2UoXCJ2XCIsIFwiXCIpfWA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKFwiQ291bGQgbm90IGxvYWQgcGFja2FnZSBkZXRhaWxzXCIpO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMudXNlckFnZW50ID0gdXNlckFnZW50O1xuICAgIGlmICh0aGlzLm9wdGlvbnMuYXBwZW5kVG9Vc2VyQWdlbnQpIHtcbiAgICAgIHRoaXMub3B0aW9ucy51c2VyQWdlbnQgKz0gYCAke3RoaXMub3B0aW9ucy5hcHBlbmRUb1VzZXJBZ2VudH1gO1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgbGVnYWN5LCBldmVyeXRoaW5nIHNob3VsZCB1c2UgcmVzdCBvciBhcGkgZ29pbmcgZm9yd2FyZFxuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50ID0gbmV3IEh0dHBDbGllbnQoXG4gICAgICBPYmplY3QuYXNzaWduKHsgaG9zdDogXCJyZXN0Lm5leG1vLmNvbVwiIH0sIHRoaXMub3B0aW9ucyksXG4gICAgICB0aGlzLmNyZWRlbnRpYWxzXG4gICAgKTtcblxuICAgIC8vIFdlIGhhdmUgdHdvIGRpZmZlcmVudCBob3N0cywgc28gd2UgdXNlIHR3byBkaWZmZXJlbnQgSHR0cENsaWVudHNcbiAgICB0aGlzLm9wdGlvbnMuYXBpID0gbmV3IEh0dHBDbGllbnQoXG4gICAgICBPYmplY3QuYXNzaWduKHsgaG9zdDogXCJhcGkubmV4bW8uY29tXCIgfSwgdGhpcy5vcHRpb25zKSxcbiAgICAgIHRoaXMuY3JlZGVudGlhbHNcbiAgICApO1xuICAgIHRoaXMub3B0aW9ucy5yZXN0ID0gbmV3IEh0dHBDbGllbnQoXG4gICAgICBPYmplY3QuYXNzaWduKHsgaG9zdDogXCJyZXN0Lm5leG1vLmNvbVwiIH0sIHRoaXMub3B0aW9ucyksXG4gICAgICB0aGlzLmNyZWRlbnRpYWxzXG4gICAgKTtcblxuICAgIHRoaXMubWVzc2FnZSA9IG5ldyBNZXNzYWdlKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy52b2ljZSA9IG5ldyBWb2ljZSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMubnVtYmVyID0gbmV3IE51bWJlcih0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMudmVyaWZ5ID0gbmV3IFZlcmlmeSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMubnVtYmVySW5zaWdodCA9IG5ldyBOdW1iZXJJbnNpZ2h0KHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5hcHBsaWNhdGlvbnMgPSBuZXcgQXBwKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5hY2NvdW50ID0gbmV3IEFjY291bnQodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmNhbGxzID0gbmV3IENhbGxzUmVzb3VyY2UodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmZpbGVzID0gbmV3IEZpbGVzUmVzb3VyY2UodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmNvbnZlcnNpb24gPSBuZXcgQ29udmVyc2lvbih0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMubWVkaWEgPSBuZXcgTWVkaWEodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnJlZGFjdCA9IG5ldyBSZWRhY3QodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgbmV4bW8uYXBwbGljYXRpb25zXG4gICAgICovXG4gICAgdGhpcy5hcHAgPSB0aGlzLmFwcGxpY2F0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIEpTT04gV2ViIFRva2VuIChKV1QpLlxuICAgKlxuICAgKiBUaGUgcHJpdmF0ZSBrZXkgdXNlZCB1cG9uIE5leG1vIGluc3RhbmNlIGNvbnN0cnVjdGlvbiB3aWxsIGJlIHVzZWQgdG8gc2lnblxuICAgKiB0aGUgSldULiBUaGUgYXBwbGljYXRpb25faWQgeW91IHVzZWQgdXBvbiBOZXhtbyBpbnN0YW5jZSBjcmVhdGlvbiB3aWxsIGJlXG4gICAqIGluY2x1ZGVkIGluIHRoZSBjbGFpbXMgZm9yIHRoZSBKV1QsIGhvd2V2ZXIgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiBieSBwYXNzaW5nXG4gICAqIGFuIGFwcGxpY2F0aW9uX2lkIGFzIHBhcnQgb2YgdGhlIGNsYWltcy5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IGNsYWltcyAtIG5hbWUvdmFsdWUgcGFpciBjbGFpbXMgdG8gc2lnbiB3aXRoaW4gdGhlIEpXVFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgZ2VuZXJhdGVkIHRva2VuXG4gICAqL1xuICBnZW5lcmF0ZUp3dChjbGFpbXMgPSB7fSkge1xuICAgIGlmIChjbGFpbXMuYXBwbGljYXRpb25faWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xhaW1zLmFwcGxpY2F0aW9uX2lkID0gdGhpcy5jcmVkZW50aWFscy5hcHBsaWNhdGlvbklkO1xuICAgIH1cbiAgICByZXR1cm4gTmV4bW8uZ2VuZXJhdGVKd3QodGhpcy5jcmVkZW50aWFscy5wcml2YXRlS2V5LCBjbGFpbXMpO1xuICB9XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBKU09OIFdlYiBUb2tlbiAoSldUKS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xCdWZmZXJ9IHByaXZhdGVLZXkgLSB0aGUgcGF0aCB0byB0aGUgcHJpdmF0ZSBrZXkgY2VydGlmaWNhdGVcbiAqICAgICAgICAgIHRvIGJlIHVzZWQgd2hlbiBzaWduaW5nIHRoZSBjbGFpbXMuXG4gKiBAcGFyYW0ge09iamVjdH0gY2xhaW1zIC0gbmFtZS92YWx1ZSBwYWlyIGNsYWltcyB0byBzaWduIHdpdGhpbiB0aGUgSldUXG4gKlxuICogQHJldHVybnMge1N0cmluZ30gdGhlIGdlbmVyYXRlZCB0b2tlblxuICovXG5OZXhtby5nZW5lcmF0ZUp3dCA9IChwcml2YXRlS2V5LCBjbGFpbXMpID0+IHtcbiAgaWYgKCEocHJpdmF0ZUtleSBpbnN0YW5jZW9mIEJ1ZmZlcikpIHtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMocHJpdmF0ZUtleSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSBcIiR7cHJpdmF0ZUtleX1cIiBub3QgZm91bmQuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByaXZhdGVLZXkgPSBmcy5yZWFkRmlsZVN5bmMocHJpdmF0ZUtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBqd3RHZW5lcmF0b3JJbnN0YW5jZS5nZW5lcmF0ZShwcml2YXRlS2V5LCBjbGFpbXMpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmV4bW87XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9OZXhtby5qcyJdLCJuYW1lcyI6WyJqd3RHZW5lcmF0b3JJbnN0YW5jZSIsIk5leG1vIiwiY3JlZGVudGlhbHMiLCJvcHRpb25zIiwiZGVidWciLCJwYXJzZSIsImxvZ2dlciIsInVzZXJBZ2VudCIsInBhY2thZ2VEZXRhaWxzIiwicmVxdWlyZSIsImpvaW4iLCJfX2Rpcm5hbWUiLCJ2ZXJzaW9uIiwicHJvY2VzcyIsInJlcGxhY2UiLCJlIiwiY29uc29sZSIsIndhcm4iLCJhcHBlbmRUb1VzZXJBZ2VudCIsImh0dHBDbGllbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJob3N0IiwiYXBpIiwicmVzdCIsIm1lc3NhZ2UiLCJ2b2ljZSIsIm51bWJlciIsInZlcmlmeSIsIm51bWJlckluc2lnaHQiLCJhcHBsaWNhdGlvbnMiLCJhY2NvdW50IiwiY2FsbHMiLCJjb252ZXJzYXRpb25zIiwidXNlcnMiLCJmaWxlcyIsImNvbnZlcnNpb24iLCJtZWRpYSIsInJlZGFjdCIsImNoYW5uZWwiLCJkaXNwYXRjaCIsImFwcCIsImNsYWltcyIsImFwcGxpY2F0aW9uX2lkIiwidW5kZWZpbmVkIiwiYXBwbGljYXRpb25JZCIsImdlbmVyYXRlSnd0IiwicHJpdmF0ZUtleSIsIkJ1ZmZlciIsImV4aXN0c1N5bmMiLCJFcnJvciIsInJlYWRGaWxlU3luYyIsImdlbmVyYXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7O0FBRUEsSUFBTUEsdUJBQXVCLDRCQUE3Qjs7SUFFTUMsSztBQUNKOzs7Ozs7Ozs7O0FBVUEsaUJBQVlDLFdBQVosRUFB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RU87QUFDTEEsbUJBQWEsYUFBR0ksWUFBSCxDQUFnQkosVUFBaEIsQ0FBYjtBQUNEO0FBQ0Y7QUFDRCxTQUFPL0MscUJBQXFCb0QsUUFBckIsQ0FBOEJMLFVBQTlCLEVBQTBDTCxNQUExQyxDQUFQO0FBQ0QsQ0FURDs7a0JBV2V6QyxLIiwiZmlsZSI6Ik5leG1vLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IENyZWRlbnRpYWxzIGZyb20gXCIuL0NyZWRlbnRpYWxzXCI7XG5pbXBvcnQgSnd0R2VuZXJhdG9yIGZyb20gXCIuL0p3dEdlbmVyYXRvclwiO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSBcIi4vTWVzc2FnZVwiO1xuaW1wb3J0IFZvaWNlIGZyb20gXCIuL1ZvaWNlXCI7XG5pbXBvcnQgTnVtYmVyIGZyb20gXCIuL051bWJlclwiO1xuaW1wb3J0IFZlcmlmeSBmcm9tIFwiLi9WZXJpZnlcIjtcbmltcG9ydCBOdW1iZXJJbnNpZ2h0IGZyb20gXCIuL051bWJlckluc2lnaHRcIjtcbmltcG9ydCBBcHAgZnJvbSBcIi4vQXBwXCI7XG5pbXBvcnQgQWNjb3VudCBmcm9tIFwiLi9BY2NvdW50XCI7XG5pbXBvcnQgQ2FsbHNSZXNvdXJjZSBmcm9tIFwiLi9DYWxsc1Jlc291cmNlXCI7XG5pbXBvcnQgQ29udmVyc2F0aW9ucyBmcm9tIFwiLi9Db252ZXJzYXRpb25zXCI7XG5pbXBvcnQgVXNlcnMgZnJvbSBcIi4vVXNlcnNcIjtcbmltcG9ydCBGaWxlc1Jlc291cmNlIGZyb20gXCIuL0ZpbGVzUmVzb3VyY2VcIjtcbmltcG9ydCBDb252ZXJzaW9uIGZyb20gXCIuL0NvbnZlcnNpb25cIjtcbmltcG9ydCBNZWRpYSBmcm9tIFwiLi9NZWRpYVwiO1xuaW1wb3J0IFJlZGFjdCBmcm9tIFwiLi9SZWRhY3RcIjtcbmltcG9ydCBDaGFubmVsIGZyb20gXCIuL0NoYW5uZWxcIjtcbmltcG9ydCBEaXNwYXRjaCBmcm9tIFwiLi9EaXNwYXRjaFwiO1xuaW1wb3J0IEh0dHBDbGllbnQgZnJvbSBcIi4vSHR0cENsaWVudFwiO1xuaW1wb3J0IE51bGxMb2dnZXIgZnJvbSBcIi4vTnVsbExvZ2dlclwiO1xuaW1wb3J0IENvbnNvbGVMb2dnZXIgZnJvbSBcIi4vQ29uc29sZUxvZ2dlclwiO1xuXG5jb25zdCBqd3RHZW5lcmF0b3JJbnN0YW5jZSA9IG5ldyBKd3RHZW5lcmF0b3IoKTtcblxuY2xhc3MgTmV4bW8ge1xuICAvKipcbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gY3JlZGVudGlhbHMgLSBOZXhtbyBBUEkgY3JlZGVudGlhbHNcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNyZWRlbnRpYWxzLmFwaUtleSAtIHRoZSBOZXhtbyBBUEkga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjcmVkZW50aWFscy5hcGlTZWNyZXQgLSB0aGUgTmV4bW8gQVBJIHNlY3JldFxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9uc1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuZGVidWcgLSBgdHJ1ZWAgdG8gdHVybiBvbiBkZWJ1ZyBsb2dnaW5nXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLmxvZ2dlciAtIFNldCBhIGN1c3RvbSBsb2dnZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmFwcGVuZFRvVXNlckFnZW50IC0gQSB2YWx1ZSB0byBhcHBlbmQgdG8gdGhlIHVzZXIgYWdlbnQuXG4gICAqICAgICAgICAgICAgICAgICAgICBUaGUgdmFsdWUgd2lsbCBiZSBwcmVmaXhlZCB3aXRoIGEgYC9gXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjcmVkZW50aWFscywgb3B0aW9ucyA9IHsgZGVidWc6IGZhbHNlIH0pIHtcbiAgICB0aGlzLmNyZWRlbnRpYWxzID0gQ3JlZGVudGlhbHMucGFyc2UoY3JlZGVudGlhbHMpO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAvLyBJZiBubyBsb2dnZXIgaGFzIGJlZW4gc3VwcGxpZWQgYnV0IGRlYnVnIGhhcyBiZWVuIHNldFxuICAgIC8vIGRlZmF1bHQgdG8gdXNpbmcgdGhlIENvbnNvbGVMb2dnZXJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5sb2dnZXIgJiYgdGhpcy5vcHRpb25zLmRlYnVnKSB7XG4gICAgICB0aGlzLm9wdGlvbnMubG9nZ2VyID0gbmV3IENvbnNvbGVMb2dnZXIoKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLm9wdGlvbnMubG9nZ2VyKSB7XG4gICAgICAvLyBTd2FsbG93IHRoZSBsb2dnaW5nXG4gICAgICB0aGlzLm9wdGlvbnMubG9nZ2VyID0gbmV3IE51bGxMb2dnZXIoKTtcbiAgICB9XG5cbiAgICBsZXQgdXNlckFnZW50ID0gXCJuZXhtby1ub2RlL1VOS05PV04gbm9kZS9VTktOT1dOXCI7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBwYWNrYWdlRGV0YWlscyA9IHJlcXVpcmUocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcInBhY2thZ2UuanNvblwiKSk7XG4gICAgICB1c2VyQWdlbnQgPSBgbmV4bW8tbm9kZS8ke1xuICAgICAgICBwYWNrYWdlRGV0YWlscy52ZXJzaW9uXG4gICAgICB9IG5vZGUvJHtwcm9jZXNzLnZlcnNpb24ucmVwbGFjZShcInZcIiwgXCJcIil9YDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJDb3VsZCBub3QgbG9hZCBwYWNrYWdlIGRldGFpbHNcIik7XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy51c2VyQWdlbnQgPSB1c2VyQWdlbnQ7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5hcHBlbmRUb1VzZXJBZ2VudCkge1xuICAgICAgdGhpcy5vcHRpb25zLnVzZXJBZ2VudCArPSBgICR7dGhpcy5vcHRpb25zLmFwcGVuZFRvVXNlckFnZW50fWA7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBpcyBsZWdhY3ksIGV2ZXJ5dGhpbmcgc2hvdWxkIHVzZSByZXN0IG9yIGFwaSBnb2luZyBmb3J3YXJkXG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChcbiAgICAgIE9iamVjdC5hc3NpZ24oeyBob3N0OiBcInJlc3QubmV4bW8uY29tXCIgfSwgdGhpcy5vcHRpb25zKSxcbiAgICAgIHRoaXMuY3JlZGVudGlhbHNcbiAgICApO1xuXG4gICAgLy8gV2UgaGF2ZSB0d28gZGlmZmVyZW50IGhvc3RzLCBzbyB3ZSB1c2UgdHdvIGRpZmZlcmVudCBIdHRwQ2xpZW50c1xuICAgIHRoaXMub3B0aW9ucy5hcGkgPSBuZXcgSHR0cENsaWVudChcbiAgICAgIE9iamVjdC5hc3NpZ24oeyBob3N0OiBcImFwaS5uZXhtby5jb21cIiB9LCB0aGlzLm9wdGlvbnMpLFxuICAgICAgdGhpcy5jcmVkZW50aWFsc1xuICAgICk7XG4gICAgdGhpcy5vcHRpb25zLnJlc3QgPSBuZXcgSHR0cENsaWVudChcbiAgICAgIE9iamVjdC5hc3NpZ24oeyBob3N0OiBcInJlc3QubmV4bW8uY29tXCIgfSwgdGhpcy5vcHRpb25zKSxcbiAgICAgIHRoaXMuY3JlZGVudGlhbHNcbiAgICApO1xuXG4gICAgdGhpcy5tZXNzYWdlID0gbmV3IE1lc3NhZ2UodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnZvaWNlID0gbmV3IFZvaWNlKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5udW1iZXIgPSBuZXcgTnVtYmVyKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy52ZXJpZnkgPSBuZXcgVmVyaWZ5KHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5udW1iZXJJbnNpZ2h0ID0gbmV3IE51bWJlckluc2lnaHQodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmFwcGxpY2F0aW9ucyA9IG5ldyBBcHAodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuY2FsbHMgPSBuZXcgQ2FsbHNSZXNvdXJjZSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuY29udmVyc2F0aW9ucyA9IG5ldyBDb252ZXJzYXRpb25zKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy51c2VycyA9IG5ldyBVc2Vycyh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuZmlsZXMgPSBuZXcgRmlsZXNSZXNvdXJjZSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuY29udmVyc2lvbiA9IG5ldyBDb252ZXJzaW9uKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5tZWRpYSA9IG5ldyBNZWRpYSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMucmVkYWN0ID0gbmV3IFJlZGFjdCh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuY2hhbm5lbCA9IG5ldyBDaGFubmVsKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5kaXNwYXRjaCA9IG5ldyBEaXNwYXRjaCh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBuZXhtby5hcHBsaWNhdGlvbnNcbiAgICAgKi9cbiAgICB0aGlzLmFwcCA9IHRoaXMuYXBwbGljYXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgSlNPTiBXZWIgVG9rZW4gKEpXVCkuXG4gICAqXG4gICAqIFRoZSBwcml2YXRlIGtleSB1c2VkIHVwb24gTmV4bW8gaW5zdGFuY2UgY29uc3RydWN0aW9uIHdpbGwgYmUgdXNlZCB0byBzaWduXG4gICAqIHRoZSBKV1QuIFRoZSBhcHBsaWNhdGlvbl9pZCB5b3UgdXNlZCB1cG9uIE5leG1vIGluc3RhbmNlIGNyZWF0aW9uIHdpbGwgYmVcbiAgICogaW5jbHVkZWQgaW4gdGhlIGNsYWltcyBmb3IgdGhlIEpXVCwgaG93ZXZlciB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHBhc3NpbmdcbiAgICogYW4gYXBwbGljYXRpb25faWQgYXMgcGFydCBvZiB0aGUgY2xhaW1zLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gY2xhaW1zIC0gbmFtZS92YWx1ZSBwYWlyIGNsYWltcyB0byBzaWduIHdpdGhpbiB0aGUgSldUXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSBnZW5lcmF0ZWQgdG9rZW5cbiAgICovXG4gIGdlbmVyYXRlSnd0KGNsYWltcyA9IHt9KSB7XG4gICAgaWYgKGNsYWltcy5hcHBsaWNhdGlvbl9pZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGFpbXMuYXBwbGljYXRpb25faWQgPSB0aGlzLmNyZWRlbnRpYWxzLmFwcGxpY2F0aW9uSWQ7XG4gICAgfVxuICAgIHJldHVybiBOZXhtby5nZW5lcmF0ZUp3dCh0aGlzLmNyZWRlbnRpYWxzLnByaXZhdGVLZXksIGNsYWltcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIEpTT04gV2ViIFRva2VuIChKV1QpLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfEJ1ZmZlcn0gcHJpdmF0ZUtleSAtIHRoZSBwYXRoIHRvIHRoZSBwcml2YXRlIGtleSBjZXJ0aWZpY2F0ZVxuICogICAgICAgICAgdG8gYmUgdXNlZCB3aGVuIHNpZ25pbmcgdGhlIGNsYWltcy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBjbGFpbXMgLSBuYW1lL3ZhbHVlIHBhaXIgY2xhaW1zIHRvIHNpZ24gd2l0aGluIHRoZSBKV1RcbiAqXG4gKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgZ2VuZXJhdGVkIHRva2VuXG4gKi9cbk5leG1vLmdlbmVyYXRlSnd0ID0gKHByaXZhdGVLZXksIGNsYWltcykgPT4ge1xuICBpZiAoIShwcml2YXRlS2V5IGluc3RhbmNlb2YgQnVmZmVyKSkge1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhwcml2YXRlS2V5KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWxlIFwiJHtwcml2YXRlS2V5fVwiIG5vdCBmb3VuZC5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJpdmF0ZUtleSA9IGZzLnJlYWRGaWxlU3luYyhwcml2YXRlS2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGp3dEdlbmVyYXRvckluc3RhbmNlLmdlbmVyYXRlKHByaXZhdGVLZXksIGNsYWltcyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOZXhtbztcbiJdfQ== |
{ | ||
"name": "nexmo", | ||
"author": "nexmo", | ||
"version": "2.4.0", | ||
"version": "2.4.1-beta-1", | ||
"main": "lib/Nexmo", | ||
@@ -28,3 +28,4 @@ "keywords": [ | ||
"ecwyne", | ||
"https://github.com/backhand" | ||
"https://github.com/backhand", | ||
"alexlakatos" | ||
], | ||
@@ -41,3 +42,4 @@ "scripts": { | ||
"prepublish": "npm run compile", | ||
"pretest": "npm run lint" | ||
"pretest": "npm run lint", | ||
"test-e2e": "npm run compile && mocha --compilers ./node_modules/.bin/_mocha --compilers js:babel-register ./e2e/*.spec.js" | ||
}, | ||
@@ -44,0 +46,0 @@ "devDependencies": { |
191
README.md
@@ -9,3 +9,3 @@ # Nexmo Client Library for Node.js [](http://travis-ci.org/Nexmo/nexmo-node) | ||
[Installation](#installation) | [Constructor](#constructor) | [Messaging](#messaging) | [Voice](#voice) | [Verify](#verify) | [Number Insight](#number-insight) | [Applications](#applications) | [Management](#management) | [Redact](#redact) | [JWT (JSON Web Token)](#jwt) | ||
[Installation](#installation) | [Constructor](#constructor) | [Messaging](#messaging) | [Voice](#voice) | [Verify](#verify) | [Number Insight](#number-insight) | [Applications](#applications) | [Conversations](#conversations) | [Users](#users) | [Management](#management) | [Redact](#redact) | [JWT (JSON Web Token)](#jwt) | ||
@@ -344,2 +344,120 @@ ## Installation | ||
## Conversations | ||
For an overview of conversations see https://developer.nexmo.com/stitch/overview | ||
### Create a Conversation | ||
```js | ||
nexmo.conversations.create(params, callback); | ||
``` | ||
params is a dictionary of parameters per [documentation](https://developer.nexmo.com/api/stitch#createConversation) | ||
### Get a single Conversation | ||
```js | ||
nexmo.conversations.get(conversationId, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch#retrieveConversation | ||
### Get Conversations by filter | ||
```js | ||
nexmo.conversations.get(options, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch | ||
### Update a Conversation | ||
```js | ||
nexmo.conversations.update(conversationId, params, callback); | ||
``` | ||
params is a dictionary of parameters per [documentation](https://developer.nexmo.com/api/stitch#replaceConversation) | ||
### Delete a Conversation | ||
```js | ||
nexmo.conversations.delete(conversationId, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch#deleteConversation | ||
### Add a Member to a Conversation | ||
```js | ||
nexmo.conversations.members.add(conversationId, params, callback); | ||
``` | ||
params is a dictionary of parameters per [documentation](https://developer.nexmo.com/api/stitch) | ||
### Get a single Member | ||
```js | ||
nexmo.conversations.members.get(conversationId, memberId, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch#getUser | ||
### Get Members by filter | ||
```js | ||
nexmo.conversations.members.get(conversationId, params, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch | ||
## Users | ||
### Create a User | ||
```js | ||
nexmo.users.create(params, callback); | ||
``` | ||
params is a dictionary of parameters per [documentation](https://developer.nexmo.com/api/stitch#createUse) | ||
### Get a single User | ||
```js | ||
nexmo.users.get(userId, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch#getUser | ||
### Get Users by filter | ||
```js | ||
nexmo.users.get(options, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch#getUsers | ||
### Get all Conversations for a Users | ||
```js | ||
nexmo.users.getConversations(userId, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch#getuserConversations | ||
### Update a User | ||
```js | ||
nexmo.users.update(userId, params, callback); | ||
``` | ||
params is a dictionary of parameters per [documentation](https://ea.developer.nexmo.com/api/conversation#create-a-conversation) | ||
### Delete a User | ||
```js | ||
nexmo.users.delete(userId, callback); | ||
``` | ||
For more information see https://developer.nexmo.com/api/stitch#deleteUser | ||
## Management | ||
@@ -530,2 +648,56 @@ | ||
## Channel | ||
### Send a message | ||
```js | ||
nexmo.channel.send( | ||
{ type: "<TYPE>", number: "<TO>"}, | ||
{ type: "<TYPE>", number: "<FROM>"}, | ||
{ content: { type: "text", text: "testing" } }, | ||
callback | ||
); | ||
``` | ||
## Dispatch | ||
### Create a dispatch | ||
```js | ||
nexmo.dispatch.create( | ||
"failover", | ||
[ | ||
{ | ||
to: { type: "viber_service_msg", id: "<TO>"}, | ||
from: { type: "viber_service_msg", id: "<FROM>" }, | ||
message: { | ||
content: { | ||
type: "text", | ||
text: "<CONTENT>" | ||
}, | ||
viber_service_msg: { | ||
ttl: 30 | ||
} | ||
}, | ||
failover: { | ||
expiry_time: 600, | ||
condition_status: "delivered" | ||
} | ||
}, | ||
{ | ||
to: { type: "sms", number: "<TO>" }, | ||
from: { type: "sms", number: "<FROM>" }, | ||
message: { | ||
content: { | ||
type: "text", | ||
text: "<CONTENT>" | ||
} | ||
} | ||
} | ||
], | ||
callback | ||
); | ||
``` | ||
## JWT | ||
@@ -690,2 +862,15 @@ | ||
* [x] Delete an Application | ||
* Conversations | ||
* [x] Create a Conversation | ||
* [x] Get Conversations | ||
* [x] Update a Conversation | ||
* [x] Delete a Conversation | ||
* [x] Add a Member to a Conversation | ||
* [x] Get Members | ||
* Users | ||
* [x] Create a User | ||
* [x] Get Users | ||
* [x] Get Conversations for a User | ||
* [x] Update a User | ||
* [x] Delete a User | ||
* Account | ||
@@ -708,2 +893,6 @@ * [X] Balance | ||
* [x] Delete | ||
* Channel | ||
* [x] Send | ||
* Workflow | ||
* [x] Create | ||
* Voice (Deprecated) | ||
@@ -710,0 +899,0 @@ * [x] Outbound Calls |
import JwtGenerator from "../src/JwtGenerator"; | ||
import path from "path"; | ||
import fs from "fs"; | ||
@@ -26,5 +25,3 @@ import expect from "expect.js"; | ||
it("should generate a JWT", function() { | ||
var testPrivateKey = fs.readFileSync( | ||
path.join(__dirname, "private-test.key") | ||
); | ||
var testPrivateKey = fs.readFileSync(__dirname + "/private-test.key"); | ||
@@ -41,8 +38,4 @@ var generator = new JwtGenerator(); | ||
it("should add jti and iat claims by default", function() { | ||
var testPrivateKey = fs.readFileSync( | ||
path.join(__dirname, "private-test.key") | ||
); | ||
var testPublicKey = fs.readFileSync( | ||
path.join(__dirname, "public-test.key") | ||
); | ||
var testPrivateKey = fs.readFileSync(__dirname + "/private-test.key"); | ||
var testPublicKey = fs.readFileSync(__dirname + "/public-test.key"); | ||
@@ -59,8 +52,4 @@ var generator = new JwtGenerator(); | ||
it("should be possible to add additional claims", function() { | ||
var testPrivateKey = fs.readFileSync( | ||
path.join(__dirname, "private-test.key") | ||
); | ||
var testPublicKey = fs.readFileSync( | ||
path.join(__dirname, "public-test.key") | ||
); | ||
var testPrivateKey = fs.readFileSync(__dirname + "/private-test.key"); | ||
var testPublicKey = fs.readFileSync(__dirname + "/public-test.key"); | ||
@@ -80,3 +69,23 @@ var generator = new JwtGenerator(); | ||
}); | ||
it("should be possible to add object literal claims", function() { | ||
var testPrivateKey = fs.readFileSync(__dirname + "/private-test.key"); | ||
var testPublicKey = fs.readFileSync(__dirname + "/public-test.key"); | ||
var generator = new JwtGenerator(); | ||
var appId = "app-id"; | ||
var objectLiteral = { | ||
path: "/random" | ||
}; | ||
var token = generator.generate(testPrivateKey, { | ||
application_id: appId, | ||
object: objectLiteral | ||
}); | ||
var decoded = jwt.verify(token, testPublicKey, { algorithms: ["RS256"] }); | ||
expect(decoded.application_id).to.be(appId); | ||
expect(typeof decoded.object).to.be(typeof {}); | ||
}); | ||
}); | ||
}); |
@@ -9,3 +9,4 @@ import chai, { expect } from "chai"; | ||
import CallsResource from "../lib/CallsResource"; | ||
import Conversations from "../lib/Conversations"; | ||
import Users from "../lib/Users"; | ||
chai.use(sinonChai); | ||
@@ -27,3 +28,3 @@ | ||
it("should create a JWT with a private key (file path) [static]", () => { | ||
var token = Nexmo.generateJwt(path.join(__dirname, "private-test.key")); | ||
var token = Nexmo.generateJwt(__dirname + "/private-test.key"); | ||
expect(token).to.be.a("string"); | ||
@@ -33,5 +34,3 @@ }); | ||
it("should create a JWT with a private key (Buffer) [static]", () => { | ||
var fileBuffer = fs.readFileSync( | ||
path.join(__dirname, "private-test.key") | ||
); | ||
var fileBuffer = fs.readFileSync(__dirname + "/private-test.key"); | ||
var token = Nexmo.generateJwt(fileBuffer); | ||
@@ -45,6 +44,3 @@ expect(token).to.be.a("string"); | ||
it("should expose a credentials object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.credentials).to.be.a("object"); | ||
@@ -54,6 +50,3 @@ }); | ||
it("should expose a message object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.message).to.be.a("object"); | ||
@@ -63,6 +56,3 @@ }); | ||
it("should expose a voice object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.voice).to.be.a("object"); | ||
@@ -72,6 +62,3 @@ }); | ||
it("should expose a number object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.number).to.be.a("object"); | ||
@@ -81,6 +68,3 @@ }); | ||
it("should expose a verify object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.verify).to.be.a("object"); | ||
@@ -90,6 +74,3 @@ }); | ||
it("should expose a numberInsight object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.numberInsight).to.be.a("object"); | ||
@@ -99,6 +80,3 @@ }); | ||
it("should expose a app object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.app).to.be.a("object"); | ||
@@ -108,6 +86,3 @@ }); | ||
it("should expose a applications object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.applications).to.be.a("object"); | ||
@@ -117,6 +92,3 @@ }); | ||
it("should alias apps to applications object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.applications).to.equal(nexmo.app); | ||
@@ -126,6 +98,3 @@ }); | ||
it("should expose a account object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.account).to.be.a("object"); | ||
@@ -135,14 +104,18 @@ }); | ||
it("should expose a calls object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.calls).to.be.an.instanceOf(CallsResource); | ||
}); | ||
it("should expose a conversations object", function() { | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.conversations).to.be.an.instanceOf(Conversations); | ||
}); | ||
it("should expose a users object", function() { | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.users).to.be.an.instanceOf(Users); | ||
}); | ||
it("should expose a files object", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.files).to.be.a("object"); | ||
@@ -171,6 +144,3 @@ }); | ||
it("should have debug turned off by default", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.options.debug).to.be.false; | ||
@@ -190,5 +160,3 @@ }); | ||
}, | ||
{ | ||
logger: logger | ||
} | ||
{ logger: logger } | ||
); | ||
@@ -204,5 +172,3 @@ expect(nexmo.options.logger).to.equal(logger); | ||
}, | ||
{ | ||
debug: true | ||
} | ||
{ debug: true } | ||
); | ||
@@ -213,8 +179,5 @@ expect(nexmo.options.debug).to.be.true; | ||
it("should have a default user agent in the form LIBRARY-NAME/LIBRARY-VERSION/LANGUAGE-VERSION", function() { | ||
var nexmo = new Nexmo({ | ||
apiKey: "test", | ||
apiSecret: "test" | ||
}); | ||
var nexmo = new Nexmo({ apiKey: "test", apiSecret: "test" }); | ||
expect(nexmo.options.userAgent).to.match( | ||
/^nexmo-node\/[\d.]* node\/[\d.]*$/ | ||
/^nexmo-node\/[\d|\w\-\d.]* node\/[\d.]*$/ | ||
); | ||
@@ -235,3 +198,3 @@ }); | ||
expect(nexmo.options.userAgent).to.match( | ||
/nexmo-node\/[\d.]* node\/[\d.]* nexmo-cli\/1\.0\.0/ | ||
/nexmo-node\/[\d|\w\-\d.]* node\/[\d.]* nexmo-cli\/1\.0\.0/ | ||
); | ||
@@ -244,3 +207,3 @@ }); | ||
apiSecret: "test", | ||
privateKey: path.join(__dirname, "private-test.key"), | ||
privateKey: __dirname + "/private-test.key", | ||
application_id: "app-id" | ||
@@ -256,3 +219,3 @@ }); | ||
var appId = "app_id"; | ||
var privateKey = path.join(__dirname, "private-test.key"); | ||
var privateKey = __dirname + "/private-test.key"; | ||
@@ -259,0 +222,0 @@ var expectedJwt = Nexmo.generateJwt(privateKey, { |
Sorry, the diff of this file is too big to display
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 11 instances in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
452964
74
5658
905
1
22