Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bullhorn-client

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bullhorn-client - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

128

lib/index.js

@@ -21,6 +21,2 @@ 'use strict';

var _q = require('q');
var _q2 = _interopRequireDefault(_q);
var _superagent = require('superagent');

@@ -34,2 +30,6 @@

var _q = require('q');
var _q2 = _interopRequireDefault(_q);
var BullhornClient = (function () {

@@ -48,4 +48,7 @@ function BullhornClient() {

clientId: '',
clientSecret: ''
clientSecret: '',
logger: console.log
});
this.logger = this.options.logger;
}

@@ -66,2 +69,7 @@

_this.logger('Associating candidate to tearsheet', {
teersheetId: teersheetId,
candidateIds: candidateIds.join(',')
});
_superagent2['default'].put(_this.buildUrl('entity/Tearsheet/' + teersheetId + '/candidates/' + candidateIds.join(','))).query({

@@ -85,16 +93,28 @@ BhRestToken: restToken

return this.setup().then(function (restToken) {
var deferred = _q2['default'].defer();
return this.setup().then(function () {
var email = candidate.email;
_superagent2['default'].put(_this2.buildUrl('entity/Candidate')).query({
BhRestToken: restToken
}).send(candidate).end(function (error, res) {
if (error) {
deferred.reject(error);
} else {
deferred.resolve(res.body);
}
});
var promise;
return deferred.promise;
if (email) {
promise = _this2.getCandidateByEmail(email);
} else {
promise = (0, _q2['default'])().then(function (restToken) {
var deferred = _q2['default'].defer();
_superagent2['default'].put(_this2.buildUrl('entity/Candidate')).query({
BhRestToken: restToken
}).send(candidate).end(function (error, res) {
if (error) {
deferred.reject(error);
} else {
deferred.resolve(res.body.changedEntityId);
}
});
return deferred.promise;
});
}
return promise;
});

@@ -110,2 +130,6 @@ }

_this3.logger('Creating job submission', {
jobSubmission: jobSubmission
});
_superagent2['default'].put(_this3.buildUrl('entity/JobSubmission')).query({

@@ -129,4 +153,3 @@ BhRestToken: restToken

return this.createCandidate((0, _lodashOmit2['default'])(candidate, ['file', 'fileName'])).then(function (res) {
var candidateId = res.changedEntityId;
return this.createCandidate((0, _lodashOmit2['default'])(candidate, ['file', 'fileName'])).then(function (candidateId) {
var promises = [];

@@ -186,2 +209,4 @@

this.logger('Getting authorization code');
_superagent2['default'].post(this.options.authEndpoint + 'authorize').type('form').query({

@@ -218,2 +243,4 @@ client_id: client_id,

_this6.logger('Getting access token');
_superagent2['default'].post(_this6.options.authEndpoint + 'token').query({

@@ -237,5 +264,41 @@ code: code,

}, {
key: 'getCandidateByEmail',
value: function getCandidateByEmail(email) {
var _this7 = this;
var fields = arguments.length <= 1 || arguments[1] === undefined ? ['*'] : arguments[1];
return this.setup().then(function (restToken) {
var deferred = _q2['default'].defer();
_this7.logger('Finding candidate by e-mail', {
email: email,
fields: fields.join(',')
});
_superagent2['default'].get(_this7.buildUrl('find')).query({
BhRestToken: restToken,
query: email
}).end(function (error, res) {
if (error) {
console.log(error);
deferred.reject(error);
} else {
var entityId = undefined;
res.body.data.forEach(function (entry) {
if (entry.entityType === 'Candidate') {
entityId = entry.entityId;
}
});
deferred.resolve(entityId);
}
});
return deferred.promise;
});
}
}, {
key: 'getOpenJobs',
value: function getOpenJobs() {
var _this7 = this;
var _this8 = this;

@@ -247,3 +310,7 @@ var fields = arguments.length <= 0 || arguments[0] === undefined ? ['*'] : arguments[0];

_superagent2['default'].get(_this7.buildUrl('query/JobOrder')).query({
_this8.logger('Getting open jobs', {
fields: fields.join(',')
});
_superagent2['default'].get(_this8.buildUrl('query/JobOrder')).query({
BhRestToken: restToken,

@@ -274,3 +341,3 @@ fields: fields.join(','),

value: function sendFile(entity, base64file, filename) {
var _this8 = this;
var _this9 = this;

@@ -280,3 +347,8 @@ return this.setup().then(function (restToken) {

_superagent2['default'].put(_this8.buildUrl('file/' + entity)).send({
_this9.logger('Sending file', {
entity: entity,
filename: filename
});
_superagent2['default'].put(_this9.buildUrl('file/' + entity)).send({
externalID: 'cv',

@@ -315,10 +387,10 @@ fileContent: base64file,

value: function setup() {
var _this9 = this;
var _this10 = this;
return (0, _q2['default'])().then(function () {
var result;
if (_this9.shouldGetRestToken()) {
result = _this9.getRestToken();
if (_this10.shouldGetRestToken()) {
result = _this10.getRestToken();
} else {
result = _this9._BhRestToken;
result = _this10._BhRestToken;
}

@@ -335,2 +407,2 @@ return result;

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,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TyxxQkFBRyxDQUNQLElBQUksQ0FBQyxZQUFNO0FBQ1YsWUFBSSxNQUFNLENBQUM7QUFDWCxZQUFJLE9BQUssa0JBQWtCLEVBQUUsRUFBRTtBQUM3QixnQkFBTSxHQUFHLE9BQUssWUFBWSxFQUFFLENBQUM7U0FDOUIsTUFBTTtBQUNMLGdCQUFNLEdBQUcsT0FBSyxZQUFZLENBQUM7U0FDNUI7QUFDRCxlQUFPLE1BQU0sQ0FBQztPQUNmLENBQUMsQ0FBQztLQUNOOzs7U0E3UmtCLGNBQWM7OztxQkFBZCxjQUFjIiwiZmlsZSI6InNyYy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWZhdWx0cyBmcm9tICdsb2Rhc2guZGVmYXVsdHMnO1xuaW1wb3J0IG9taXQgZnJvbSAnbG9kYXNoLm9taXQnO1xuaW1wb3J0IFEgZnJvbSAncSc7XG5pbXBvcnQgcmVxdWVzdCBmcm9tICdzdXBlcmFnZW50JztcbmltcG9ydCB1cmwgZnJvbSAndXJsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVsbGhvcm5DbGllbnQge1xuICBjb25zdHJ1Y3RvciAob3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5vcHRpb25zID0gZGVmYXVsdHMob3B0aW9ucywge1xuICAgICAgYXV0aEVuZHBvaW50OiAnaHR0cHM6Ly9hdXRoLmJ1bGxob3Juc3RhZmZpbmcuY29tL29hdXRoLycsXG4gICAgICBhcGlSb290OiAnaHR0cHM6Ly9yZXN0LmJ1bGxob3Juc3RhZmZpbmcuY29tL3Jlc3Qtc2VydmljZXMvJyxcbiAgICAgIHZlcnNpb246ICcyLjAnLFxuICAgICAgdXNlcm5hbWU6ICcnLFxuICAgICAgcGFzc3dvcmQ6ICcnLFxuICAgICAgY2xpZW50SWQ6ICcnLFxuICAgICAgY2xpZW50U2VjcmV0OiAnJ1xuICAgIH0pO1xuICB9XG5cbiAgYnVpbGRVcmwgKHBhdGgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVzdFVybCArIGAke3BhdGh9YDtcbiAgfVxuXG4gIGFzc29jaWF0ZUNhbmRpZGF0ZVRvVGVlcnNoZWV0ICh0ZWVyc2hlZXRJZCwgY2FuZGlkYXRlSWRzKSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgICAgIC5zZXR1cCgpXG4gICAgICAudGhlbigocmVzdFRva2VuKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlZmVycmVkID0gUS5kZWZlcigpO1xuXG4gICAgICAgIHJlcXVlc3RcbiAgICAgICAgICAucHV0KHRoaXMuYnVpbGRVcmwoYGVudGl0eS9UZWFyc2hlZXQvJHt0ZWVyc2hlZXRJZH0vY2FuZGlkYXRlcy8ke2NhbmRpZGF0ZUlkcy5qb2luKCcsJyl9YCkpXG4gICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgIEJoUmVzdFRva2VuOiByZXN0VG9rZW5cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUNhbmRpZGF0ZSAoY2FuZGlkYXRlKSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgICAgIC5zZXR1cCgpXG4gICAgICAudGhlbigocmVzdFRva2VuKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlZmVycmVkID0gUS5kZWZlcigpO1xuXG4gICAgICAgIHJlcXVlc3RcbiAgICAgICAgICAucHV0KHRoaXMuYnVpbGRVcmwoJ2VudGl0eS9DYW5kaWRhdGUnKSlcbiAgICAgICAgICAucXVlcnkoe1xuICAgICAgICAgICAgQmhSZXN0VG9rZW46IHJlc3RUb2tlblxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnNlbmQoY2FuZGlkYXRlKVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlSm9iU3VtaXNzaW9uIChqb2JTdWJtaXNzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgICAgIC5zZXR1cCgpXG4gICAgICAudGhlbigocmVzdFRva2VuKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlZmVycmVkID0gUS5kZWZlcigpO1xuXG4gICAgICAgIHJlcXVlc3RcbiAgICAgICAgICAucHV0KHRoaXMuYnVpbGRVcmwoJ2VudGl0eS9Kb2JTdWJtaXNzaW9uJykpXG4gICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgIEJoUmVzdFRva2VuOiByZXN0VG9rZW5cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5zZW5kKGpvYlN1Ym1pc3Npb24pXG4gICAgICAgICAgLmVuZCgoZXJyb3IsIHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgIGRlZmVycmVkLnJlamVjdChlcnJvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZXNvbHZlKHJlcy5ib2R5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlQ2FuZGlkYXRlQW5kSm9iU3VibWlzc2lvbiAoam9iSWQsIGNhbmRpZGF0ZSkge1xuICAgIHJldHVybiB0aGlzXG4gICAgICAuY3JlYXRlQ2FuZGlkYXRlKG9taXQoY2FuZGlkYXRlLCBbJ2ZpbGUnLCAnZmlsZU5hbWUnXSkpXG4gICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhbmRpZGF0ZUlkID0gcmVzLmNoYW5nZWRFbnRpdHlJZDtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcblxuICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMuY3JlYXRlSm9iU3VtaXNzaW9uKHtcbiAgICAgICAgICBjYW5kaWRhdGU6IHtcbiAgICAgICAgICAgIGlkOiBjYW5kaWRhdGVJZFxuICAgICAgICAgIH0sXG4gICAgICAgICAgam9iT3JkZXI6IHtcbiAgICAgICAgICAgIGlkOiBqb2JJZFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzOiAnTmV3IExlYWQnLFxuICAgICAgICAgIGRhdGVXZWJSZXNwb25zZTogbmV3IERhdGUoKS5nZXRUaW1lKClcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGlmIChjYW5kaWRhdGUuZmlsZSkge1xuICAgICAgICAgIHByb21pc2VzLnB1c2godGhpcy5zZW5kRmlsZSgnQ2FuZGlkYXRlLycgKyBjYW5kaWRhdGVJZCwgY2FuZGlkYXRlLmZpbGUsIGNhbmRpZGF0ZS5maWxlTmFtZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFEuYWxsKHByb21pc2VzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbG9naW4gKCkge1xuICAgIHJldHVybiB0aGlzXG4gICAgICAuZ2V0QWNjZXNzVG9rZW4oKVxuICAgICAgLnRoZW4oKGFjY2Vzc1Rva2VuKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlZmVycmVkID0gUS5kZWZlcigpO1xuXG4gICAgICAgIHJlcXVlc3RcbiAgICAgICAgICAuZ2V0KHRoaXMub3B0aW9ucy5hcGlSb290ICsgJ2xvZ2luJylcbiAgICAgICAgICAucXVlcnkoe1xuICAgICAgICAgICAgdmVyc2lvbjogdGhpcy5vcHRpb25zLnZlcnNpb24sXG4gICAgICAgICAgICBhY2Nlc3NfdG9rZW46IGFjY2Vzc1Rva2VuXG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZW5kKChlcnJvciwgcmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvZ2luQXQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgICAgdGhpcy5fcmVzdFVybCA9IHJlcy5ib2R5LnJlc3RVcmw7XG4gICAgICAgICAgICAgIHRoaXMuX0JoUmVzdFRva2VuID0gcmVzLmJvZHkuQmhSZXN0VG9rZW47XG4gICAgICAgICAgICAgIGRlZmVycmVkLnJlc29sdmUocmVzLmJvZHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBkZWZlcnJlZC5wcm9taXNlO1xuICAgICAgfSk7XG5cbiAgfVxuXG4gIGdldEF1dGhvcml6YXRpb25Db2RlICgpIHtcbiAgICBjb25zdCBkZWZlcnJlZCA9IFEuZGVmZXIoKTtcbiAgICBjb25zdCB7dXNlcm5hbWUsIHBhc3N3b3JkLCBjbGllbnRJZDogY2xpZW50X2lkfSA9IHRoaXMub3B0aW9ucztcblxuICAgIHJlcXVlc3RcbiAgICAgIC5wb3N0KHRoaXMub3B0aW9ucy5hdXRoRW5kcG9pbnQgKyAnYXV0aG9yaXplJylcbiAgICAgIC50eXBlKCdmb3JtJylcbiAgICAgIC5xdWVyeSh7XG4gICAgICAgIGNsaWVudF9pZCxcbiAgICAgICAgcmVzcG9uc2VfdHlwZTogJ2NvZGUnLFxuICAgICAgICBhY3Rpb246ICdMb2dpbidcbiAgICAgIH0pXG4gICAgICAuc2VuZCh7XG4gICAgICAgIHVzZXJuYW1lLFxuICAgICAgICBwYXNzd29yZFxuICAgICAgfSlcbiAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgZGVmZXJyZWQucmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjb2RlID0gdXJsLnBhcnNlKHJlcy5yZWRpcmVjdHNbMF0sIHRydWUpLnF1ZXJ5LmNvZGU7XG4gICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShjb2RlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgfVxuXG4gIGdldEFjY2Vzc1Rva2VuICh0eXBlID0gJ2F1dGhvcml6YXRpb25fY29kZScpIHtcbiAgICBjb25zdCB7Y2xpZW50SWQ6IGNsaWVudF9pZCwgY2xpZW50U2VjcmV0OiBjbGllbnRfc2VjcmV0fSA9IHRoaXMub3B0aW9ucztcblxuICAgIHJldHVybiB0aGlzXG4gICAgICAuZ2V0QXV0aG9yaXphdGlvbkNvZGUoKVxuICAgICAgLnRoZW4oKGNvZGUpID0+IHtcbiAgICAgICAgY29uc3QgZGVmZXJyZWQgPSBRLmRlZmVyKCk7XG5cbiAgICAgICAgcmVxdWVzdFxuICAgICAgICAgIC5wb3N0KHRoaXMub3B0aW9ucy5hdXRoRW5kcG9pbnQgKyAndG9rZW4nKVxuICAgICAgICAgIC5xdWVyeSh7XG4gICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgY2xpZW50X2lkLFxuICAgICAgICAgICAgY2xpZW50X3NlY3JldCxcbiAgICAgICAgICAgIGdyYW50X3R5cGU6IHR5cGVcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFRva2VuID0gcmVzLmJvZHkucmVmcmVzaF90b2tlbjtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keS5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBkZWZlcnJlZC5wcm9taXNlO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRPcGVuSm9icyAoZmllbGRzID0gWycqJ10pIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLnNldHVwKClcbiAgICAgIC50aGVuKChyZXN0VG9rZW4pID0+IHtcbiAgICAgICAgdmFyIGRlZmVycmVkID0gUS5kZWZlcigpO1xuXG4gICAgICAgIHJlcXVlc3RcbiAgICAgICAgICAuZ2V0KHRoaXMuYnVpbGRVcmwoJ3F1ZXJ5L0pvYk9yZGVyJykpXG4gICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgIEJoUmVzdFRva2VuOiByZXN0VG9rZW4sXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkcy5qb2luKCcsJyksXG4gICAgICAgICAgICB3aGVyZTogJ2lzT3Blbj10cnVlJyxcbiAgICAgICAgICAgIGNvdW50OiA0OTlcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keS5kYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVzdFRva2VuICgpIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmxvZ2luKClcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlcy5CaFJlc3RUb2tlbjtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2VuZEZpbGUgKGVudGl0eSwgYmFzZTY0ZmlsZSwgZmlsZW5hbWUpIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLnNldHVwKClcbiAgICAgIC50aGVuKChyZXN0VG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgZGVmZXJyZWQgPSBRLmRlZmVyKCk7XG5cbiAgICAgICAgcmVxdWVzdFxuICAgICAgICAgIC5wdXQodGhpcy5idWlsZFVybCgnZmlsZS8nICsgZW50aXR5KSlcbiAgICAgICAgICAuc2VuZCh7XG4gICAgICAgICAgICBleHRlcm5hbElEOiAnY3YnLFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQ6IGJhc2U2NGZpbGUsXG4gICAgICAgICAgICBmaWxlVHlwZTogJ1NBTVBMRScsXG4gICAgICAgICAgICBuYW1lOiBmaWxlbmFtZVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgIEJoUmVzdFRva2VuOiByZXN0VG9rZW5cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNob3VsZEdldFJlc3RUb2tlbiAoKSB7XG4gICAgdmFyIHNob3VsZCA9IGZhbHNlO1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgLy8gSWYgbW9yZSB0aGFuIDggbWludXRlcyBwYXNzZWQgd2Ugc2hvdWxkIGdldCBhIG5ldyB0b2tlblxuICAgIGlmICghdGhpcy5fbG9naW5BdCB8fCBub3cgLSB0aGlzLl9sb2dpbkF0ID4gOCAqIDYwICogMTAwMCkge1xuICAgICAgc2hvdWxkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2hvdWxkO1xuICB9XG5cbiAgc2V0dXAgKCkge1xuICAgIHJldHVybiBRKClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdmFyIHJlc3VsdDtcbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkR2V0UmVzdFRva2VuKCkpIHtcbiAgICAgICAgICByZXN1bHQgPSB0aGlzLmdldFJlc3RUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IHRoaXMuX0JoUmVzdFRva2VuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KTtcbiAgfVxuXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,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a0IsY0FBYzs7O3FCQUFkLGNBQWMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVmYXVsdHMgZnJvbSAnbG9kYXNoLmRlZmF1bHRzJztcbmltcG9ydCBvbWl0IGZyb20gJ2xvZGFzaC5vbWl0JztcbmltcG9ydCByZXF1ZXN0IGZyb20gJ3N1cGVyYWdlbnQnO1xuaW1wb3J0IHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IFEgZnJvbSAncSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1bGxob3JuQ2xpZW50IHtcbiAgY29uc3RydWN0b3IgKG9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMub3B0aW9ucyA9IGRlZmF1bHRzKG9wdGlvbnMsIHtcbiAgICAgIGF1dGhFbmRwb2ludDogJ2h0dHBzOi8vYXV0aC5idWxsaG9ybnN0YWZmaW5nLmNvbS9vYXV0aC8nLFxuICAgICAgYXBpUm9vdDogJ2h0dHBzOi8vcmVzdC5idWxsaG9ybnN0YWZmaW5nLmNvbS9yZXN0LXNlcnZpY2VzLycsXG4gICAgICB2ZXJzaW9uOiAnMi4wJyxcbiAgICAgIHVzZXJuYW1lOiAnJyxcbiAgICAgIHBhc3N3b3JkOiAnJyxcbiAgICAgIGNsaWVudElkOiAnJyxcbiAgICAgIGNsaWVudFNlY3JldDogJycsXG4gICAgICBsb2dnZXI6IGNvbnNvbGUubG9nXG4gICAgfSk7XG5cbiAgICB0aGlzLmxvZ2dlciA9IHRoaXMub3B0aW9ucy5sb2dnZXI7XG4gIH1cblxuICBidWlsZFVybCAocGF0aCkge1xuICAgIHJldHVybiB0aGlzLl9yZXN0VXJsICsgYCR7cGF0aH1gO1xuICB9XG5cbiAgYXNzb2NpYXRlQ2FuZGlkYXRlVG9UZWVyc2hlZXQgKHRlZXJzaGVldElkLCBjYW5kaWRhdGVJZHMpIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLnNldHVwKClcbiAgICAgIC50aGVuKChyZXN0VG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgZGVmZXJyZWQgPSBRLmRlZmVyKCk7XG5cbiAgICAgICAgdGhpcy5sb2dnZXIoJ0Fzc29jaWF0aW5nIGNhbmRpZGF0ZSB0byB0ZWFyc2hlZXQnLCB7XG4gICAgICAgICAgdGVlcnNoZWV0SWQsXG4gICAgICAgICAgY2FuZGlkYXRlSWRzOiBjYW5kaWRhdGVJZHMuam9pbignLCcpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlcXVlc3RcbiAgICAgICAgICAucHV0KHRoaXMuYnVpbGRVcmwoYGVudGl0eS9UZWFyc2hlZXQvJHt0ZWVyc2hlZXRJZH0vY2FuZGlkYXRlcy8ke2NhbmRpZGF0ZUlkcy5qb2luKCcsJyl9YCkpXG4gICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgIEJoUmVzdFRva2VuOiByZXN0VG9rZW5cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUNhbmRpZGF0ZSAoY2FuZGlkYXRlKSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgICAgIC5zZXR1cCgpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtlbWFpbH0gPSBjYW5kaWRhdGU7XG4gICAgICAgIHZhciBwcm9taXNlO1xuXG4gICAgICAgIGlmIChlbWFpbCkge1xuICAgICAgICAgIHByb21pc2UgPSB0aGlzLmdldENhbmRpZGF0ZUJ5RW1haWwoZW1haWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb21pc2UgPSBRKClcbiAgICAgICAgICAgIC50aGVuKChyZXN0VG9rZW4pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZGVmZXJyZWQgPSBRLmRlZmVyKCk7XG5cbiAgICAgICAgICAgICAgcmVxdWVzdFxuICAgICAgICAgICAgICAucHV0KHRoaXMuYnVpbGRVcmwoJ2VudGl0eS9DYW5kaWRhdGUnKSlcbiAgICAgICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgICAgICBCaFJlc3RUb2tlbjogcmVzdFRva2VuXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5zZW5kKGNhbmRpZGF0ZSlcbiAgICAgICAgICAgICAgLmVuZCgoZXJyb3IsIHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgZGVmZXJyZWQucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keS5jaGFuZ2VkRW50aXR5SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUpvYlN1bWlzc2lvbiAoam9iU3VibWlzc2lvbikge1xuICAgIHJldHVybiB0aGlzXG4gICAgICAuc2V0dXAoKVxuICAgICAgLnRoZW4oKHJlc3RUb2tlbikgPT4ge1xuICAgICAgICBjb25zdCBkZWZlcnJlZCA9IFEuZGVmZXIoKTtcblxuICAgICAgICB0aGlzLmxvZ2dlcignQ3JlYXRpbmcgam9iIHN1Ym1pc3Npb24nLCB7XG4gICAgICAgICAgam9iU3VibWlzc2lvblxuICAgICAgICB9KTtcblxuICAgICAgICByZXF1ZXN0XG4gICAgICAgICAgLnB1dCh0aGlzLmJ1aWxkVXJsKCdlbnRpdHkvSm9iU3VibWlzc2lvbicpKVxuICAgICAgICAgIC5xdWVyeSh7XG4gICAgICAgICAgICBCaFJlc3RUb2tlbjogcmVzdFRva2VuXG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc2VuZChqb2JTdWJtaXNzaW9uKVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUNhbmRpZGF0ZUFuZEpvYlN1Ym1pc3Npb24gKGpvYklkLCBjYW5kaWRhdGUpIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmNyZWF0ZUNhbmRpZGF0ZShvbWl0KGNhbmRpZGF0ZSwgWydmaWxlJywgJ2ZpbGVOYW1lJ10pKVxuICAgICAgLnRoZW4oKGNhbmRpZGF0ZUlkKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XG5cbiAgICAgICAgcHJvbWlzZXMucHVzaCh0aGlzLmNyZWF0ZUpvYlN1bWlzc2lvbih7XG4gICAgICAgICAgY2FuZGlkYXRlOiB7XG4gICAgICAgICAgICBpZDogY2FuZGlkYXRlSWRcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYk9yZGVyOiB7XG4gICAgICAgICAgICBpZDogam9iSWRcbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0YXR1czogJ05ldyBMZWFkJyxcbiAgICAgICAgICBkYXRlV2ViUmVzcG9uc2U6IG5ldyBEYXRlKCkuZ2V0VGltZSgpXG4gICAgICAgIH0pKTtcblxuICAgICAgICBpZiAoY2FuZGlkYXRlLmZpbGUpIHtcbiAgICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMuc2VuZEZpbGUoJ0NhbmRpZGF0ZS8nICsgY2FuZGlkYXRlSWQsIGNhbmRpZGF0ZS5maWxlLCBjYW5kaWRhdGUuZmlsZU5hbWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBRLmFsbChwcm9taXNlcyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGxvZ2luICgpIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmdldEFjY2Vzc1Rva2VuKClcbiAgICAgIC50aGVuKChhY2Nlc3NUb2tlbikgPT4ge1xuICAgICAgICBjb25zdCBkZWZlcnJlZCA9IFEuZGVmZXIoKTtcblxuICAgICAgICByZXF1ZXN0XG4gICAgICAgICAgLmdldCh0aGlzLm9wdGlvbnMuYXBpUm9vdCArICdsb2dpbicpXG4gICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgIHZlcnNpb246IHRoaXMub3B0aW9ucy52ZXJzaW9uLFxuICAgICAgICAgICAgYWNjZXNzX3Rva2VuOiBhY2Nlc3NUb2tlblxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmVuZCgoZXJyb3IsIHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgIGRlZmVycmVkLnJlamVjdChlcnJvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLl9sb2dpbkF0ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICAgIHRoaXMuX3Jlc3RVcmwgPSByZXMuYm9keS5yZXN0VXJsO1xuICAgICAgICAgICAgICB0aGlzLl9CaFJlc3RUb2tlbiA9IHJlcy5ib2R5LkJoUmVzdFRva2VuO1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZXNvbHZlKHJlcy5ib2R5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICAgIH0pO1xuXG4gIH1cblxuICBnZXRBdXRob3JpemF0aW9uQ29kZSAoKSB7XG4gICAgY29uc3QgZGVmZXJyZWQgPSBRLmRlZmVyKCk7XG4gICAgY29uc3Qge3VzZXJuYW1lLCBwYXNzd29yZCwgY2xpZW50SWQ6IGNsaWVudF9pZH0gPSB0aGlzLm9wdGlvbnM7XG5cbiAgICB0aGlzLmxvZ2dlcignR2V0dGluZyBhdXRob3JpemF0aW9uIGNvZGUnKTtcblxuICAgIHJlcXVlc3RcbiAgICAgIC5wb3N0KHRoaXMub3B0aW9ucy5hdXRoRW5kcG9pbnQgKyAnYXV0aG9yaXplJylcbiAgICAgIC50eXBlKCdmb3JtJylcbiAgICAgIC5xdWVyeSh7XG4gICAgICAgIGNsaWVudF9pZCxcbiAgICAgICAgcmVzcG9uc2VfdHlwZTogJ2NvZGUnLFxuICAgICAgICBhY3Rpb246ICdMb2dpbidcbiAgICAgIH0pXG4gICAgICAuc2VuZCh7XG4gICAgICAgIHVzZXJuYW1lLFxuICAgICAgICBwYXNzd29yZFxuICAgICAgfSlcbiAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgZGVmZXJyZWQucmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjb2RlID0gdXJsLnBhcnNlKHJlcy5yZWRpcmVjdHNbMF0sIHRydWUpLnF1ZXJ5LmNvZGU7XG4gICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShjb2RlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgfVxuXG4gIGdldEFjY2Vzc1Rva2VuICh0eXBlID0gJ2F1dGhvcml6YXRpb25fY29kZScpIHtcbiAgICBjb25zdCB7Y2xpZW50SWQ6IGNsaWVudF9pZCwgY2xpZW50U2VjcmV0OiBjbGllbnRfc2VjcmV0fSA9IHRoaXMub3B0aW9ucztcblxuICAgIHJldHVybiB0aGlzXG4gICAgICAuZ2V0QXV0aG9yaXphdGlvbkNvZGUoKVxuICAgICAgLnRoZW4oKGNvZGUpID0+IHtcbiAgICAgICAgY29uc3QgZGVmZXJyZWQgPSBRLmRlZmVyKCk7XG5cbiAgICAgICAgdGhpcy5sb2dnZXIoJ0dldHRpbmcgYWNjZXNzIHRva2VuJyk7XG5cbiAgICAgICAgcmVxdWVzdFxuICAgICAgICAgIC5wb3N0KHRoaXMub3B0aW9ucy5hdXRoRW5kcG9pbnQgKyAndG9rZW4nKVxuICAgICAgICAgIC5xdWVyeSh7XG4gICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgY2xpZW50X2lkLFxuICAgICAgICAgICAgY2xpZW50X3NlY3JldCxcbiAgICAgICAgICAgIGdyYW50X3R5cGU6IHR5cGVcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFRva2VuID0gcmVzLmJvZHkucmVmcmVzaF90b2tlbjtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keS5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBkZWZlcnJlZC5wcm9taXNlO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRDYW5kaWRhdGVCeUVtYWlsIChlbWFpbCwgZmllbGRzID0gWycqJ10pIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLnNldHVwKClcbiAgICAgIC50aGVuKChyZXN0VG9rZW4pID0+IHtcbiAgICAgICAgdmFyIGRlZmVycmVkID0gUS5kZWZlcigpO1xuXG4gICAgICAgIHRoaXMubG9nZ2VyKCdGaW5kaW5nIGNhbmRpZGF0ZSBieSBlLW1haWwnLCB7XG4gICAgICAgICAgZW1haWwsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZHMuam9pbignLCcpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlcXVlc3RcbiAgICAgICAgICAuZ2V0KHRoaXMuYnVpbGRVcmwoJ2ZpbmQnKSlcbiAgICAgICAgICAucXVlcnkoe1xuICAgICAgICAgICAgQmhSZXN0VG9rZW46IHJlc3RUb2tlbixcbiAgICAgICAgICAgIHF1ZXJ5OiBlbWFpbFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmVuZCgoZXJyb3IsIHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGxldCBlbnRpdHlJZDtcbiAgICAgICAgICAgICAgcmVzLmJvZHkuZGF0YS5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS5lbnRpdHlUeXBlID09PSAnQ2FuZGlkYXRlJykge1xuICAgICAgICAgICAgICAgICAgZW50aXR5SWQgPSBlbnRyeS5lbnRpdHlJZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZXNvbHZlKGVudGl0eUlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0T3BlbkpvYnMgKGZpZWxkcyA9IFsnKiddKSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgICAgIC5zZXR1cCgpXG4gICAgICAudGhlbigocmVzdFRva2VuKSA9PiB7XG4gICAgICAgIHZhciBkZWZlcnJlZCA9IFEuZGVmZXIoKTtcblxuICAgICAgICB0aGlzLmxvZ2dlcignR2V0dGluZyBvcGVuIGpvYnMnLCB7XG4gICAgICAgICAgZmllbGRzOiBmaWVsZHMuam9pbignLCcpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlcXVlc3RcbiAgICAgICAgICAuZ2V0KHRoaXMuYnVpbGRVcmwoJ3F1ZXJ5L0pvYk9yZGVyJykpXG4gICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgIEJoUmVzdFRva2VuOiByZXN0VG9rZW4sXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkcy5qb2luKCcsJyksXG4gICAgICAgICAgICB3aGVyZTogJ2lzT3Blbj10cnVlJyxcbiAgICAgICAgICAgIGNvdW50OiA0OTlcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keS5kYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVzdFRva2VuICgpIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmxvZ2luKClcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlcy5CaFJlc3RUb2tlbjtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2VuZEZpbGUgKGVudGl0eSwgYmFzZTY0ZmlsZSwgZmlsZW5hbWUpIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLnNldHVwKClcbiAgICAgIC50aGVuKChyZXN0VG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgZGVmZXJyZWQgPSBRLmRlZmVyKCk7XG5cbiAgICAgICAgdGhpcy5sb2dnZXIoJ1NlbmRpbmcgZmlsZScsIHtcbiAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgZmlsZW5hbWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVxdWVzdFxuICAgICAgICAgIC5wdXQodGhpcy5idWlsZFVybCgnZmlsZS8nICsgZW50aXR5KSlcbiAgICAgICAgICAuc2VuZCh7XG4gICAgICAgICAgICBleHRlcm5hbElEOiAnY3YnLFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQ6IGJhc2U2NGZpbGUsXG4gICAgICAgICAgICBmaWxlVHlwZTogJ1NBTVBMRScsXG4gICAgICAgICAgICBuYW1lOiBmaWxlbmFtZVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgICAgIEJoUmVzdFRva2VuOiByZXN0VG9rZW5cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5lbmQoKGVycm9yLCByZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICBkZWZlcnJlZC5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShyZXMuYm9keSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNob3VsZEdldFJlc3RUb2tlbiAoKSB7XG4gICAgdmFyIHNob3VsZCA9IGZhbHNlO1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgLy8gSWYgbW9yZSB0aGFuIDggbWludXRlcyBwYXNzZWQgd2Ugc2hvdWxkIGdldCBhIG5ldyB0b2tlblxuICAgIGlmICghdGhpcy5fbG9naW5BdCB8fCBub3cgLSB0aGlzLl9sb2dpbkF0ID4gOCAqIDYwICogMTAwMCkge1xuICAgICAgc2hvdWxkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2hvdWxkO1xuICB9XG5cbiAgc2V0dXAgKCkge1xuICAgIHJldHVybiBRKClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdmFyIHJlc3VsdDtcbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkR2V0UmVzdFRva2VuKCkpIHtcbiAgICAgICAgICByZXN1bHQgPSB0aGlzLmdldFJlc3RUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IHRoaXMuX0JoUmVzdFRva2VuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KTtcbiAgfVxuXG59XG4iXX0=
{
"name": "bullhorn-client",
"version": "1.1.0",
"version": "1.2.0",
"description": "Bullhorn client",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc