vssln-parser
Advanced tools
Comparing version 0.1.2 to 0.1.3
@@ -150,7 +150,7 @@ /// <reference path="../_references.d.ts" /> | ||
private text; | ||
private stream; | ||
private input; | ||
private state; | ||
private solution; | ||
private objects; | ||
constructor(stream: ReadableStream, callback: (result: VsSolutionFile) => void); | ||
constructor(input: ReadableStream | string, callback: (result: VsSolutionFile) => void); | ||
private currentState; | ||
@@ -157,0 +157,0 @@ private currentObject; |
@@ -8,3 +8,3 @@ ///<reference path="../_references.ts"/> | ||
var Reader = (function () { | ||
function Reader(stream, callback) { | ||
function Reader(input, callback) { | ||
var _this = this; | ||
@@ -29,14 +29,20 @@ this.callback = callback; | ||
var $this = _this; | ||
_this.stream | ||
.pipe(es.split()) | ||
.pipe(es.mapSync(function (line) { | ||
_this.stream.pause(); | ||
_this.readLine(line); | ||
_this.stream.resume(); | ||
})) | ||
.on("end", function () { | ||
$this.stream = null; | ||
if (typeof _this.input === "string") { | ||
var text = _this.input; | ||
text.split(/\r?\n/).forEach(function (line) { return _this.readLine(line); }); | ||
$this.callback($this.solution); | ||
$this.callback = null; | ||
}); | ||
} | ||
else { | ||
var stream_1 = _this.input; | ||
stream_1 | ||
.pipe(es.split()) | ||
.pipe(es.mapSync(function (line) { | ||
stream_1.pause(); | ||
_this.readLine(line); | ||
stream_1.resume(); | ||
})) | ||
.on("end", function () { | ||
$this.callback($this.solution); | ||
}); | ||
} | ||
}; | ||
@@ -66,4 +72,6 @@ this.readLine = function (line) { | ||
this.text = ""; | ||
stream.setEncoding("utf8"); | ||
this.stream = stream; //byline(stream, {encoding: 'utf8'}); | ||
if (input["setEncoding"]) { | ||
input["setEncoding"]("utf8"); | ||
} | ||
this.input = input; | ||
this.solution = { | ||
@@ -128,2 +136,2 @@ projects: [] | ||
//# sourceMappingURL=data:application/json;base64,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Q0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztjQUN0QyxFQUFFLENBQUM7UUFDVCxJQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ25CLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFYyxnQkFBUyxHQUF4QixVQUF5QixLQUFhLEVBQUUsSUFBSTtRQUN4QyxJQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFFcEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDTCxhQUFDO0FBQUQsQ0E3SUEsQUE2SUMsSUFBQTtBQTdJWSxjQUFNLFNBNklsQixDQUFBIiwiZmlsZSI6IlJlYWRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLzxyZWZlcmVuY2UgcGF0aD1cIi4uL19yZWZlcmVuY2VzLnRzXCIvPlxyXG5cclxuaW1wb3J0IFJlYWRhYmxlU3RyZWFtID0gTm9kZUpTLlJlYWRhYmxlU3RyZWFtO1xyXG5pbXBvcnQge1ZzU29sdXRpb25GaWxlfSBmcm9tIFwiLi9zb2x1dGlvbi1pdGVtcy9Wc1NvbHV0aW9uRmlsZVwiO1xyXG5pbXBvcnQge0dyYW1tYXJ9IGZyb20gXCIuL0dyYW1tYXJcIlxyXG5cclxudmFyIGVzID0gcmVxdWlyZSgnZXZlbnQtc3RyZWFtJyk7XHJcbnZhciBjYW1lbENhc2UgPSByZXF1aXJlKCdjYW1lbGNhc2UnKTtcclxuXHJcbmNvbnN0IHJlZ2V4X2xpbmUgPSAvXFx3Ky9nO1xyXG5leHBvcnQgY2xhc3MgUmVhZGVyIHtcclxuICAgIHByaXZhdGUgdGV4dDogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBzdHJlYW06IFJlYWRhYmxlU3RyZWFtO1xyXG4gICAgcHJpdmF0ZSBzdGF0ZTogYW55W107XHJcbiAgICBwcml2YXRlIHNvbHV0aW9uOiBWc1NvbHV0aW9uRmlsZTtcclxuICAgIHByaXZhdGUgb2JqZWN0czogYW55W107XHJcblxyXG4gICAgY29uc3RydWN0b3Ioc3RyZWFtOiBSZWFkYWJsZVN0cmVhbSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2FsbGJhY2s6IChyZXN1bHQ6IFZzU29sdXRpb25GaWxlKSA9PiB2b2lkKSB7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gXCJcIjtcclxuICAgICAgICBzdHJlYW0uc2V0RW5jb2RpbmcoXCJ1dGY4XCIpO1xyXG4gICAgICAgIHRoaXMuc3RyZWFtID0gc3RyZWFtOy8vYnlsaW5lKHN0cmVhbSwge2VuY29kaW5nOiAndXRmOCd9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zb2x1dGlvbiA9IHtcclxuICAgICAgICAgICAgcHJvamVjdHM6IFtdXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLm9iamVjdHMgPSBbdGhpcy5zb2x1dGlvbl07XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IFtHcmFtbWFyLnNvbHV0aW9uXTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGN1cnJlbnRTdGF0ZSA9ICgpOiBhbnkgPT4gdGhpcy5zdGF0ZS5sZW5ndGggPiAwID8gdGhpcy5zdGF0ZVt0aGlzLnN0YXRlLmxlbmd0aCAtIDFdIDogbnVsbDtcclxuICAgIHByaXZhdGUgY3VycmVudE9iamVjdCA9ICgpOiBhbnkgPT4gdGhpcy5vYmplY3RzLmxlbmd0aCA+IDAgPyB0aGlzLm9iamVjdHNbdGhpcy5vYmplY3RzLmxlbmd0aCAtIDFdIDogbnVsbDtcclxuXHJcbiAgICBwcml2YXRlIHB1c2ggPSAoc3RhdGU6IGFueSwgb2JqZWN0OiBhbnkpPT4ge1xyXG4gICAgICAgIHRoaXMuc3RhdGUucHVzaChzdGF0ZSk7XHJcbiAgICAgICAgdGhpcy5vYmplY3RzLnB1c2gob2JqZWN0IHx8IHRoaXMuY3VycmVudE9iamVjdCgpKTtcclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBwb3AgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgdGhpcy5zdGF0ZS5wb3AoKTtcclxuICAgICAgICB0aGlzLm9iamVjdHMucG9wKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJlYWQgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgLy8gUmVnYXJkaW5nIFwiJHRoaXNcIjogd2Ugc2hvdWxkbid0IG5lZWQgdG8gZG8gdGhpcyBzaW5jZVxyXG4gICAgICAgIC8vIHdlJ3JlIHVzaW5nIGxhbWJkYXMgYW5kIFRTQyBzaG91bGQgaGFuZGxlIHRoZSBcInRoaXNcIlxyXG4gICAgICAgIC8vIGtleXdvcmQgZm9yIHVzLiBIb3dldmVyLCBpbnNpZGUgdGhlIGV2ZW50IGhhbmRsZXJcclxuICAgICAgICAvLyBpbiAnb24oXCJlbmRcIi4uLiknIHRoZSBrZXl3b3JkIFwidGhpc1wiIHBvaW50cyB0byB0aGVcclxuICAgICAgICAvLyBzdHJlYW0sIG5vdCB0aGUgU2xuUmVhZGVyLiBJIGRvbid0IGtub3cgd2h5LlxyXG4gICAgICAgIGNvbnN0ICR0aGlzID0gdGhpcztcclxuXHJcbiAgICAgICAgdGhpcy5zdHJlYW1cclxuICAgICAgICAgICAgLnBpcGUoZXMuc3BsaXQoKSlcclxuICAgICAgICAgICAgLnBpcGUoZXMubWFwU3luYyhsaW5lID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RyZWFtLnBhdXNlKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlYWRMaW5lKGxpbmUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdHJlYW0ucmVzdW1lKCk7XHJcbiAgICAgICAgICAgIH0pKVxyXG5cclxuICAgICAgICAgICAgLy8ub24oXCJkYXRhXCIsIHRoaXMucmVhZExpbmUpXHJcbiAgICAgICAgICAgIC5vbihcImVuZFwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5zdHJlYW0gPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgJHRoaXMuY2FsbGJhY2soJHRoaXMuc29sdXRpb24pO1xyXG4gICAgICAgICAgICAgICAgJHRoaXMuY2FsbGJhY2sgPSBudWxsO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkTGluZSA9IGxpbmUgPT4ge1xyXG4gICAgICAgIHJlZ2V4X2xpbmUubGFzdEluZGV4ID0gMDtcclxuICAgICAgICBjb25zdCBtYXRjaGVzID0gcmVnZXhfbGluZS5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmICghbWF0Y2hlcyB8fCAhbWF0Y2hlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdmVyYiA9IG1hdGNoZXNbMF07XHJcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmN1cnJlbnRTdGF0ZSgpO1xyXG4gICAgICAgIGNvbnN0IG9iamVjdCA9IHRoaXMuY3VycmVudE9iamVjdCgpO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zaXRpb24gPSBzdGF0ZVt2ZXJiLnRvTG93ZXJDYXNlKCldO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKHRyYW5zaXRpb24pIHtcclxuICAgICAgICAgICAgY2FzZSB1bmRlZmluZWQ6XHJcbiAgICAgICAgICAgICAgICBSZWFkZXIucmVhZFNpbXBsZVZhbHVlKHN0YXRlLCBsaW5lLCBvYmplY3QpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgbnVsbDpcclxuICAgICAgICAgICAgICAgIHRoaXMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHRoaXMucmVhZENvbXBsZXhWYWx1ZSh0cmFuc2l0aW9uLCBsaW5lLCBvYmplY3QsIHZlcmIpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRDb21wbGV4VmFsdWUodHJhbnNpdGlvbjogYW55LCBsaW5lLCBvYmplY3Q6IGFueSwgdmVyYjogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBHcmFtbWFyW3RyYW5zaXRpb25dO1xyXG4gICAgICAgIGlmIChuZXdTdGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBjaGlsZCA9IFJlYWRlci5jcmVhdGVBbmRBdHRhY2hDaGlsZChuZXdTdGF0ZSwgbGluZSwgb2JqZWN0LCB2ZXJiKTtcclxuICAgICAgICAgICAgdGhpcy5wdXNoKG5ld1N0YXRlLCBjaGlsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBlcnJvciA/XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRTaW1wbGVWYWx1ZShzdGF0ZTogYW55LCBsaW5lLCBvYmplY3Q6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gc3RhdGVbXCIqXCJdO1xyXG4gICAgICAgIGlmIChyZWdleCkge1xyXG4gICAgICAgICAgICByZWdleC5sYXN0SW5kZXggPSAwO1xyXG4gICAgICAgICAgICBjb25zdCBtID0gcmVnZXguZXhlYyhsaW5lKTtcclxuICAgICAgICAgICAgaWYgKG0gJiYgbS5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQga2V5ID0gbVsxXTtcclxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5fY2FtZWxDYXNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5ID0gY2FtZWxDYXNlKGtleSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBvYmplY3Rba2V5XSA9IG1bMl07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIGVycm9yP1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBjcmVhdGVBbmRBdHRhY2hDaGlsZChuZXdTdGF0ZTogYW55LCBsaW5lLCBwYXJlbnQ6IGFueSwgdmVyYjogc3RyaW5nKTogYW55IHtcclxuICAgICAgICBpZiAoIW5ld1N0YXRlLl9mYWN0b3J5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IG5ld1N0YXRlLl9yZWdleHBcclxuICAgICAgICAgICAgPyB0aGlzLmV4ZWNSZWdleChuZXdTdGF0ZS5fcmVnZXhwLCBsaW5lKVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgIGNvbnN0IGNoaWxkID0gbmV3U3RhdGUuX2ZhY3RvcnkobWF0Y2hlcyk7XHJcblxyXG4gICAgICAgIGlmIChuZXdTdGF0ZS5fYXR0YWNoKSB7XHJcbiAgICAgICAgICAgIG5ld1N0YXRlLl9hdHRhY2gocGFyZW50LCBjaGlsZCwgbWF0Y2hlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwYXJlbnRbdmVyYi50b0xvd2VyQ2FzZSgpXSA9IGNoaWxkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNoaWxkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGV4ZWNSZWdleChyZWdleDogUmVnRXhwLCBsaW5lKTogc3RyaW5nW10ge1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBbXTtcclxuICAgICAgICByZWdleC5sYXN0SW5kZXggPSAwO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBtID0gcmVnZXguZXhlYyhsaW5lKTsgbSAmJiBtLmxlbmd0aDsgbSA9IHJlZ2V4LmV4ZWMobGluZSkpIHtcclxuICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKG1bbS5sZW5ndGggPT0gMSA/IDAgOiAxXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbWF0Y2hlcztcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== | ||
//# sourceMappingURL=data:application/json;base64,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QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0wsYUFBQztBQUFELENBckpBLEFBcUpDLElBQUE7QUFySlksY0FBTSxTQXFKbEIsQ0FBQSIsImZpbGUiOiJSZWFkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy88cmVmZXJlbmNlIHBhdGg9XCIuLi9fcmVmZXJlbmNlcy50c1wiLz5cclxuXHJcbmltcG9ydCBSZWFkYWJsZVN0cmVhbSA9IE5vZGVKUy5SZWFkYWJsZVN0cmVhbTtcclxuaW1wb3J0IHtWc1NvbHV0aW9uRmlsZX0gZnJvbSBcIi4vc29sdXRpb24taXRlbXMvVnNTb2x1dGlvbkZpbGVcIjtcclxuaW1wb3J0IHtHcmFtbWFyfSBmcm9tIFwiLi9HcmFtbWFyXCJcclxuXHJcbnZhciBlcyA9IHJlcXVpcmUoJ2V2ZW50LXN0cmVhbScpO1xyXG52YXIgY2FtZWxDYXNlID0gcmVxdWlyZSgnY2FtZWxjYXNlJyk7XHJcblxyXG5jb25zdCByZWdleF9saW5lID0gL1xcdysvZztcclxuZXhwb3J0IGNsYXNzIFJlYWRlciB7XHJcbiAgICBwcml2YXRlIHRleHQ6IHN0cmluZztcclxuICAgIHByaXZhdGUgaW5wdXQ6IFJlYWRhYmxlU3RyZWFtIHwgc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBzdGF0ZTogYW55W107XHJcbiAgICBwcml2YXRlIHNvbHV0aW9uOiBWc1NvbHV0aW9uRmlsZTtcclxuICAgIHByaXZhdGUgb2JqZWN0czogYW55W107XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5wdXQ6IFJlYWRhYmxlU3RyZWFtIHwgc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBjYWxsYmFjazogKHJlc3VsdDogVnNTb2x1dGlvbkZpbGUpID0+IHZvaWQpIHtcclxuICAgICAgICB0aGlzLnRleHQgPSBcIlwiO1xyXG4gICAgICAgIGlmIChpbnB1dFtcInNldEVuY29kaW5nXCJdKSB7XHJcbiAgICAgICAgICAgIGlucHV0W1wic2V0RW5jb2RpbmdcIl0oXCJ1dGY4XCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pbnB1dCA9IGlucHV0O1xyXG5cclxuICAgICAgICB0aGlzLnNvbHV0aW9uID0ge1xyXG4gICAgICAgICAgICBwcm9qZWN0czogW11cclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMub2JqZWN0cyA9IFt0aGlzLnNvbHV0aW9uXTtcclxuICAgICAgICB0aGlzLnN0YXRlID0gW0dyYW1tYXIuc29sdXRpb25dO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3VycmVudFN0YXRlID0gKCk6IGFueSA9PiB0aGlzLnN0YXRlLmxlbmd0aCA+IDAgPyB0aGlzLnN0YXRlW3RoaXMuc3RhdGUubGVuZ3RoIC0gMV0gOiBudWxsO1xyXG4gICAgcHJpdmF0ZSBjdXJyZW50T2JqZWN0ID0gKCk6IGFueSA9PiB0aGlzLm9iamVjdHMubGVuZ3RoID4gMCA/IHRoaXMub2JqZWN0c1t0aGlzLm9iamVjdHMubGVuZ3RoIC0gMV0gOiBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgcHVzaCA9IChzdGF0ZTogYW55LCBvYmplY3Q6IGFueSk9PiB7XHJcbiAgICAgICAgdGhpcy5zdGF0ZS5wdXNoKHN0YXRlKTtcclxuICAgICAgICB0aGlzLm9iamVjdHMucHVzaChvYmplY3QgfHwgdGhpcy5jdXJyZW50T2JqZWN0KCkpO1xyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIHBvcCA9ICgpOiB2b2lkID0+IHtcclxuICAgICAgICB0aGlzLnN0YXRlLnBvcCgpO1xyXG4gICAgICAgIHRoaXMub2JqZWN0cy5wb3AoKTtcclxuICAgIH07XHJcblxyXG4gICAgcmVhZCA9ICgpOiB2b2lkID0+IHtcclxuICAgICAgICAvLyBSZWdhcmRpbmcgXCIkdGhpc1wiOiB3ZSBzaG91bGRuJ3QgbmVlZCB0byBkbyB0aGlzIHNpbmNlXHJcbiAgICAgICAgLy8gd2UncmUgdXNpbmcgbGFtYmRhcyBhbmQgVFNDIHNob3VsZCBoYW5kbGUgdGhlIFwidGhpc1wiXHJcbiAgICAgICAgLy8ga2V5d29yZCBmb3IgdXMuIEhvd2V2ZXIsIGluc2lkZSB0aGUgZXZlbnQgaGFuZGxlclxyXG4gICAgICAgIC8vIGluICdvbihcImVuZFwiLi4uKScgdGhlIGtleXdvcmQgXCJ0aGlzXCIgcG9pbnRzIHRvIHRoZVxyXG4gICAgICAgIC8vIHN0cmVhbSwgbm90IHRoZSBTbG5SZWFkZXIuIEkgZG9uJ3Qga25vdyB3aHkuXHJcbiAgICAgICAgY29uc3QgJHRoaXMgPSB0aGlzO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbnB1dCA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gdGhpcy5pbnB1dCBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgIHRleHQuc3BsaXQoL1xccj9cXG4vKS5mb3JFYWNoKGxpbmUgPT4gdGhpcy5yZWFkTGluZShsaW5lKSk7XHJcbiAgICAgICAgICAgICR0aGlzLmNhbGxiYWNrKCR0aGlzLnNvbHV0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0cmVhbSA9IHRoaXMuaW5wdXQgYXMgUmVhZGFibGVTdHJlYW07XHJcbiAgICAgICAgICAgIHN0cmVhbVxyXG4gICAgICAgICAgICAgICAgLnBpcGUoZXMuc3BsaXQoKSlcclxuICAgICAgICAgICAgICAgIC5waXBlKGVzLm1hcFN5bmMobGluZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RyZWFtLnBhdXNlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWFkTGluZShsaW5lKTtcclxuICAgICAgICAgICAgICAgICAgICBzdHJlYW0ucmVzdW1lKCk7XHJcbiAgICAgICAgICAgICAgICB9KSlcclxuXHJcbiAgICAgICAgICAgICAgICAvLy5vbihcImRhdGFcIiwgdGhpcy5yZWFkTGluZSlcclxuICAgICAgICAgICAgICAgIC5vbihcImVuZFwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJHRoaXMuY2FsbGJhY2soJHRoaXMuc29sdXRpb24pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRMaW5lID0gbGluZSA9PiB7XHJcbiAgICAgICAgcmVnZXhfbGluZS5sYXN0SW5kZXggPSAwO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSByZWdleF9saW5lLmV4ZWMobGluZSk7XHJcbiAgICAgICAgaWYgKCFtYXRjaGVzIHx8ICFtYXRjaGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB2ZXJiID0gbWF0Y2hlc1swXTtcclxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuY3VycmVudFN0YXRlKCk7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5jdXJyZW50T2JqZWN0KCk7XHJcbiAgICAgICAgY29uc3QgdHJhbnNpdGlvbiA9IHN0YXRlW3ZlcmIudG9Mb3dlckNhc2UoKV07XHJcblxyXG4gICAgICAgIHN3aXRjaCAodHJhbnNpdGlvbikge1xyXG4gICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcclxuICAgICAgICAgICAgICAgIFJlYWRlci5yZWFkU2ltcGxlVmFsdWUoc3RhdGUsIGxpbmUsIG9iamVjdCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBudWxsOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkQ29tcGxleFZhbHVlKHRyYW5zaXRpb24sIGxpbmUsIG9iamVjdCwgdmVyYik7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHByaXZhdGUgcmVhZENvbXBsZXhWYWx1ZSh0cmFuc2l0aW9uOiBhbnksIGxpbmUsIG9iamVjdDogYW55LCB2ZXJiOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IEdyYW1tYXJbdHJhbnNpdGlvbl07XHJcbiAgICAgICAgaWYgKG5ld1N0YXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gUmVhZGVyLmNyZWF0ZUFuZEF0dGFjaENoaWxkKG5ld1N0YXRlLCBsaW5lLCBvYmplY3QsIHZlcmIpO1xyXG4gICAgICAgICAgICB0aGlzLnB1c2gobmV3U3RhdGUsIGNoaWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIGVycm9yID9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZFNpbXBsZVZhbHVlKHN0YXRlOiBhbnksIGxpbmUsIG9iamVjdDogYW55KSB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSBzdGF0ZVtcIipcIl07XHJcbiAgICAgICAgaWYgKHJlZ2V4KSB7XHJcbiAgICAgICAgICAgIHJlZ2V4Lmxhc3RJbmRleCA9IDA7XHJcbiAgICAgICAgICAgIGNvbnN0IG0gPSByZWdleC5leGVjKGxpbmUpO1xyXG4gICAgICAgICAgICBpZiAobSAmJiBtLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgICAgICAgIGxldCBrZXkgPSBtWzFdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlLl9jYW1lbENhc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBrZXkgPSBjYW1lbENhc2Uoa2V5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG9iamVjdFtrZXldID0gbVsyXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gZXJyb3I/XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGNyZWF0ZUFuZEF0dGFjaENoaWxkKG5ld1N0YXRlOiBhbnksIGxpbmUsIHBhcmVudDogYW55LCB2ZXJiOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgICAgIGlmICghbmV3U3RhdGUuX2ZhY3RvcnkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBtYXRjaGVzID0gbmV3U3RhdGUuX3JlZ2V4cFxyXG4gICAgICAgICAgICA/IHRoaXMuZXhlY1JlZ2V4KG5ld1N0YXRlLl9yZWdleHAsIGxpbmUpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgY29uc3QgY2hpbGQgPSBuZXdTdGF0ZS5fZmFjdG9yeShtYXRjaGVzKTtcclxuXHJcbiAgICAgICAgaWYgKG5ld1N0YXRlLl9hdHRhY2gpIHtcclxuICAgICAgICAgICAgbmV3U3RhdGUuX2F0dGFjaChwYXJlbnQsIGNoaWxkLCBtYXRjaGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHBhcmVudFt2ZXJiLnRvTG93ZXJDYXNlKCldID0gY2hpbGQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY2hpbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZXhlY1JlZ2V4KHJlZ2V4OiBSZWdFeHAsIGxpbmUpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IFtdO1xyXG4gICAgICAgIHJlZ2V4Lmxhc3RJbmRleCA9IDA7XHJcblxyXG4gICAgICAgIGZvciAobGV0IG0gPSByZWdleC5leGVjKGxpbmUpOyBtICYmIG0ubGVuZ3RoOyBtID0gcmVnZXguZXhlYyhsaW5lKSkge1xyXG4gICAgICAgICAgICBtYXRjaGVzLnB1c2gobVttLmxlbmd0aCA9PSAxID8gMCA6IDFdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBtYXRjaGVzO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 |
{ | ||
"name": "vssln-parser", | ||
"description": "Parses Visual Studio Solution (sln) files and returns information about projects and project dependencies.", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"homepage": "https://github.com/mhusseini/vssln-parser", | ||
@@ -6,0 +6,0 @@ "repository": { |
@@ -6,4 +6,5 @@ # vssln-parser | ||
Install package with NPM and add it to your development dependencies: | ||
```npm install vssln-parser --save-dev``` | ||
`npm install vssln-parser --save-dev` | ||
## Usage | ||
@@ -28,2 +29,2 @@ ```typescript | ||
## License | ||
[MIT License](http://en.wikipedia.org/wiki/MIT_License) | ||
[MIT License](http://en.wikipedia.org/wiki/MIT_License) |
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
93314
15
697
29
2