@glimmer/syntax
Version:
27 lines (24 loc) • 4.81 kB
JavaScript
var TraversalError = function () {
TraversalError.prototype = Object.create(Error.prototype);
TraversalError.prototype.constructor = TraversalError;
function TraversalError(message, node, parent, key) {
var error = Error.call(this, message);
this.key = key;
this.message = message;
this.node = node;
this.parent = parent;
this.stack = error.stack;
}
return TraversalError;
}();
export default TraversalError;
export function cannotRemoveNode(node, parent, key) {
return new TraversalError('Cannot remove a node unless it is part of an array', node, parent, key);
}
export function cannotReplaceNode(node, parent, key) {
return new TraversalError('Cannot replace a node with multiple nodes unless it is part of an array', node, parent, key);
}
export function cannotReplaceOrRemoveInKeyHandlerYet(node, key) {
return new TraversalError('Replacing and removing in key handlers is not yet supported.', node, null, key);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdHJhdmVyc2FsL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsSUFBTSxjQUFjLEdBQStCLFlBQUE7QUFDakQsRUFBQSxjQUFjLENBQWQsU0FBQSxHQUEyQixNQUFNLENBQU4sTUFBQSxDQUFjLEtBQUssQ0FBOUMsU0FBMkIsQ0FBM0I7QUFDQSxFQUFBLGNBQWMsQ0FBZCxTQUFBLENBQUEsV0FBQSxHQUFBLGNBQUE7O0FBRUEsV0FBQSxjQUFBLENBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxNQUFBLEVBQUEsR0FBQSxFQUthO0FBRVgsUUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFMLElBQUEsQ0FBQSxJQUFBLEVBQVosT0FBWSxDQUFaO0FBRUEsU0FBQSxHQUFBLEdBQUEsR0FBQTtBQUNBLFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFDQSxTQUFBLElBQUEsR0FBQSxJQUFBO0FBQ0EsU0FBQSxNQUFBLEdBQUEsTUFBQTtBQUNBLFNBQUEsS0FBQSxHQUFhLEtBQUssQ0FBbEIsS0FBQTtBQUNEOztBQUVELFNBQUEsY0FBQTtBQXBCRixDQUFtRCxFQUFuRDs7QUF1QkEsZUFBQSxjQUFBO0FBRUEsT0FBTSxTQUFBLGdCQUFBLENBQUEsSUFBQSxFQUFBLE1BQUEsRUFBQSxHQUFBLEVBR087QUFFWCxTQUFPLElBQUEsY0FBQSxDQUFBLG9EQUFBLEVBQUEsSUFBQSxFQUFBLE1BQUEsRUFBUCxHQUFPLENBQVA7QUFNRDtBQUVELE9BQU0sU0FBQSxpQkFBQSxDQUFBLElBQUEsRUFBQSxNQUFBLEVBQUEsR0FBQSxFQUdPO0FBRVgsU0FBTyxJQUFBLGNBQUEsQ0FBQSx5RUFBQSxFQUFBLElBQUEsRUFBQSxNQUFBLEVBQVAsR0FBTyxDQUFQO0FBTUQ7QUFFRCxPQUFNLFNBQUEsb0NBQUEsQ0FBQSxJQUFBLEVBQUEsR0FBQSxFQUVPO0FBRVgsU0FBTyxJQUFBLGNBQUEsQ0FBQSw4REFBQSxFQUFBLElBQUEsRUFBQSxJQUFBLEVBQVAsR0FBTyxDQUFQO0FBTUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb24gfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcblxuaW1wb3J0ICogYXMgQVNUdjEgZnJvbSAnLi4vdjEvYXBpJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmF2ZXJzYWxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3I6IFRyYXZlcnNhbEVycm9yQ29uc3RydWN0b3I7XG4gIGtleTogc3RyaW5nO1xuICBub2RlOiBBU1R2MS5Ob2RlO1xuICBwYXJlbnQ6IE9wdGlvbjxBU1R2MS5Ob2RlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmF2ZXJzYWxFcnJvckNvbnN0cnVjdG9yIHtcbiAgbmV3IChtZXNzYWdlOiBzdHJpbmcsIG5vZGU6IEFTVHYxLk5vZGUsIHBhcmVudDogT3B0aW9uPEFTVHYxLk5vZGU+LCBrZXk6IHN0cmluZyk6IFRyYXZlcnNhbEVycm9yO1xuICByZWFkb25seSBwcm90b3R5cGU6IFRyYXZlcnNhbEVycm9yO1xufVxuXG5jb25zdCBUcmF2ZXJzYWxFcnJvcjogVHJhdmVyc2FsRXJyb3JDb25zdHJ1Y3RvciA9IChmdW5jdGlvbiAoKSB7XG4gIFRyYXZlcnNhbEVycm9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKTtcbiAgVHJhdmVyc2FsRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gVHJhdmVyc2FsRXJyb3I7XG5cbiAgZnVuY3Rpb24gVHJhdmVyc2FsRXJyb3IoXG4gICAgdGhpczogVHJhdmVyc2FsRXJyb3IsXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG5vZGU6IEFTVHYxLk5vZGUsXG4gICAgcGFyZW50OiBPcHRpb248QVNUdjEuTm9kZT4sXG4gICAga2V5OiBzdHJpbmdcbiAgKSB7XG4gICAgbGV0IGVycm9yID0gRXJyb3IuY2FsbCh0aGlzLCBtZXNzYWdlKTtcblxuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICB0aGlzLnN0YWNrID0gZXJyb3Iuc3RhY2s7XG4gIH1cblxuICByZXR1cm4gKFRyYXZlcnNhbEVycm9yIGFzIHVua25vd24pIGFzIFRyYXZlcnNhbEVycm9yQ29uc3RydWN0b3I7XG59KSgpO1xuXG5leHBvcnQgZGVmYXVsdCBUcmF2ZXJzYWxFcnJvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbm5vdFJlbW92ZU5vZGUoXG4gIG5vZGU6IEFTVHYxLk5vZGUsXG4gIHBhcmVudDogQVNUdjEuTm9kZSxcbiAga2V5OiBzdHJpbmdcbik6IFRyYXZlcnNhbEVycm9yIHtcbiAgcmV0dXJuIG5ldyBUcmF2ZXJzYWxFcnJvcihcbiAgICAnQ2Fubm90IHJlbW92ZSBhIG5vZGUgdW5sZXNzIGl0IGlzIHBhcnQgb2YgYW4gYXJyYXknLFxuICAgIG5vZGUsXG4gICAgcGFyZW50LFxuICAgIGtleVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2Fubm90UmVwbGFjZU5vZGUoXG4gIG5vZGU6IEFTVHYxLk5vZGUsXG4gIHBhcmVudDogQVNUdjEuTm9kZSxcbiAga2V5OiBzdHJpbmdcbik6IFRyYXZlcnNhbEVycm9yIHtcbiAgcmV0dXJuIG5ldyBUcmF2ZXJzYWxFcnJvcihcbiAgICAnQ2Fubm90IHJlcGxhY2UgYSBub2RlIHdpdGggbXVsdGlwbGUgbm9kZXMgdW5sZXNzIGl0IGlzIHBhcnQgb2YgYW4gYXJyYXknLFxuICAgIG5vZGUsXG4gICAgcGFyZW50LFxuICAgIGtleVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2Fubm90UmVwbGFjZU9yUmVtb3ZlSW5LZXlIYW5kbGVyWWV0KFxuICBub2RlOiBBU1R2MS5Ob2RlLFxuICBrZXk6IHN0cmluZ1xuKTogVHJhdmVyc2FsRXJyb3Ige1xuICByZXR1cm4gbmV3IFRyYXZlcnNhbEVycm9yKFxuICAgICdSZXBsYWNpbmcgYW5kIHJlbW92aW5nIGluIGtleSBoYW5kbGVycyBpcyBub3QgeWV0IHN1cHBvcnRlZC4nLFxuICAgIG5vZGUsXG4gICAgbnVsbCxcbiAgICBrZXlcbiAgKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=