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

node-tdd

Package Overview
Dependencies
Maintainers
1
Versions
167
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-tdd - npm Package Compare versions

Comparing version 2.12.0 to 2.12.1

20

lib/modules/request-recorder.js

@@ -80,6 +80,10 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }

nockBack.fixtures = opts.cassetteFolder;
nockListener.subscribe('no match', (_, req, body) => {
nockListener.subscribe('no match', (req, options, body) => {
assert(hasCassette === true);
if (anyFlagPresent(['magic', 'record'])) {
if (options === undefined) {
throw new Error('Please delete empty cassette instead of using "record" option.');
}
expectedCassette.push(async () => {

@@ -92,3 +96,3 @@ nockRecorder.rec({

await new Promise(resolve => {
const r = http.request(req, response => {
const r = http.request(options, response => {
response.on('data', () => {});

@@ -163,8 +167,6 @@ response.on('end', resolve);

},
afterRecord: recordings => JSON.stringify(opts.stripHeaders === true ? recordings.map(r => {
const res = _objectSpread({}, r);
delete res.rawHeaders;
return res;
}) : recordings, null, 2)
afterRecord: recordings => JSON.stringify(recordings.map(r => _objectSpread(_objectSpread({}, r), {}, {
body: tryParseJson(r.body),
rawHeaders: opts.stripHeaders === true ? undefined : r.rawHeaders
})), null, 2)
}, resolve));

@@ -219,2 +221,2 @@ },

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2R1bGVzL3JlcXVlc3QtcmVjb3JkZXIuanMiXSwibmFtZXMiOlsiYXNzZXJ0IiwicmVxdWlyZSIsImh0dHAiLCJwYXRoIiwiZnMiLCJKb2kiLCJub2NrIiwibm9ja0xpc3RlbmVyIiwiaGVhbFNxc1NlbmRNZXNzYWdlQmF0Y2giLCJidWlsZEtleSIsInRyeVBhcnNlSnNvbiIsImNvbnZlcnRIZWFkZXJzIiwibm9ja0JhY2siLCJiYWNrIiwibm9ja1JlY29yZGVyIiwicmVjb3JkZXIiLCJtb2R1bGUiLCJleHBvcnRzIiwib3B0cyIsIm9iamVjdCIsImtleXMiLCJjYXNzZXR0ZUZvbGRlciIsInN0cmluZyIsInN0cmlwSGVhZGVycyIsImJvb2xlYW4iLCJzdHJpY3QiLCJoZWFsIiwiYWx0ZXJuYXRpdmVzIiwibm9ja0RvbmUiLCJjYXNzZXR0ZUZpbGVQYXRoIiwia25vd25DYXNzZXR0ZU5hbWVzIiwicmVjb3JkcyIsIm91dE9mT3JkZXJFcnJvcnMiLCJleHBlY3RlZENhc3NldHRlIiwicGVuZGluZ01vY2tzIiwiYW55RmxhZ1ByZXNlbnQiLCJmbGFncyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIm5lZWRsZUZsYWdzIiwic3BsaXQiLCJzb21lIiwiZmxhZyIsImluY2x1ZGVzIiwiaW5qZWN0IiwiY2Fzc2V0dGVGaWxlIiwicHVzaCIsImpvaW4iLCJoYXNDYXNzZXR0ZSIsImV4aXN0c1N5bmMiLCJjYXNzZXR0ZUNvbnRlbnQiLCJzbWFydFJlYWQiLCJkZWZpbmUiLCJtYXAiLCJlIiwiaWR4Iiwia2V5IiwiaW50ZXJjZXB0b3JzIiwicmVjb3JkIiwic2V0TW9kZSIsImZpeHR1cmVzIiwic3Vic2NyaWJlIiwiXyIsInJlcSIsImJvZHkiLCJyZWMiLCJvdXRwdXRfb2JqZWN0cyIsImRvbnRfcHJpbnQiLCJlbmFibGVfcmVxaGVhZGVyc19yZWNvcmRpbmciLCJQcm9taXNlIiwicmVzb2x2ZSIsInIiLCJyZXF1ZXN0IiwicmVzcG9uc2UiLCJvbiIsIndyaXRlIiwiZW5kIiwicmVjb3JkZWQiLCJwbGF5IiwiY2xlYXIiLCJPYmplY3QiLCJhc3NpZ24iLCJoZWFkZXJzIiwidW5kZWZpbmVkIiwicmF3SGVhZGVycyIsImJlZm9yZSIsInNjb3BlIiwic2NvcGVJZHgiLCJmaWx0ZXJpbmdSZXF1ZXN0Qm9keSIsImZpbmRJbmRleCIsIm0iLCJyZXF1ZXN0Qm9keSIsImZpbHRlcmluZ1BhdGgiLCJyZXF1ZXN0UGF0aCIsImFmdGVyIiwiaW50ZXJjZXB0b3IiLCJyZXF1ZXN0Qm9keVN0cmluZyIsInJlc3BvbnNlQm9keSIsInJlZHVjZSIsInJlc3BCb2R5IiwiZm4iLCJzcGxpY2UiLCJhZnRlclJlY29yZCIsInJlY29yZGluZ3MiLCJKU09OIiwic3RyaW5naWZ5IiwicmVzIiwicmVsZWFzZSIsInVuc3Vic2NyaWJlQWxsIiwic21hcnRXcml0ZSIsImtlZXBPcmRlciIsIkVycm9yIiwic2h1dGRvd24iLCJ1bmV4cGVjdGVkRmlsZXMiLCJ3YWxrRGlyIiwiZmlsdGVyIiwiZiIsImdldCIsInNsaWNlIiwidW5tYXRjaGVkUmVjb3JkaW5ncyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsTUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUF0Qjs7QUFDQSxNQUFNQyxJQUFJLEdBQUdELE9BQU8sQ0FBQyxNQUFELENBQXBCOztBQUNBLE1BQU1FLElBQUksR0FBR0YsT0FBTyxDQUFDLE1BQUQsQ0FBcEI7O0FBQ0EsTUFBTUcsRUFBRSxHQUFHSCxPQUFPLENBQUMsVUFBRCxDQUFsQjs7QUFDQSxNQUFNSSxHQUFHLEdBQUdKLE9BQU8sQ0FBQyxZQUFELENBQW5COztBQUNBLE1BQU1LLElBQUksR0FBR0wsT0FBTyxDQUFDLE1BQUQsQ0FBcEI7O0FBQ0EsTUFBTU0sWUFBWSxHQUFHTixPQUFPLENBQUMsa0NBQUQsQ0FBNUI7O0FBQ0EsTUFBTU8sdUJBQXVCLEdBQUdQLE9BQU8sQ0FBQyxnREFBRCxDQUF2Qzs7QUFDQSxNQUFNO0FBQUVRLEVBQUFBLFFB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ZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7XG5jb25zdCBodHRwID0gcmVxdWlyZSgnaHR0cCcpO1xuY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbmNvbnN0IGZzID0gcmVxdWlyZSgnc21hcnQtZnMnKTtcbmNvbnN0IEpvaSA9IHJlcXVpcmUoJ2pvaS1zdHJpY3QnKTtcbmNvbnN0IG5vY2sgPSByZXF1aXJlKCdub2NrJyk7XG5jb25zdCBub2NrTGlzdGVuZXIgPSByZXF1aXJlKCcuL3JlcXVlc3QtcmVjb3JkZXIvbm9jay1saXN0ZW5lcicpO1xuY29uc3QgaGVhbFNxc1NlbmRNZXNzYWdlQmF0Y2ggPSByZXF1aXJlKCcuL3JlcXVlc3QtcmVjb3JkZXIvaGVhbC1zcXMtc2VuZC1tZXNzYWdlLWJhdGNoJyk7XG5jb25zdCB7IGJ1aWxkS2V5LCB0cnlQYXJzZUpzb24sIGNvbnZlcnRIZWFkZXJzIH0gPSByZXF1aXJlKCcuL3JlcXVlc3QtcmVjb3JkZXIvdXRpbCcpO1xuXG5jb25zdCBub2NrQmFjayA9IG5vY2suYmFjaztcbmNvbnN0IG5vY2tSZWNvcmRlciA9IG5vY2sucmVjb3JkZXI7XG5cbm1vZHVsZS5leHBvcnRzID0gKG9wdHMpID0+IHtcbiAgSm9pLmFzc2VydChvcHRzLCBKb2kub2JqZWN0KCkua2V5cyh7XG4gICAgY2Fzc2V0dGVGb2xkZXI6IEpvaS5zdHJpbmcoKSxcbiAgICBzdHJpcEhlYWRlcnM6IEpvaS5ib29sZWFuKCksXG4gICAgc3RyaWN0OiBKb2kuYm9vbGVhbigpLFxuICAgIGhlYWw6IEpvaS5hbHRlcm5hdGl2ZXMoSm9pLmJvb2xlYW4oKSwgSm9pLnN0cmluZygpKVxuICB9KSwgJ0ludmFsaWQgT3B0aW9ucyBQcm92aWRlZCcpO1xuICBsZXQgbm9ja0RvbmUgPSBudWxsO1xuICBsZXQgY2Fzc2V0dGVGaWxlUGF0aCA9IG51bGw7XG4gIGNvbnN0IGtub3duQ2Fzc2V0dGVOYW1lcyA9IFtdO1xuICBjb25zdCByZWNvcmRzID0gW107XG4gIGNvbnN0IG91dE9mT3JkZXJFcnJvcnMgPSBbXTtcbiAgY29uc3QgZXhwZWN0ZWRDYXNzZXR0ZSA9IFtdO1xuICBjb25zdCBwZW5kaW5nTW9ja3MgPSBbXTtcblxuICBjb25zdCBhbnlGbGFnUHJlc2VudCA9IChmbGFncykgPT4ge1xuICAgIGFzc2VydChBcnJheS5pc0FycmF5KGZsYWdzKSAmJiBmbGFncy5sZW5ndGggIT09IDApO1xuICAgIGlmICh0eXBlb2Ygb3B0cy5oZWFsICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBuZWVkbGVGbGFncyA9IG9wdHMuaGVhbC5zcGxpdCgnLCcpO1xuICAgIHJldHVybiBmbGFncy5zb21lKChmbGFnKSA9PiBuZWVkbGVGbGFncy5pbmNsdWRlcyhmbGFnKSk7XG4gIH07XG5cbiAgcmV0dXJuICh7XG4gICAgaW5qZWN0OiBhc3luYyAoY2Fzc2V0dGVGaWxlKSA9PiB7XG4gICAgICBhc3NlcnQobm9ja0RvbmUgPT09IG51bGwpO1xuICAgICAga25vd25DYXNzZXR0ZU5hbWVzLnB1c2goY2Fzc2V0dGVGaWxlKTtcbiAgICAgIHJlY29yZHMubGVuZ3RoID0gMDtcbiAgICAgIG91dE9mT3JkZXJFcnJvcnMubGVuZ3RoID0gMDtcbiAgICAgIGV4cGVjdGVkQ2Fzc2V0dGUubGVuZ3RoID0gMDtcbiAgICAgIHBlbmRpbmdNb2Nrcy5sZW5ndGggPSAwO1xuXG4gICAgICBjYXNzZXR0ZUZpbGVQYXRoID0gcGF0aC5qb2luKG9wdHMuY2Fzc2V0dGVGb2xkZXIsIGNhc3NldHRlRmlsZSk7XG4gICAgICBjb25zdCBoYXNDYXNzZXR0ZSA9IGZzLmV4aXN0c1N5bmMoY2Fzc2V0dGVGaWxlUGF0aCk7XG4gICAgICBpZiAoaGFzQ2Fzc2V0dGUpIHtcbiAgICAgICAgY29uc3QgY2Fzc2V0dGVDb250ZW50ID0gZnMuc21hcnRSZWFkKGNhc3NldHRlRmlsZVBhdGgpO1xuICAgICAgICBwZW5kaW5nTW9ja3MucHVzaCguLi5ub2NrXG4gICAgICAgICAgLmRlZmluZShjYXNzZXR0ZUNvbnRlbnQpXG4gICAgICAgICAgLm1hcCgoZSwgaWR4KSA9PiAoe1xuICAgICAgICAgICAgaWR4LFxuICAgICAgICAgICAga2V5OiBidWlsZEtleShlLmludGVyY2VwdG9yc1swXSksXG4gICAgICAgICAgICByZWNvcmQ6IGNhc3NldHRlQ29udGVudFtpZHhdXG4gICAgICAgICAgfSkpKTtcbiAgICAgIH1cblxuICAgICAgbm9ja0JhY2suc2V0TW9kZShoYXNDYXNzZXR0ZSA/ICdsb2NrZG93bicgOiAncmVjb3JkJyk7XG4gICAgICBub2NrQmFjay5maXh0dXJlcyA9IG9wdHMuY2Fzc2V0dGVGb2xkZXI7XG4gICAgICBub2NrTGlzdGVuZXIuc3Vic2NyaWJlKCdubyBtYXRjaCcsIChfLCByZXEsIGJvZHkpID0+IHtcbiAgICAgICAgYXNzZXJ0KGhhc0Nhc3NldHRlID09PSB0cnVlKTtcbiAgICAgICAgaWYgKGFueUZsYWdQcmVzZW50KFsnbWFnaWMnLCAncmVjb3JkJ10pKSB7XG4gICAgICAgICAgZXhwZWN0ZWRDYXNzZXR0ZS5wdXNoKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIG5vY2tSZWNvcmRlci5yZWMoe1xuICAgICAgICAgICAgICBvdXRwdXRfb2JqZWN0czogdHJ1ZSxcbiAgICAgICAgICAgICAgZG9udF9wcmludDogdHJ1ZSxcbiAgICAgICAgICAgICAgZW5hYmxlX3JlcWhlYWRlcnNfcmVjb3JkaW5nOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByID0gaHR0cC5yZXF1ZXN0KHJlcSwgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2Uub24oJ2RhdGEnLCAoKSA9PiB7fSk7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2Uub24oJ2VuZCcsIHJlc29sdmUpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgci53cml0ZShib2R5KTtcbiAgICAgICAgICAgICAgci5lbmQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkZWQgPSBub2NrUmVjb3JkZXIucGxheSgpO1xuICAgICAgICAgICAgbm9ja1JlY29yZGVyLmNsZWFyKCk7XG4gICAgICAgICAgICByZXR1cm4gcmVjb3JkZWQubWFwKChyZWNvcmQpID0+IE9iamVjdC5hc3NpZ24ocmVjb3JkLCB7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IG9wdHMuc3RyaXBIZWFkZXJzID09PSB0cnVlID8gdW5kZWZpbmVkIDogY29udmVydEhlYWRlcnMocmVjb3JkLnJhd0hlYWRlcnMpLFxuICAgICAgICAgICAgICByYXdIZWFkZXJzOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFueUZsYWdQcmVzZW50KFsnbWFnaWMnLCAncHJ1bmUnXSkpIHtcbiAgICAgICAgICBleHBlY3RlZENhc3NldHRlLnB1c2goLi4ucGVuZGluZ01vY2tzLm1hcCgoeyByZWNvcmQgfSkgPT4gcmVjb3JkKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbm9ja0RvbmUgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gbm9ja0JhY2soY2Fzc2V0dGVGaWxlLCB7XG4gICAgICAgIGJlZm9yZTogKHNjb3BlLCBzY29wZUlkeCkgPT4ge1xuICAgICAgICAgIHJlY29yZHMucHVzaCh7IC4uLnNjb3BlIH0pO1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgIHNjb3BlLmZpbHRlcmluZ1JlcXVlc3RCb2R5ID0gKGJvZHkpID0+IHtcbiAgICAgICAgICAgIGlmIChhbnlGbGFnUHJlc2VudChbJ21hZ2ljJywgJ2JvZHknXSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgaWR4ID0gcGVuZGluZ01vY2tzLmZpbmRJbmRleCgobSkgPT4gbS5pZHggPT09IHNjb3BlSWR4KTtcbiAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdEJvZHkgPSB0cnlQYXJzZUpzb24oYm9keSk7XG4gICAgICAgICAgICAgIHBlbmRpbmdNb2Nrc1tpZHhdLnJlY29yZC5ib2R5ID0gcmVxdWVzdEJvZHkgPT09IG51bGwgPyAnbnVsbCcgOiByZXF1ZXN0Qm9keTtcbiAgICAgICAgICAgICAgcmV0dXJuIHNjb3BlLmJvZHk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYm9keTtcbiAgICAgICAgICB9O1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgIHNjb3BlLmZpbHRlcmluZ1BhdGggPSAocmVxdWVzdFBhdGgpID0+IHtcbiAgICAgICAgICAgIGlmIChhbnlGbGFnUHJlc2VudChbJ21hZ2ljJywgJ3BhdGgnXSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgaWR4ID0gcGVuZGluZ01vY2tzLmZpbmRJbmRleCgobSkgPT4gbS5pZHggPT09IHNjb3BlSWR4KTtcbiAgICAgICAgICAgICAgcGVuZGluZ01vY2tzW2lkeF0ucmVjb3JkLnBhdGggPSByZXF1ZXN0UGF0aDtcbiAgICAgICAgICAgICAgcmV0dXJuIHNjb3BlLnBhdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdFBhdGg7XG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gc2NvcGU7XG4gICAgICAgIH0sXG4gICAgICAgIGFmdGVyOiAoc2NvcGUsIHNjb3BlSWR4KSA9PiB7XG4gICAgICAgICAgc2NvcGUub24oJ3JlcXVlc3QnLCAocmVxLCBpbnRlcmNlcHRvciwgcmVxdWVzdEJvZHlTdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlkeCA9IHBlbmRpbmdNb2Nrcy5maW5kSW5kZXgoKGUpID0+IGUuaWR4ID09PSBzY29wZUlkeCk7XG5cbiAgICAgICAgICAgIGlmIChhbnlGbGFnUHJlc2VudChbJ21hZ2ljJywgJ3Jlc3BvbnNlJ10pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlQm9keSA9IHRyeVBhcnNlSnNvbihbXG4gICAgICAgICAgICAgICAgaGVhbFNxc1NlbmRNZXNzYWdlQmF0Y2hcbiAgICAgICAgICAgICAgXS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHJlc3BCb2R5LCBmbikgPT4gZm4ocmVxdWVzdEJvZHlTdHJpbmcsIHJlc3BCb2R5LCBzY29wZSksXG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0b3IuYm9keVxuICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgICAgIGludGVyY2VwdG9yLmJvZHkgPSByZXNwb25zZUJvZHk7XG4gICAgICAgICAgICAgIHBlbmRpbmdNb2Nrc1tpZHhdLnJlY29yZC5yZXNwb25zZSA9IHJlc3BvbnNlQm9keTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXhwZWN0ZWRDYXNzZXR0ZS5wdXNoKHBlbmRpbmdNb2Nrc1tpZHhdLnJlY29yZCk7XG4gICAgICAgICAgICBpZiAoaWR4ICE9PSAwKSB7XG4gICAgICAgICAgICAgIG91dE9mT3JkZXJFcnJvcnMucHVzaChwZW5kaW5nTW9ja3NbaWR4XS5rZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGVuZGluZ01vY2tzLnNwbGljZShpZHgsIDEpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBhZnRlclJlY29yZDogKHJlY29yZGluZ3MpID0+IEpTT05cbiAgICAgICAgICAuc3RyaW5naWZ5KG9wdHMuc3RyaXBIZWFkZXJzID09PSB0cnVlID8gcmVjb3JkaW5ncy5tYXAoKHIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IHsgLi4uciB9O1xuICAgICAgICAgICAgZGVsZXRlIHJlcy5yYXdIZWFkZXJzO1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICB9KSA6IHJlY29yZGluZ3MsIG51bGwsIDIpXG4gICAgICB9LCByZXNvbHZlKSk7XG4gICAgfSxcbiAgICByZWxlYXNlOiBhc3luYyAoKSA9PiB7XG4gICAgICBhc3NlcnQobm9ja0RvbmUgIT09IG51bGwpO1xuICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgZXhwZWN0ZWRDYXNzZXR0ZS5sZW5ndGg7IGlkeCArPSAxKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZXhwZWN0ZWRDYXNzZXR0ZVtpZHhdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWF3YWl0LWluLWxvb3BcbiAgICAgICAgICBleHBlY3RlZENhc3NldHRlLnNwbGljZShpZHgsIDEsIC4uLmF3YWl0IGV4cGVjdGVkQ2Fzc2V0dGVbaWR4XSgpKTtcbiAgICAgICAgICBpZHggLT0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbm9ja0RvbmUoKTtcbiAgICAgIG5vY2tEb25lID0gbnVsbDtcbiAgICAgIG5vY2tMaXN0ZW5lci51bnN1YnNjcmliZUFsbCgnbm8gbWF0Y2gnKTtcbiAgICAgIGlmIChvcHRzLmhlYWwgIT09IGZhbHNlKSB7XG4gICAgICAgIGZzLnNtYXJ0V3JpdGUoY2Fzc2V0dGVGaWxlUGF0aCwgZXhwZWN0ZWRDYXNzZXR0ZSwge1xuICAgICAgICAgIGtlZXBPcmRlcjogb3V0T2ZPcmRlckVycm9ycy5sZW5ndGggPT09IDAgJiYgcGVuZGluZ01vY2tzLmxlbmd0aCA9PT0gMFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRzLnN0cmljdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgaWYgKG91dE9mT3JkZXJFcnJvcnMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBPdXQgb2YgT3JkZXIgUmVjb3JkaW5nczogJHtvdXRPZk9yZGVyRXJyb3JzLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBlbmRpbmdNb2Nrcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVubWF0Y2hlZCBSZWNvcmRpbmdzOiAke3BlbmRpbmdNb2Nrcy5tYXAoKGUpID0+IGUua2V5KS5qb2luKCcsICcpfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBzaHV0ZG93bjogKCkgPT4ge1xuICAgICAgY29uc3QgdW5leHBlY3RlZEZpbGVzID0gZnMud2Fsa0RpcihvcHRzLmNhc3NldHRlRm9sZGVyKS5maWx0ZXIoKGYpID0+ICFrbm93bkNhc3NldHRlTmFtZXMuaW5jbHVkZXMoZikpO1xuICAgICAgaWYgKHVuZXhwZWN0ZWRGaWxlcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGZpbGUocykgaW4gY2Fzc2V0dGUgZm9sZGVyOiAke3VuZXhwZWN0ZWRGaWxlcy5qb2luKCcsICcpfWApO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiAoKSA9PiAoe1xuICAgICAgcmVjb3JkczogcmVjb3Jkcy5zbGljZSgpLFxuICAgICAgb3V0T2ZPcmRlckVycm9yczogb3V0T2ZPcmRlckVycm9ycy5zbGljZSgpLFxuICAgICAgdW5tYXRjaGVkUmVjb3JkaW5nczogcGVuZGluZ01vY2tzLm1hcCgoZSkgPT4gZS5rZXkpLnNsaWNlKCksXG4gICAgICBleHBlY3RlZENhc3NldHRlOiBleHBlY3RlZENhc3NldHRlLnNsaWNlKCksXG4gICAgICBjYXNzZXR0ZUZpbGVQYXRoXG4gICAgfSlcbiAgfSk7XG59O1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2R1bGVzL3JlcXVlc3QtcmVjb3JkZXIuanMiXSwibmFtZXMiOlsiYXNzZXJ0IiwicmVxdWlyZSIsImh0dHAiLCJwYXRoIiwiZnMiLCJKb2kiLCJub2NrIiwibm9ja0xpc3RlbmVyIiwiaGVhbFNxc1NlbmRNZXNzYWdlQmF0Y2giLCJidWlsZEtleSIsInRyeVBhcnNlSnNvbiIsImNvbnZlcnRIZWFkZXJzIiwibm9ja0JhY2siLCJiYWNrIiwibm9ja1JlY29yZGVyIiwicmVjb3JkZXIiLCJtb2R1bGUiLCJleHBvcnRzIiwib3B0cyIsIm9iamVjdCIsImtleXMiLCJjYXNzZXR0ZUZvbGRlciIsInN0cmluZyIsInN0cmlwSGVhZGVycyIsImJvb2xlYW4iLCJzdHJpY3QiLCJoZWFsIiwiYWx0ZXJuYXRpdmVzIiwibm9ja0RvbmUiLCJjYXNzZXR0ZUZpbGVQYXRoIiwia25vd25DYXNzZXR0ZU5hbWVzIiwicmVjb3JkcyIsIm91dE9mT3JkZXJFcnJvcnMiLCJleHBlY3RlZENhc3NldHRlIiwicGVuZGluZ01vY2tzIiwiYW55RmxhZ1ByZXNlbnQiLCJmbGFncyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIm5lZWRsZUZsYWdzIiwic3BsaXQiLCJzb21lIiwiZmxhZyIsImluY2x1ZGVzIiwiaW5qZWN0IiwiY2Fzc2V0dGVGaWxlIiwicHVzaCIsImpvaW4iLCJoYXNDYXNzZXR0ZSIsImV4aXN0c1N5bmMiLCJjYXNzZXR0ZUNvbnRlbnQiLCJzbWFydFJlYWQiLCJkZWZpbmUiLCJtYXAiLCJlIiwiaWR4Iiwia2V5IiwiaW50ZXJjZXB0b3JzIiwicmVjb3JkIiwic2V0TW9kZSIsImZpeHR1cmVzIiwic3Vic2NyaWJlIiwicmVxIiwib3B0aW9ucyIsImJvZHkiLCJ1bmRlZmluZWQiLCJFcnJvciIsInJlYyIsIm91dHB1dF9vYmplY3RzIiwiZG9udF9wcmludCIsImVuYWJsZV9yZXFoZWFkZXJzX3JlY29yZGluZyIsIlByb21pc2UiLCJyZXNvbHZlIiwiciIsInJlcXVlc3QiLCJyZXNwb25zZSIsIm9uIiwid3JpdGUiLCJlbmQiLCJyZWNvcmRlZCIsInBsYXkiLCJjbGVhciIsIk9iamVjdCIsImFzc2lnbiIsImhlYWRlcnMiLCJyYXdIZWFkZXJzIiwiYmVmb3JlIiwic2NvcGUiLCJzY29wZUlkeCIsImZpbHRlcmluZ1JlcXVlc3RCb2R5IiwiZmluZEluZGV4IiwibSIsInJlcXVlc3RCb2R5IiwiZmlsdGVyaW5nUGF0aCIsInJlcXVlc3RQYXRoIiwiYWZ0ZXIiLCJpbnRlcmNlcHRvciIsInJlcXVlc3RCb2R5U3RyaW5nIiwicmVzcG9uc2VCb2R5IiwicmVkdWNlIiwicmVzcEJvZHkiLCJmbiIsInNwbGljZSIsImFmdGVyUmVjb3JkIiwicmVjb3JkaW5ncyIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZWxlYXNlIiwidW5zdWJzY3JpYmVBbGwiLCJzbWFydFdyaXRlIiwia2VlcE9yZGVyIiwic2h1dGRvd24iLCJ1bmV4cGVjdGVkRmlsZXMiLCJ3YWxrRGlyIiwiZmlsdGVyIiwiZiIsImdldCIsInNsaWNlIiwidW5tYXRjaGVkUmVjb3JkaW5ncyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsTUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUF0Qjs7QUFDQSxNQUFNQyxJQUFJLEdBQUdELE9BQU8sQ0FBQyxNQUFELENBQXBCOztBQUNBLE1BQU1FLElBQUksR0FBR0YsT0FBTyxDQUFDLE1BQUQsQ0FBcEI7O0FBQ0EsTUFBTUcsRUFBRSxHQUFHSCxPQUFPLENBQUMsVUFBRCxDQUFsQjs7QUFDQSxNQUFNSSxHQUFHLEdBQUdKLE9BQU8sQ0FBQyxZQUFELENBQW5COztBQUNBLE1BQU1LLElBQUksR0FBR0wsT0FBTyxDQUFDLE1BQUQsQ0FBcEI7O0FBQ0EsTUFBTU0sWUFBWSxHQUFHTixPQUFPLENBQUMsa0NBQUQsQ0FBNUI7O0FBQ0EsTUFBTU8sdUJBQXVCLEdBQUdQLE9BQU8sQ0FBQyxnREFBRCxDQUF2Qzs7QUFDQSxNQUFNO0FBQUVRLEVBQUFBLFFB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LGdCQUFnQixDQUFDcUYsS0FBakIsRUFKUjtBQUtWekYsTUFBQUE7QUFMVSxLQUFQO0FBOUlDLEdBQVI7QUFzSkQsQ0E5S0QiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBhc3NlcnQgPSByZXF1aXJlKCdhc3NlcnQnKTtcbmNvbnN0IGh0dHAgPSByZXF1aXJlKCdodHRwJyk7XG5jb25zdCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuY29uc3QgZnMgPSByZXF1aXJlKCdzbWFydC1mcycpO1xuY29uc3QgSm9pID0gcmVxdWlyZSgnam9pLXN0cmljdCcpO1xuY29uc3Qgbm9jayA9IHJlcXVpcmUoJ25vY2snKTtcbmNvbnN0IG5vY2tMaXN0ZW5lciA9IHJlcXVpcmUoJy4vcmVxdWVzdC1yZWNvcmRlci9ub2NrLWxpc3RlbmVyJyk7XG5jb25zdCBoZWFsU3FzU2VuZE1lc3NhZ2VCYXRjaCA9IHJlcXVpcmUoJy4vcmVxdWVzdC1yZWNvcmRlci9oZWFsLXNxcy1zZW5kLW1lc3NhZ2UtYmF0Y2gnKTtcbmNvbnN0IHsgYnVpbGRLZXksIHRyeVBhcnNlSnNvbiwgY29udmVydEhlYWRlcnMgfSA9IHJlcXVpcmUoJy4vcmVxdWVzdC1yZWNvcmRlci91dGlsJyk7XG5cbmNvbnN0IG5vY2tCYWNrID0gbm9jay5iYWNrO1xuY29uc3Qgbm9ja1JlY29yZGVyID0gbm9jay5yZWNvcmRlcjtcblxubW9kdWxlLmV4cG9ydHMgPSAob3B0cykgPT4ge1xuICBKb2kuYXNzZXJ0KG9wdHMsIEpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICBjYXNzZXR0ZUZvbGRlcjogSm9pLnN0cmluZygpLFxuICAgIHN0cmlwSGVhZGVyczogSm9pLmJvb2xlYW4oKSxcbiAgICBzdHJpY3Q6IEpvaS5ib29sZWFuKCksXG4gICAgaGVhbDogSm9pLmFsdGVybmF0aXZlcyhKb2kuYm9vbGVhbigpLCBKb2kuc3RyaW5nKCkpXG4gIH0pLCAnSW52YWxpZCBPcHRpb25zIFByb3ZpZGVkJyk7XG4gIGxldCBub2NrRG9uZSA9IG51bGw7XG4gIGxldCBjYXNzZXR0ZUZpbGVQYXRoID0gbnVsbDtcbiAgY29uc3Qga25vd25DYXNzZXR0ZU5hbWVzID0gW107XG4gIGNvbnN0IHJlY29yZHMgPSBbXTtcbiAgY29uc3Qgb3V0T2ZPcmRlckVycm9ycyA9IFtdO1xuICBjb25zdCBleHBlY3RlZENhc3NldHRlID0gW107XG4gIGNvbnN0IHBlbmRpbmdNb2NrcyA9IFtdO1xuXG4gIGNvbnN0IGFueUZsYWdQcmVzZW50ID0gKGZsYWdzKSA9PiB7XG4gICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoZmxhZ3MpICYmIGZsYWdzLmxlbmd0aCAhPT0gMCk7XG4gICAgaWYgKHR5cGVvZiBvcHRzLmhlYWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IG5lZWRsZUZsYWdzID0gb3B0cy5oZWFsLnNwbGl0KCcsJyk7XG4gICAgcmV0dXJuIGZsYWdzLnNvbWUoKGZsYWcpID0+IG5lZWRsZUZsYWdzLmluY2x1ZGVzKGZsYWcpKTtcbiAgfTtcblxuICByZXR1cm4gKHtcbiAgICBpbmplY3Q6IGFzeW5jIChjYXNzZXR0ZUZpbGUpID0+IHtcbiAgICAgIGFzc2VydChub2NrRG9uZSA9PT0gbnVsbCk7XG4gICAgICBrbm93bkNhc3NldHRlTmFtZXMucHVzaChjYXNzZXR0ZUZpbGUpO1xuICAgICAgcmVjb3Jkcy5sZW5ndGggPSAwO1xuICAgICAgb3V0T2ZPcmRlckVycm9ycy5sZW5ndGggPSAwO1xuICAgICAgZXhwZWN0ZWRDYXNzZXR0ZS5sZW5ndGggPSAwO1xuICAgICAgcGVuZGluZ01vY2tzLmxlbmd0aCA9IDA7XG5cbiAgICAgIGNhc3NldHRlRmlsZVBhdGggPSBwYXRoLmpvaW4ob3B0cy5jYXNzZXR0ZUZvbGRlciwgY2Fzc2V0dGVGaWxlKTtcbiAgICAgIGNvbnN0IGhhc0Nhc3NldHRlID0gZnMuZXhpc3RzU3luYyhjYXNzZXR0ZUZpbGVQYXRoKTtcbiAgICAgIGlmIChoYXNDYXNzZXR0ZSkge1xuICAgICAgICBjb25zdCBjYXNzZXR0ZUNvbnRlbnQgPSBmcy5zbWFydFJlYWQoY2Fzc2V0dGVGaWxlUGF0aCk7XG4gICAgICAgIHBlbmRpbmdNb2Nrcy5wdXNoKC4uLm5vY2tcbiAgICAgICAgICAuZGVmaW5lKGNhc3NldHRlQ29udGVudClcbiAgICAgICAgICAubWFwKChlLCBpZHgpID0+ICh7XG4gICAgICAgICAgICBpZHgsXG4gICAgICAgICAgICBrZXk6IGJ1aWxkS2V5KGUuaW50ZXJjZXB0b3JzWzBdKSxcbiAgICAgICAgICAgIHJlY29yZDogY2Fzc2V0dGVDb250ZW50W2lkeF1cbiAgICAgICAgICB9KSkpO1xuICAgICAgfVxuXG4gICAgICBub2NrQmFjay5zZXRNb2RlKGhhc0Nhc3NldHRlID8gJ2xvY2tkb3duJyA6ICdyZWNvcmQnKTtcbiAgICAgIG5vY2tCYWNrLmZpeHR1cmVzID0gb3B0cy5jYXNzZXR0ZUZvbGRlcjtcbiAgICAgIG5vY2tMaXN0ZW5lci5zdWJzY3JpYmUoJ25vIG1hdGNoJywgKHJlcSwgb3B0aW9ucywgYm9keSkgPT4ge1xuICAgICAgICBhc3NlcnQoaGFzQ2Fzc2V0dGUgPT09IHRydWUpO1xuICAgICAgICBpZiAoYW55RmxhZ1ByZXNlbnQoWydtYWdpYycsICdyZWNvcmQnXSkpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBkZWxldGUgZW1wdHkgY2Fzc2V0dGUgaW5zdGVhZCBvZiB1c2luZyBcInJlY29yZFwiIG9wdGlvbi4nKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXhwZWN0ZWRDYXNzZXR0ZS5wdXNoKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIG5vY2tSZWNvcmRlci5yZWMoe1xuICAgICAgICAgICAgICBvdXRwdXRfb2JqZWN0czogdHJ1ZSxcbiAgICAgICAgICAgICAgZG9udF9wcmludDogdHJ1ZSxcbiAgICAgICAgICAgICAgZW5hYmxlX3JlcWhlYWRlcnNfcmVjb3JkaW5nOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByID0gaHR0cC5yZXF1ZXN0KG9wdGlvbnMsIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLm9uKCdkYXRhJywgKCkgPT4ge30pO1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLm9uKCdlbmQnLCByZXNvbHZlKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHIud3JpdGUoYm9keSk7XG4gICAgICAgICAgICAgIHIuZW5kKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZGVkID0gbm9ja1JlY29yZGVyLnBsYXkoKTtcbiAgICAgICAgICAgIG5vY2tSZWNvcmRlci5jbGVhcigpO1xuICAgICAgICAgICAgcmV0dXJuIHJlY29yZGVkLm1hcCgocmVjb3JkKSA9PiBPYmplY3QuYXNzaWduKHJlY29yZCwge1xuICAgICAgICAgICAgICBoZWFkZXJzOiBvcHRzLnN0cmlwSGVhZGVycyA9PT0gdHJ1ZSA/IHVuZGVmaW5lZCA6IGNvbnZlcnRIZWFkZXJzKHJlY29yZC5yYXdIZWFkZXJzKSxcbiAgICAgICAgICAgICAgcmF3SGVhZGVyczogdW5kZWZpbmVkXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFhbnlGbGFnUHJlc2VudChbJ21hZ2ljJywgJ3BydW5lJ10pKSB7XG4gICAgICAgICAgZXhwZWN0ZWRDYXNzZXR0ZS5wdXNoKC4uLnBlbmRpbmdNb2Nrcy5tYXAoKHsgcmVjb3JkIH0pID0+IHJlY29yZCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG5vY2tEb25lID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IG5vY2tCYWNrKGNhc3NldHRlRmlsZSwge1xuICAgICAgICBiZWZvcmU6IChzY29wZSwgc2NvcGVJZHgpID0+IHtcbiAgICAgICAgICByZWNvcmRzLnB1c2goeyAuLi5zY29wZSB9KTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICBzY29wZS5maWx0ZXJpbmdSZXF1ZXN0Qm9keSA9IChib2R5KSA9PiB7XG4gICAgICAgICAgICBpZiAoYW55RmxhZ1ByZXNlbnQoWydtYWdpYycsICdib2R5J10pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlkeCA9IHBlbmRpbmdNb2Nrcy5maW5kSW5kZXgoKG0pID0+IG0uaWR4ID09PSBzY29wZUlkeCk7XG4gICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0gdHJ5UGFyc2VKc29uKGJvZHkpO1xuICAgICAgICAgICAgICBwZW5kaW5nTW9ja3NbaWR4XS5yZWNvcmQuYm9keSA9IHJlcXVlc3RCb2R5ID09PSBudWxsID8gJ251bGwnIDogcmVxdWVzdEJvZHk7XG4gICAgICAgICAgICAgIHJldHVybiBzY29wZS5ib2R5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGJvZHk7XG4gICAgICAgICAgfTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICBzY29wZS5maWx0ZXJpbmdQYXRoID0gKHJlcXVlc3RQYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYW55RmxhZ1ByZXNlbnQoWydtYWdpYycsICdwYXRoJ10pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlkeCA9IHBlbmRpbmdNb2Nrcy5maW5kSW5kZXgoKG0pID0+IG0uaWR4ID09PSBzY29wZUlkeCk7XG4gICAgICAgICAgICAgIHBlbmRpbmdNb2Nrc1tpZHhdLnJlY29yZC5wYXRoID0gcmVxdWVzdFBhdGg7XG4gICAgICAgICAgICAgIHJldHVybiBzY29wZS5wYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RQYXRoO1xuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHNjb3BlO1xuICAgICAgICB9LFxuICAgICAgICBhZnRlcjogKHNjb3BlLCBzY29wZUlkeCkgPT4ge1xuICAgICAgICAgIHNjb3BlLm9uKCdyZXF1ZXN0JywgKHJlcSwgaW50ZXJjZXB0b3IsIHJlcXVlc3RCb2R5U3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpZHggPSBwZW5kaW5nTW9ja3MuZmluZEluZGV4KChlKSA9PiBlLmlkeCA9PT0gc2NvcGVJZHgpO1xuXG4gICAgICAgICAgICBpZiAoYW55RmxhZ1ByZXNlbnQoWydtYWdpYycsICdyZXNwb25zZSddKSkge1xuICAgICAgICAgICAgICBjb25zdCByZXNwb25zZUJvZHkgPSB0cnlQYXJzZUpzb24oW1xuICAgICAgICAgICAgICAgIGhlYWxTcXNTZW5kTWVzc2FnZUJhdGNoXG4gICAgICAgICAgICAgIF0ucmVkdWNlKFxuICAgICAgICAgICAgICAgIChyZXNwQm9keSwgZm4pID0+IGZuKHJlcXVlc3RCb2R5U3RyaW5nLCByZXNwQm9keSwgc2NvcGUpLFxuICAgICAgICAgICAgICAgIGludGVyY2VwdG9yLmJvZHlcbiAgICAgICAgICAgICAgKSk7XG4gICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgICBpbnRlcmNlcHRvci5ib2R5ID0gcmVzcG9uc2VCb2R5O1xuICAgICAgICAgICAgICBwZW5kaW5nTW9ja3NbaWR4XS5yZWNvcmQucmVzcG9uc2UgPSByZXNwb25zZUJvZHk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGV4cGVjdGVkQ2Fzc2V0dGUucHVzaChwZW5kaW5nTW9ja3NbaWR4XS5yZWNvcmQpO1xuICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCkge1xuICAgICAgICAgICAgICBvdXRPZk9yZGVyRXJyb3JzLnB1c2gocGVuZGluZ01vY2tzW2lkeF0ua2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBlbmRpbmdNb2Nrcy5zcGxpY2UoaWR4LCAxKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgYWZ0ZXJSZWNvcmQ6IChyZWNvcmRpbmdzKSA9PiBKU09OLnN0cmluZ2lmeShyZWNvcmRpbmdzLm1hcCgocikgPT4gKHtcbiAgICAgICAgICAuLi5yLFxuICAgICAgICAgIGJvZHk6IHRyeVBhcnNlSnNvbihyLmJvZHkpLFxuICAgICAgICAgIHJhd0hlYWRlcnM6IG9wdHMuc3RyaXBIZWFkZXJzID09PSB0cnVlID8gdW5kZWZpbmVkIDogci5yYXdIZWFkZXJzXG4gICAgICAgIH0pKSwgbnVsbCwgMilcbiAgICAgIH0sIHJlc29sdmUpKTtcbiAgICB9LFxuICAgIHJlbGVhc2U6IGFzeW5jICgpID0+IHtcbiAgICAgIGFzc2VydChub2NrRG9uZSAhPT0gbnVsbCk7XG4gICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCBleHBlY3RlZENhc3NldHRlLmxlbmd0aDsgaWR4ICs9IDEpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBleHBlY3RlZENhc3NldHRlW2lkeF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgICAgIGV4cGVjdGVkQ2Fzc2V0dGUuc3BsaWNlKGlkeCwgMSwgLi4uYXdhaXQgZXhwZWN0ZWRDYXNzZXR0ZVtpZHhdKCkpO1xuICAgICAgICAgIGlkeCAtPSAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBub2NrRG9uZSgpO1xuICAgICAgbm9ja0RvbmUgPSBudWxsO1xuICAgICAgbm9ja0xpc3RlbmVyLnVuc3Vic2NyaWJlQWxsKCdubyBtYXRjaCcpO1xuICAgICAgaWYgKG9wdHMuaGVhbCAhPT0gZmFsc2UpIHtcbiAgICAgICAgZnMuc21hcnRXcml0ZShjYXNzZXR0ZUZpbGVQYXRoLCBleHBlY3RlZENhc3NldHRlLCB7XG4gICAgICAgICAga2VlcE9yZGVyOiBvdXRPZk9yZGVyRXJyb3JzLmxlbmd0aCA9PT0gMCAmJiBwZW5kaW5nTW9ja3MubGVuZ3RoID09PSAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKG9wdHMuc3RyaWN0ICE9PSBmYWxzZSkge1xuICAgICAgICBpZiAob3V0T2ZPcmRlckVycm9ycy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE91dCBvZiBPcmRlciBSZWNvcmRpbmdzOiAke291dE9mT3JkZXJFcnJvcnMuam9pbignLCAnKX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGVuZGluZ01vY2tzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5tYXRjaGVkIFJlY29yZGluZ3M6ICR7cGVuZGluZ01vY2tzLm1hcCgoZSkgPT4gZS5rZXkpLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHNodXRkb3duOiAoKSA9PiB7XG4gICAgICBjb25zdCB1bmV4cGVjdGVkRmlsZXMgPSBmcy53YWxrRGlyKG9wdHMuY2Fzc2V0dGVGb2xkZXIpLmZpbHRlcigoZikgPT4gIWtub3duQ2Fzc2V0dGVOYW1lcy5pbmNsdWRlcyhmKSk7XG4gICAgICBpZiAodW5leHBlY3RlZEZpbGVzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgZmlsZShzKSBpbiBjYXNzZXR0ZSBmb2xkZXI6ICR7dW5leHBlY3RlZEZpbGVzLmpvaW4oJywgJyl9YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXQ6ICgpID0+ICh7XG4gICAgICByZWNvcmRzOiByZWNvcmRzLnNsaWNlKCksXG4gICAgICBvdXRPZk9yZGVyRXJyb3JzOiBvdXRPZk9yZGVyRXJyb3JzLnNsaWNlKCksXG4gICAgICB1bm1hdGNoZWRSZWNvcmRpbmdzOiBwZW5kaW5nTW9ja3MubWFwKChlKSA9PiBlLmtleSkuc2xpY2UoKSxcbiAgICAgIGV4cGVjdGVkQ2Fzc2V0dGU6IGV4cGVjdGVkQ2Fzc2V0dGUuc2xpY2UoKSxcbiAgICAgIGNhc3NldHRlRmlsZVBhdGhcbiAgICB9KVxuICB9KTtcbn07XG4iXX0=
module.exports.buildKey = interceptor => `${interceptor.method} ${interceptor.basePath}${interceptor.uri}`;
module.exports.tryParseJson = value => {
if (typeof value !== 'string') {
return value;
}
try {

@@ -20,2 +24,2 @@ return JSON.parse(value);

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL3JlcXVlc3QtcmVjb3JkZXIvdXRpbC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiYnVpbGRLZXkiLCJpbnRlcmNlcHRvciIsIm1ldGhvZCIsImJhc2VQYXRoIiwidXJpIiwidHJ5UGFyc2VKc29uIiwidmFsdWUiLCJKU09OIiwicGFyc2UiLCJlIiwiY29udmVydEhlYWRlcnMiLCJhcnJheSIsIm9iaiIsImlkeCIsImxlbmd0aCIsInRvTG93ZXJDYXNlIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxPQUFQLENBQWVDLFFBQWYsR0FBMkJDLFdBQUQsSUFBa0IsR0FBRUEsV0FBVyxDQUFDQyxNQUFPLElBQUdELFdBQVcsQ0FBQ0UsUUFBUyxHQUFFRixXQUFXLENBQUNHLEdBQUksRUFBM0c7O0FBRUFOLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlTSxZQUFmLEdBQStCQyxLQUFELElBQVc7QUFDdkMsTUFBSTtBQUNGLFdBQU9DLElBQUksQ0FBQ0MsS0FBTCxDQUFXRixLQUFYLENBQVA7QUFDRCxHQUZELENBRUUsT0FBT0csQ0FBUCxFQUFVO0FBQ1YsV0FBT0gsS0FBUDtBQUNEO0FBQ0YsQ0FORDs7QUFRQVIsTUFBTSxDQUFDQyxPQUFQLENBQWVXLGNBQWYsR0FBaUNDLEtBQUQsSUFBVztBQUN6QyxRQUFNQyxHQUFHLEdBQUcsRUFBWjs7QUFDQSxPQUFLLElBQUlDLEdBQUcsR0FBRyxDQUFmLEVBQWtCQSxHQUFHLEdBQUdGLEtBQUssQ0FBQ0csTUFBOUIsRUFBc0NELEdBQUcsSUFBSSxDQUE3QyxFQUFnRDtBQUM5Q0QsSUFBQUEsR0FBRyxDQUFDRCxLQUFLLENBQUNFLEdBQUQsQ0FBTCxDQUFXRSxXQUFYLEVBQUQsQ0FBSCxHQUFnQ0osS0FBSyxDQUFDRSxHQUFHLEdBQUcsQ0FBUCxDQUFyQztBQUNEOztBQUNELFNBQU9ELEdBQVA7QUFDRCxDQU5EIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMuYnVpbGRLZXkgPSAoaW50ZXJjZXB0b3IpID0+IGAke2ludGVyY2VwdG9yLm1ldGhvZH0gJHtpbnRlcmNlcHRvci5iYXNlUGF0aH0ke2ludGVyY2VwdG9yLnVyaX1gO1xuXG5tb2R1bGUuZXhwb3J0cy50cnlQYXJzZUpzb24gPSAodmFsdWUpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzLmNvbnZlcnRIZWFkZXJzID0gKGFycmF5KSA9PiB7XG4gIGNvbnN0IG9iaiA9IHt9O1xuICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCBhcnJheS5sZW5ndGg7IGlkeCArPSAyKSB7XG4gICAgb2JqW2FycmF5W2lkeF0udG9Mb3dlckNhc2UoKV0gPSBhcnJheVtpZHggKyAxXTtcbiAgfVxuICByZXR1cm4gb2JqO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL3JlcXVlc3QtcmVjb3JkZXIvdXRpbC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiYnVpbGRLZXkiLCJpbnRlcmNlcHRvciIsIm1ldGhvZCIsImJhc2VQYXRoIiwidXJpIiwidHJ5UGFyc2VKc29uIiwidmFsdWUiLCJKU09OIiwicGFyc2UiLCJlIiwiY29udmVydEhlYWRlcnMiLCJhcnJheSIsIm9iaiIsImlkeCIsImxlbmd0aCIsInRvTG93ZXJDYXNlIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxPQUFQLENBQWVDLFFBQWYsR0FBMkJDLFdBQUQsSUFBa0IsR0FBRUEsV0FBVyxDQUFDQyxNQUFPLElBQUdELFdBQVcsQ0FBQ0UsUUFBUyxHQUFFRixXQUFXLENBQUNHLEdBQUksRUFBM0c7O0FBRUFOLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlTSxZQUFmLEdBQStCQyxLQUFELElBQVc7QUFDdkMsTUFBSSxPQUFPQSxLQUFQLEtBQWlCLFFBQXJCLEVBQStCO0FBQzdCLFdBQU9BLEtBQVA7QUFDRDs7QUFDRCxNQUFJO0FBQ0YsV0FBT0MsSUFBSSxDQUFDQyxLQUFMLENBQVdGLEtBQVgsQ0FBUDtBQUNELEdBRkQsQ0FFRSxPQUFPRyxDQUFQLEVBQVU7QUFDVixXQUFPSCxLQUFQO0FBQ0Q7QUFDRixDQVREOztBQVdBUixNQUFNLENBQUNDLE9BQVAsQ0FBZVcsY0FBZixHQUFpQ0MsS0FBRCxJQUFXO0FBQ3pDLFFBQU1DLEdBQUcsR0FBRyxFQUFaOztBQUNBLE9BQUssSUFBSUMsR0FBRyxHQUFHLENBQWYsRUFBa0JBLEdBQUcsR0FBR0YsS0FBSyxDQUFDRyxNQUE5QixFQUFzQ0QsR0FBRyxJQUFJLENBQTdDLEVBQWdEO0FBQzlDRCxJQUFBQSxHQUFHLENBQUNELEtBQUssQ0FBQ0UsR0FBRCxDQUFMLENBQVdFLFdBQVgsRUFBRCxDQUFILEdBQWdDSixLQUFLLENBQUNFLEdBQUcsR0FBRyxDQUFQLENBQXJDO0FBQ0Q7O0FBQ0QsU0FBT0QsR0FBUDtBQUNELENBTkQiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cy5idWlsZEtleSA9IChpbnRlcmNlcHRvcikgPT4gYCR7aW50ZXJjZXB0b3IubWV0aG9kfSAke2ludGVyY2VwdG9yLmJhc2VQYXRofSR7aW50ZXJjZXB0b3IudXJpfWA7XG5cbm1vZHVsZS5leHBvcnRzLnRyeVBhcnNlSnNvbiA9ICh2YWx1ZSkgPT4ge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMuY29udmVydEhlYWRlcnMgPSAoYXJyYXkpID0+IHtcbiAgY29uc3Qgb2JqID0ge307XG4gIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGFycmF5Lmxlbmd0aDsgaWR4ICs9IDIpIHtcbiAgICBvYmpbYXJyYXlbaWR4XS50b0xvd2VyQ2FzZSgpXSA9IGFycmF5W2lkeCArIDFdO1xuICB9XG4gIHJldHVybiBvYmo7XG59O1xuIl19
{
"name": "node-tdd",
"version": "2.12.0",
"version": "2.12.1",
"description": "Drop in extension for mocha to abstract commonly used test setups",

@@ -45,7 +45,7 @@ "main": "lib/index.js",

"@babel/core": "7.10.2",
"@babel/plugin-proposal-object-rest-spread": "7.10.1",
"@babel/register": "7.10.1",
"@babel/plugin-proposal-object-rest-spread": "7.10.3",
"@babel/register": "7.10.3",
"@blackflux/eslint-plugin-rules": "1.3.30",
"@blackflux/robo-config-plugin": "3.4.11",
"aws-sdk": "2.699.0",
"@blackflux/robo-config-plugin": "3.4.12",
"aws-sdk": "2.701.0",
"aws-sdk-wrap": "4.4.7",

@@ -52,0 +52,0 @@ "babel-eslint": "10.1.0",

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