Comparing version 0.1.0 to 0.1.1
# Change Log | ||
## 0.1.1 | ||
* Fix comment between declaration case. | ||
* Add logo (by Maria Keller). | ||
## 0.1 | ||
@@ -4,0 +8,0 @@ * Add selector pseudo-classes support. |
@@ -17,2 +17,2 @@ 'use strict'; | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmVzNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztrQkFHZSxFQUFFLDhCQUFGLEVBQWEsc0JBQWIiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RyaW5naWZ5IGZyb20gJy4vc3RyaW5naWZ5JztcbmltcG9ydCBwYXJzZSAgICAgZnJvbSAnLi9wYXJzZSc7XG5cbmV4cG9ydCBkZWZhdWx0IHsgc3RyaW5naWZ5LCBwYXJzZSB9O1xuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmVzNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7QUFDQTs7Ozs7O2tCQUVlLEVBQUUsOEJBQUYsRUFBYSxzQkFBYiIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHJpbmdpZnkgZnJvbSAnLi9zdHJpbmdpZnknO1xuaW1wb3J0IHBhcnNlICAgICBmcm9tICcuL3BhcnNlJztcblxuZXhwb3J0IGRlZmF1bHQgeyBzdHJpbmdpZnksIHBhcnNlIH07XG4iXX0= |
{ | ||
"name": "sugarss", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"description": "Indent-based CSS syntax for PostCSS", | ||
@@ -26,7 +26,7 @@ "keywords": [ | ||
"postcss-parser-tests": "5.0.6", | ||
"babel-eslint": "6.0.0-beta.2", | ||
"babel-core": "6.6.5", | ||
"babel-eslint": "6.0.0-beta.6", | ||
"babel-core": "6.7.2", | ||
"babel-cli": "6.6.5", | ||
"eslint": "2.2.0", | ||
"ava": "0.12.0" | ||
"eslint": "2.4.0", | ||
"ava": "0.13.0" | ||
}, | ||
@@ -33,0 +33,0 @@ "scripts": { |
@@ -38,2 +38,2 @@ 'use strict'; | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnNlLmVzNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7a0JBT3dCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBVCxTQUFTLEtBQVQsQ0FBZSxNQUFmLEVBQXVCLElBQXZCLEVBQTZCO0FBQ3hDLFFBQUksUUFBUSxvQkFBVSxNQUFWLEVBQWtCLElBQWxCLENBQVIsQ0FEb0M7O0FBR3hDLFFBQUksU0FBUyxxQkFBVyxLQUFYLENBQVQsQ0FIb0M7QUFJeEMsV0FBTyxLQUFQLEdBQWUsMEJBQVcsS0FBWCxFQUFrQixxQkFBTSx3QkFBVSxLQUFWLENBQU4sQ0FBbEIsQ0FBZixDQUp3QztBQUt4QyxXQUFPLElBQVAsR0FMd0M7O0FBT3hDLFdBQU8sT0FBTyxJQUFQLENBUGlDO0NBQTdCIiwiZmlsZSI6InBhcnNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElucHV0IGZyb20gJ3Bvc3Rjc3MvbGliL2lucHV0JztcblxuaW1wb3J0IHByZXByb2Nlc3MgZnJvbSAnLi9wcmVwcm9jZXNzJztcbmltcG9ydCB0b2tlbml6ZXIgIGZyb20gJy4vdG9rZW5pemUnO1xuaW1wb3J0IFBhcnNlciAgICAgZnJvbSAnLi9wYXJzZXInO1xuaW1wb3J0IGxpbmVyICAgICAgZnJvbSAnLi9saW5lcic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBhcnNlKHNvdXJjZSwgb3B0cykge1xuICAgIGxldCBpbnB1dCA9IG5ldyBJbnB1dChzb3VyY2UsIG9wdHMpO1xuXG4gICAgbGV0IHBhcnNlciA9IG5ldyBQYXJzZXIoaW5wdXQpO1xuICAgIHBhcnNlci5wYXJ0cyA9IHByZXByb2Nlc3MoaW5wdXQsIGxpbmVyKHRva2VuaXplcihpbnB1dCkpKTtcbiAgICBwYXJzZXIubG9vcCgpO1xuXG4gICAgcmV0dXJuIHBhcnNlci5yb290O1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnNlLmVzNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7a0JBT3dCOztBQVB4Qjs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFZSxTQUFTLEtBQVQsQ0FBZSxNQUFmLEVBQXVCLElBQXZCLEVBQTZCO0FBQ3hDLFFBQUksUUFBUSxvQkFBVSxNQUFWLEVBQWtCLElBQWxCLENBQVIsQ0FEb0M7O0FBR3hDLFFBQUksU0FBUyxxQkFBVyxLQUFYLENBQVQsQ0FIb0M7QUFJeEMsV0FBTyxLQUFQLEdBQWUsMEJBQVcsS0FBWCxFQUFrQixxQkFBTSx3QkFBVSxLQUFWLENBQU4sQ0FBbEIsQ0FBZixDQUp3QztBQUt4QyxXQUFPLElBQVAsR0FMd0M7O0FBT3hDLFdBQU8sT0FBTyxJQUFQLENBUGlDO0NBQTdCIiwiZmlsZSI6InBhcnNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElucHV0IGZyb20gJ3Bvc3Rjc3MvbGliL2lucHV0JztcblxuaW1wb3J0IHByZXByb2Nlc3MgZnJvbSAnLi9wcmVwcm9jZXNzJztcbmltcG9ydCB0b2tlbml6ZXIgIGZyb20gJy4vdG9rZW5pemUnO1xuaW1wb3J0IFBhcnNlciAgICAgZnJvbSAnLi9wYXJzZXInO1xuaW1wb3J0IGxpbmVyICAgICAgZnJvbSAnLi9saW5lcic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBhcnNlKHNvdXJjZSwgb3B0cykge1xuICAgIGxldCBpbnB1dCA9IG5ldyBJbnB1dChzb3VyY2UsIG9wdHMpO1xuXG4gICAgbGV0IHBhcnNlciA9IG5ldyBQYXJzZXIoaW5wdXQpO1xuICAgIHBhcnNlci5wYXJ0cyA9IHByZXByb2Nlc3MoaW5wdXQsIGxpbmVyKHRva2VuaXplcihpbnB1dCkpKTtcbiAgICBwYXJzZXIubG9vcCgpO1xuXG4gICAgcmV0dXJuIHBhcnNlci5yb290O1xufVxuIl19 |
@@ -56,3 +56,3 @@ 'use strict'; | ||
} else if (part.colon) { | ||
var next = this.parts[this.pos + 1]; | ||
var next = this.nextNonComment(this.pos); | ||
@@ -303,2 +303,13 @@ if (next.end || next.atrule) { | ||
Parser.prototype.nextNonComment = function nextNonComment(pos) { | ||
var next = pos; | ||
var part = void 0; | ||
while (next < this.parts.length) { | ||
next += 1; | ||
part = this.parts[next]; | ||
if (part.end || !part.comment) break; | ||
} | ||
return part; | ||
}; | ||
// Errors | ||
@@ -336,2 +347,2 @@ | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;base64,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QUFZLFVBQVUsTUFBTSxNQUFNO0FBQzlCLFlBQUksb0JBQW1CLGlDQUE4QixJQUFqRCxDQUQwQjtBQUU5QixhQUFLLEtBQUwsQ0FBVyxHQUFYLEVBQWdCLEtBQUssTUFBTCxFQUFhLENBQTdCLEVBRjhCOzs7QUFoU2pCLHFCQXFTakIsMkJBQVEsT0FBTztBQUNYLGFBQUssS0FBTCxDQUFXLGtDQUFYLEVBQStDLE1BQU0sQ0FBTixDQUEvQyxFQUF5RCxNQUFNLENBQU4sQ0FBekQsRUFEVzs7O1dBclNFIiwiZmlsZSI6InBhcnNlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEZWNsYXJhdGlvbiBmcm9tICdwb3N0Y3NzL2xpYi9kZWNsYXJhdGlvbic7XG5pbXBvcnQgQ29tbWVudCAgICAgZnJvbSAncG9zdGNzcy9saWIvY29tbWVudCc7XG5pbXBvcnQgQXRSdWxlICAgICAgZnJvbSAncG9zdGNzcy9saWIvYXQtcnVsZSc7XG5pbXBvcnQgUnVsZSAgICAgICAgZnJvbSAncG9zdGNzcy9saWIvcnVsZSc7XG5pbXBvcnQgUm9vdCAgICAgICAgZnJvbSAncG9zdGNzcy9saWIvcm9vdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcnNlciB7XG5cbiAgICBjb25zdHJ1Y3RvcihpbnB1dCkge1xuICAgICAgICB0aGlzLmlucHV0ID0gaW5wdXQ7XG5cbiAgICAgICAgdGhpcy5wb3MgICAgID0gMDtcbiAgICAgICAgdGhpcy5yb290ICAgID0gbmV3IFJvb3QoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50ID0gdGhpcy5yb290O1xuICAgICAgICB0aGlzLnNwYWNlcyAgPSAnJztcblxuICAgICAgICB0aGlzLnByZXZJbmRlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc3RlcCAgICAgICA9IHVuZGVmaW5lZDtcblxuICAgICAgICB0aGlzLnJvb3Quc291cmNlID0geyBpbnB1dCwgc3RhcnQ6IHsgbGluZTogMSwgY29sdW1uOiAxIH0gfTtcbiAgICB9XG5cbiAgICBsb29wKCkge1xuICAgICAgICBsZXQgcGFydDtcbiAgICAgICAgd2hpbGUgKCB0aGlzLnBvcyA8IHRoaXMucGFydHMubGVuZ3RoICkge1xuICAgICAgICAgICAgcGFydCA9IHRoaXMucGFydHNbdGhpcy5wb3NdO1xuXG4gICAgICAgICAgICBpZiAoIHBhcnQuY29tbWVudCApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1lbnQocGFydCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCBwYXJ0LmF0cnVsZSApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0cnVsZShwYXJ0KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIHBhcnQuY29sb24gKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5leHQgPSB0aGlzLnBhcnRzW3RoaXMucG9zICsgMV07XG5cbiAgICAgICAgICAgICAgICBpZiAoIG5leHQuZW5kIHx8IG5leHQuYXRydWxlICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlY2wocGFydCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNhbWVJbmRlbnQgPSBuZXh0LmluZGVudC5sZW5ndGggPT09IHBhcnQuaW5kZW50Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCBzYW1lSW5kZW50ICYmIG5leHQuY29sb24gKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlY2wocGFydCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIHNhbWVJbmRlbnQgJiYgIW5leHQuY29sb24gKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bGUocGFydCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoICFzYW1lSW5kZW50ICYmIG5leHQuY29sb24gKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bGUocGFydCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoICFzYW1lSW5kZW50ICYmICFuZXh0LmNvbG9uICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWNsKHBhcnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggcGFydC5lbmQgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb290LnJhd3MuYWZ0ZXIgPSBwYXJ0LmJlZm9yZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ydWxlKHBhcnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnBvcyArPSAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29tbWVudChwYXJ0KSB7XG4gICAgICAgIGxldCB0b2tlbiA9IHBhcnQudG9rZW5zWzBdO1xuICAgICAgICBsZXQgbm9kZSAgPSBuZXcgQ29tbWVudCgpO1xuICAgICAgICB0aGlzLmluaXQobm9kZSwgcGFydCk7XG4gICAgICAgIG5vZGUuc291cmNlLmVuZCA9IHsgbGluZTogdG9rZW5bNF0sIGNvbHVtbjogdG9rZW5bNV0gfTtcblxuICAgICAgICBsZXQgdGV4dCA9IHRva2VuWzFdO1xuICAgICAgICBpZiAoIHRva2VuWzZdID09PSAnaW5saW5lJyApIHtcbiAgICAgICAgICAgIG5vZGUucmF3cy5pbmxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgdGV4dCA9IHRleHQuc2xpY2UoMik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0ZXh0ID0gdGV4dC5zbGljZSgyLCAtMik7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbWF0Y2ggPSB0ZXh0Lm1hdGNoKC9eKFxccyopKFteXSpbXlxcc10pKFxccyopXFxuPyQvKTtcbiAgICAgICAgbm9kZS50ZXh0ID0gbWF0Y2hbMl07XG4gICAgICAgIG5vZGUucmF3cy5sZWZ0ID0gbWF0Y2hbMV07XG4gICAgICAgIG5vZGUucmF3cy5pbmxpbmVSaWdodCA9IG1hdGNoWzNdO1xuICAgIH1cblxuICAgIGF0cnVsZShwYXJ0KSB7XG4gICAgICAgIGxldCBhdHdvcmQgPSBwYXJ0LnRva2Vuc1swXTtcbiAgICAgICAgbGV0IHBhcmFtcyA9IHBhcnQudG9rZW5zLnNsaWNlKDEpO1xuXG4gICAgICAgIGxldCBub2RlICA9IG5ldyBBdFJ1bGUoKTtcbiAgICAgICAgbm9kZS5uYW1lID0gYXR3b3JkWzFdLnNsaWNlKDEpO1xuICAgICAgICB0aGlzLmluaXQobm9kZSwgcGFydCk7XG5cbiAgICAgICAgaWYgKCBub2RlLm5hbWUgPT09ICcnICkgdGhpcy51bm5hbWVkQXRydWxlKGF0d29yZCk7XG5cbiAgICAgICAgd2hpbGUgKCAhcGFydC5lbmQgJiYgcGFydC5sYXN0Q29tbWEgKSB7XG4gICAgICAgICAgICB0aGlzLnBvcyArPSAxO1xuICAgICAgICAgICAgcGFydCA9IHRoaXMucGFydHNbdGhpcy5wb3NdO1xuICAgICAgICAgICAgcGFyYW1zLnB1c2goWydzcGFjZScsIHBhcnQuYmVmb3JlICsgcGFydC5pbmRlbnRdKTtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5jb25jYXQocGFydC50b2tlbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5yYXdzLmFmdGVyTmFtZSA9IHRoaXMuZmlyc3RTcGFjZXMocGFyYW1zKTtcbiAgICAgICAgdGhpcy5rZWVwVHJhaWxpbmdTcGFjZShub2RlLCBwYXJhbXMpO1xuICAgICAgICB0aGlzLnJhdyhub2RlLCAncGFyYW1zJywgcGFyYW1zLCBhdHdvcmQpO1xuICAgIH1cblxuICAgIGRlY2wocGFydCkge1xuICAgICAgICBsZXQgbm9kZSA9IG5ldyBEZWNsYXJhdGlvbigpO1xuICAgICAgICB0aGlzLmluaXQobm9kZSwgcGFydCk7XG5cbiAgICAgICAgbGV0IGJldHdlZW4gPSAnJztcbiAgICAgICAgbGV0IGNvbG9uICAgPSAwO1xuICAgICAgICBsZXQgdmFsdWUgICA9IFtdO1xuICAgICAgICBsZXQgcHJvcCAgICA9ICcnO1xuICAgICAgICBmb3IgKCBsZXQgaSA9IDA7IGkgPCBwYXJ0LnRva2Vucy5sZW5ndGg7IGkrKyApIHtcbiAgICAgICAgICAgIGxldCB0b2tlbiA9IHBhcnQudG9rZW5zW2ldO1xuICAgICAgICAgICAgaWYgKCB0b2tlblswXSA9PT0gJzonICkge1xuICAgICAgICAgICAgICAgIGJldHdlZW4gKz0gdG9rZW5bMV07XG4gICAgICAgICAgICAgICAgY29sb24gICAgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICB2YWx1ZSAgICA9IHBhcnQudG9rZW5zLnNsaWNlKGkgKyAxKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIHRva2VuWzBdID09PSAnY29tbWVudCcgfHwgdG9rZW5bMF0gPT09ICdzcGFjZScgKSB7XG4gICAgICAgICAgICAgICAgYmV0d2VlbiArPSB0b2tlblsxXTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIGJldHdlZW4gIT09ICcnICkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmFkUHJvcCh0b2tlbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHByb3AgKz0gdG9rZW5bMV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIHByb3AgPT09ICcnICkgdGhpcy51bm5hbWVkRGVjbChwYXJ0LnRva2Vuc1swXSk7XG4gICAgICAgIG5vZGUucHJvcCA9IHByb3A7XG5cbiAgICAgICAgbGV0IG5leHQgPSB0aGlzLnBhcnRzW3RoaXMucG9zICsgMV07XG5cbiAgICAgICAgd2hpbGUgKCAhbmV4dC5lbmQgJiYgIW5leHQuYXRydWxlICYmICFuZXh0LmNvbG9uICYmXG4gICAgICAgICAgICAgICAgbmV4dC5pbmRlbnQubGVuZ3RoID4gcGFydC5pbmRlbnQubGVuZ3RoICkge1xuICAgICAgICAgICAgdmFsdWUucHVzaChbJ3NwYWNlJywgbmV4dC5iZWZvcmUgKyBuZXh0LmluZGVudF0pO1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5jb25jYXQobmV4dC50b2tlbnMpO1xuICAgICAgICAgICAgdGhpcy5wb3MgKz0gMTtcbiAgICAgICAgICAgIG5leHQgPSB0aGlzLnBhcnRzW3RoaXMucG9zICsgMV07XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKCBsZXQgaSA9IHZhbHVlLmxlbmd0aCAtIDE7IGkgPiAwOyBpLS0gKSB7XG4gICAgICAgICAgICBsZXQgdCA9IHZhbHVlW2ldWzBdO1xuICAgICAgICAgICAgaWYgKCB0ID09PSAnd29yZCcgJiYgdmFsdWVbaV1bMV0gPT09ICchaW1wb3J0YW50JyApIHtcbiAgICAgICAgICAgICAgICBub2RlLmltcG9ydGFudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKCBpID4gMCAmJiB2YWx1ZVtpIC0gMV1bMF0gPT09ICdzcGFjZScgKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUucmF3cy5pbXBvcnRhbnQgPSB2YWx1ZVtpIC0gMV1bMV0gKyAnIWltcG9ydGFudCc7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLnNwbGljZShpIC0gMSwgMik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5yYXdzLmltcG9ydGFudCA9ICchaW1wb3J0YW50JztcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIHQgIT09ICdzcGFjZScgJiYgdCAhPT0gJ25ld2xpbmUnICYmIHQgIT09ICdjb21tZW50JyApIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGUucmF3cy5iZXR3ZWVuID0gYmV0d2VlbiArIHRoaXMuZmlyc3RTcGFjZXModmFsdWUpO1xuICAgICAgICB0aGlzLnJhdyhub2RlLCAndmFsdWUnLCB2YWx1ZSwgY29sb24pO1xuICAgIH1cblxuICAgIHJ1bGUocGFydCkge1xuICAgICAgICBsZXQgbm9kZSA9IG5ldyBSdWxlKCk7XG4gICAgICAgIHRoaXMuaW5pdChub2RlLCBwYXJ0KTtcblxuICAgICAgICBsZXQgc2VsZWN0b3IgPSBwYXJ0LnRva2VucztcbiAgICAgICAgbGV0IG5leHQgICAgID0gdGhpcy5wYXJ0c1t0aGlzLnBvcyArIDFdO1xuXG4gICAgICAgIHdoaWxlICggIW5leHQuZW5kICYmIG5leHQuaW5kZW50Lmxlbmd0aCA9PT0gcGFydC5pbmRlbnQubGVuZ3RoICkge1xuICAgICAgICAgICAgc2VsZWN0b3IucHVzaChbJ3NwYWNlJywgbmV4dC5iZWZvcmUgKyBuZXh0LmluZGVudF0pO1xuICAgICAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3Rvci5jb25jYXQobmV4dC50b2tlbnMpO1xuICAgICAgICAgICAgdGhpcy5wb3MgKz0gMTtcbiAgICAgICAgICAgIG5leHQgPSB0aGlzLnBhcnRzW3RoaXMucG9zICsgMV07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmtlZXBUcmFpbGluZ1NwYWNlKG5vZGUsIHNlbGVjdG9yKTtcbiAgICAgICAgdGhpcy5yYXcobm9kZSwgJ3NlbGVjdG9yJywgc2VsZWN0b3IpO1xuICAgIH1cblxuICAgIC8qIEhlbHBlcnMgKi9cblxuICAgIGluZGVudChwYXJ0KSB7XG4gICAgICAgIGxldCBpbmRlbnQgPSBwYXJ0LmluZGVudC5sZW5ndGg7XG4gICAgICAgIGxldCBpc1ByZXYgPSB0eXBlb2YgdGhpcy5wcmV2SW5kZW50ICE9PSAndW5kZWZpbmVkJztcblxuICAgICAgICBpZiAoICFpc1ByZXYgJiYgaW5kZW50ICkgdGhpcy5pbmRlbnRlZEZpcnN0TGluZShwYXJ0KTtcblxuICAgICAgICBpZiAoICF0aGlzLnN0ZXAgJiYgaW5kZW50ICkge1xuICAgICAgICAgICAgdGhpcy5zdGVwID0gaW5kZW50O1xuICAgICAgICAgICAgdGhpcy5yb290LnJhd3MuaW5kZW50ID0gcGFydC5pbmRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIGlzUHJldiAmJiB0aGlzLnByZXZJbmRlbnQgIT09IGluZGVudCApIHtcbiAgICAgICAgICAgIGxldCBkaWZmID0gaW5kZW50IC0gdGhpcy5wcmV2SW5kZW50O1xuICAgICAgICAgICAgaWYgKCBkaWZmID4gMCApIHtcbiAgICAgICAgICAgICAgICBpZiAoIGRpZmYgIT09IHRoaXMuc3RlcCApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cm9uZ0luZGVudCh0aGlzLnByZXZJbmRlbnQgKyB0aGlzLnN0ZXAsIGluZGVudCwgcGFydCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50ID0gdGhpcy5jdXJyZW50Lmxhc3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggZGlmZiAlIHRoaXMuc3RlcCAhPT0gMCApIHtcbiAgICAgICAgICAgICAgICBsZXQgbSA9IGluZGVudCArIGRpZmYgJSB0aGlzLnN0ZXA7XG4gICAgICAgICAgICAgICAgdGhpcy53cm9uZ0luZGVudChgJHsgbSB9IG9yICR7IG0gKyB0aGlzLnN0ZXAgfWAsIGluZGVudCwgcGFydCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvciAoIGxldCBpID0gMDsgaSA8IC1kaWZmIC8gdGhpcy5zdGVwOyBpKysgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudCA9IHRoaXMuY3VycmVudC5wYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmV2SW5kZW50ID0gaW5kZW50O1xuICAgIH1cblxuICAgIGluaXQobm9kZSwgcGFydCkge1xuICAgICAgICB0aGlzLmluZGVudChwYXJ0KTtcblxuICAgICAgICBpZiAoICF0aGlzLmN1cnJlbnQubm9kZXMgKSB0aGlzLmN1cnJlbnQubm9kZXMgPSBbXTtcbiAgICAgICAgdGhpcy5jdXJyZW50LnB1c2gobm9kZSk7XG5cbiAgICAgICAgbm9kZS5yYXdzLmJlZm9yZSA9IHBhcnQuYmVmb3JlICsgcGFydC5pbmRlbnQ7XG4gICAgICAgIG5vZGUuc291cmNlID0ge1xuICAgICAgICAgICAgc3RhcnQ6IHsgbGluZTogcGFydC50b2tlbnNbMF1bMl0sIGNvbHVtbjogcGFydC50b2tlbnNbMF1bM10gfSxcbiAgICAgICAgICAgIGlucHV0OiB0aGlzLmlucHV0XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAga2VlcFRyYWlsaW5nU3BhY2Uobm9kZSwgdG9rZW5zKSB7XG4gICAgICAgIGxldCBsYXN0U3BhY2UgPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAoIGxhc3RTcGFjZSAmJiBsYXN0U3BhY2VbMF0gPT09ICdzcGFjZScgKSB7XG4gICAgICAgICAgICB0b2tlbnMucG9wKCk7XG4gICAgICAgICAgICBub2RlLnJhd3Muc3NzQmV0d2VlbiA9IGxhc3RTcGFjZVsxXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpcnN0U3BhY2VzKHRva2Vucykge1xuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgICAgIGZvciAoIGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKyApIHtcbiAgICAgICAgICAgIGlmICggdG9rZW5zW2ldWzBdID09PSAnc3BhY2UnIHx8IHRva2Vuc1tpXVswXSA9PT0gJ25ld2xpbmUnICkge1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSB0b2tlbnMuc2hpZnQoKVsxXTtcbiAgICAgICAgICAgICAgICBpIC09IDE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcmF3KG5vZGUsIHByb3AsIHRva2VucywgYWx0TGFzdCkge1xuICAgICAgICBsZXQgdG9rZW4sIHR5cGU7XG4gICAgICAgIGxldCBsZW5ndGggPSB0b2tlbnMubGVuZ3RoO1xuICAgICAgICBsZXQgdmFsdWUgID0gJyc7XG4gICAgICAgIGxldCBjbGVhbiAgPSB0cnVlO1xuICAgICAgICBmb3IgKCBsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkgKz0gMSApIHtcbiAgICAgICAgICAgIHRva2VuID0gdG9rZW5zW2ldO1xuICAgICAgICAgICAgdHlwZSAgPSB0b2tlblswXTtcbiAgICAgICAgICAgIGlmICggdHlwZSA9PT0gJ2NvbW1lbnQnIHx8IHR5cGUgPT09ICdzcGFjZScgJiYgaSA9PT0gbGVuZ3RoIC0gMSApIHtcbiAgICAgICAgICAgICAgICBjbGVhbiA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSArPSB0b2tlblsxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoICFjbGVhbiApIHtcbiAgICAgICAgICAgIGxldCBzc3MgPSB0b2tlbnMucmVkdWNlKCAoYWxsLCBpKSA9PiBhbGwgKyBpWzFdLCAnJyk7XG4gICAgICAgICAgICBsZXQgcmF3ID0gdG9rZW5zLnJlZHVjZSggKGFsbCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICggaVswXSA9PT0gJ2NvbW1lbnQnICYmIGlbNl0gPT09ICdpbmxpbmUnICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWxsICsgJy8qICcgKyBpWzFdLnNsaWNlKDIpLnRyaW0oKSArICcgKi8nO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhbGwgKyBpWzFdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sICcnKTtcbiAgICAgICAgICAgIG5vZGUucmF3c1twcm9wXSA9IHsgdmFsdWUsIHJhdyB9O1xuICAgICAgICAgICAgaWYgKCBzc3MgIT09IHJhdyApIG5vZGUucmF3c1twcm9wXS5zc3MgPSBzc3M7XG4gICAgICAgIH1cbiAgICAgICAgbm9kZVtwcm9wXSA9IHZhbHVlO1xuXG4gICAgICAgIGxldCBsYXN0ID0gdG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXSB8fCBhbHRMYXN0O1xuICAgICAgICBub2RlLnNvdXJjZS5lbmQgPSB7IGxpbmU6IGxhc3RbNF0sIGNvbHVtbjogbGFzdFs1XSB9O1xuICAgIH1cblxuICAgIC8vIEVycm9yc1xuXG4gICAgZXJyb3IobXNnLCBsaW5lLCBjb2x1bW4pIHtcbiAgICAgICAgdGhyb3cgdGhpcy5pbnB1dC5lcnJvcihtc2csIGxpbmUsIGNvbHVtbik7XG4gICAgfVxuXG4gICAgdW5uYW1lZEF0cnVsZSh0b2tlbikge1xuICAgICAgICB0aGlzLmVycm9yKCdBdC1ydWxlIHdpdGhvdXQgbmFtZScsIHRva2VuWzJdLCB0b2tlblszXSk7XG4gICAgfVxuXG4gICAgdW5uYW1lZERlY2wodG9rZW4pIHtcbiAgICAgICAgdGhpcy5lcnJvcignRGVjbGFyYXRpb24gd2l0aG91dCBuYW1lJywgdG9rZW5bMl0sIHRva2VuWzNdKTtcbiAgICB9XG5cbiAgICBpbmRlbnRlZEZpcnN0TGluZShwYXJ0KSB7XG4gICAgICAgIHRoaXMuZXJyb3IoJ0ZpcnN0IGxpbmUgc2hvdWxkIG5vdCBoYXZlIGluZGVudCcsIHBhcnQubnVtYmVyLCAxKTtcbiAgICB9XG5cbiAgICB3cm9uZ0luZGVudChleHBlY3RlZCwgcmVhbCwgcGFydCkge1xuICAgICAgICBsZXQgbXNnID0gYEV4cGVjdGVkICR7IGV4cGVjdGVkIH0gaW5kZW50LCBidXQgZ2V0ICR7IHJlYWwgfWA7XG4gICAgICAgIHRoaXMuZXJyb3IobXNnLCBwYXJ0Lm51bWJlciwgMSk7XG4gICAgfVxuXG4gICAgYmFkUHJvcCh0b2tlbikge1xuICAgICAgICB0aGlzLmVycm9yKCdVbmV4cGVjdGVkIHNlcGFyYXRvciBpbiBwcm9wZXJ0eScsIHRva2VuWzJdLCB0b2tlblszXSk7XG4gICAgfVxuXG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,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QUFMLENBQVcsc0JBQVgsRUFBbUMsTUFBTSxDQUFOLENBQW5DLEVBQTZDLE1BQU0sQ0FBTixDQUE3QyxFQURpQjs7O0FBL1JKLHFCQW1TakIsbUNBQVksT0FBTztBQUNmLGFBQUssS0FBTCxDQUFXLDBCQUFYLEVBQXVDLE1BQU0sQ0FBTixDQUF2QyxFQUFpRCxNQUFNLENBQU4sQ0FBakQsRUFEZTs7O0FBblNGLHFCQXVTakIsK0NBQWtCLE1BQU07QUFDcEIsYUFBSyxLQUFMLENBQVcsbUNBQVgsRUFBZ0QsS0FBSyxNQUFMLEVBQWEsQ0FBN0QsRUFEb0I7OztBQXZTUCxxQkEyU2pCLG1DQUFZLFVBQVUsTUFBTSxNQUFNO0FBQzlCLFlBQUksb0JBQW1CLGlDQUE4QixJQUFqRCxDQUQwQjtBQUU5QixhQUFLLEtBQUwsQ0FBVyxHQUFYLEVBQWdCLEtBQUssTUFBTCxFQUFhLENBQTdCLEVBRjhCOzs7QUEzU2pCLHFCQWdUakIsMkJBQVEsT0FBTztBQUNYLGFBQUssS0FBTCxDQUFXLGtDQUFYLEVBQStDLE1BQU0sQ0FBTixDQUEvQyxFQUF5RCxNQUFNLENBQU4sQ0FBekQsRUFEVzs7O1dBaFRFIiwiZmlsZSI6InBhcnNlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEZWNsYXJhdGlvbiBmcm9tICdwb3N0Y3NzL2xpYi9kZWNsYXJhdGlvbic7XG5pbXBvcnQgQ29tbWVudCAgICAgZnJvbSAncG9zdGNzcy9saWIvY29tbWVudCc7XG5pbXBvcnQgQXRSdWxlICAgICAgZnJvbSAncG9zdGNzcy9saWIvYXQtcnVsZSc7XG5pbXBvcnQgUnVsZSAgICAgICAgZnJvbSAncG9zdGNzcy9saWIvcnVsZSc7XG5pbXBvcnQgUm9vdCAgICAgICAgZnJvbSAncG9zdGNzcy9saWIvcm9vdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcnNlciB7XG5cbiAgICBjb25zdHJ1Y3RvcihpbnB1dCkge1xuICAgICAgICB0aGlzLmlucHV0ID0gaW5wdXQ7XG5cbiAgICAgICAgdGhpcy5wb3MgICAgID0gMDtcbiAgICAgICAgdGhpcy5yb290ICAgID0gbmV3IFJvb3QoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50ID0gdGhpcy5yb290O1xuICAgICAgICB0aGlzLnNwYWNlcyAgPSAnJztcblxuICAgICAgICB0aGlzLnByZXZJbmRlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc3RlcCAgICAgICA9IHVuZGVmaW5lZDtcblxuICAgICAgICB0aGlzLnJvb3Quc291cmNlID0geyBpbnB1dCwgc3RhcnQ6IHsgbGluZTogMSwgY29sdW1uOiAxIH0gfTtcbiAgICB9XG5cbiAgICBsb29wKCkge1xuICAgICAgICBsZXQgcGFydDtcbiAgICAgICAgd2hpbGUgKCB0aGlzLnBvcyA8IHRoaXMucGFydHMubGVuZ3RoICkge1xuICAgICAgICAgICAgcGFydCA9IHRoaXMucGFydHNbdGhpcy5wb3NdO1xuXG4gICAgICAgICAgICBpZiAoIHBhcnQuY29tbWVudCApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1lbnQocGFydCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCBwYXJ0LmF0cnVsZSApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0cnVsZShwYXJ0KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIHBhcnQuY29sb24gKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5leHQgPSB0aGlzLm5leHROb25Db21tZW50KHRoaXMucG9zKTtcblxuICAgICAgICAgICAgICAgIGlmICggbmV4dC5lbmQgfHwgbmV4dC5hdHJ1bGUgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVjbChwYXJ0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZXQgc2FtZUluZGVudCA9IG5leHQuaW5kZW50Lmxlbmd0aCA9PT0gcGFydC5pbmRlbnQubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIHNhbWVJbmRlbnQgJiYgbmV4dC5jb2xvbiApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVjbChwYXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICggc2FtZUluZGVudCAmJiAhbmV4dC5jb2xvbiApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucnVsZShwYXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICggIXNhbWVJbmRlbnQgJiYgbmV4dC5jb2xvbiApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucnVsZShwYXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICggIXNhbWVJbmRlbnQgJiYgIW5leHQuY29sb24gKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlY2wocGFydCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCBwYXJ0LmVuZCApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3QucmF3cy5hZnRlciA9IHBhcnQuYmVmb3JlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGUocGFydCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucG9zICs9IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb21tZW50KHBhcnQpIHtcbiAgICAgICAgbGV0IHRva2VuID0gcGFydC50b2tlbnNbMF07XG4gICAgICAgIGxldCBub2RlICA9IG5ldyBDb21tZW50KCk7XG4gICAgICAgIHRoaXMuaW5pdChub2RlLCBwYXJ0KTtcbiAgICAgICAgbm9kZS5zb3VyY2UuZW5kID0geyBsaW5lOiB0b2tlbls0XSwgY29sdW1uOiB0b2tlbls1XSB9O1xuXG4gICAgICAgIGxldCB0ZXh0ID0gdG9rZW5bMV07XG4gICAgICAgIGlmICggdG9rZW5bNl0gPT09ICdpbmxpbmUnICkge1xuICAgICAgICAgICAgbm9kZS5yYXdzLmlubGluZSA9IHRydWU7XG4gICAgICAgICAgICB0ZXh0ID0gdGV4dC5zbGljZSgyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRleHQgPSB0ZXh0LnNsaWNlKDIsIC0yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBtYXRjaCA9IHRleHQubWF0Y2goL14oXFxzKikoW15dKlteXFxzXSkoXFxzKilcXG4/JC8pO1xuICAgICAgICBub2RlLnRleHQgPSBtYXRjaFsyXTtcbiAgICAgICAgbm9kZS5yYXdzLmxlZnQgPSBtYXRjaFsxXTtcbiAgICAgICAgbm9kZS5yYXdzLmlubGluZVJpZ2h0ID0gbWF0Y2hbM107XG4gICAgfVxuXG4gICAgYXRydWxlKHBhcnQpIHtcbiAgICAgICAgbGV0IGF0d29yZCA9IHBhcnQudG9rZW5zWzBdO1xuICAgICAgICBsZXQgcGFyYW1zID0gcGFydC50b2tlbnMuc2xpY2UoMSk7XG5cbiAgICAgICAgbGV0IG5vZGUgID0gbmV3IEF0UnVsZSgpO1xuICAgICAgICBub2RlLm5hbWUgPSBhdHdvcmRbMV0uc2xpY2UoMSk7XG4gICAgICAgIHRoaXMuaW5pdChub2RlLCBwYXJ0KTtcblxuICAgICAgICBpZiAoIG5vZGUubmFtZSA9PT0gJycgKSB0aGlzLnVubmFtZWRBdHJ1bGUoYXR3b3JkKTtcblxuICAgICAgICB3aGlsZSAoICFwYXJ0LmVuZCAmJiBwYXJ0Lmxhc3RDb21tYSApIHtcbiAgICAgICAgICAgIHRoaXMucG9zICs9IDE7XG4gICAgICAgICAgICBwYXJ0ID0gdGhpcy5wYXJ0c1t0aGlzLnBvc107XG4gICAgICAgICAgICBwYXJhbXMucHVzaChbJ3NwYWNlJywgcGFydC5iZWZvcmUgKyBwYXJ0LmluZGVudF0pO1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmNvbmNhdChwYXJ0LnRva2Vucyk7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlLnJhd3MuYWZ0ZXJOYW1lID0gdGhpcy5maXJzdFNwYWNlcyhwYXJhbXMpO1xuICAgICAgICB0aGlzLmtlZXBUcmFpbGluZ1NwYWNlKG5vZGUsIHBhcmFtcyk7XG4gICAgICAgIHRoaXMucmF3KG5vZGUsICdwYXJhbXMnLCBwYXJhbXMsIGF0d29yZCk7XG4gICAgfVxuXG4gICAgZGVjbChwYXJ0KSB7XG4gICAgICAgIGxldCBub2RlID0gbmV3IERlY2xhcmF0aW9uKCk7XG4gICAgICAgIHRoaXMuaW5pdChub2RlLCBwYXJ0KTtcblxuICAgICAgICBsZXQgYmV0d2VlbiA9ICcnO1xuICAgICAgICBsZXQgY29sb24gICA9IDA7XG4gICAgICAgIGxldCB2YWx1ZSAgID0gW107XG4gICAgICAgIGxldCBwcm9wICAgID0gJyc7XG4gICAgICAgIGZvciAoIGxldCBpID0gMDsgaSA8IHBhcnQudG9rZW5zLmxlbmd0aDsgaSsrICkge1xuICAgICAgICAgICAgbGV0IHRva2VuID0gcGFydC50b2tlbnNbaV07XG4gICAgICAgICAgICBpZiAoIHRva2VuWzBdID09PSAnOicgKSB7XG4gICAgICAgICAgICAgICAgYmV0d2VlbiArPSB0b2tlblsxXTtcbiAgICAgICAgICAgICAgICBjb2xvbiAgICA9IHRva2VuO1xuICAgICAgICAgICAgICAgIHZhbHVlICAgID0gcGFydC50b2tlbnMuc2xpY2UoaSArIDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIGlmICggdG9rZW5bMF0gPT09ICdjb21tZW50JyB8fCB0b2tlblswXSA9PT0gJ3NwYWNlJyApIHtcbiAgICAgICAgICAgICAgICBiZXR3ZWVuICs9IHRva2VuWzFdO1xuICAgICAgICAgICAgfSBlbHNlIGlmICggYmV0d2VlbiAhPT0gJycgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iYWRQcm9wKHRva2VuKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcHJvcCArPSB0b2tlblsxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggcHJvcCA9PT0gJycgKSB0aGlzLnVubmFtZWREZWNsKHBhcnQudG9rZW5zWzBdKTtcbiAgICAgICAgbm9kZS5wcm9wID0gcHJvcDtcblxuICAgICAgICBsZXQgbmV4dCA9IHRoaXMucGFydHNbdGhpcy5wb3MgKyAxXTtcblxuICAgICAgICB3aGlsZSAoICFuZXh0LmVuZCAmJiAhbmV4dC5hdHJ1bGUgJiYgIW5leHQuY29sb24gJiZcbiAgICAgICAgICAgICAgICBuZXh0LmluZGVudC5sZW5ndGggPiBwYXJ0LmluZGVudC5sZW5ndGggKSB7XG4gICAgICAgICAgICB2YWx1ZS5wdXNoKFsnc3BhY2UnLCBuZXh0LmJlZm9yZSArIG5leHQuaW5kZW50XSk7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLmNvbmNhdChuZXh0LnRva2Vucyk7XG4gICAgICAgICAgICB0aGlzLnBvcyArPSAxO1xuICAgICAgICAgICAgbmV4dCA9IHRoaXMucGFydHNbdGhpcy5wb3MgKyAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoIGxldCBpID0gdmFsdWUubGVuZ3RoIC0gMTsgaSA+IDA7IGktLSApIHtcbiAgICAgICAgICAgIGxldCB0ID0gdmFsdWVbaV1bMF07XG4gICAgICAgICAgICBpZiAoIHQgPT09ICd3b3JkJyAmJiB2YWx1ZVtpXVsxXSA9PT0gJyFpbXBvcnRhbnQnICkge1xuICAgICAgICAgICAgICAgIG5vZGUuaW1wb3J0YW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoIGkgPiAwICYmIHZhbHVlW2kgLSAxXVswXSA9PT0gJ3NwYWNlJyApIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5yYXdzLmltcG9ydGFudCA9IHZhbHVlW2kgLSAxXVsxXSArICchaW1wb3J0YW50JztcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUuc3BsaWNlKGkgLSAxLCAyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBub2RlLnJhd3MuaW1wb3J0YW50ID0gJyFpbXBvcnRhbnQnO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIGlmICggdCAhPT0gJ3NwYWNlJyAmJiB0ICE9PSAnbmV3bGluZScgJiYgdCAhPT0gJ2NvbW1lbnQnICkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5yYXdzLmJldHdlZW4gPSBiZXR3ZWVuICsgdGhpcy5maXJzdFNwYWNlcyh2YWx1ZSk7XG4gICAgICAgIHRoaXMucmF3KG5vZGUsICd2YWx1ZScsIHZhbHVlLCBjb2xvbik7XG4gICAgfVxuXG4gICAgcnVsZShwYXJ0KSB7XG4gICAgICAgIGxldCBub2RlID0gbmV3IFJ1bGUoKTtcbiAgICAgICAgdGhpcy5pbml0KG5vZGUsIHBhcnQpO1xuXG4gICAgICAgIGxldCBzZWxlY3RvciA9IHBhcnQudG9rZW5zO1xuICAgICAgICBsZXQgbmV4dCAgICAgPSB0aGlzLnBhcnRzW3RoaXMucG9zICsgMV07XG5cbiAgICAgICAgd2hpbGUgKCAhbmV4dC5lbmQgJiYgbmV4dC5pbmRlbnQubGVuZ3RoID09PSBwYXJ0LmluZGVudC5sZW5ndGggKSB7XG4gICAgICAgICAgICBzZWxlY3Rvci5wdXNoKFsnc3BhY2UnLCBuZXh0LmJlZm9yZSArIG5leHQuaW5kZW50XSk7XG4gICAgICAgICAgICBzZWxlY3RvciA9IHNlbGVjdG9yLmNvbmNhdChuZXh0LnRva2Vucyk7XG4gICAgICAgICAgICB0aGlzLnBvcyArPSAxO1xuICAgICAgICAgICAgbmV4dCA9IHRoaXMucGFydHNbdGhpcy5wb3MgKyAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMua2VlcFRyYWlsaW5nU3BhY2Uobm9kZSwgc2VsZWN0b3IpO1xuICAgICAgICB0aGlzLnJhdyhub2RlLCAnc2VsZWN0b3InLCBzZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgLyogSGVscGVycyAqL1xuXG4gICAgaW5kZW50KHBhcnQpIHtcbiAgICAgICAgbGV0IGluZGVudCA9IHBhcnQuaW5kZW50Lmxlbmd0aDtcbiAgICAgICAgbGV0IGlzUHJldiA9IHR5cGVvZiB0aGlzLnByZXZJbmRlbnQgIT09ICd1bmRlZmluZWQnO1xuXG4gICAgICAgIGlmICggIWlzUHJldiAmJiBpbmRlbnQgKSB0aGlzLmluZGVudGVkRmlyc3RMaW5lKHBhcnQpO1xuXG4gICAgICAgIGlmICggIXRoaXMuc3RlcCAmJiBpbmRlbnQgKSB7XG4gICAgICAgICAgICB0aGlzLnN0ZXAgPSBpbmRlbnQ7XG4gICAgICAgICAgICB0aGlzLnJvb3QucmF3cy5pbmRlbnQgPSBwYXJ0LmluZGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggaXNQcmV2ICYmIHRoaXMucHJldkluZGVudCAhPT0gaW5kZW50ICkge1xuICAgICAgICAgICAgbGV0IGRpZmYgPSBpbmRlbnQgLSB0aGlzLnByZXZJbmRlbnQ7XG4gICAgICAgICAgICBpZiAoIGRpZmYgPiAwICkge1xuICAgICAgICAgICAgICAgIGlmICggZGlmZiAhPT0gdGhpcy5zdGVwICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndyb25nSW5kZW50KHRoaXMucHJldkluZGVudCArIHRoaXMuc3RlcCwgaW5kZW50LCBwYXJ0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLmN1cnJlbnQubGFzdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCBkaWZmICUgdGhpcy5zdGVwICE9PSAwICkge1xuICAgICAgICAgICAgICAgIGxldCBtID0gaW5kZW50ICsgZGlmZiAlIHRoaXMuc3RlcDtcbiAgICAgICAgICAgICAgICB0aGlzLndyb25nSW5kZW50KGAkeyBtIH0gb3IgJHsgbSArIHRoaXMuc3RlcCB9YCwgaW5kZW50LCBwYXJ0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9yICggbGV0IGkgPSAwOyBpIDwgLWRpZmYgLyB0aGlzLnN0ZXA7IGkrKyApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50ID0gdGhpcy5jdXJyZW50LnBhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZJbmRlbnQgPSBpbmRlbnQ7XG4gICAgfVxuXG4gICAgaW5pdChub2RlLCBwYXJ0KSB7XG4gICAgICAgIHRoaXMuaW5kZW50KHBhcnQpO1xuXG4gICAgICAgIGlmICggIXRoaXMuY3VycmVudC5ub2RlcyApIHRoaXMuY3VycmVudC5ub2RlcyA9IFtdO1xuICAgICAgICB0aGlzLmN1cnJlbnQucHVzaChub2RlKTtcblxuICAgICAgICBub2RlLnJhd3MuYmVmb3JlID0gcGFydC5iZWZvcmUgKyBwYXJ0LmluZGVudDtcbiAgICAgICAgbm9kZS5zb3VyY2UgPSB7XG4gICAgICAgICAgICBzdGFydDogeyBsaW5lOiBwYXJ0LnRva2Vuc1swXVsyXSwgY29sdW1uOiBwYXJ0LnRva2Vuc1swXVszXSB9LFxuICAgICAgICAgICAgaW5wdXQ6IHRoaXMuaW5wdXRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBrZWVwVHJhaWxpbmdTcGFjZShub2RlLCB0b2tlbnMpIHtcbiAgICAgICAgbGV0IGxhc3RTcGFjZSA9IHRva2Vuc1t0b2tlbnMubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICggbGFzdFNwYWNlICYmIGxhc3RTcGFjZVswXSA9PT0gJ3NwYWNlJyApIHtcbiAgICAgICAgICAgIHRva2Vucy5wb3AoKTtcbiAgICAgICAgICAgIG5vZGUucmF3cy5zc3NCZXR3ZWVuID0gbGFzdFNwYWNlWzFdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlyc3RTcGFjZXModG9rZW5zKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcbiAgICAgICAgZm9yICggbGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrICkge1xuICAgICAgICAgICAgaWYgKCB0b2tlbnNbaV1bMF0gPT09ICdzcGFjZScgfHwgdG9rZW5zW2ldWzBdID09PSAnbmV3bGluZScgKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHRva2Vucy5zaGlmdCgpWzFdO1xuICAgICAgICAgICAgICAgIGkgLT0gMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICByYXcobm9kZSwgcHJvcCwgdG9rZW5zLCBhbHRMYXN0KSB7XG4gICAgICAgIGxldCB0b2tlbiwgdHlwZTtcbiAgICAgICAgbGV0IGxlbmd0aCA9IHRva2Vucy5sZW5ndGg7XG4gICAgICAgIGxldCB2YWx1ZSAgPSAnJztcbiAgICAgICAgbGV0IGNsZWFuICA9IHRydWU7XG4gICAgICAgIGZvciAoIGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSArPSAxICkge1xuICAgICAgICAgICAgdG9rZW4gPSB0b2tlbnNbaV07XG4gICAgICAgICAgICB0eXBlICA9IHRva2VuWzBdO1xuICAgICAgICAgICAgaWYgKCB0eXBlID09PSAnY29tbWVudCcgfHwgdHlwZSA9PT0gJ3NwYWNlJyAmJiBpID09PSBsZW5ndGggLSAxICkge1xuICAgICAgICAgICAgICAgIGNsZWFuID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhbHVlICs9IHRva2VuWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICggIWNsZWFuICkge1xuICAgICAgICAgICAgbGV0IHNzcyA9IHRva2Vucy5yZWR1Y2UoIChhbGwsIGkpID0+IGFsbCArIGlbMV0sICcnKTtcbiAgICAgICAgICAgIGxldCByYXcgPSB0b2tlbnMucmVkdWNlKCAoYWxsLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCBpWzBdID09PSAnY29tbWVudCcgJiYgaVs2XSA9PT0gJ2lubGluZScgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhbGwgKyAnLyogJyArIGlbMV0uc2xpY2UoMikudHJpbSgpICsgJyAqLyc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFsbCArIGlbMV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgJycpO1xuICAgICAgICAgICAgbm9kZS5yYXdzW3Byb3BdID0geyB2YWx1ZSwgcmF3IH07XG4gICAgICAgICAgICBpZiAoIHNzcyAhPT0gcmF3ICkgbm9kZS5yYXdzW3Byb3BdLnNzcyA9IHNzcztcbiAgICAgICAgfVxuICAgICAgICBub2RlW3Byb3BdID0gdmFsdWU7XG5cbiAgICAgICAgbGV0IGxhc3QgPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdIHx8IGFsdExhc3Q7XG4gICAgICAgIG5vZGUuc291cmNlLmVuZCA9IHsgbGluZTogbGFzdFs0XSwgY29sdW1uOiBsYXN0WzVdIH07XG4gICAgfVxuXG4gICAgbmV4dE5vbkNvbW1lbnQocG9zKSB7XG4gICAgICAgIGxldCBuZXh0ID0gcG9zO1xuICAgICAgICBsZXQgcGFydDtcbiAgICAgICAgd2hpbGUgKCBuZXh0IDwgdGhpcy5wYXJ0cy5sZW5ndGggKSB7XG4gICAgICAgICAgICBuZXh0ICs9IDE7XG4gICAgICAgICAgICBwYXJ0ID0gdGhpcy5wYXJ0c1tuZXh0XTtcbiAgICAgICAgICAgIGlmICggcGFydC5lbmQgfHwgIXBhcnQuY29tbWVudCApIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJ0O1xuICAgIH1cblxuICAgIC8vIEVycm9yc1xuXG4gICAgZXJyb3IobXNnLCBsaW5lLCBjb2x1bW4pIHtcbiAgICAgICAgdGhyb3cgdGhpcy5pbnB1dC5lcnJvcihtc2csIGxpbmUsIGNvbHVtbik7XG4gICAgfVxuXG4gICAgdW5uYW1lZEF0cnVsZSh0b2tlbikge1xuICAgICAgICB0aGlzLmVycm9yKCdBdC1ydWxlIHdpdGhvdXQgbmFtZScsIHRva2VuWzJdLCB0b2tlblszXSk7XG4gICAgfVxuXG4gICAgdW5uYW1lZERlY2wodG9rZW4pIHtcbiAgICAgICAgdGhpcy5lcnJvcignRGVjbGFyYXRpb24gd2l0aG91dCBuYW1lJywgdG9rZW5bMl0sIHRva2VuWzNdKTtcbiAgICB9XG5cbiAgICBpbmRlbnRlZEZpcnN0TGluZShwYXJ0KSB7XG4gICAgICAgIHRoaXMuZXJyb3IoJ0ZpcnN0IGxpbmUgc2hvdWxkIG5vdCBoYXZlIGluZGVudCcsIHBhcnQubnVtYmVyLCAxKTtcbiAgICB9XG5cbiAgICB3cm9uZ0luZGVudChleHBlY3RlZCwgcmVhbCwgcGFydCkge1xuICAgICAgICBsZXQgbXNnID0gYEV4cGVjdGVkICR7IGV4cGVjdGVkIH0gaW5kZW50LCBidXQgZ2V0ICR7IHJlYWwgfWA7XG4gICAgICAgIHRoaXMuZXJyb3IobXNnLCBwYXJ0Lm51bWJlciwgMSk7XG4gICAgfVxuXG4gICAgYmFkUHJvcCh0b2tlbikge1xuICAgICAgICB0aGlzLmVycm9yKCdVbmV4cGVjdGVkIHNlcGFyYXRvciBpbiBwcm9wZXJ0eScsIHRva2VuWzJdLCB0b2tlblszXSk7XG4gICAgfVxuXG59XG4iXX0= |
# SugarSS [![Build Status][ci-img]][ci] | ||
<img align="right" width="135" height="95" | ||
title="Philosopher’s stone, logo of PostCSS" | ||
src="http://postcss.github.io/postcss/logo-leftp.svg"> | ||
<img align="right" width="120" height="150" | ||
title="SugarSS logo by Maria Keller" | ||
src="http://postcss.github.io/sugarss/logo.svg"> | ||
@@ -124,3 +124,3 @@ Indent-based CSS syntax for [PostCSS]. | ||
* Atom: [language-postcss-sugarss] | ||
* Atom: [language-postcss] or [language-postcss-sugarss] | ||
@@ -132,2 +132,3 @@ We are working on syntax highlight support in text editors. | ||
[language-postcss-sugarss]: https://atom.io/packages/language-postcss-sugarss | ||
[language-postcss]: https://atom.io/packages/language-postcss | ||
@@ -144,8 +145,8 @@ ## Usage | ||
```js | ||
var sugarss = require('sugarss'); | ||
var postcss = require('gulp-postcss'); | ||
var sugarss = require('postcss-scss'); | ||
var rename = require('gulp-rename'); | ||
gulp.task('style', function () { | ||
return gulp.src('scr/**/*.sss') | ||
return gulp.src('src/**/*.sss') | ||
.pipe(postcss(plugins, { parser: sugarss })) | ||
@@ -179,3 +180,3 @@ .pipe(rename({ extname: '.css' })) | ||
gulp.task('sort', function () { | ||
return gulp.src('scr/**/*.sss') | ||
return gulp.src('src/**/*.sss') | ||
.pipe(postcss([sorting], { syntax: sugarss })) | ||
@@ -198,1 +199,5 @@ .pipe(gulp.dest('src')); | ||
``` | ||
## Thanks | ||
Cute project logo was made by [Maria Keller](http://www.mariakellerac.com/). |
@@ -17,2 +17,2 @@ 'use strict'; | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmluZ2lmeS5lczYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O2tCQUV3Qjs7Ozs7Ozs7QUFBVCxTQUFTLFNBQVQsQ0FBbUIsSUFBbkIsRUFBeUIsT0FBekIsRUFBa0M7QUFDN0MsUUFBSSxNQUFNLDBCQUFnQixPQUFoQixDQUFOLENBRHlDO0FBRTdDLFFBQUksU0FBSixDQUFjLElBQWQsRUFGNkM7Q0FBbEMiLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmluZ2lmaWVyIGZyb20gJy4vc3RyaW5naWZpZXInO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdHJpbmdpZnkobm9kZSwgYnVpbGRlcikge1xuICAgIGxldCBzdHIgPSBuZXcgU3RyaW5naWZpZXIoYnVpbGRlcik7XG4gICAgc3RyLnN0cmluZ2lmeShub2RlKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmluZ2lmeS5lczYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O2tCQUV3Qjs7QUFGeEI7Ozs7OztBQUVlLFNBQVMsU0FBVCxDQUFtQixJQUFuQixFQUF5QixPQUF6QixFQUFrQztBQUM3QyxRQUFJLE1BQU0sMEJBQWdCLE9BQWhCLENBQU4sQ0FEeUM7QUFFN0MsUUFBSSxTQUFKLENBQWMsSUFBZCxFQUY2QztDQUFsQyIsImZpbGUiOiJzdHJpbmdpZnkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3RyaW5naWZpZXIgZnJvbSAnLi9zdHJpbmdpZmllcic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0cmluZ2lmeShub2RlLCBidWlsZGVyKSB7XG4gICAgbGV0IHN0ciA9IG5ldyBTdHJpbmdpZmllcihidWlsZGVyKTtcbiAgICBzdHIuc3RyaW5naWZ5KG5vZGUpO1xufVxuIl19 |
Sorry, the diff of this file is not supported yet
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
108053
799
199