redibox-hook-job
Advanced tools
Comparing version 1.0.2 to 1.0.3
@@ -112,2 +112,15 @@ 'use strict'; | ||
/** | ||
* | ||
* @returns {*} | ||
*/ | ||
toObject() { | ||
return { | ||
id: this.id, | ||
data: this.data, | ||
status: this.status, | ||
options: this.options | ||
}; | ||
} | ||
/** | ||
* Internal save that pushes to redis. | ||
@@ -127,3 +140,3 @@ * @private | ||
// this.queue.jobs[id] = this; | ||
return _bluebird2.default.resolve(this); | ||
return _bluebird2.default.resolve(this.toObject()); | ||
}); | ||
@@ -333,2 +346,2 @@ } | ||
exports.default = Job; | ||
//# sourceMappingURL=data:application/json;base64,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VSxLQUFWLENBQWdCLEdBQWhCLENBQW9CLE9BQXBCLENBQTRCLFNBQS9CLEVBQXlDLENBQXpDLEdBQTRDLEtBQUssU0FBakQsRUFBMkQsQ0FBM0QsR0FBOEQsR0FBOUQsRUFBa0UsQUFBbEUsQ0FBUDtBQUNEOztBQWpTTyxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFxU0ssRyIsImZpbGUiOiJqb2IuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTUgU2FsYWthclxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKlxuICovXG5cbmltcG9ydCBjdWlkIGZyb20gJ2N1aWQnO1xuaW1wb3J0IFByb21pc2UgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IHsgbm9vcCwgc2hhMXN1bSwgdHJ5SlNPTlN0cmluZ2lmeSwgdHJ5SlNPTlBhcnNlIH0gZnJvbSAncmVkaWJveCc7XG5cbi8qKlxuICogQGNsYXNzIEpvYlxuICovXG5jbGFzcyBKb2Ige1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gY29yZVxuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIGRhdGFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHBhcmFtIHF1ZXVlTmFtZVxuICAgKiBAcGFyYW0gaXNOZXdcbiAgICogQHJldHVybnMgeyp9XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb3JlLCBpZCwgZGF0YSA9IHt9LCBvcHRpb25zID0ge1xuICAgIHVuaXF1ZTogZmFsc2UsXG4gICAgdGltZW91dDogNjAwMDAsIC8vIDEgbWludXRlIGRlZmF1bHQgdGltZW91dFxuICB9LCBxdWV1ZU5hbWUsIGlzTmV3KSB7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuY29yZSA9IGNvcmU7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB0aGlzLnN0YXR1cyA9ICdjcmVhdGVkJztcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMucXVldWVOYW1lID0gcXVldWVOYW1lO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIGlmIChpc05ldykge1xuICAgICAgLy8gdGhpcyBQcm94eSBhbGxvd3MgY2hhaW5pbmcgbWV0aG9kcyB3aGlsZSBzdGlsbCBrZWVwaW5nIHRoZVxuICAgICAgLy8gc2F2ZSgpIHByb21pc2UgdmFsaWRcbiAgICAgIHRoaXMucHJveHkgPSBuZXcgUHJveHkodGhpcywge1xuICAgICAgICBnZXQodGFyZ2V0LCBuYW1lKSB7XG4gICAgICAgICAgaWYgKG5hbWUgaW4gdGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0W25hbWVdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGhheHhvcnNcbiAgICAgICAgICBpZiAobmFtZSA9PT0gJ3RoZW4nKSB7XG4gICAgICAgICAgICB0YXJnZXQucHJvbWlzZSA9IHRhcmdldC5zYXZlKCk7XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnByb21pc2UudGhlbi5iaW5kKHRhcmdldC5wcm9taXNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm94eTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUXVlcnkgcmVkaXMgZm9yIHRoZSBzcGVjaWZpZWQgam9iIGlkIGFuZCBjb252ZXJ0cyBpdCB0byBhIG5ldyBpbnN0YW5jZSBvZiBKb2IuXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHF1ZXVlXG4gICAqIEBwYXJhbSBpZFxuICAgKi9cbiAgc3RhdGljIGZyb21JZChxdWV1ZSwgaWQpIHtcbiAgICByZXR1cm4gcXVldWUuY2xpZW50LmhnZXQocXVldWUudG9LZXkoJ2pvYnMnKSwgaWQpLnRoZW4oKGRhdGEpID0+XG4gICAgICBKb2IuZnJvbURhdGEocXVldWUsIGlkLCBkYXRhKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBKU09OIHN0cmluZyBvZiBhIGpvYidzIGRhdGEgdG8gYSBuZXcgaW5zdGFuY2Ugb2YgSm9iXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHF1ZXVlXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcmV0dXJucyB7Sm9iIHwgbnVsbH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRGF0YShxdWV1ZSwgaWQsIGRhdGEpIHtcbiAgICBjb25zdCBvYmogPSB0cnlKU09OUGFyc2UoZGF0YSk7XG4gICAgaWYgKCFvYmopIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGpvYiA9IG5ldyBKb2IocXVldWUuY29yZSwgaWQsIG9iai5kYXRhLCBvYmoub3B0aW9ucywgcXVldWUubmFtZSk7XG4gICAgam9iLnN0YXR1cyA9IG9iai5kYXRhLnN0YXR1cztcbiAgICByZXR1cm4gam9iO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdGhpcyBKb2IgaW5zdGFuY2UgdG8gYSBqc29uIHN0cmluZy5cbiAgICovXG4gIHRvRGF0YSgpIHtcbiAgICByZXR1cm4gdHJ5SlNPTlN0cmluZ2lmeSh7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJuYWwgc2F2ZSB0aGF0IHB1c2hlcyB0byByZWRpcy5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIF9zYXZlKCkge1xuICAgIHRoaXMuY29yZS5sb2cudmVyYm9zZShgU2F2aW5nIG5ldyBqb2IgJHt0aGlzLmlkfSBmb3IgJHt0aGlzLnF1ZXVlTmFtZX1gKTtcbiAgICByZXR1cm4gdGhpcy5jb3JlLmNsaWVudC5hZGRqb2IoXG4gICAgICB0aGlzLl90b1F1ZXVlS2V5KCdqb2JzJyksXG4gICAgICB0aGlzLl90b1F1ZXVlS2V5KCd3YWl0aW5nJyksXG4gICAgICB0aGlzLl90b1F1ZXVlS2V5KCdpZCcpLFxuICAgICAgdGhpcy50b0RhdGEoKSxcbiAgICAgICEhdGhpcy5vcHRpb25zLnVuaXF1ZSxcbiAgICAgIHRoaXMuaWQpLnRoZW4oKGlkKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMudW5pcXVlICYmIGlkID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5zdGF0dXMgPSAnZHVwbGljYXRlJztcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKGBFUlJfRFVQTElDQVRFOiBKb2IgJHt0aGlzLmlkfSBhbHJlYWR5IGV4aXN0cywgc2F2ZSBoYXMgYmVlbiBhYm9ydGVkLmApKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvcmUubG9nLnZlcmJvc2UoYFNhdmVkIGpvYiBmb3IgJHt0aGlzLnF1ZXVlTmFtZX1gKTtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLnN0YXR1cyA9ICdzYXZlZCc7XG4gICAgICAgIC8vIHRoaXMucXVldWUuam9ic1tpZF0gPSB0aGlzO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSB0aGlzIGluc3RhbmNlIG9mIEpvYiB0byByZWRpcy4gQW55IGFjdGl2ZSBxdWV1ZXMgd2lsbCBwaWNrIGl0IHVwXG4gICAqIGltbWVkaWF0ZWx5IGZvciBwcm9jZXNzaW5nLlxuICAgKiBAcmV0dXJucyB7Kn1cbiAgICovXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5pZCA9IGAke3RoaXMucXVldWVOYW1lfS0keyh0aGlzLm9wdGlvbnMudW5pcXVlID8gc2hhMXN1bSh0aGlzLmRhdGEpIDogY3VpZCgpKX1gO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5ub3RpZnlTdWNjZXNzKSB7XG4gICAgICB0aGlzLm9wdGlvbnMubm90aWZ5U3VjY2VzcyA9IGBqb2I6JHt0aGlzLmlkfTpzdWNjZXNzYDtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGBqb2I6JHt0aGlzLmlkfTpzdWNjZXNzYCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5ub3RpZnlGYWlsdXJlKSB7XG4gICAgICB0aGlzLm9wdGlvbnMubm90aWZ5RmFpbHVyZSA9IGBqb2I6JHt0aGlzLmlkfTpmYWlsdXJlYDtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGBqb2I6JHt0aGlzLmlkfTpmYWlsdXJlYCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5ub3RpZnlTdWNjZXNzIHx8IHRoaXMub3B0aW9ucy5ub3RpZnlGYWlsdXJlKSB7XG4gICAgICBpZiAoIXRoaXMuY29yZS5wdWJzdWIub3B0aW9ucy5zdWJzY3JpYmVyKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgICAgICBuZXcgRXJyb3IoJ0Nhbm5vdCBzdWJzY3JpYmUgdG8gam9iIGV2ZW50cyB3aGVuIFJlZGlCb3gucHVic3ViIFxcJ3N1YnNjcmliZXJcXCcgY29uZmlnIGlzIHNldCB0byBkaXNhYmxlZC4nKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jb3JlLnB1YnN1Yi5zdWJzY3JpYmVPbmNlT2YodGhpcy5zdWJzY3JpcHRpb25zLCAobWVzc2FnZSkgPT4geyAvLyBvbiBtZXNzYWdlIHJlY2VpdmVkXG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBtZXNzYWdlLmNoYW5uZWw7XG5cbiAgICAgICAgLy8gcmVtb3ZlIHRoZSBwdWJzdWIgZGF0YVxuICAgICAgICBpZiAobWVzc2FnZS5kYXRhKSB7XG4gICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UuZGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIHRoZXJlJ3MgYW4gZXJyb3IgdGhlIGFzc3VtZSBmYWlsZWQuXG4gICAgICAgIGlmIChtZXNzYWdlLmVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMub25GYWlsdXJlQ2FsbGJhY2sobWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpcyBpdCBmcm9tIHRoZSBzdWNjZXNzIGNoYW5uZWwuXG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnNbMF0gPT09IGNoYW5uZWwpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5vblN1Y2Nlc3NDYWxsYmFjayhtZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9uRmFpbHVyZUNhbGxiYWNrKG1lc3NhZ2UpO1xuICAgICAgfSwgdGhpcy5vcHRpb25zLnRpbWVvdXQgKyAyMDAwKS50aGVuKCgpID0+ICAvLyBzdWJzY3JpYmVkIGNhbGxiYWNrXG4gICAgICAgIHRoaXMuX3NhdmUoKVxuICAgICAgKS5jYXRjaChlcnJvciA9PlxuICAgICAgICB0aGlzLm9uRmFpbHVyZUNhbGxiYWNrKHtcbiAgICAgICAgICB0eXBlOiAnam9iJyxcbiAgICAgICAgICBlcnJvcjogbmV3IEVycm9yKCdFcnJvciB3aGlsZSBzdWJzY3JpYmluZyB0byBqb2IgZXZlbnRzLCBob3dldmVyIHRoaXMgam9iIHdpbGwgc3RpbGwgYmUgcXVldWVkIC0gJyArXG4gICAgICAgICAgICAneW91IG1heSBiZSB1bmFibGUgdG8gcmVjZWl2ZSBvbkNvbXBsZXRlIC8gb25GYWlsdXJlIGV2ZW50cyBmb3IgdGhpcyBqb2IuJyksXG4gICAgICAgICAgZXJyb3JfYWN0dWFsOiBlcnJvcixcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3NhdmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGlzIGpvYiB3aWxsIHJldHJ5IG9uIGZhaWx1cmVcbiAgICogQHBhcmFtIG5cbiAgICogQHJldHVybnMge0pvYn1cbiAgICovXG4gIHJldHJpZXMobikge1xuICAgIGlmIChuIDwgMCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1JldHJpZXMgY2Fubm90IGJlIG5lZ2F0aXZlJyk7XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy5yZXRyaWVzID0gbiAtIDE7XG4gICAgcmV0dXJuIHRoaXMucHJveHk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBvblN1Y2Nlc3MgY2FsbGJhY2sgYW5kIG5vdGlmeSBvcHRpb25cbiAgICogQHBhcmFtIG5vdGlmeVxuICAgKiBAcmV0dXJucyB7Sm9ifVxuICAgKi9cbiAgb25TdWNjZXNzKG5vdGlmeSkge1xuICAgIHRoaXMub3B0aW9ucy5ub3RpZnlTdWNjZXNzID0gdHJ1ZTtcbiAgICB0aGlzLm9uU3VjY2Vzc0NhbGxiYWNrID0gbm90aWZ5O1xuICAgIGlmICghdGhpcy5vbkZhaWx1cmVDYWxsYmFjaykgdGhpcy5vbkZhaWx1cmVDYWxsYmFjayA9IG5vb3A7XG4gICAgcmV0dXJuIHRoaXMucHJveHk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBvbkZhaWx1cmUgY2FsbGJhY2sgYW5kIG5vdGlmeSBvcHRpb25cbiAgICogQHBhcmFtIG5vdGlmeVxuICAgKiBAcmV0dXJucyB7Sm9ifVxuICAgKi9cbiAgb25GYWlsdXJlKG5vdGlmeSkge1xuICAgIHRoaXMub3B0aW9ucy5ub3RpZnlGYWlsdXJlID0gdHJ1ZTtcbiAgICB0aGlzLm9uRmFpbHVyZUNhbGxiYWNrID0gbm90aWZ5O1xuICAgIGlmICghdGhpcy5vblN1Y2Nlc3NDYWxsYmFjaykgdGhpcy5vblN1Y2Nlc3NDYWxsYmFjayA9IG5vb3A7XG4gICAgcmV0dXJuIHRoaXMucHJveHk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGJvb2xcbiAgICogQHJldHVybnMge0pvYn1cbiAgICovXG4gIHVuaXF1ZShib29sKSB7XG4gICAgdGhpcy5vcHRpb25zLnVuaXF1ZSA9IGJvb2w7XG4gICAgcmV0dXJuIHRoaXMucHJveHk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGhvdyBsb25nIHRoaXMgam9iIGNhbiBydW4gYmVmb3JlIGl0IHRpbWVzIG91dC5cbiAgICogQHBhcmFtIG1zXG4gICAqIEByZXR1cm5zIHtKb2J9XG4gICAqL1xuICB0aW1lb3V0KG1zKSB7XG4gICAgdGhpcy5vcHRpb25zLnRpbWVvdXQgPSBtcztcbiAgICByZXR1cm4gdGhpcy5wcm94eTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyB7Sm9iLmluaXRpYWxKb2J8Kn1cbiAgICovXG4gIGluaXRpYWxKb2IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsRGF0YS5pbml0aWFsSm9iO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEByZXR1cm5zIHtKb2IuaW5pdGlhbFF1ZXVlfCp9XG4gICAqL1xuICBpbml0aWFsUXVldWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsRGF0YS5pbml0aWFsUXVldWU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoaXMgam9iIGZyb20gYWxsIHNldHMuXG4gICAqIEBwYXJhbSBjYlxuICAgKi9cbiAgcmVtb3ZlKGNiID0gbm9vcCkge1xuICAgIHRoaXMuY29yZS5jbGllbnQucmVtb3Zlam9iKFxuICAgICAgdGhpcy5fdG9RdWV1ZUtleSgnc3VjY2VlZGVkJyksIHRoaXMuX3RvUXVldWVLZXkoJ2ZhaWxlZCcpLCB0aGlzLl90b1F1ZXVlS2V5KCd3YWl0aW5nJyksXG4gICAgICB0aGlzLl90b1F1ZXVlS2V5KCdhY3RpdmUnKSwgdGhpcy5fdG9RdWV1ZUtleSgnc3RhbGxpbmcnKSwgdGhpcy5fdG9RdWV1ZUtleSgnam9icycpLFxuICAgICAgdGhpcy5pZCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXNhdmUgdGhpcyBqb2IgZm9yIHRoZSBwdXJwb3NlIG9mIHJldHJ5aW5nIGl0LlxuICAgKiBAcGFyYW0gY2JcbiAgICovXG4gIHJldHJ5KGNiID0gbm9vcCkge1xuICAgIHRoaXMuY29yZS5jbGllbnQubXVsdGkoKVxuICAgICAgICAuc3JlbSh0aGlzLl90b1F1ZXVlS2V5KCdmYWlsZWQnKSwgdGhpcy5pZClcbiAgICAgICAgLmxwdXNoKHRoaXMuX3RvUXVldWVLZXkoJ3dhaXRpbmcnKSwgdGhpcy5pZClcbiAgICAgICAgLmV4ZWMoY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrcyB0cnVlIG9mIGZhbHNlIGlmIHRoaXMgam9iIGV4aXN0cyBpbiB0aGUgc3BlY2lmaWVkIHNldC5cbiAgICogQHBhcmFtIHNldFxuICAgKiBAcGFyYW0gY2JcbiAgICovXG4gIGlzSW5TZXQoc2V0LCBjYiA9IG5vb3ApIHtcbiAgICB0aGlzLmNvcmUuY2xpZW50LnNpc21lbWJlcih0aGlzLl90b1F1ZXVlS2V5KHNldCksIHRoaXMuaWQsIChlcnIsIHJlc3VsdCkgPT4ge1xuICAgICAgaWYgKGVycikgcmV0dXJuIGNiKGVycik7XG4gICAgICByZXR1cm4gY2IobnVsbCwgcmVzdWx0ID09PSAxKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBxdWV1ZSBwcmVmaXhlZCBrZXkgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHN0cmluZy5cbiAgICogQHBhcmFtIHN0clxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3RvUXVldWVLZXkoc3RyKSB7XG4gICAgaWYgKHRoaXMuY29yZS5jbHVzdGVyLmlzQ2x1c3RlcigpKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5jb3JlLmhvb2tzLmpvYi5vcHRpb25zLmtleVByZWZpeH06eyR7dGhpcy5xdWV1ZU5hbWV9fToke3N0cn1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5jb3JlLmhvb2tzLmpvYi5vcHRpb25zLmtleVByZWZpeH06JHt0aGlzLnF1ZXVlTmFtZX06JHtzdHJ9YDtcbiAgfVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IEpvYjtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,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Q0FBNEIsU0FBL0IsRUFBeUMsRUFBekMsR0FBNkMsS0FBSyxTQUFsRCxFQUE0RCxFQUE1RCxHQUFnRSxHQUFoRSxFQUFvRSxBQUFwRSxDQUFQO0FBQ0Q7QUFDRCxXQUFPLENBQUMsQUFBRCxHQUFHLEtBQUssSUFBTCxDQUFVLEtBQVYsQ0FBZ0IsR0FBaEIsQ0FBb0IsT0FBcEIsQ0FBNEIsU0FBL0IsRUFBeUMsQ0FBekMsR0FBNEMsS0FBSyxTQUFqRCxFQUEyRCxDQUEzRCxHQUE4RCxHQUE5RCxFQUFrRSxBQUFsRSxDQUFQO0FBQ0Q7O0FBOVNPLEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQWtUSyxHIiwiZmlsZSI6ImpvYi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNSBTYWxha2FyXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqXG4gKi9cblxuaW1wb3J0IGN1aWQgZnJvbSAnY3VpZCc7XG5pbXBvcnQgUHJvbWlzZSBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyBub29wLCBzaGExc3VtLCB0cnlKU09OU3RyaW5naWZ5LCB0cnlKU09OUGFyc2UgfSBmcm9tICdyZWRpYm94JztcblxuLyoqXG4gKiBAY2xhc3MgSm9iXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBjb3JlXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcGFyYW0gcXVldWVOYW1lXG4gICAqIEBwYXJhbSBpc05ld1xuICAgKiBAcmV0dXJucyB7Kn1cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvcmUsIGlkLCBkYXRhID0ge30sIG9wdGlvbnMgPSB7XG4gICAgdW5pcXVlOiBmYWxzZSxcbiAgICB0aW1lb3V0OiA2MDAwMCwgLy8gMSBtaW51dGUgZGVmYXVsdCB0aW1lb3V0XG4gIH0sIHF1ZXVlTmFtZSwgaXNOZXcpIHtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5jb3JlID0gY29yZTtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIHRoaXMuc3RhdHVzID0gJ2NyZWF0ZWQnO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5xdWV1ZU5hbWUgPSBxdWV1ZU5hbWU7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgaWYgKGlzTmV3KSB7XG4gICAgICAvLyB0aGlzIFByb3h5IGFsbG93cyBjaGFpbmluZyBtZXRob2RzIHdoaWxlIHN0aWxsIGtlZXBpbmcgdGhlXG4gICAgICAvLyBzYXZlKCkgcHJvbWlzZSB2YWxpZFxuICAgICAgdGhpcy5wcm94eSA9IG5ldyBQcm94eSh0aGlzLCB7XG4gICAgICAgIGdldCh0YXJnZXQsIG5hbWUpIHtcbiAgICAgICAgICBpZiAobmFtZSBpbiB0YXJnZXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRbbmFtZV07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gaGF4eG9yc1xuICAgICAgICAgIGlmIChuYW1lID09PSAndGhlbicpIHtcbiAgICAgICAgICAgIHRhcmdldC5wcm9taXNlID0gdGFyZ2V0LnNhdmUoKTtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQucHJvbWlzZS50aGVuLmJpbmQodGFyZ2V0LnByb21pc2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3h5O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBRdWVyeSByZWRpcyBmb3IgdGhlIHNwZWNpZmllZCBqb2IgaWQgYW5kIGNvbnZlcnRzIGl0IHRvIGEgbmV3IGluc3RhbmNlIG9mIEpvYi5cbiAgICogQHN0YXRpY1xuICAgKiBAcGFyYW0gcXVldWVcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBzdGF0aWMgZnJvbUlkKHF1ZXVlLCBpZCkge1xuICAgIHJldHVybiBxdWV1ZS5jbGllbnQuaGdldChxdWV1ZS50b0tleSgnam9icycpLCBpZCkudGhlbigoZGF0YSkgPT5cbiAgICAgIEpvYi5mcm9tRGF0YShxdWV1ZSwgaWQsIGRhdGEpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIEpTT04gc3RyaW5nIG9mIGEgam9iJ3MgZGF0YSB0byBhIG5ldyBpbnN0YW5jZSBvZiBKb2JcbiAgICogQHN0YXRpY1xuICAgKiBAcGFyYW0gcXVldWVcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEByZXR1cm5zIHtKb2IgfCBudWxsfVxuICAgKi9cbiAgc3RhdGljIGZyb21EYXRhKHF1ZXVlLCBpZCwgZGF0YSkge1xuICAgIGNvbnN0IG9iaiA9IHRyeUpTT05QYXJzZShkYXRhKTtcbiAgICBpZiAoIW9iaikgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgam9iID0gbmV3IEpvYihxdWV1ZS5jb3JlLCBpZCwgb2JqLmRhdGEsIG9iai5vcHRpb25zLCBxdWV1ZS5uYW1lKTtcbiAgICBqb2Iuc3RhdHVzID0gb2JqLmRhdGEuc3RhdHVzO1xuICAgIHJldHVybiBqb2I7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGlzIEpvYiBpbnN0YW5jZSB0byBhIGpzb24gc3RyaW5nLlxuICAgKi9cbiAgdG9EYXRhKCkge1xuICAgIHJldHVybiB0cnlKU09OU3RyaW5naWZ5KHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgZGF0YTogdGhpcy5kYXRhLFxuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyB7Kn1cblx0ICovXG4gIHRvT2JqZWN0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCBzYXZlIHRoYXQgcHVzaGVzIHRvIHJlZGlzLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3NhdmUoKSB7XG4gICAgdGhpcy5jb3JlLmxvZy52ZXJib3NlKGBTYXZpbmcgbmV3IGpvYiAke3RoaXMuaWR9IGZvciAke3RoaXMucXVldWVOYW1lfWApO1xuICAgIHJldHVybiB0aGlzLmNvcmUuY2xpZW50LmFkZGpvYihcbiAgICAgIHRoaXMuX3RvUXVldWVLZXkoJ2pvYnMnKSxcbiAgICAgIHRoaXMuX3RvUXVldWVLZXkoJ3dhaXRpbmcnKSxcbiAgICAgIHRoaXMuX3RvUXVldWVLZXkoJ2lkJyksXG4gICAgICB0aGlzLnRvRGF0YSgpLFxuICAgICAgISF0aGlzLm9wdGlvbnMudW5pcXVlLFxuICAgICAgdGhpcy5pZCkudGhlbigoaWQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy51bmlxdWUgJiYgaWQgPT09IDApIHtcbiAgICAgICAgICB0aGlzLnN0YXR1cyA9ICdkdXBsaWNhdGUnO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYEVSUl9EVVBMSUNBVEU6IEpvYiAke3RoaXMuaWR9IGFscmVhZHkgZXhpc3RzLCBzYXZlIGhhcyBiZWVuIGFib3J0ZWQuYCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29yZS5sb2cudmVyYm9zZShgU2F2ZWQgam9iIGZvciAke3RoaXMucXVldWVOYW1lfWApO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gJ3NhdmVkJztcbiAgICAgICAgLy8gdGhpcy5xdWV1ZS5qb2JzW2lkXSA9IHRoaXM7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy50b09iamVjdCgpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgdGhpcyBpbnN0YW5jZSBvZiBKb2IgdG8gcmVkaXMuIEFueSBhY3RpdmUgcXVldWVzIHdpbGwgcGljayBpdCB1cFxuICAgKiBpbW1lZGlhdGVseSBmb3IgcHJvY2Vzc2luZy5cbiAgICogQHJldHVybnMgeyp9XG4gICAqL1xuICBzYXZlKCkge1xuICAgIHRoaXMuaWQgPSBgJHt0aGlzLnF1ZXVlTmFtZX0tJHsodGhpcy5vcHRpb25zLnVuaXF1ZSA/IHNoYTFzdW0odGhpcy5kYXRhKSA6IGN1aWQoKSl9YDtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMubm90aWZ5U3VjY2Vzcykge1xuICAgICAgdGhpcy5vcHRpb25zLm5vdGlmeVN1Y2Nlc3MgPSBgam9iOiR7dGhpcy5pZH06c3VjY2Vzc2A7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChgam9iOiR7dGhpcy5pZH06c3VjY2Vzc2ApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMubm90aWZ5RmFpbHVyZSkge1xuICAgICAgdGhpcy5vcHRpb25zLm5vdGlmeUZhaWx1cmUgPSBgam9iOiR7dGhpcy5pZH06ZmFpbHVyZWA7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChgam9iOiR7dGhpcy5pZH06ZmFpbHVyZWApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMubm90aWZ5U3VjY2VzcyB8fCB0aGlzLm9wdGlvbnMubm90aWZ5RmFpbHVyZSkge1xuICAgICAgaWYgKCF0aGlzLmNvcmUucHVic3ViLm9wdGlvbnMuc3Vic2NyaWJlcikge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgICAgbmV3IEVycm9yKCdDYW5ub3Qgc3Vic2NyaWJlIHRvIGpvYiBldmVudHMgd2hlbiBSZWRpQm94LnB1YnN1YiBcXCdzdWJzY3JpYmVyXFwnIGNvbmZpZyBpcyBzZXQgdG8gZGlzYWJsZWQuJylcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuY29yZS5wdWJzdWIuc3Vic2NyaWJlT25jZU9mKHRoaXMuc3Vic2NyaXB0aW9ucywgKG1lc3NhZ2UpID0+IHsgLy8gb24gbWVzc2FnZSByZWNlaXZlZFxuICAgICAgICBjb25zdCBjaGFubmVsID0gbWVzc2FnZS5jaGFubmVsO1xuXG4gICAgICAgIC8vIHJlbW92ZSB0aGUgcHVic3ViIGRhdGFcbiAgICAgICAgaWYgKG1lc3NhZ2UuZGF0YSkge1xuICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLmRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiB0aGVyZSdzIGFuIGVycm9yIHRoZSBhc3N1bWUgZmFpbGVkLlxuICAgICAgICBpZiAobWVzc2FnZS5lcnJvcikge1xuICAgICAgICAgIHJldHVybiB0aGlzLm9uRmFpbHVyZUNhbGxiYWNrKG1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaXMgaXQgZnJvbSB0aGUgc3VjY2VzcyBjaGFubmVsLlxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25zWzBdID09PSBjaGFubmVsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMub25TdWNjZXNzQ2FsbGJhY2sobWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vbkZhaWx1cmVDYWxsYmFjayhtZXNzYWdlKTtcbiAgICAgIH0sIHRoaXMub3B0aW9ucy50aW1lb3V0ICsgMjAwMCkudGhlbigoKSA9PiAgLy8gc3Vic2NyaWJlZCBjYWxsYmFja1xuICAgICAgICB0aGlzLl9zYXZlKClcbiAgICAgICkuY2F0Y2goZXJyb3IgPT5cbiAgICAgICAgdGhpcy5vbkZhaWx1cmVDYWxsYmFjayh7XG4gICAgICAgICAgdHlwZTogJ2pvYicsXG4gICAgICAgICAgZXJyb3I6IG5ldyBFcnJvcignRXJyb3Igd2hpbGUgc3Vic2NyaWJpbmcgdG8gam9iIGV2ZW50cywgaG93ZXZlciB0aGlzIGpvYiB3aWxsIHN0aWxsIGJlIHF1ZXVlZCAtICcgK1xuICAgICAgICAgICAgJ3lvdSBtYXkgYmUgdW5hYmxlIHRvIHJlY2VpdmUgb25Db21wbGV0ZSAvIG9uRmFpbHVyZSBldmVudHMgZm9yIHRoaXMgam9iLicpLFxuICAgICAgICAgIGVycm9yX2FjdHVhbDogZXJyb3IsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zYXZlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBudW1iZXIgb2YgdGltZXMgdGhpcyBqb2Igd2lsbCByZXRyeSBvbiBmYWlsdXJlXG4gICAqIEBwYXJhbSBuXG4gICAqIEByZXR1cm5zIHtKb2J9XG4gICAqL1xuICByZXRyaWVzKG4pIHtcbiAgICBpZiAobiA8IDApIHtcbiAgICAgIHRocm93IEVycm9yKCdSZXRyaWVzIGNhbm5vdCBiZSBuZWdhdGl2ZScpO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMucmV0cmllcyA9IG4gLSAxO1xuICAgIHJldHVybiB0aGlzLnByb3h5O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgb25TdWNjZXNzIGNhbGxiYWNrIGFuZCBub3RpZnkgb3B0aW9uXG4gICAqIEBwYXJhbSBub3RpZnlcbiAgICogQHJldHVybnMge0pvYn1cbiAgICovXG4gIG9uU3VjY2Vzcyhub3RpZnkpIHtcbiAgICB0aGlzLm9wdGlvbnMubm90aWZ5U3VjY2VzcyA9IHRydWU7XG4gICAgdGhpcy5vblN1Y2Nlc3NDYWxsYmFjayA9IG5vdGlmeTtcbiAgICBpZiAoIXRoaXMub25GYWlsdXJlQ2FsbGJhY2spIHRoaXMub25GYWlsdXJlQ2FsbGJhY2sgPSBub29wO1xuICAgIHJldHVybiB0aGlzLnByb3h5O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgb25GYWlsdXJlIGNhbGxiYWNrIGFuZCBub3RpZnkgb3B0aW9uXG4gICAqIEBwYXJhbSBub3RpZnlcbiAgICogQHJldHVybnMge0pvYn1cbiAgICovXG4gIG9uRmFpbHVyZShub3RpZnkpIHtcbiAgICB0aGlzLm9wdGlvbnMubm90aWZ5RmFpbHVyZSA9IHRydWU7XG4gICAgdGhpcy5vbkZhaWx1cmVDYWxsYmFjayA9IG5vdGlmeTtcbiAgICBpZiAoIXRoaXMub25TdWNjZXNzQ2FsbGJhY2spIHRoaXMub25TdWNjZXNzQ2FsbGJhY2sgPSBub29wO1xuICAgIHJldHVybiB0aGlzLnByb3h5O1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBib29sXG4gICAqIEByZXR1cm5zIHtKb2J9XG4gICAqL1xuICB1bmlxdWUoYm9vbCkge1xuICAgIHRoaXMub3B0aW9ucy51bmlxdWUgPSBib29sO1xuICAgIHJldHVybiB0aGlzLnByb3h5O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBob3cgbG9uZyB0aGlzIGpvYiBjYW4gcnVuIGJlZm9yZSBpdCB0aW1lcyBvdXQuXG4gICAqIEBwYXJhbSBtc1xuICAgKiBAcmV0dXJucyB7Sm9ifVxuICAgKi9cbiAgdGltZW91dChtcykge1xuICAgIHRoaXMub3B0aW9ucy50aW1lb3V0ID0gbXM7XG4gICAgcmV0dXJuIHRoaXMucHJveHk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMge0pvYi5pbml0aWFsSm9ifCp9XG4gICAqL1xuICBpbml0aWFsSm9iKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbERhdGEuaW5pdGlhbEpvYjtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyB7Sm9iLmluaXRpYWxRdWV1ZXwqfVxuICAgKi9cbiAgaW5pdGlhbFF1ZXVlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbERhdGEuaW5pdGlhbFF1ZXVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGlzIGpvYiBmcm9tIGFsbCBzZXRzLlxuICAgKiBAcGFyYW0gY2JcbiAgICovXG4gIHJlbW92ZShjYiA9IG5vb3ApIHtcbiAgICB0aGlzLmNvcmUuY2xpZW50LnJlbW92ZWpvYihcbiAgICAgIHRoaXMuX3RvUXVldWVLZXkoJ3N1Y2NlZWRlZCcpLCB0aGlzLl90b1F1ZXVlS2V5KCdmYWlsZWQnKSwgdGhpcy5fdG9RdWV1ZUtleSgnd2FpdGluZycpLFxuICAgICAgdGhpcy5fdG9RdWV1ZUtleSgnYWN0aXZlJyksIHRoaXMuX3RvUXVldWVLZXkoJ3N0YWxsaW5nJyksIHRoaXMuX3RvUXVldWVLZXkoJ2pvYnMnKSxcbiAgICAgIHRoaXMuaWQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1zYXZlIHRoaXMgam9iIGZvciB0aGUgcHVycG9zZSBvZiByZXRyeWluZyBpdC5cbiAgICogQHBhcmFtIGNiXG4gICAqL1xuICByZXRyeShjYiA9IG5vb3ApIHtcbiAgICB0aGlzLmNvcmUuY2xpZW50Lm11bHRpKClcbiAgICAgICAgLnNyZW0odGhpcy5fdG9RdWV1ZUtleSgnZmFpbGVkJyksIHRoaXMuaWQpXG4gICAgICAgIC5scHVzaCh0aGlzLl90b1F1ZXVlS2V5KCd3YWl0aW5nJyksIHRoaXMuaWQpXG4gICAgICAgIC5leGVjKGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFja3MgdHJ1ZSBvZiBmYWxzZSBpZiB0aGlzIGpvYiBleGlzdHMgaW4gdGhlIHNwZWNpZmllZCBzZXQuXG4gICAqIEBwYXJhbSBzZXRcbiAgICogQHBhcmFtIGNiXG4gICAqL1xuICBpc0luU2V0KHNldCwgY2IgPSBub29wKSB7XG4gICAgdGhpcy5jb3JlLmNsaWVudC5zaXNtZW1iZXIodGhpcy5fdG9RdWV1ZUtleShzZXQpLCB0aGlzLmlkLCAoZXJyLCByZXN1bHQpID0+IHtcbiAgICAgIGlmIChlcnIpIHJldHVybiBjYihlcnIpO1xuICAgICAgcmV0dXJuIGNiKG51bGwsIHJlc3VsdCA9PT0gMSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgcXVldWUgcHJlZml4ZWQga2V5IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBzdHJpbmcuXG4gICAqIEBwYXJhbSBzdHJcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICogQHByaXZhdGVcbiAgICovXG4gIF90b1F1ZXVlS2V5KHN0cikge1xuICAgIGlmICh0aGlzLmNvcmUuY2x1c3Rlci5pc0NsdXN0ZXIoKSkge1xuICAgICAgcmV0dXJuIGAke3RoaXMuY29yZS5ob29rcy5qb2Iub3B0aW9ucy5rZXlQcmVmaXh9Onske3RoaXMucXVldWVOYW1lfX06JHtzdHJ9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMuY29yZS5ob29rcy5qb2Iub3B0aW9ucy5rZXlQcmVmaXh9OiR7dGhpcy5xdWV1ZU5hbWV9OiR7c3RyfWA7XG4gIH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBKb2I7XG4iXX0= |
{ | ||
"name": "redibox-hook-job", | ||
"description": "Advanced redibox powered jobs and queues", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"main": "lib/index.js", | ||
@@ -6,0 +6,0 @@ "author": "Mike Diarmid", |
112267
1236