@meteor-it/utils-common
Advanced tools
Comparing version 0.1.1 to 0.1.2
29
index.js
@@ -177,2 +177,29 @@ "use strict"; | ||
exports.hashCode = hashCode; | ||
//# sourceMappingURL=data:application/json;base64,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QUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTTtnQkFDL0IsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDO29CQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSCxDQUFDO0FBVEQsZ0NBU0M7QUFDRCxrQkFBeUIsQ0FBQztJQUN0QixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7SUFDYixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDL0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBRSxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQVRELDRCQVNDIiwiZmlsZSI6InV0aWxzLWNvbW1vbi9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGhlbGxvLCB3b3JsZCA9PiBIZWxsbywgd29ybGQhXG5leHBvcnQgZnVuY3Rpb24gZmlyc3RVcHBlcmNhc2Uoc3RyKSB7XG4gICAgcmV0dXJuIHN0ci5zdWJzdHIoMCwxKS50b1VwcGVyQ2FzZSgpK3N0ci5zdWJzdHIoMSk7XG59XG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0RXF1YWxzKHgsIHkpIHtcbiAgICBpZiAoeCA9PT0gbnVsbCB8fCB4ID09PSB1bmRlZmluZWQgfHwgeSA9PT0gbnVsbCB8fCB5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHggPT09IHk7XG4gICAgfVxuICAgIGlmICh4LmNvbnN0cnVjdG9yICE9PSB5LmNvbnN0cnVjdG9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHggaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICByZXR1cm4geCA9PT0geTtcbiAgICB9XG4gICAgaWYgKHggaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgcmV0dXJuIHggPT09IHk7XG4gICAgfVxuICAgIGlmICh4ID09PSB5IHx8IHgudmFsdWVPZigpID09PSB5LnZhbHVlT2YoKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoeCkgJiYgeC5sZW5ndGggIT09IHkubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHggaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCEoeCBpbnN0YW5jZW9mIE9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoISh5IGluc3RhbmNlb2YgT2JqZWN0KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgbGV0IHAgPSBPYmplY3Qua2V5cyh4KTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoeSkuZXZlcnkoaSA9PiBwLmluZGV4T2YoaSkgIT09IC0xKSAmJiBwLmV2ZXJ5KGkgPT4gb2JqZWN0RXF1YWxzKHhbaV0sIHlbaV0pKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuKGFycmF5LCByZXN1bHQgPSBbXSkge1xuICAgIGlmICghKGFycmF5IGluc3RhbmNlb2YgQXJyYXkpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImFycmF5XCIgYXJndW1lbnQgaXMgbm90IGEgYXJyYXkhJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGFycmF5W2ldO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgZmxhdHRlbih2YWx1ZSwgcmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRHVwbGljYXRlcyhhcnJheSkge1xuICAgIGlmICghKGFycmF5IGluc3RhbmNlb2YgQXJyYXkpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImFycmF5XCIgYXJndW1lbnQgaXMgbm90IGEgYXJyYXkhJyk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChhcnJheSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1peChhcnJheTEsIGFycmF5Mikge1xuICAgIC8vaWYgKCEoYXJyYXkxIGluc3RhbmNlb2YgQXJyYXkpIHx8ICEhKGFycmF5MiBpbnN0YW5jZW9mIEFycmF5KSkgdGhyb3cgbmV3IFR5cGVFcnJvcignT25lIG9mIGFyZ3VtZW50cyBpcyBub3QgYSBhcnJheSEgKCcrKHR5cGVvZiBhcnJheTEpKycsICcrKHR5cGVvZiBhcnJheTIpKycpJyk7XG4gICAgaWYgKHR5cGVvZiBhcnJheTEgIT09IHR5cGVvZiBhcnJheTIpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0JvdGggYXJndW1lbnRzIG11c3QgaGF2ZSBzYW1lIHR5cGVzIScpO1xuICAgIGxldCBvdXQ7XG4gICAgaWYgKGFycmF5MSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIG91dCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpbmRleCBpbiBhcnJheTEpIHtcbiAgICAgICAgICAgIG91dC5wdXNoKFthcnJheTFbaW5kZXhdLCBhcnJheTJbaW5kZXhdXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9ZWxzZSBpZihhcnJheTEgaW5zdGFuY2VvZiBPYmplY3Qpe1xuICAgICAgICBvdXQ9e307XG4gICAgICAgIGZvcihsZXQga2V5IGluIGFycmF5MSl7XG4gICAgICAgICAgICBvdXRba2V5XT1hcnJheTFba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBmb3IobGV0IGtleSBpbiBhcnJheTIpe1xuICAgICAgICAgICAgb3V0W2tleV09YXJyYXkyW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9ZWxzZXtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBpbnB1dCB0eXBlIScpO1xuICAgIH1cblxufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByaXZhdGVFbnVtKC4uLnZhbHVlcykge1xuICAgIGxldCByZXR1cm5PYmogPSB7fTtcbiAgICB2YWx1ZXMubWFwKHZhbHVlID0+IHZhbHVlLnRvVXBwZXJDYXNlKCkpO1xuICAgIHZhbHVlcy5mb3JFYWNoKHZhbHVlID0+IHJldHVybk9ialt2YWx1ZV0gPSBTeW1ib2wodmFsdWUpKTtcbiAgICByZXR1cm4gcmV0dXJuT2JqO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpeExlbmd0aChzdHJpbmcsIGxlbmd0aCwgaW5zZXJ0UHJlID0gZmFsc2UsIHN5bWJvbCA9ICcgJykge1xuICAgIGlmIChzdHJpbmcubGVuZ3RoIDwgbGVuZ3RoKSB7XG4gICAgICAgIHdoaWxlIChzdHJpbmcubGVuZ3RoIDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICBzdHJpbmcgPSBpbnNlcnRQcmUgPyBzeW1ib2wgKyBzdHJpbmcgOiBzdHJpbmcgKyBzeW1ib2w7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoc3RyaW5nLmxlbmd0aCA+IGxlbmd0aCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nLm1hdGNoKGluc2VydFByZSA/IG5ldyBSZWdFeHAoYC4qKC57JHtsZW5ndGh9fSlgKSA6IG5ldyBSZWdFeHAoYCgueyR7bGVuZ3RofX0pYCkpWzBdO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7fVxuICAgIH1cbiAgICByZXR1cm4gc3RyaW5nO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdE1hcChvYmplY3QsY2Ipe1xuICAgIGxldCByZXQgPSBbXTtcbiAgICBsZXQga2V5cz1PYmplY3Qua2V5cyhvYmplY3QpO1xuICAgIGxldCB2YWx1ZXM9T2JqZWN0LnZhbHVlcyhvYmplY3QpO1xuICAgIGZvcihsZXQgaT0wO2k8a2V5cy5sZW5ndGg7aSsrKVxuICAgICAgICByZXQucHVzaChjYih2YWx1ZXNbaV0sa2V5c1tpXSxvYmplY3QpKTtcbiAgICByZXR1cm4gcmV0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5S1ZPYmplY3Qoa2V5cyx2YWx1ZXMpe1xuICAgIGxldCBsZW49a2V5cy5sZW5ndGg7XG4gICAgaWYobGVuIT09dmFsdWVzLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCb3RoIGFycmF5cyBtdXN0IGhhdmUgc2FtZSBsZW5ndGghJyk7XG4gICAgbGV0IHJlc3VsdD17fTtcbiAgICBmb3IobGV0IGk9MDtpPGxlbjtpKyspXG4gICAgICAgIHJlc3VsdFtrZXlzW2ldXT12YWx1ZXNbaV07XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcCAodGltZSkge1xuXHRyZXR1cm4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG5cdFx0c2V0VGltZW91dChyZXMsIHRpbWUpO1xuXHR9KTtcbn1cblxuLyoqXG4gKiBMaWtlIGl0ZXJhYmxlLm1hcChjYiksXG4gKiBidXQgY2IgY2FuIGJlIGFzeW5jXG4gKiBAcGFyYW0gaXRlcmFibGUgQXJyYXkgdG8gcHJvY2Vzc1xuICogQHBhcmFtIGNiIEZ1bmN0aW9uIHRvIGRvIHdpdGggZWFjaCBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3luY0VhY2ggKGl0ZXJhYmxlLCBjYikge1xuXHRsZXQgd2FpdGluZ3MgPSBbXTtcblx0aXRlcmFibGUuZm9yRWFjaChpdGVyID0+IHtcblx0XHR3YWl0aW5ncy5wdXNoKGNiKGl0ZXIpKTtcblx0fSk7XG5cdHJldHVybiBQcm9taXNlLmFsbCh3YWl0aW5ncyk7XG59XG5cbi8qKlxuICogQ29udmVydCBjYWxsYmFjayBmdW5jdGlvbiB0byBhc3luY1xuICogQHBhcmFtIGNiRnVuY3Rpb24gRnVuY3Rpb24gdG8gY29udmVydFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2IycHJvbWlzZSAoY2JGdW5jdGlvbikge1xuXHRyZXR1cm4gKC4uLmFyZ3MpID0+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG5cdFx0XHRjYkZ1bmN0aW9uKC4uLmFyZ3MsIChlcnIsIHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRpZiAoZXJyKSByZXR1cm4gcmVqKGVycik7XG5cdFx0XHRcdHJlcyhyZXN1bHQpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH07XG59XG5leHBvcnQgZnVuY3Rpb24gaGFzaENvZGUocyl7XG4gICAgbGV0IGhhc2ggPSAwO1xuICAgIGlmIChzLmxlbmd0aCA9PSAwKSByZXR1cm4gaGFzaDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IGNoYXJhY3RlciA9IHMuY2hhckNvZGVBdChpKTtcbiAgICAgICAgaGFzaCA9ICgoaGFzaDw8NSktaGFzaCkrY2hhcmFjdGVyO1xuICAgICAgICBoYXNoID0gaGFzaCAmIGhhc2g7XG4gICAgfVxuICAgIHJldHVybiBoYXNoO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 | ||
function djb2Code(str) { | ||
let hash = 5381; | ||
for (let i = 0; i < str.length; i++) { | ||
let char = str.charCodeAt(i); | ||
hash = ((hash << 5) + hash) + char; /* hash * 33 + c */ | ||
} | ||
return hash; | ||
} | ||
exports.djb2Code = djb2Code; | ||
function sdbmCode(str) { | ||
let hash = 0; | ||
for (let i = 0; i < str.length; i++) { | ||
let char = str.charCodeAt(i); | ||
hash = char + (hash << 6) + (hash << 16) - hash; | ||
} | ||
return hash; | ||
} | ||
exports.sdbmCode = sdbmCode; | ||
function loseCode(str) { | ||
let hash = 0; | ||
for (let i = 0; i < str.length; i++) { | ||
let char = str.charCodeAt(i); | ||
hash += char; | ||
} | ||
return hash; | ||
} | ||
exports.loseCode = loseCode; | ||
//# sourceMappingURL=data:application/json;base64,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Q0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsbUJBQW1CO0lBQzNELENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFQRCw0QkFPQztBQUNELGtCQUF5QixHQUFHO0lBQ3hCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNiLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDcEQsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQVBELDRCQU9DO0FBQ0Qsa0JBQXlCLEdBQUc7SUFDeEIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbEMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLElBQUksSUFBSSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFQRCw0QkFPQyIsImZpbGUiOiJ1dGlscy1jb21tb24vaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBoZWxsbywgd29ybGQgPT4gSGVsbG8sIHdvcmxkIVxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0VXBwZXJjYXNlKHN0cikge1xuICAgIHJldHVybiBzdHIuc3Vic3RyKDAsMSkudG9VcHBlckNhc2UoKStzdHIuc3Vic3RyKDEpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdEVxdWFscyh4LCB5KSB7XG4gICAgaWYgKHggPT09IG51bGwgfHwgeCA9PT0gdW5kZWZpbmVkIHx8IHkgPT09IG51bGwgfHwgeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB4ID09PSB5O1xuICAgIH1cbiAgICBpZiAoeC5jb25zdHJ1Y3RvciAhPT0geS5jb25zdHJ1Y3Rvcikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh4IGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIHggPT09IHk7XG4gICAgfVxuICAgIGlmICh4IGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIHJldHVybiB4ID09PSB5O1xuICAgIH1cbiAgICBpZiAoeCA9PT0geSB8fCB4LnZhbHVlT2YoKSA9PT0geS52YWx1ZU9mKCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHgpICYmIHgubGVuZ3RoICE9PSB5Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh4IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghKHggaW5zdGFuY2VvZiBPYmplY3QpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCEoeSBpbnN0YW5jZW9mIE9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGxldCBwID0gT2JqZWN0LmtleXMoeCk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHkpLmV2ZXJ5KGkgPT4gcC5pbmRleE9mKGkpICE9PSAtMSkgJiYgcC5ldmVyeShpID0+IG9iamVjdEVxdWFscyh4W2ldLCB5W2ldKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbihhcnJheSwgcmVzdWx0ID0gW10pIHtcbiAgICBpZiAoIShhcnJheSBpbnN0YW5jZW9mIEFycmF5KSkgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJhcnJheVwiIGFyZ3VtZW50IGlzIG5vdCBhIGFycmF5IScpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhcnJheVtpXTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGZsYXR0ZW4odmFsdWUsIHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUR1cGxpY2F0ZXMoYXJyYXkpIHtcbiAgICBpZiAoIShhcnJheSBpbnN0YW5jZW9mIEFycmF5KSkgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJhcnJheVwiIGFyZ3VtZW50IGlzIG5vdCBhIGFycmF5IScpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoYXJyYXkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtaXgoYXJyYXkxLCBhcnJheTIpIHtcbiAgICAvL2lmICghKGFycmF5MSBpbnN0YW5jZW9mIEFycmF5KSB8fCAhIShhcnJheTIgaW5zdGFuY2VvZiBBcnJheSkpIHRocm93IG5ldyBUeXBlRXJyb3IoJ09uZSBvZiBhcmd1bWVudHMgaXMgbm90IGEgYXJyYXkhICgnKyh0eXBlb2YgYXJyYXkxKSsnLCAnKyh0eXBlb2YgYXJyYXkyKSsnKScpO1xuICAgIGlmICh0eXBlb2YgYXJyYXkxICE9PSB0eXBlb2YgYXJyYXkyKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdCb3RoIGFyZ3VtZW50cyBtdXN0IGhhdmUgc2FtZSB0eXBlcyEnKTtcbiAgICBsZXQgb3V0O1xuICAgIGlmIChhcnJheTEgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICBvdXQgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggaW4gYXJyYXkxKSB7XG4gICAgICAgICAgICBvdXQucHVzaChbYXJyYXkxW2luZGV4XSwgYXJyYXkyW2luZGV4XV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfWVsc2UgaWYoYXJyYXkxIGluc3RhbmNlb2YgT2JqZWN0KXtcbiAgICAgICAgb3V0PXt9O1xuICAgICAgICBmb3IobGV0IGtleSBpbiBhcnJheTEpe1xuICAgICAgICAgICAgb3V0W2tleV09YXJyYXkxW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgZm9yKGxldCBrZXkgaW4gYXJyYXkyKXtcbiAgICAgICAgICAgIG91dFtrZXldPWFycmF5MltrZXldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfWVsc2V7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gaW5wdXQgdHlwZSEnKTtcbiAgICB9XG5cbn1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcml2YXRlRW51bSguLi52YWx1ZXMpIHtcbiAgICBsZXQgcmV0dXJuT2JqID0ge307XG4gICAgdmFsdWVzLm1hcCh2YWx1ZSA9PiB2YWx1ZS50b1VwcGVyQ2FzZSgpKTtcbiAgICB2YWx1ZXMuZm9yRWFjaCh2YWx1ZSA9PiByZXR1cm5PYmpbdmFsdWVdID0gU3ltYm9sKHZhbHVlKSk7XG4gICAgcmV0dXJuIHJldHVybk9iajtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXhMZW5ndGgoc3RyaW5nLCBsZW5ndGgsIGluc2VydFByZSA9IGZhbHNlLCBzeW1ib2wgPSAnICcpIHtcbiAgICBpZiAoc3RyaW5nLmxlbmd0aCA8IGxlbmd0aCkge1xuICAgICAgICB3aGlsZSAoc3RyaW5nLmxlbmd0aCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgc3RyaW5nID0gaW5zZXJ0UHJlID8gc3ltYm9sICsgc3RyaW5nIDogc3RyaW5nICsgc3ltYm9sO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKHN0cmluZy5sZW5ndGggPiBsZW5ndGgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZy5tYXRjaChpbnNlcnRQcmUgPyBuZXcgUmVnRXhwKGAuKigueyR7bGVuZ3RofX0pYCkgOiBuZXcgUmVnRXhwKGAoLnske2xlbmd0aH19KWApKVswXTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge31cbiAgICB9XG4gICAgcmV0dXJuIHN0cmluZztcbn1cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3RNYXAob2JqZWN0LGNiKXtcbiAgICBsZXQgcmV0ID0gW107XG4gICAgbGV0IGtleXM9T2JqZWN0LmtleXMob2JqZWN0KTtcbiAgICBsZXQgdmFsdWVzPU9iamVjdC52YWx1ZXMob2JqZWN0KTtcbiAgICBmb3IobGV0IGk9MDtpPGtleXMubGVuZ3RoO2krKylcbiAgICAgICAgcmV0LnB1c2goY2IodmFsdWVzW2ldLGtleXNbaV0sb2JqZWN0KSk7XG4gICAgcmV0dXJuIHJldDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhcnJheUtWT2JqZWN0KGtleXMsdmFsdWVzKXtcbiAgICBsZXQgbGVuPWtleXMubGVuZ3RoO1xuICAgIGlmKGxlbiE9PXZhbHVlcy5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQm90aCBhcnJheXMgbXVzdCBoYXZlIHNhbWUgbGVuZ3RoIScpO1xuICAgIGxldCByZXN1bHQ9e307XG4gICAgZm9yKGxldCBpPTA7aTxsZW47aSsrKVxuICAgICAgICByZXN1bHRba2V5c1tpXV09dmFsdWVzW2ldO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG5leHBvcnQgZnVuY3Rpb24gc2xlZXAgKHRpbWUpIHtcblx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4ge1xuXHRcdHNldFRpbWVvdXQocmVzLCB0aW1lKTtcblx0fSk7XG59XG5cbi8qKlxuICogTGlrZSBpdGVyYWJsZS5tYXAoY2IpLFxuICogYnV0IGNiIGNhbiBiZSBhc3luY1xuICogQHBhcmFtIGl0ZXJhYmxlIEFycmF5IHRvIHByb2Nlc3NcbiAqIEBwYXJhbSBjYiBGdW5jdGlvbiB0byBkbyB3aXRoIGVhY2ggZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXN5bmNFYWNoIChpdGVyYWJsZSwgY2IpIHtcblx0bGV0IHdhaXRpbmdzID0gW107XG5cdGl0ZXJhYmxlLmZvckVhY2goaXRlciA9PiB7XG5cdFx0d2FpdGluZ3MucHVzaChjYihpdGVyKSk7XG5cdH0pO1xuXHRyZXR1cm4gUHJvbWlzZS5hbGwod2FpdGluZ3MpO1xufVxuXG4vKipcbiAqIENvbnZlcnQgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYXN5bmNcbiAqIEBwYXJhbSBjYkZ1bmN0aW9uIEZ1bmN0aW9uIHRvIGNvbnZlcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNiMnByb21pc2UgKGNiRnVuY3Rpb24pIHtcblx0cmV0dXJuICguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4ge1xuXHRcdFx0Y2JGdW5jdGlvbiguLi5hcmdzLCAoZXJyLCByZXN1bHQpID0+IHtcblx0XHRcdFx0aWYgKGVycikgcmV0dXJuIHJlaihlcnIpO1xuXHRcdFx0XHRyZXMocmVzdWx0KTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhhc2hDb2RlKHMpe1xuICAgIGxldCBoYXNoID0gMDtcbiAgICBpZiAocy5sZW5ndGggPT0gMCkgcmV0dXJuIGhhc2g7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBjaGFyYWN0ZXIgPSBzLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGhhc2ggPSAoKGhhc2g8PDUpLWhhc2gpK2NoYXJhY3RlcjtcbiAgICAgICAgaGFzaCA9IGhhc2ggJiBoYXNoO1xuICAgIH1cbiAgICByZXR1cm4gaGFzaDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkamIyQ29kZShzdHIpe1xuICAgIGxldCBoYXNoID0gNTM4MTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgY2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBoYXNoID0gKChoYXNoIDw8IDUpICsgaGFzaCkgKyBjaGFyOyAvKiBoYXNoICogMzMgKyBjICovXG4gICAgfVxuICAgIHJldHVybiBoYXNoO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNkYm1Db2RlKHN0cil7XG4gICAgbGV0IGhhc2ggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBjaGFyID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGhhc2ggPSBjaGFyICsgKGhhc2ggPDwgNikgKyAoaGFzaCA8PCAxNikgLSBoYXNoO1xuICAgIH1cbiAgICByZXR1cm4gaGFzaDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBsb3NlQ29kZShzdHIpe1xuICAgIGxldCBoYXNoID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgY2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBoYXNoICs9IGNoYXI7XG4gICAgfVxuICAgIHJldHVybiBoYXNoO1xufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== |
{ | ||
"name": "@meteor-it/utils-common", | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"description": "I", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
23907
268