ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
32 lines (31 loc) • 4.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cannotRemoveNode = cannotRemoveNode;
exports.cannotReplaceNode = cannotReplaceNode;
exports.cannotReplaceOrRemoveInKeyHandlerYet = cannotReplaceOrRemoveInKeyHandlerYet;
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;
}();
exports.default = TraversalError;
function cannotRemoveNode(node, parent, key) {
return new TraversalError("Cannot remove a node unless it is part of an array", node, parent, key);
}
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);
}
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi90cmF2ZXJzYWwvZXJyb3JzLmpzIl0sIm5hbWVzIjpbIlRyYXZlcnNhbEVycm9yIiwicHJvdG90eXBlIiwiT2JqZWN0IiwiY3JlYXRlIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsIm1lc3NhZ2UiLCJub2RlIiwicGFyZW50Iiwia2V5IiwiZXJyb3IiLCJjYWxsIiwic3RhY2siLCJjYW5ub3RSZW1vdmVOb2RlIiwiY2Fubm90UmVwbGFjZU5vZGUiLCJjYW5ub3RSZXBsYWNlT3JSZW1vdmVJbktleUhhbmRsZXJZZXQiXSwibWFwcGluZ3MiOiI7Ozs7O1FBY08sQUFBUztRQUdULEFBQVM7UUFHVCxBQUFTO0FBcEJoQixJQUFNLDZCQUE2QixBQUMvQjttQkFBQSxBQUFlLFlBQVksT0FBQSxBQUFPLE9BQU8sTUFBekMsQUFBMkIsQUFBb0IsQUFDL0M7bUJBQUEsQUFBZSxVQUFmLEFBQXlCLGNBQXpCLEFBQXVDLEFBQ3ZDO2FBQUEsQUFBUyxlQUFULEFBQXdCLFNBQXhCLEFBQWlDLE1BQWpDLEFBQXVDLFFBQXZDLEFBQStDLEtBQUssQUFDaEQ7WUFBSSxRQUFRLE1BQUEsQUFBTSxLQUFOLEFBQVcsTUFBdkIsQUFBWSxBQUFpQixBQUM3QjthQUFBLEFBQUssTUFBTCxBQUFXLEFBQ1g7YUFBQSxBQUFLLFVBQUwsQUFBZSxBQUNmO2FBQUEsQUFBSyxPQUFMLEFBQVksQUFDWjthQUFBLEFBQUssU0FBTCxBQUFjLEFBQ2Q7YUFBQSxBQUFLLFFBQVEsTUFBYixBQUFtQixBQUN0QjtBQUNEO1dBQUEsQUFBTyxBQUNWO0FBWkQsQUFBdUIsQUFhdkIsQ0FidUI7a0JBYXZCLEFBQWUsQUFDZjtBQUFPLDBCQUFBLEFBQTBCLE1BQTFCLEFBQWdDLFFBQWhDLEFBQXdDLEtBQUssQUFDaEQ7V0FBTyxJQUFBLEFBQUksZUFBSixBQUFtQixzREFBbkIsQUFBeUUsTUFBekUsQUFBK0UsUUFBdEYsQUFBTyxBQUF1RixBQUNqRztBQUNEO0FBQU8sMkJBQUEsQUFBMkIsTUFBM0IsQUFBaUMsUUFBakMsQUFBeUMsS0FBSyxBQUNqRDtXQUFPLElBQUEsQUFBSSxlQUFKLEFBQW1CLDJFQUFuQixBQUE4RixNQUE5RixBQUFvRyxRQUEzRyxBQUFPLEFBQTRHLEFBQ3RIO0FBQ0Q7QUFBTyw4Q0FBQSxBQUE4QyxNQUE5QyxBQUFvRCxLQUFLLEFBQzVEO1dBQU8sSUFBQSxBQUFJLGVBQUosQUFBbUIsZ0VBQW5CLEFBQW1GLE1BQW5GLEFBQXlGLE1BQWhHLEFBQU8sQUFBK0YsQUFDekciLCJmaWxlIjoibGliL3RyYXZlcnNhbC9lcnJvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBUcmF2ZXJzYWxFcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICBUcmF2ZXJzYWxFcnJvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSk7XG4gICAgVHJhdmVyc2FsRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gVHJhdmVyc2FsRXJyb3I7XG4gICAgZnVuY3Rpb24gVHJhdmVyc2FsRXJyb3IobWVzc2FnZSwgbm9kZSwgcGFyZW50LCBrZXkpIHtcbiAgICAgICAgbGV0IGVycm9yID0gRXJyb3IuY2FsbCh0aGlzLCBtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5rZXkgPSBrZXk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLnN0YWNrID0gZXJyb3Iuc3RhY2s7XG4gICAgfVxuICAgIHJldHVybiBUcmF2ZXJzYWxFcnJvcjtcbn0oKTtcbmV4cG9ydCBkZWZhdWx0IFRyYXZlcnNhbEVycm9yO1xuZXhwb3J0IGZ1bmN0aW9uIGNhbm5vdFJlbW92ZU5vZGUobm9kZSwgcGFyZW50LCBrZXkpIHtcbiAgICByZXR1cm4gbmV3IFRyYXZlcnNhbEVycm9yKFwiQ2Fubm90IHJlbW92ZSBhIG5vZGUgdW5sZXNzIGl0IGlzIHBhcnQgb2YgYW4gYXJyYXlcIiwgbm9kZSwgcGFyZW50LCBrZXkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNhbm5vdFJlcGxhY2VOb2RlKG5vZGUsIHBhcmVudCwga2V5KSB7XG4gICAgcmV0dXJuIG5ldyBUcmF2ZXJzYWxFcnJvcihcIkNhbm5vdCByZXBsYWNlIGEgbm9kZSB3aXRoIG11bHRpcGxlIG5vZGVzIHVubGVzcyBpdCBpcyBwYXJ0IG9mIGFuIGFycmF5XCIsIG5vZGUsIHBhcmVudCwga2V5KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjYW5ub3RSZXBsYWNlT3JSZW1vdmVJbktleUhhbmRsZXJZZXQobm9kZSwga2V5KSB7XG4gICAgcmV0dXJuIG5ldyBUcmF2ZXJzYWxFcnJvcihcIlJlcGxhY2luZyBhbmQgcmVtb3ZpbmcgaW4ga2V5IGhhbmRsZXJzIGlzIG5vdCB5ZXQgc3VwcG9ydGVkLlwiLCBub2RlLCBudWxsLCBrZXkpO1xufSJdfQ==