Comparing version 0.3.1 to 0.3.2
@@ -72,3 +72,2 @@ 'use strict'; | ||
_this._nodeControllers = new _map2.default(); | ||
_this._lookupTable = new _map2.default(); | ||
@@ -78,2 +77,4 @@ if (!rootNodeController) throw new Error(); | ||
_this._lookupTable = new _map2.default([[init.root, [_this]]]); | ||
_this._allByTag = new _map2.default(); | ||
@@ -140,2 +141,5 @@ init.tags.forEach(function (_ref2) { | ||
var parentController = _this._nodeControllers.get(parent); | ||
if (!parentController) throw new Error('parent is not part of TagTree'); | ||
var value = node.getValue(); | ||
@@ -159,7 +163,3 @@ var nodes = _this._lookupTable.get(value); | ||
tagEntry.controller.remove(node); | ||
var parentController = _this._nodeControllers.get(parent); | ||
if (!parentController) throw new Error('parent is not part of TagTree'); | ||
parentController.removeOwnedNode(tag, node); | ||
_this._nodeControllers.delete(node); | ||
@@ -208,2 +208,2 @@ }, | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9UYWdUcmVlLmpzIl0sIm5hbWVzIjpbIkVNUFRZX0FSUkFZIiwiVGFnVHJlZSIsImluaXQiLCJyb290Tm9kZUNvbnRyb2xsZXIiLCJ2YWx1ZSIsInJvb3QiLCJwYXJlbnQiLCJvd25lZFRhZ3MiLCJ0YWdzIiwibWFwIiwidGFnIiwiZXhlY3V0b3IiLCJjb250cm9sbGVyIiwiX25vZGVDb250cm9sbGVycyIsIl9sb29rdXBUYWJsZSIsIkVycm9yIiwic2V0IiwiX2FsbEJ5VGFnIiwiZm9yRWFjaCIsImFjdGl2ZSIsImxpdmVTZXQiLCJoYXMiLCJvd25lZEJ5IiwiZW50cnkiLCJnZXQiLCJvd25pbmdUYWciLCJhZGQiLCJ0cmVlIiwiYWRkVGFnZ2VkVmFsdWUiLCJ0YWdFbnRyeSIsIm5vZGUiLCJfY29udHJvbGxlciIsInZhbHVlTm9kZXMiLCJwdXNoIiwicGFyZW50Q29udHJvbGxlciIsImFkZE93bmVkTm9kZSIsInJlbW92ZVRhZ2dlZE5vZGUiLCJnZXRWYWx1ZSIsIm5vZGVzIiwibGVuZ3RoIiwiaXgiLCJpbmRleE9mIiwic3BsaWNlIiwiZGVsZXRlIiwiZ2V0T3duZWQiLCJ2YWx1ZXMiLCJjaGlsZE5vZGUiLCJyZW1vdmUiLCJyZW1vdmVPd25lZE5vZGUiLCJlbmQiLCJsIiwic2xpY2UiLCJtIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBR0E7Ozs7OztBQWdCQSxJQUFNQSxjQUFjLHNCQUFjLEVBQWQsQ0FBcEI7O0lBRXFCQyxPOzs7QUFTbkIsbUJBQVlDLElBQVosRUFBa0M7QUFBQTs7QUFDaEMsUUFBSUMsMkJBQUo7O0FBRGdDLHdJQUUxQjtBQUNKQyxhQUFPRixLQUFLRyxJQURSO0FBRUpDLGNBQVEsSUFGSjtBQUdKQyxpQkFBVyxrQkFBUUwsS0FBS00sSUFBTCxDQUFVQyxHQUFWLENBQWM7QUFBQSxZQUFFQyxHQUFGLFFBQUVBLEdBQUY7QUFBQSxlQUFXQSxHQUFYO0FB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QWxCVSxPQUFrQixTQUFsQkEsT0FBa0I7O0FBQ3pDZ0MsVUFBRXBDLEdBQUYsQ0FBTU4sR0FBTixFQUFXVSxPQUFYO0FBQ0QsT0FGRDtBQUdBLGFBQU9nQyxDQUFQO0FBQ0Q7Ozs7O2tCQS9Ia0JuRCxPIiwiZmlsZSI6IlRhZ1RyZWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgTGl2ZVNldCBmcm9tICdsaXZlLXNldCc7XG5pbXBvcnQgdHlwZSB7TGl2ZVNldENvbnRyb2xsZXJ9IGZyb20gJ2xpdmUtc2V0JztcblxuaW1wb3J0IFRhZ1RyZWVOb2RlIGZyb20gJy4vVGFnVHJlZU5vZGUnO1xuaW1wb3J0IHR5cGUge1RhZ1RyZWVOb2RlQ29udHJvbGxlcn0gZnJvbSAnLi9UYWdUcmVlTm9kZSc7XG5cbmV4cG9ydCB0eXBlIFRhZ1RyZWVDb250cm9sbGVyPFQ+ID0ge1xuICB0cmVlOiBUYWdUcmVlPFQ+O1xuICBhZGRUYWdnZWRWYWx1ZShwYXJlbnQ6IFRhZ1RyZWVOb2RlPFQ+LCB0YWc6IHN0cmluZywgdmFsdWU6IFQpOiBUYWdUcmVlTm9kZTxUPjtcbiAgcmVtb3ZlVGFnZ2VkTm9kZShwYXJlbnQ6IFRhZ1RyZWVOb2RlPFQ+LCB0YWc6IHN0cmluZywgbm9kZTogVGFnVHJlZU5vZGU8VD4pOiB2b2lkO1xuICBlbmQoKTogdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFRhZ1RyZWVJbml0PFQ+ID0ge3xcbiAgcm9vdDogVDtcbiAgdGFnczogQXJyYXk8e3wgdGFnOiBzdHJpbmcsIG93bmVkQnk/OiA/QXJyYXk8c3RyaW5nPiB8fT47XG4gIGV4ZWN1dG9yOiAoY29udHJvbGxlcjogVGFnVHJlZUNvbnRyb2xsZXI8VD4pID0+IHZvaWQ7XG58fTtcblxuY29uc3QgRU1QVFlfQVJSQVkgPSBPYmplY3QuZnJlZXplKFtdKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFnVHJlZTxUPiBleHRlbmRzIFRhZ1RyZWVOb2RlPFQ+IHtcbiAgX25vZGVDb250cm9sbGVyczogTWFwPFRhZ1RyZWVOb2RlPFQ+LCBUYWdUcmVlTm9kZUNvbnRyb2xsZXI8VD4+ID0gbmV3IE1hcCgpO1xuICBfbG9va3VwVGFibGU6IE1hcDxULCBBcnJheTxUYWdUcmVlTm9kZTxUPj4+ID0gbmV3IE1hcCgpO1xuICBfYWxsQnlUYWc6IE1hcDxzdHJpbmcsIHtcbiAgICBvd25lZFRhZ3M6IFNldDxzdHJpbmc+O1xuICAgIGxpdmVTZXQ6IExpdmVTZXQ8VGFnVHJlZU5vZGU8VD4+O1xuICAgIGNvbnRyb2xsZXI6IExpdmVTZXRDb250cm9sbGVyPFRhZ1RyZWVOb2RlPFQ+PjtcbiAgfT47XG5cbiAgY29uc3RydWN0b3IoaW5pdDogVGFnVHJlZUluaXQ8VD4pIHtcbiAgICBsZXQgcm9vdE5vZGVDb250cm9sbGVyO1xuICAgIHN1cGVyKHtcbiAgICAgIHZhbHVlOiBpbml0LnJvb3QsXG4gICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICBvd25lZFRhZ3M6IG5ldyBTZXQoaW5pdC50YWdzLm1hcCgoe3RhZ30pID0+IHRhZykpLFxuICAgICAgZXhlY3V0b3I6IChjb250cm9sbGVyKSA9PiB7XG4gICAgICAgIHJvb3ROb2RlQ29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCFyb290Tm9kZUNvbnRyb2xsZXIpIHRocm93IG5ldyBFcnJvcigpO1xuICAgIHRoaXMuX25vZGVDb250cm9sbGVycy5zZXQodGhpcywgcm9vdE5vZGVDb250cm9sbGVyKTtcblxuICAgIHRoaXMuX2FsbEJ5VGFnID0gbmV3IE1hcCgpO1xuICAgIGluaXQudGFncy5mb3JFYWNoKCh7dGFnfSkgPT4ge1xuICAgICAgY29uc3Qge2xpdmVTZXQsIGNvbnRyb2xsZXJ9ID0gTGl2ZVNldC5hY3RpdmUoKTtcbiAgICAgIGlmICh0aGlzLl9hbGxCeVRhZy5oYXModGFnKSkgdGhyb3cgbmV3IEVycm9yKCdUYWcgc3BlY2lmaWVkIHR3aWNlOiAnK3RhZyk7XG4gICAgICB0aGlzLl9hbGxCeVRhZy5zZXQodGFnLCB7b3duZWRUYWdzOiBuZXcgU2V0KCksIGxpdmVTZXQsIGNvbnRyb2xsZXJ9KTtcbiAgICB9KTtcblxuICAgIGluaXQudGFncy5mb3JFYWNoKCh7dGFnLCBvd25lZEJ5fSkgPT4ge1xuICAgICAgaWYgKCFvd25lZEJ5KSByZXR1cm47XG4gICAgICBvd25lZEJ5LmZvckVhY2gob3duaW5nVGFnID0+IHtcbiAgICAgICAgY29uc3QgZW50cnkgPSB0aGlzLl9hbGxCeVRhZy5nZXQob3duaW5nVGFnKTtcbiAgICAgICAgaWYgKCFlbnRyeSkgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIG93bmVkQnkgdmFsdWUgZm9yICR7dGFnfTogJHtvd25pbmdUYWd9YCk7XG4gICAgICAgIGVudHJ5Lm93bmVkVGFncy5hZGQodGFnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY29udHJvbGxlciA9IHtcbiAgICAgIHRyZWU6IHRoaXMsXG4gICAgICBhZGRUYWdnZWRWYWx1ZTogKHBhcmVudCwgdGFnLCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCB0YWdFbnRyeSA9IHRoaXMuX2FsbEJ5VGFnLmdldCh0YWcpO1xuICAgICAgICBpZiAoIXRhZ0VudHJ5KSB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gdGFnOiAke3RhZ31gKTtcblxuICAgICAgICBsZXQgY29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgbm9kZSA9IG5ldyBUYWdUcmVlTm9kZSh7XG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIG93bmVkVGFnczogdGFnRW50cnkub3duZWRUYWdzLFxuICAgICAgICAgIGV4ZWN1dG9yOiAoX2NvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgPSBfY29udHJvbGxlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWNvbnRyb2xsZXIpIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgICB0aGlzLl9ub2RlQ29udHJvbGxlcnMuc2V0KG5vZGUsIGNvbnRyb2xsZXIpO1xuXG4gICAgICAgIHRhZ0VudHJ5LmNvbnRyb2xsZXIuYWRkKG5vZGUpO1xuXG4gICAgICAgIGNvbnN0IHZhbHVlTm9kZXMgPSB0aGlzLl9sb29rdXBUYWJsZS5nZXQodmFsdWUpO1xuICAgICAgICBpZiAodmFsdWVOb2Rlcykge1xuICAgICAgICAgIHZhbHVlTm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9sb29rdXBUYWJsZS5zZXQodmFsdWUsIFtub2RlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRDb250cm9sbGVyID0gdGhpcy5fbm9kZUNvbnRyb2xsZXJzLmdldChwYXJlbnQpO1xuICAgICAgICBpZiAoIXBhcmVudENvbnRyb2xsZXIpIHRocm93IG5ldyBFcnJvcigncGFyZW50IGlzIG5vdCBwYXJ0IG9mIFRhZ1RyZWUnKTtcbiAgICAgICAgcGFyZW50Q29udHJvbGxlci5hZGRPd25lZE5vZGUodGFnLCBub2RlKTtcblxuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH0sXG4gICAgICByZW1vdmVUYWdnZWROb2RlOiAocGFyZW50LCB0YWcsIG5vZGUpID0+IHtcbiAgICAgICAgY29uc3QgdGFnRW50cnkgPSB0aGlzLl9hbGxCeVRhZy5nZXQodGFnKTtcbiAgICAgICAgaWYgKCF0YWdFbnRyeSkgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIHRhZzogJHt0YWd9YCk7XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBub2RlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IG5vZGVzID0gdGhpcy5fbG9va3VwVGFibGUuZ2V0KHZhbHVlKTtcbiAgICAgICAgaWYgKCFub2RlcykgdGhyb3cgbmV3IEVycm9yKCdub2RlIHdhcyBtaXNzaW5nIGZyb20gbG9va3VwIHRhYmxlIGJlZm9yZSByZW1vdmFsJyk7XG4gICAgICAgIGlmIChub2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgY29uc3QgaXggPSBub2Rlcy5pbmRleE9mKG5vZGUpO1xuICAgICAgICAgIGlmIChpeCA8IDApIHRocm93IG5ldyBFcnJvcignbm9kZSB3YXMgbWlzc2luZyBmcm9tIGxpc3QgaW4gbG9va3VwIHRhYmxlIGJlZm9yZSByZW1vdmFsJyk7XG4gICAgICAgICAgbm9kZXMuc3BsaWNlKGl4LCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9sb29rdXBUYWJsZS5kZWxldGUodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5nZXRPd25lZCgpLmZvckVhY2goKGxpdmVTZXQsIHRhZykgPT4ge1xuICAgICAgICAgIGxpdmVTZXQudmFsdWVzKCkuZm9yRWFjaChjaGlsZE5vZGUgPT4ge1xuICAgICAgICAgICAgY29udHJvbGxlci5yZW1vdmVUYWdnZWROb2RlKG5vZGUsIHRhZywgY2hpbGROb2RlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGFnRW50cnkuY29udHJvbGxlci5yZW1vdmUobm9kZSk7XG5cbiAgICAgICAgY29uc3QgcGFyZW50Q29udHJvbGxlciA9IHRoaXMuX25vZGVDb250cm9sbGVycy5nZXQocGFyZW50KTtcbiAgICAgICAgaWYgKCFwYXJlbnRDb250cm9sbGVyKSB0aHJvdyBuZXcgRXJyb3IoJ3BhcmVudCBpcyBub3QgcGFydCBvZiBUYWdUcmVlJyk7XG4gICAgICAgIHBhcmVudENvbnRyb2xsZXIucmVtb3ZlT3duZWROb2RlKHRhZywgbm9kZSk7XG5cbiAgICAgICAgdGhpcy5fbm9kZUNvbnRyb2xsZXJzLmRlbGV0ZShub2RlKTtcbiAgICAgIH0sXG4gICAgICBlbmQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5fbm9kZUNvbnRyb2xsZXJzLmZvckVhY2goY29udHJvbGxlciA9PiB7XG4gICAgICAgICAgY29udHJvbGxlci5lbmQoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBpbml0LmV4ZWN1dG9yKGNvbnRyb2xsZXIpO1xuICAgIGluaXQuZXhlY3V0b3IgPSAoKSA9PiB7fTsgLy8gcmVsZWFzZSByZWZlcmVuY2VcbiAgfVxuXG4gIGdldE5vZGVzRm9yVmFsdWUodmFsdWU6IFQpOiBBcnJheTxUYWdUcmVlTm9kZTxUPj4ge1xuICAgIGNvbnN0IGwgPSB0aGlzLl9sb29rdXBUYWJsZS5nZXQodmFsdWUpO1xuICAgIHJldHVybiBsID8gT2JqZWN0LmZyZWV6ZShsLnNsaWNlKCkpIDogKEVNUFRZX0FSUkFZOmFueSk7XG4gIH1cblxuICBnZXRBbGxCeVRhZyh0YWc6IHN0cmluZyk6IExpdmVTZXQ8VGFnVHJlZU5vZGU8VD4+IHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuX2FsbEJ5VGFnLmdldCh0YWcpO1xuICAgIGlmICghZW50cnkpIHRocm93IG5ldyBFcnJvcihgdGFnIGRvZXMgbm90IGV4aXN0IGluIFRhZ1RyZWU6ICR7dGFnfWApO1xuICAgIHJldHVybiBlbnRyeS5saXZlU2V0O1xuICB9XG5cbiAgZ2V0QWxsKCk6IE1hcDxzdHJpbmcsIExpdmVTZXQ8VGFnVHJlZU5vZGU8VD4+PiB7XG4gICAgY29uc3QgbSA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9hbGxCeVRhZy5mb3JFYWNoKCh7bGl2ZVNldH0sIHRhZykgPT4ge1xuICAgICAgbS5zZXQodGFnLCBsaXZlU2V0KTtcbiAgICB9KTtcbiAgICByZXR1cm4gbTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9UYWdUcmVlLmpzIl0sIm5hbWVzIjpbIkVNUFRZX0FSUkFZIiwiVGFnVHJlZSIsImluaXQiLCJyb290Tm9kZUNvbnRyb2xsZXIiLCJ2YWx1ZSIsInJvb3QiLCJwYXJlbnQiLCJvd25lZFRhZ3MiLCJ0YWdzIiwibWFwIiwidGFnIiwiZXhlY3V0b3IiLCJjb250cm9sbGVyIiwiX25vZGVDb250cm9sbGVycyIsIkVycm9yIiwic2V0IiwiX2xvb2t1cFRhYmxlIiwiX2FsbEJ5VGFnIiwiZm9yRWFjaCIsImFjdGl2ZSIsImxpdmVTZXQiLCJoYXMiLCJvd25lZEJ5IiwiZW50cnkiLCJnZXQiLCJvd25pbmdUYWciLCJhZGQiLCJ0cmVlIiwiYWRkVGFnZ2VkVmFsdWUiLCJ0YWdFbnRyeSIsIm5vZGUiLCJfY29udHJvbGxlciIsInZhbHVlTm9kZXMiLCJwdXNoIiwicGFyZW50Q29udHJvbGxlciIsImFkZE93bmVkTm9kZSIsInJlbW92ZVRhZ2dlZE5vZGUiLCJnZXRWYWx1ZSIsIm5vZGVzIiwibGVuZ3RoIiwiaXgiLCJpbmRleE9mIiwic3BsaWNlIiwiZGVsZXRlIiwiZ2V0T3duZWQiLCJ2YWx1ZXMiLCJjaGlsZE5vZGUiLCJyZW1vdmUiLCJyZW1vdmVPd25lZE5vZGUiLCJlbmQiLCJsIiwic2xpY2UiLCJtIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBR0E7Ozs7OztBQWdCQSxJQUFNQSxjQUFjLHNCQUFjLEVBQWQsQ0FBcEI7O0lBRXFCQyxPOzs7QUFTbkIsbUJBQVlDLElBQVosRUFBa0M7QUFBQTs7QUFDaEMsUUFBSUMsMkJBQUo7O0FBRGdDLHdJQUUxQjtBQUNKQyxhQUFPRixLQUFLRyxJQURSO0FBRUpDLGNBQVEsSUFGSjtBQUdKQyxpQkFBVyxrQkFBUUwsS0FBS00sSUFBTCxDQUFVQyxHQUFWLENBQWM7QUFBQSxZQUFFQyxHQUFGLFFBQUVBLEdBQUY7QUFBQSxlQUFXQSxHQUFYO0FB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QUFMLENBQWVDLE9BQWYsQ0FBdUIsaUJBQVlSLEdBQVosRUFBb0I7QUFBQSxZQUFsQlUsT0FBa0IsU0FBbEJBLE9BQWtCOztBQUN6Q2dDLFVBQUVyQyxHQUFGLENBQU1MLEdBQU4sRUFBV1UsT0FBWDtBQUNELE9BRkQ7QUFHQSxhQUFPZ0MsQ0FBUDtBQUNEOzs7OztrQkFoSWtCbkQsTyIsImZpbGUiOiJUYWdUcmVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IExpdmVTZXQgZnJvbSAnbGl2ZS1zZXQnO1xuaW1wb3J0IHR5cGUge0xpdmVTZXRDb250cm9sbGVyfSBmcm9tICdsaXZlLXNldCc7XG5cbmltcG9ydCBUYWdUcmVlTm9kZSBmcm9tICcuL1RhZ1RyZWVOb2RlJztcbmltcG9ydCB0eXBlIHtUYWdUcmVlTm9kZUNvbnRyb2xsZXJ9IGZyb20gJy4vVGFnVHJlZU5vZGUnO1xuXG5leHBvcnQgdHlwZSBUYWdUcmVlQ29udHJvbGxlcjxUPiA9IHtcbiAgdHJlZTogVGFnVHJlZTxUPjtcbiAgYWRkVGFnZ2VkVmFsdWUocGFyZW50OiBUYWdUcmVlTm9kZTxUPiwgdGFnOiBzdHJpbmcsIHZhbHVlOiBUKTogVGFnVHJlZU5vZGU8VD47XG4gIHJlbW92ZVRhZ2dlZE5vZGUocGFyZW50OiBUYWdUcmVlTm9kZTxUPiwgdGFnOiBzdHJpbmcsIG5vZGU6IFRhZ1RyZWVOb2RlPFQ+KTogdm9pZDtcbiAgZW5kKCk6IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUYWdUcmVlSW5pdDxUPiA9IHt8XG4gIHJvb3Q6IFQ7XG4gIHRhZ3M6IEFycmF5PHt8IHRhZzogc3RyaW5nLCBvd25lZEJ5PzogP0FycmF5PHN0cmluZz4gfH0+O1xuICBleGVjdXRvcjogKGNvbnRyb2xsZXI6IFRhZ1RyZWVDb250cm9sbGVyPFQ+KSA9PiB2b2lkO1xufH07XG5cbmNvbnN0IEVNUFRZX0FSUkFZID0gT2JqZWN0LmZyZWV6ZShbXSk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRhZ1RyZWU8VD4gZXh0ZW5kcyBUYWdUcmVlTm9kZTxUPiB7XG4gIF9ub2RlQ29udHJvbGxlcnM6IE1hcDxUYWdUcmVlTm9kZTxUPiwgVGFnVHJlZU5vZGVDb250cm9sbGVyPFQ+PiA9IG5ldyBNYXAoKTtcbiAgX2xvb2t1cFRhYmxlOiBNYXA8VCwgQXJyYXk8VGFnVHJlZU5vZGU8VD4+PjtcbiAgX2FsbEJ5VGFnOiBNYXA8c3RyaW5nLCB7XG4gICAgb3duZWRUYWdzOiBTZXQ8c3RyaW5nPjtcbiAgICBsaXZlU2V0OiBMaXZlU2V0PFRhZ1RyZWVOb2RlPFQ+PjtcbiAgICBjb250cm9sbGVyOiBMaXZlU2V0Q29udHJvbGxlcjxUYWdUcmVlTm9kZTxUPj47XG4gIH0+O1xuXG4gIGNvbnN0cnVjdG9yKGluaXQ6IFRhZ1RyZWVJbml0PFQ+KSB7XG4gICAgbGV0IHJvb3ROb2RlQ29udHJvbGxlcjtcbiAgICBzdXBlcih7XG4gICAgICB2YWx1ZTogaW5pdC5yb290LFxuICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgb3duZWRUYWdzOiBuZXcgU2V0KGluaXQudGFncy5tYXAoKHt0YWd9KSA9PiB0YWcpKSxcbiAgICAgIGV4ZWN1dG9yOiAoY29udHJvbGxlcikgPT4ge1xuICAgICAgICByb290Tm9kZUNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghcm9vdE5vZGVDb250cm9sbGVyKSB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICB0aGlzLl9ub2RlQ29udHJvbGxlcnMuc2V0KHRoaXMsIHJvb3ROb2RlQ29udHJvbGxlcik7XG5cbiAgICB0aGlzLl9sb29rdXBUYWJsZSA9IG5ldyBNYXAoW1tpbml0LnJvb3QsIFt0aGlzXV1dKTtcblxuICAgIHRoaXMuX2FsbEJ5VGFnID0gbmV3IE1hcCgpO1xuICAgIGluaXQudGFncy5mb3JFYWNoKCh7dGFnfSkgPT4ge1xuICAgICAgY29uc3Qge2xpdmVTZXQsIGNvbnRyb2xsZXJ9ID0gTGl2ZVNldC5hY3RpdmUoKTtcbiAgICAgIGlmICh0aGlzLl9hbGxCeVRhZy5oYXModGFnKSkgdGhyb3cgbmV3IEVycm9yKCdUYWcgc3BlY2lmaWVkIHR3aWNlOiAnK3RhZyk7XG4gICAgICB0aGlzLl9hbGxCeVRhZy5zZXQodGFnLCB7b3duZWRUYWdzOiBuZXcgU2V0KCksIGxpdmVTZXQsIGNvbnRyb2xsZXJ9KTtcbiAgICB9KTtcblxuICAgIGluaXQudGFncy5mb3JFYWNoKCh7dGFnLCBvd25lZEJ5fSkgPT4ge1xuICAgICAgaWYgKCFvd25lZEJ5KSByZXR1cm47XG4gICAgICBvd25lZEJ5LmZvckVhY2gob3duaW5nVGFnID0+IHtcbiAgICAgICAgY29uc3QgZW50cnkgPSB0aGlzLl9hbGxCeVRhZy5nZXQob3duaW5nVGFnKTtcbiAgICAgICAgaWYgKCFlbnRyeSkgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIG93bmVkQnkgdmFsdWUgZm9yICR7dGFnfTogJHtvd25pbmdUYWd9YCk7XG4gICAgICAgIGVudHJ5Lm93bmVkVGFncy5hZGQodGFnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY29udHJvbGxlciA9IHtcbiAgICAgIHRyZWU6IHRoaXMsXG4gICAgICBhZGRUYWdnZWRWYWx1ZTogKHBhcmVudCwgdGFnLCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCB0YWdFbnRyeSA9IHRoaXMuX2FsbEJ5VGFnLmdldCh0YWcpO1xuICAgICAgICBpZiAoIXRhZ0VudHJ5KSB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gdGFnOiAke3RhZ31gKTtcblxuICAgICAgICBsZXQgY29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgbm9kZSA9IG5ldyBUYWdUcmVlTm9kZSh7XG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIG93bmVkVGFnczogdGFnRW50cnkub3duZWRUYWdzLFxuICAgICAgICAgIGV4ZWN1dG9yOiAoX2NvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgPSBfY29udHJvbGxlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWNvbnRyb2xsZXIpIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgICB0aGlzLl9ub2RlQ29udHJvbGxlcnMuc2V0KG5vZGUsIGNvbnRyb2xsZXIpO1xuXG4gICAgICAgIHRhZ0VudHJ5LmNvbnRyb2xsZXIuYWRkKG5vZGUpO1xuXG4gICAgICAgIGNvbnN0IHZhbHVlTm9kZXMgPSB0aGlzLl9sb29rdXBUYWJsZS5nZXQodmFsdWUpO1xuICAgICAgICBpZiAodmFsdWVOb2Rlcykge1xuICAgICAgICAgIHZhbHVlTm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9sb29rdXBUYWJsZS5zZXQodmFsdWUsIFtub2RlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRDb250cm9sbGVyID0gdGhpcy5fbm9kZUNvbnRyb2xsZXJzLmdldChwYXJlbnQpO1xuICAgICAgICBpZiAoIXBhcmVudENvbnRyb2xsZXIpIHRocm93IG5ldyBFcnJvcigncGFyZW50IGlzIG5vdCBwYXJ0IG9mIFRhZ1RyZWUnKTtcbiAgICAgICAgcGFyZW50Q29udHJvbGxlci5hZGRPd25lZE5vZGUodGFnLCBub2RlKTtcblxuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH0sXG4gICAgICByZW1vdmVUYWdnZWROb2RlOiAocGFyZW50LCB0YWcsIG5vZGUpID0+IHtcbiAgICAgICAgY29uc3QgdGFnRW50cnkgPSB0aGlzLl9hbGxCeVRhZy5nZXQodGFnKTtcbiAgICAgICAgaWYgKCF0YWdFbnRyeSkgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIHRhZzogJHt0YWd9YCk7XG5cbiAgICAgICAgY29uc3QgcGFyZW50Q29udHJvbGxlciA9IHRoaXMuX25vZGVDb250cm9sbGVycy5nZXQocGFyZW50KTtcbiAgICAgICAgaWYgKCFwYXJlbnRDb250cm9sbGVyKSB0aHJvdyBuZXcgRXJyb3IoJ3BhcmVudCBpcyBub3QgcGFydCBvZiBUYWdUcmVlJyk7XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBub2RlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IG5vZGVzID0gdGhpcy5fbG9va3VwVGFibGUuZ2V0KHZhbHVlKTtcbiAgICAgICAgaWYgKCFub2RlcykgdGhyb3cgbmV3IEVycm9yKCdub2RlIHdhcyBtaXNzaW5nIGZyb20gbG9va3VwIHRhYmxlIGJlZm9yZSByZW1vdmFsJyk7XG4gICAgICAgIGlmIChub2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgY29uc3QgaXggPSBub2Rlcy5pbmRleE9mKG5vZGUpO1xuICAgICAgICAgIGlmIChpeCA8IDApIHRocm93IG5ldyBFcnJvcignbm9kZSB3YXMgbWlzc2luZyBmcm9tIGxpc3QgaW4gbG9va3VwIHRhYmxlIGJlZm9yZSByZW1vdmFsJyk7XG4gICAgICAgICAgbm9kZXMuc3BsaWNlKGl4LCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9sb29rdXBUYWJsZS5kZWxldGUodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5nZXRPd25lZCgpLmZvckVhY2goKGxpdmVTZXQsIHRhZykgPT4ge1xuICAgICAgICAgIGxpdmVTZXQudmFsdWVzKCkuZm9yRWFjaChjaGlsZE5vZGUgPT4ge1xuICAgICAgICAgICAgY29udHJvbGxlci5yZW1vdmVUYWdnZWROb2RlKG5vZGUsIHRhZywgY2hpbGROb2RlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGFnRW50cnkuY29udHJvbGxlci5yZW1vdmUobm9kZSk7XG4gICAgICAgIHBhcmVudENvbnRyb2xsZXIucmVtb3ZlT3duZWROb2RlKHRhZywgbm9kZSk7XG4gICAgICAgIHRoaXMuX25vZGVDb250cm9sbGVycy5kZWxldGUobm9kZSk7XG4gICAgICB9LFxuICAgICAgZW5kOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuX25vZGVDb250cm9sbGVycy5mb3JFYWNoKGNvbnRyb2xsZXIgPT4ge1xuICAgICAgICAgIGNvbnRyb2xsZXIuZW5kKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgaW5pdC5leGVjdXRvcihjb250cm9sbGVyKTtcbiAgICBpbml0LmV4ZWN1dG9yID0gKCkgPT4ge307IC8vIHJlbGVhc2UgcmVmZXJlbmNlXG4gIH1cblxuICBnZXROb2Rlc0ZvclZhbHVlKHZhbHVlOiBUKTogQXJyYXk8VGFnVHJlZU5vZGU8VD4+IHtcbiAgICBjb25zdCBsID0gdGhpcy5fbG9va3VwVGFibGUuZ2V0KHZhbHVlKTtcbiAgICByZXR1cm4gbCA/IE9iamVjdC5mcmVlemUobC5zbGljZSgpKSA6IChFTVBUWV9BUlJBWTphbnkpO1xuICB9XG5cbiAgZ2V0QWxsQnlUYWcodGFnOiBzdHJpbmcpOiBMaXZlU2V0PFRhZ1RyZWVOb2RlPFQ+PiB7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLl9hbGxCeVRhZy5nZXQodGFnKTtcbiAgICBpZiAoIWVudHJ5KSB0aHJvdyBuZXcgRXJyb3IoYHRhZyBkb2VzIG5vdCBleGlzdCBpbiBUYWdUcmVlOiAke3RhZ31gKTtcbiAgICByZXR1cm4gZW50cnkubGl2ZVNldDtcbiAgfVxuXG4gIGdldEFsbCgpOiBNYXA8c3RyaW5nLCBMaXZlU2V0PFRhZ1RyZWVOb2RlPFQ+Pj4ge1xuICAgIGNvbnN0IG0gPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5fYWxsQnlUYWcuZm9yRWFjaCgoe2xpdmVTZXR9LCB0YWcpID0+IHtcbiAgICAgIG0uc2V0KHRhZywgbGl2ZVNldCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG07XG4gIH1cbn1cbiJdfQ== |
{ | ||
"name": "tag-tree", | ||
"version": "0.3.1", | ||
"version": "0.3.2", | ||
"description": "Class representing a changing tree of tagged items.", | ||
@@ -5,0 +5,0 @@ "main": "js/index.js", |
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
41451