Socket
Socket
Sign inDemoInstall

atom-haskell-utils

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

atom-haskell-utils - npm Package Compare versions

Comparing version 1.0.2 to 2.0.0

bin/cabal2json-darwin

47

lib/util.js

@@ -126,15 +126,44 @@ "use strict";

const HS = require("../hs/hs.min.js");
async function parseDotCabal(cabalSource) {
const CP = require("child_process");
const cabal2jsonPath = process.env.ATOM_HASKELL_CABAL2JSONPATH
? process.env.ATOM_HASKELL_CABAL2JSONPATH
: path.join(__dirname, '..', 'bin', 'cabal2json-' +
process.platform +
(process.platform === 'win32' ? '.exe' : ''));
async function runCabal2Json(cabalSource, args, def) {
return new Promise((resolve) => {
HS.parseDotCabal(cabalSource, resolve);
const cp = CP.execFile(cabal2jsonPath, args, function (error, stdout, _stderr) {
if (error) {
atom.notifications.addError('Atom-Haskell core error in getComponentFromFile', {
detail: error.message,
dismissable: true,
});
resolve(def);
}
else {
resolve(JSON.parse(stdout));
}
});
try {
cp.stdin.write(cabalSource, 'utf8');
cp.stdin.end();
}
catch (e) {
atom.notifications.addError('Atom-Haskell core error in getComponentFromFile', {
detail: e.message,
dismissable: true,
});
try {
cp.kill();
}
catch (e2) { }
}
});
}
async function parseDotCabal(cabalSource) {
return runCabal2Json(cabalSource, [], null);
}
exports.parseDotCabal = parseDotCabal;
async function getComponentFromFile(cabalSource, filePath) {
const fp = process.platform === 'win32'
? filePath.replace(path.sep, path.posix.sep)
: filePath;
return new Promise((resolve) => {
HS.getComponentFromFile(cabalSource, fp, resolve);
});
return runCabal2Json(cabalSource, [filePath], []);
}

@@ -175,2 +204,2 @@ exports.getComponentFromFile = getComponentFromFile;

exports.hsEscapeString = HS.hsEscapeString;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsK0JBQWtEO0FBQ2xELHlCQUF3QjtBQUN4Qiw2QkFBNEI7QUFFNUIsb0JBQW9CLEdBQVE7SUFDMUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUE7QUFDaEUsQ0FBQztBQUVELHNCQUFzQixDQUFNO0lBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUNwQixDQUFDO0FBRUQscUJBQ0UsR0FBMkM7SUFFM0MsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakIsTUFBTSxDQUFDLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQztZQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3ZDLENBQUM7UUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUNkLENBQUM7SUFDSCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixNQUFNLENBQUMsS0FBSyxDQUFBO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFqQkQsa0NBaUJDO0FBRUQsNEJBQW1DLElBQTZCO0lBQzlELElBQUksR0FBRyxHQUFxQixJQUFJLENBQUE7SUFDaEMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNULENBQUM7UUFBQSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPO2FBQ2xCLGNBQWMsRUFBRTthQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBQ0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ1QsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUNELEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQztRQUM3QyxHQUFHLEdBQUcsSUFBSSxDQUFBO0lBQ1osQ0FBQztJQUNELEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDVCxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ3hCLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLEdBQUcsR0FBRyxJQUFJLGdCQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxDQUFBO0FBQ1osQ0FBQztBQXJCRCxnREFxQkM7QUFFTSxLQUFLLHdCQUNWLEdBQWM7SUFFZCxNQUFNLENBQUMsSUFBSSxPQUFPLENBQTBCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQzlELEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDakMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNWLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNmLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNuQixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtBQUNILENBQUM7QUFaRCxzQ0FZQztBQUVELEtBQUssMEJBQTBCLENBQVk7SUFDekMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxDQUFDLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLENBQUMsQ0FBQyxNQUFNLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbEMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUNqRSxDQUFBO0FBQ0gsQ0FBQztBQUVELEtBQUssNEJBQTRCLENBQVk7SUFDM0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxDQUFDLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLENBQUMsQ0FBQyxNQUFNLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbEMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssc0JBQXNCLENBQ3pFLENBQUE7QUFDSCxDQUFDO0FBRUQsS0FBSywwQkFDSCxDQUFZLEVBQ1osS0FBeUM7SUFFekMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUNELEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sTUFBTSxDQUFDLElBQUksQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDO0FBRU0sS0FBSyxxQkFDVixLQUF3QztJQUV4QyxJQUFJLElBQTZCLENBQUE7SUFDakMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDekIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUMsSUFBSSxHQUFHLElBQUksV0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pCLElBQUk7WUFBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLEdBQUcsS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELElBQUksR0FBcUIsQ0FBQTtJQUN6QixFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixHQUFHLEdBQUcsSUFBSSxnQkFBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNOLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxlQUFlLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFBO0lBQzdELE1BQU0sV0FBVyxHQUFHLE1BQU0sZUFBZSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2pFLEdBQUcsR0FBRyxTQUFTLElBQUksV0FBVyxDQUFBO0lBQzlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQTtBQUNaLENBQUM7QUE1QkQsZ0NBNEJDO0FBRUQsc0NBQXNDO0FBRy9CLEtBQUssd0JBQXdCLFdBQW1CO0lBQ3JELE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBc0IsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsRCxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN4QyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFKRCxzQ0FJQztBQUNNLEtBQUssK0JBQ1YsV0FBbUIsRUFDbkIsUUFBZ0I7SUFFaEIsTUFBTSxFQUFFLEdBQ04sT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPO1FBQzFCLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDNUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtJQUNkLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3ZDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ25ELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQVhELG9EQVdDO0FBQ00sS0FBSyxnQkFBZ0IsUUFBZ0IsRUFBRSxNQUFjO0lBQzFELE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM3QyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDVixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUMxQixDQUFDO1lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNqQixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUMsQ0FBQTtZQUM3RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFaRCxzQkFZQztBQUNELHVCQUF1QixDQUFNO0lBQzNCLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFBO0FBQ3BELENBQUM7QUFDTSxLQUFLLCtCQUErQixNQUFjO0lBQ3ZELE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBb0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDeEQsRUFBRSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3pDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUNqQyxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQVZELG9EQVVDO0FBQ1ksMENBQWMsQ0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOiBuby1udWxsLWtleXdvcmRcbmltcG9ydCB7IERpcmVjdG9yeSwgRmlsZSwgVGV4dEJ1ZmZlciB9IGZyb20gJ2F0b20nXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcydcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCdcblxuZnVuY3Rpb24gaGFzR2V0UGF0aChkaXI6IGFueSk6IGRpciBpcyBEaXJlY3RvcnkgfCBGaWxlIHtcbiAgcmV0dXJuIGRpciAmJiBkaXIuZ2V0UGF0aCAmJiB0eXBlb2YgZGlyLmdldFBhdGggPT09ICdmdW5jdGlvbidcbn1cblxuZnVuY3Rpb24gaXNUZXh0QnVmZmVyKHg6IGFueSk6IHggaXMgVGV4dEJ1ZmZlciB7XG4gIHJldHVybiB4ICYmIHguZmlsZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEaXJlY3RvcnkoXG4gIGRpcjogRmlsZSB8IERpcmVjdG9yeSB8IHN0cmluZyB8IG51bGwgfCBhbnksXG4pOiBib29sZWFuIHtcbiAgaWYgKGRpciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGlmIChoYXNHZXRQYXRoKGRpcikpIHtcbiAgICByZXR1cm4gaXNEaXJlY3RvcnkoZGlyLmdldFBhdGgoKSlcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGlyID09PSAnc3RyaW5nJykge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZnMuc3RhdFN5bmMoZGlyKS5pc0RpcmVjdG9yeSgpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290RGlyRmFsbGJhY2soZmlsZTogRmlsZSB8IERpcmVjdG9yeSB8IG51bGwpOiBEaXJlY3Rvcnkge1xuICBsZXQgZGlyOiBEaXJlY3RvcnkgfCBudWxsID0gbnVsbFxuICBpZiAoZmlsZSkge1xuICAgIDtbZGlyXSA9IGF0b20ucHJvamVjdFxuICAgICAgLmdldERpcmVjdG9yaWVzKClcbiAgICAgIC5maWx0ZXIoKGQpID0+IGQuY29udGFpbnMoZmlsZS5nZXRQYXRoKCkpKVxuICB9XG4gIGlmICghZGlyKSB7XG4gICAgZGlyID0gYXRvbS5wcm9qZWN0LmdldERpcmVjdG9yaWVzKClbMF1cbiAgfVxuICBpZiAoZGlyICYmIGRpci5nZXRQYXRoKCkgPT09ICdhdG9tOi8vY29uZmlnJykge1xuICAgIGRpciA9IG51bGxcbiAgfVxuICBpZiAoIShkaXIgJiYgaXNEaXJlY3RvcnkoZGlyKSkpIHtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgZGlyID0gZmlsZS5nZXRQYXJlbnQoKVxuICAgIH0gZWxzZSB7XG4gICAgICBkaXIgPSBuZXcgRGlyZWN0b3J5KCcuJylcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRpclxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGlyRW50cmllcyhcbiAgZGlyOiBEaXJlY3RvcnksXG4pOiBQcm9taXNlPEFycmF5PERpcmVjdG9yeSB8IEZpbGU+PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxBcnJheTxEaXJlY3RvcnkgfCBGaWxlPj4oKHJlc29sdmUsIHJlamVjdCkgPT5cbiAgICBkaXIuZ2V0RW50cmllcygoZXJyb3IsIGNvbnRlbnRzKSA9PiB7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KGVycm9yKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShjb250ZW50cylcbiAgICAgIH1cbiAgICB9KSxcbiAgKVxufVxuXG5hc3luYyBmdW5jdGlvbiBkaXJIYXNDYWJhbEZpbGUoZDogRGlyZWN0b3J5KSB7XG4gIGlmICghZCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHJldHVybiAoYXdhaXQgZ2V0RGlyRW50cmllcyhkKSkuc29tZShcbiAgICAoZmlsZSkgPT4gZmlsZS5pc0ZpbGUoKSAmJiBmaWxlLmdldEJhc2VOYW1lKCkuZW5kc1dpdGgoJy5jYWJhbCcpLFxuICApXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRpckhhc1NhbmRib3hGaWxlKGQ6IERpcmVjdG9yeSkge1xuICBpZiAoIWQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICByZXR1cm4gKGF3YWl0IGdldERpckVudHJpZXMoZCkpLnNvbWUoXG4gICAgKGZpbGUpID0+IGZpbGUuaXNGaWxlKCkgJiYgZmlsZS5nZXRCYXNlTmFtZSgpID09PSAnY2FiYWwuc2FuZGJveC5jb25maWcnLFxuICApXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZpbmRQcm9qZWN0Um9vdChcbiAgZDogRGlyZWN0b3J5LFxuICBjaGVjazogKGQ6IERpcmVjdG9yeSkgPT4gUHJvbWlzZTxib29sZWFuPixcbikge1xuICB3aGlsZSAoIShkLmlzUm9vdCgpIHx8IChhd2FpdCBjaGVjayhkKSkpKSB7XG4gICAgZCA9IGQgJiYgZC5nZXRQYXJlbnQoKVxuICB9XG4gIGlmIChhd2FpdCBjaGVjayhkKSkge1xuICAgIHJldHVybiBkXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Um9vdERpcihcbiAgaW5wdXQ6IFRleHRCdWZmZXIgfCBGaWxlIHwgc3RyaW5nIHwgbnVsbCxcbik6IFByb21pc2U8RGlyZWN0b3J5PiB7XG4gIGxldCBmaWxlOiBGaWxlIHwgRGlyZWN0b3J5IHwgbnVsbFxuICBpZiAoaXNUZXh0QnVmZmVyKGlucHV0KSkge1xuICAgIGNvbnN0IHAgPSBpbnB1dC5nZXRQYXRoKClcbiAgICBpZiAocCkgZmlsZSA9IG5ldyBGaWxlKHApXG4gICAgZWxzZSBmaWxlID0gbnVsbFxuICB9IGVsc2UgaWYgKGhhc0dldFBhdGgoaW5wdXQpKSB7XG4gICAgZmlsZSA9IGlucHV0XG4gIH0gZWxzZSBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgIGZpbGUgPSBuZXcgRmlsZShpbnB1dClcbiAgfSBlbHNlIHtcbiAgICBmaWxlID0gbnVsbFxuICB9XG4gIGxldCBkaXI6IERpcmVjdG9yeSB8IG51bGxcbiAgaWYgKGZpbGUgJiYgaXNEaXJlY3RvcnkoZmlsZSkpIHtcbiAgICBkaXIgPSBuZXcgRGlyZWN0b3J5KGZpbGUuZ2V0UGF0aCgpKVxuICB9IGVsc2Uge1xuICAgIGRpciA9IChmaWxlICYmIGZpbGUuZ2V0UGFyZW50KCkpIHx8IGdldFJvb3REaXJGYWxsYmFjayhmaWxlKVxuICB9XG4gIGNvbnN0IGNhYmFsUm9vdCA9IGF3YWl0IGZpbmRQcm9qZWN0Um9vdChkaXIsIGRpckhhc0NhYmFsRmlsZSlcbiAgY29uc3Qgc2FuZGJveFJvb3QgPSBhd2FpdCBmaW5kUHJvamVjdFJvb3QoZGlyLCBkaXJIYXNTYW5kYm94RmlsZSlcbiAgZGlyID0gY2FiYWxSb290IHx8IHNhbmRib3hSb290XG4gIGlmICghKGRpciAmJiBpc0RpcmVjdG9yeShkaXIpKSkge1xuICAgIGRpciA9IGdldFJvb3REaXJGYWxsYmFjayhmaWxlKVxuICB9XG4gIHJldHVybiBkaXJcbn1cblxuaW1wb3J0IEhTID0gcmVxdWlyZSgnLi4vaHMvaHMubWluLmpzJylcbmV4cG9ydCB7IElUYXJnZXQsIElEb3RDYWJhbCwgSUltcG9ydCwgSU1vZHVsZUltcG9ydHMgfSBmcm9tICcuLi9ocy9ocy5taW4uanMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYXJzZURvdENhYmFsKGNhYmFsU291cmNlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPEhTLklEb3RDYWJhbCB8IG51bGw+KChyZXNvbHZlKSA9PiB7XG4gICAgSFMucGFyc2VEb3RDYWJhbChjYWJhbFNvdXJjZSwgcmVzb2x2ZSlcbiAgfSlcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDb21wb25lbnRGcm9tRmlsZShcbiAgY2FiYWxTb3VyY2U6IHN0cmluZyxcbiAgZmlsZVBhdGg6IHN0cmluZyxcbikge1xuICBjb25zdCBmcCA9XG4gICAgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuICAgICAgPyBmaWxlUGF0aC5yZXBsYWNlKHBhdGguc2VwLCBwYXRoLnBvc2l4LnNlcClcbiAgICAgIDogZmlsZVBhdGhcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZ1tdPigocmVzb2x2ZSkgPT4ge1xuICAgIEhTLmdldENvbXBvbmVudEZyb21GaWxlKGNhYmFsU291cmNlLCBmcCwgcmVzb2x2ZSlcbiAgfSlcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1bmxpdChmaWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZykge1xuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgSFMudW5saXQoZmlsZW5hbWUsIHNvdXJjZSwgKGVycm9yLCByZXN1bHQpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKGVycm9yKSlcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0KSB7XG4gICAgICAgIHJlc29sdmUocmVzdWx0KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignVW5rbm93biBlcnJvciB3aGVuIHRyeWluZyB0byBydW4gdW5saXQnKSlcbiAgICAgIH1cbiAgICB9KVxuICB9KVxufVxuZnVuY3Rpb24gaXNFcnJvclJlc3VsdCh4OiBhbnkpOiB4IGlzIHsgZXJyb3I6IHN0cmluZyB9IHtcbiAgcmV0dXJuIHggJiYgeC5lcnJvciAmJiB0eXBlb2YgeC5lcnJvciA9PT0gJ3N0cmluZydcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYXJzZUhzTW9kdWxlSW1wb3J0cyhzb3VyY2U6IHN0cmluZykge1xuICByZXR1cm4gbmV3IFByb21pc2U8SFMuSU1vZHVsZUltcG9ydHM+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBIUy5wYXJzZUhzTW9kdWxlSW1wb3J0cyhzb3VyY2UsIChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChpc0Vycm9yUmVzdWx0KHJlc3VsdCkpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihyZXN1bHQuZXJyb3IpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShyZXN1bHQpXG4gICAgICB9XG4gICAgfSlcbiAgfSlcbn1cbmV4cG9ydCBsZXQgeyBoc0VzY2FwZVN0cmluZyB9ID0gSFNcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsK0JBQWtEO0FBQ2xELHlCQUF3QjtBQUN4Qiw2QkFBNEI7QUFFNUIsb0JBQW9CLEdBQVE7SUFDMUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUE7QUFDaEUsQ0FBQztBQUVELHNCQUFzQixDQUFNO0lBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUNwQixDQUFDO0FBRUQscUJBQ0UsR0FBMkM7SUFFM0MsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakIsTUFBTSxDQUFDLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQztZQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3ZDLENBQUM7UUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUNkLENBQUM7SUFDSCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixNQUFNLENBQUMsS0FBSyxDQUFBO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFqQkQsa0NBaUJDO0FBRUQsNEJBQW1DLElBQTZCO0lBQzlELElBQUksR0FB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QUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDakMsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNqQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFWRCxvREFVQztBQUNZLDBDQUFjLENBQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTogbm8tbnVsbC1rZXl3b3JkXG5pbXBvcnQgeyBEaXJlY3RvcnksIEZpbGUsIFRleHRCdWZmZXIgfSBmcm9tICdhdG9tJ1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXG5cbmZ1bmN0aW9uIGhhc0dldFBhdGgoZGlyOiBhbnkpOiBkaXIgaXMgRGlyZWN0b3J5IHwgRmlsZSB7XG4gIHJldHVybiBkaXIgJiYgZGlyLmdldFBhdGggJiYgdHlwZW9mIGRpci5nZXRQYXRoID09PSAnZnVuY3Rpb24nXG59XG5cbmZ1bmN0aW9uIGlzVGV4dEJ1ZmZlcih4OiBhbnkpOiB4IGlzIFRleHRCdWZmZXIge1xuICByZXR1cm4geCAmJiB4LmZpbGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlyZWN0b3J5KFxuICBkaXI6IEZpbGUgfCBEaXJlY3RvcnkgfCBzdHJpbmcgfCBudWxsIHwgYW55LFxuKTogYm9vbGVhbiB7XG4gIGlmIChkaXIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoaGFzR2V0UGF0aChkaXIpKSB7XG4gICAgcmV0dXJuIGlzRGlyZWN0b3J5KGRpci5nZXRQYXRoKCkpXG4gIH0gZWxzZSBpZiAodHlwZW9mIGRpciA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZzLnN0YXRTeW5jKGRpcikuaXNEaXJlY3RvcnkoKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdERpckZhbGxiYWNrKGZpbGU6IEZpbGUgfCBEaXJlY3RvcnkgfCBudWxsKTogRGlyZWN0b3J5IHtcbiAgbGV0IGRpcjogRGlyZWN0b3J5IHwgbnVsbCA9IG51bGxcbiAgaWYgKGZpbGUpIHtcbiAgICA7W2Rpcl0gPSBhdG9tLnByb2plY3RcbiAgICAgIC5nZXREaXJlY3RvcmllcygpXG4gICAgICAuZmlsdGVyKChkKSA9PiBkLmNvbnRhaW5zKGZpbGUuZ2V0UGF0aCgpKSlcbiAgfVxuICBpZiAoIWRpcikge1xuICAgIGRpciA9IGF0b20ucHJvamVjdC5nZXREaXJlY3RvcmllcygpWzBdXG4gIH1cbiAgaWYgKGRpciAmJiBkaXIuZ2V0UGF0aCgpID09PSAnYXRvbTovL2NvbmZpZycpIHtcbiAgICBkaXIgPSBudWxsXG4gIH1cbiAgaWYgKCEoZGlyICYmIGlzRGlyZWN0b3J5KGRpcikpKSB7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGRpciA9IGZpbGUuZ2V0UGFyZW50KClcbiAgICB9IGVsc2Uge1xuICAgICAgZGlyID0gbmV3IERpcmVjdG9yeSgnLicpXG4gICAgfVxuICB9XG4gIHJldHVybiBkaXJcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERpckVudHJpZXMoXG4gIGRpcjogRGlyZWN0b3J5LFxuKTogUHJvbWlzZTxBcnJheTxEaXJlY3RvcnkgfCBGaWxlPj4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8QXJyYXk8RGlyZWN0b3J5IHwgRmlsZT4+KChyZXNvbHZlLCByZWplY3QpID0+XG4gICAgZGlyLmdldEVudHJpZXMoKGVycm9yLCBjb250ZW50cykgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoY29udGVudHMpXG4gICAgICB9XG4gICAgfSksXG4gIClcbn1cblxuYXN5bmMgZnVuY3Rpb24gZGlySGFzQ2FiYWxGaWxlKGQ6IERpcmVjdG9yeSkge1xuICBpZiAoIWQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICByZXR1cm4gKGF3YWl0IGdldERpckVudHJpZXMoZCkpLnNvbWUoXG4gICAgKGZpbGUpID0+IGZpbGUuaXNGaWxlKCkgJiYgZmlsZS5nZXRCYXNlTmFtZSgpLmVuZHNXaXRoKCcuY2FiYWwnKSxcbiAgKVxufVxuXG5hc3luYyBmdW5jdGlvbiBkaXJIYXNTYW5kYm94RmlsZShkOiBEaXJlY3RvcnkpIHtcbiAgaWYgKCFkKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIChhd2FpdCBnZXREaXJFbnRyaWVzKGQpKS5zb21lKFxuICAgIChmaWxlKSA9PiBmaWxlLmlzRmlsZSgpICYmIGZpbGUuZ2V0QmFzZU5hbWUoKSA9PT0gJ2NhYmFsLnNhbmRib3guY29uZmlnJyxcbiAgKVxufVxuXG5hc3luYyBmdW5jdGlvbiBmaW5kUHJvamVjdFJvb3QoXG4gIGQ6IERpcmVjdG9yeSxcbiAgY2hlY2s6IChkOiBEaXJlY3RvcnkpID0+IFByb21pc2U8Ym9vbGVhbj4sXG4pIHtcbiAgd2hpbGUgKCEoZC5pc1Jvb3QoKSB8fCAoYXdhaXQgY2hlY2soZCkpKSkge1xuICAgIGQgPSBkICYmIGQuZ2V0UGFyZW50KClcbiAgfVxuICBpZiAoYXdhaXQgY2hlY2soZCkpIHtcbiAgICByZXR1cm4gZFxuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFJvb3REaXIoXG4gIGlucHV0OiBUZXh0QnVmZmVyIHwgRmlsZSB8IHN0cmluZyB8IG51bGwsXG4pOiBQcm9taXNlPERpcmVjdG9yeT4ge1xuICBsZXQgZmlsZTogRmlsZSB8IERpcmVjdG9yeSB8IG51bGxcbiAgaWYgKGlzVGV4dEJ1ZmZlcihpbnB1dCkpIHtcbiAgICBjb25zdCBwID0gaW5wdXQuZ2V0UGF0aCgpXG4gICAgaWYgKHApIGZpbGUgPSBuZXcgRmlsZShwKVxuICAgIGVsc2UgZmlsZSA9IG51bGxcbiAgfSBlbHNlIGlmIChoYXNHZXRQYXRoKGlucHV0KSkge1xuICAgIGZpbGUgPSBpbnB1dFxuICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHtcbiAgICBmaWxlID0gbmV3IEZpbGUoaW5wdXQpXG4gIH0gZWxzZSB7XG4gICAgZmlsZSA9IG51bGxcbiAgfVxuICBsZXQgZGlyOiBEaXJlY3RvcnkgfCBudWxsXG4gIGlmIChmaWxlICYmIGlzRGlyZWN0b3J5KGZpbGUpKSB7XG4gICAgZGlyID0gbmV3IERpcmVjdG9yeShmaWxlLmdldFBhdGgoKSlcbiAgfSBlbHNlIHtcbiAgICBkaXIgPSAoZmlsZSAmJiBmaWxlLmdldFBhcmVudCgpKSB8fCBnZXRSb290RGlyRmFsbGJhY2soZmlsZSlcbiAgfVxuICBjb25zdCBjYWJhbFJvb3QgPSBhd2FpdCBmaW5kUHJvamVjdFJvb3QoZGlyLCBkaXJIYXNDYWJhbEZpbGUpXG4gIGNvbnN0IHNhbmRib3hSb290ID0gYXdhaXQgZmluZFByb2plY3RSb290KGRpciwgZGlySGFzU2FuZGJveEZpbGUpXG4gIGRpciA9IGNhYmFsUm9vdCB8fCBzYW5kYm94Um9vdFxuICBpZiAoIShkaXIgJiYgaXNEaXJlY3RvcnkoZGlyKSkpIHtcbiAgICBkaXIgPSBnZXRSb290RGlyRmFsbGJhY2soZmlsZSlcbiAgfVxuICByZXR1cm4gZGlyXG59XG5cbmltcG9ydCBIUyA9IHJlcXVpcmUoJy4uL2hzL2hzLm1pbi5qcycpXG5leHBvcnQgeyBJVGFyZ2V0LCBJRG90Q2FiYWwsIElJbXBvcnQsIElNb2R1bGVJbXBvcnRzIH0gZnJvbSAnLi4vaHMvaHMubWluLmpzJ1xuXG5pbXBvcnQgQ1AgPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJylcbmNvbnN0IGNhYmFsMmpzb25QYXRoID0gcHJvY2Vzcy5lbnYuQVRPTV9IQVNLRUxMX0NBQkFMMkpTT05QQVRIXG4gID8gcHJvY2Vzcy5lbnYuQVRPTV9IQVNLRUxMX0NBQkFMMkpTT05QQVRIXG4gIDogcGF0aC5qb2luKFxuICAgICAgX19kaXJuYW1lLFxuICAgICAgJy4uJyxcbiAgICAgICdiaW4nLFxuICAgICAgJ2NhYmFsMmpzb24tJyArXG4gICAgICAgIHByb2Nlc3MucGxhdGZvcm0gK1xuICAgICAgICAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/ICcuZXhlJyA6ICcnKSxcbiAgICApXG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bkNhYmFsMkpzb248VD4oY2FiYWxTb3VyY2U6IHN0cmluZywgYXJnczogc3RyaW5nW10sIGRlZjogVCkge1xuICByZXR1cm4gbmV3IFByb21pc2U8VD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBjcCA9IENQLmV4ZWNGaWxlKGNhYmFsMmpzb25QYXRoLCBhcmdzLCBmdW5jdGlvbiAoXG4gICAgICBlcnJvcixcbiAgICAgIHN0ZG91dCxcbiAgICAgIF9zdGRlcnIsXG4gICAgKSB7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgYXRvbS5ub3RpZmljYXRpb25zLmFkZEVycm9yKFxuICAgICAgICAgICdBdG9tLUhhc2tlbGwgY29yZSBlcnJvciBpbiBnZXRDb21wb25lbnRGcm9tRmlsZScsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGV0YWlsOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgZGlzbWlzc2FibGU6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgKVxuICAgICAgICByZXNvbHZlKGRlZilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoSlNPTi5wYXJzZShzdGRvdXQpKVxuICAgICAgfVxuICAgIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNwLnN0ZGluLndyaXRlKGNhYmFsU291cmNlLCAndXRmOCcpXG4gICAgICBjcC5zdGRpbi5lbmQoKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRFcnJvcihcbiAgICAgICAgJ0F0b20tSGFza2VsbCBjb3JlIGVycm9yIGluIGdldENvbXBvbmVudEZyb21GaWxlJyxcbiAgICAgICAge1xuICAgICAgICAgIGRldGFpbDogZS5tZXNzYWdlLFxuICAgICAgICAgIGRpc21pc3NhYmxlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgICAgdHJ5IHtcbiAgICAgICAgY3Aua2lsbCgpXG4gICAgICB9IGNhdGNoIChlMikge31cbiAgICB9XG4gIH0pXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYXJzZURvdENhYmFsKGNhYmFsU291cmNlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHJ1bkNhYmFsMkpzb248SFMuSURvdENhYmFsIHwgbnVsbD4oY2FiYWxTb3VyY2UsIFtdLCBudWxsKVxufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENvbXBvbmVudEZyb21GaWxlKFxuICBjYWJhbFNvdXJjZTogc3RyaW5nLFxuICBmaWxlUGF0aDogc3RyaW5nLFxuKSB7XG4gIHJldHVybiBydW5DYWJhbDJKc29uPHN0cmluZ1tdPihjYWJhbFNvdXJjZSwgW2ZpbGVQYXRoXSwgW10pXG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdW5saXQoZmlsZW5hbWU6IHN0cmluZywgc291cmNlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIEhTLnVubGl0KGZpbGVuYW1lLCBzb3VyY2UsIChlcnJvciwgcmVzdWx0KSA9PiB7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihlcnJvcikpXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdCkge1xuICAgICAgICByZXNvbHZlKHJlc3VsdClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ1Vua25vd24gZXJyb3Igd2hlbiB0cnlpbmcgdG8gcnVuIHVubGl0JykpXG4gICAgICB9XG4gICAgfSlcbiAgfSlcbn1cbmZ1bmN0aW9uIGlzRXJyb3JSZXN1bHQoeDogYW55KTogeCBpcyB7IGVycm9yOiBzdHJpbmcgfSB7XG4gIHJldHVybiB4ICYmIHguZXJyb3IgJiYgdHlwZW9mIHguZXJyb3IgPT09ICdzdHJpbmcnXG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGFyc2VIc01vZHVsZUltcG9ydHMoc291cmNlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPEhTLklNb2R1bGVJbXBvcnRzPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgSFMucGFyc2VIc01vZHVsZUltcG9ydHMoc291cmNlLCAocmVzdWx0KSA9PiB7XG4gICAgICBpZiAoaXNFcnJvclJlc3VsdChyZXN1bHQpKSB7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IocmVzdWx0LmVycm9yKSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUocmVzdWx0KVxuICAgICAgfVxuICAgIH0pXG4gIH0pXG59XG5leHBvcnQgbGV0IHsgaHNFc2NhcGVTdHJpbmcgfSA9IEhTXG4iXX0=

2

package.json
{
"name": "atom-haskell-utils",
"version": "1.0.2",
"version": "2.0.0",
"description": "Various utility functions utilized by atom-haskell packages",

@@ -5,0 +5,0 @@ "main": "./lib/util.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