UNPKG

@glimmer/syntax

Version:
27 lines (24 loc) 4.82 kB
const TraversalError = function () { TraversalError.prototype = Object.create(Error.prototype); TraversalError.prototype.constructor = TraversalError; function TraversalError(message, node, parent, key) { let 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdHJhdmVyc2FsL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxjQUFjLEdBQStCLFlBQUE7QUFDakQsRUFBQSxjQUFjLENBQUMsU0FBZixHQUEyQixNQUFNLENBQUMsTUFBUCxDQUFjLEtBQUssQ0FBQyxTQUFwQixDQUEzQjtBQUNBLEVBQUEsY0FBYyxDQUFDLFNBQWYsQ0FBeUIsV0FBekIsR0FBdUMsY0FBdkM7O0FBRUEsV0FBUyxjQUFULENBRUUsT0FGRixFQUdFLElBSEYsRUFJRSxNQUpGLEVBS0UsR0FMRixFQUthO0FBRVgsUUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQU4sQ0FBVyxJQUFYLEVBQWlCLE9BQWpCLENBQVo7QUFFQSxTQUFLLEdBQUwsR0FBVyxHQUFYO0FBQ0EsU0FBSyxPQUFMLEdBQWUsT0FBZjtBQUNBLFNBQUssSUFBTCxHQUFZLElBQVo7QUFDQSxTQUFLLE1BQUwsR0FBYyxNQUFkO0FBQ0EsU0FBSyxLQUFMLEdBQWEsS0FBSyxDQUFDLEtBQW5CO0FBQ0Q7O0FBRUQsU0FBUSxjQUFSO0FBQ0QsQ0FyQmlELEVBQWxEOztBQXVCQSxlQUFlLGNBQWY7QUFFQSxPQUFNLFNBQVUsZ0JBQVYsQ0FDSixJQURJLEVBRUosTUFGSSxFQUdKLEdBSEksRUFHTztBQUVYLFNBQU8sSUFBSSxjQUFKLENBQ0wsb0RBREssRUFFTCxJQUZLLEVBR0wsTUFISyxFQUlMLEdBSkssQ0FBUDtBQU1EO0FBRUQsT0FBTSxTQUFVLGlCQUFWLENBQ0osSUFESSxFQUVKLE1BRkksRUFHSixHQUhJLEVBR087QUFFWCxTQUFPLElBQUksY0FBSixDQUNMLHlFQURLLEVBRUwsSUFGSyxFQUdMLE1BSEssRUFJTCxHQUpLLENBQVA7QUFNRDtBQUVELE9BQU0sU0FBVSxvQ0FBVixDQUNKLElBREksRUFFSixHQUZJLEVBRU87QUFFWCxTQUFPLElBQUksY0FBSixDQUNMLDhEQURLLEVBRUwsSUFGSyxFQUdMLElBSEssRUFJTCxHQUpLLENBQVA7QUFNRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbiB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgKiBhcyBBU1R2MSBmcm9tICcuLi92MS9hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYXZlcnNhbEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcjogVHJhdmVyc2FsRXJyb3JDb25zdHJ1Y3RvcjtcbiAga2V5OiBzdHJpbmc7XG4gIG5vZGU6IEFTVHYxLk5vZGU7XG4gIHBhcmVudDogT3B0aW9uPEFTVHYxLk5vZGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYXZlcnNhbEVycm9yQ29uc3RydWN0b3Ige1xuICBuZXcgKG1lc3NhZ2U6IHN0cmluZywgbm9kZTogQVNUdjEuTm9kZSwgcGFyZW50OiBPcHRpb248QVNUdjEuTm9kZT4sIGtleTogc3RyaW5nKTogVHJhdmVyc2FsRXJyb3I7XG4gIHJlYWRvbmx5IHByb3RvdHlwZTogVHJhdmVyc2FsRXJyb3I7XG59XG5cbmNvbnN0IFRyYXZlcnNhbEVycm9yOiBUcmF2ZXJzYWxFcnJvckNvbnN0cnVjdG9yID0gKGZ1bmN0aW9uICgpIHtcbiAgVHJhdmVyc2FsRXJyb3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpO1xuICBUcmF2ZXJzYWxFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBUcmF2ZXJzYWxFcnJvcjtcblxuICBmdW5jdGlvbiBUcmF2ZXJzYWxFcnJvcihcbiAgICB0aGlzOiBUcmF2ZXJzYWxFcnJvcixcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgbm9kZTogQVNUdjEuTm9kZSxcbiAgICBwYXJlbnQ6IE9wdGlvbjxBU1R2MS5Ob2RlPixcbiAgICBrZXk6IHN0cmluZ1xuICApIHtcbiAgICBsZXQgZXJyb3IgPSBFcnJvci5jYWxsKHRoaXMsIG1lc3NhZ2UpO1xuXG4gICAgdGhpcy5rZXkgPSBrZXk7XG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIHRoaXMuc3RhY2sgPSBlcnJvci5zdGFjaztcbiAgfVxuXG4gIHJldHVybiAoVHJhdmVyc2FsRXJyb3IgYXMgdW5rbm93bikgYXMgVHJhdmVyc2FsRXJyb3JDb25zdHJ1Y3Rvcjtcbn0pKCk7XG5cbmV4cG9ydCBkZWZhdWx0IFRyYXZlcnNhbEVycm9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY2Fubm90UmVtb3ZlTm9kZShcbiAgbm9kZTogQVNUdjEuTm9kZSxcbiAgcGFyZW50OiBBU1R2MS5Ob2RlLFxuICBrZXk6IHN0cmluZ1xuKTogVHJhdmVyc2FsRXJyb3Ige1xuICByZXR1cm4gbmV3IFRyYXZlcnNhbEVycm9yKFxuICAgICdDYW5ub3QgcmVtb3ZlIGEgbm9kZSB1bmxlc3MgaXQgaXMgcGFydCBvZiBhbiBhcnJheScsXG4gICAgbm9kZSxcbiAgICBwYXJlbnQsXG4gICAga2V5XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5ub3RSZXBsYWNlTm9kZShcbiAgbm9kZTogQVNUdjEuTm9kZSxcbiAgcGFyZW50OiBBU1R2MS5Ob2RlLFxuICBrZXk6IHN0cmluZ1xuKTogVHJhdmVyc2FsRXJyb3Ige1xuICByZXR1cm4gbmV3IFRyYXZlcnNhbEVycm9yKFxuICAgICdDYW5ub3QgcmVwbGFjZSBhIG5vZGUgd2l0aCBtdWx0aXBsZSBub2RlcyB1bmxlc3MgaXQgaXMgcGFydCBvZiBhbiBhcnJheScsXG4gICAgbm9kZSxcbiAgICBwYXJlbnQsXG4gICAga2V5XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5ub3RSZXBsYWNlT3JSZW1vdmVJbktleUhhbmRsZXJZZXQoXG4gIG5vZGU6IEFTVHYxLk5vZGUsXG4gIGtleTogc3RyaW5nXG4pOiBUcmF2ZXJzYWxFcnJvciB7XG4gIHJldHVybiBuZXcgVHJhdmVyc2FsRXJyb3IoXG4gICAgJ1JlcGxhY2luZyBhbmQgcmVtb3ZpbmcgaW4ga2V5IGhhbmRsZXJzIGlzIG5vdCB5ZXQgc3VwcG9ydGVkLicsXG4gICAgbm9kZSxcbiAgICBudWxsLFxuICAgIGtleVxuICApO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==