ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
32 lines (31 loc) • 4.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cannotRemoveNode = cannotRemoveNode;
exports.cannotReplaceNode = cannotReplaceNode;
exports.cannotReplaceOrRemoveInKeyHandlerYet = cannotReplaceOrRemoveInKeyHandlerYet;
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;
}();
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi90cmF2ZXJzYWwvZXJyb3JzLmpzIl0sIm5hbWVzIjpbImNhbm5vdFJlbW92ZU5vZGUiLCJjYW5ub3RSZXBsYWNlTm9kZSIsImNhbm5vdFJlcGxhY2VPclJlbW92ZUluS2V5SGFuZGxlcllldCIsIlRyYXZlcnNhbEVycm9yIiwicHJvdG90eXBlIiwiT2JqZWN0IiwiY3JlYXRlIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsIm1lc3NhZ2UiLCJub2RlIiwicGFyZW50Iiwia2V5IiwiZXJyb3IiLCJjYWxsIiwic3RhY2siXSwibWFwcGluZ3MiOiI7Ozs7O1FBY2dCQSxnQixHQUFBQSxnQjtRQUdBQyxpQixHQUFBQSxpQjtRQUdBQyxvQyxHQUFBQSxvQztBQXBCaEIsTUFBTUMsaUJBQWlCLFlBQVk7QUFDL0JBLG1CQUFlQyxTQUFmLEdBQTJCQyxPQUFPQyxNQUFQLENBQWNDLE1BQU1ILFNBQXBCLENBQTNCO0FBQ0FELG1CQUFlQyxTQUFmLENBQXlCSSxXQUF6QixHQUF1Q0wsY0FBdkM7QUFDQSxhQUFTQSxjQUFULENBQXdCTSxPQUF4QixFQUFpQ0MsSUFBakMsRUFBdUNDLE1BQXZDLEVBQStDQyxHQUEvQyxFQUFvRDtBQUNoRCxZQUFJQyxRQUFRTixNQUFNTyxJQUFOLENBQVcsSUFBWCxFQUFpQkwsT0FBakIsQ0FBWjtBQUNBLGFBQUtHLEdBQUwsR0FBV0EsR0FBWDtBQUNBLGFBQUtILE9BQUwsR0FBZUEsT0FBZjtBQUNBLGFBQUtDLElBQUwsR0FBWUEsSUFBWjtBQUNBLGFBQUtDLE1BQUwsR0FBY0EsTUFBZDtBQUNBLGFBQUtJLEtBQUwsR0FBYUYsTUFBTUUsS0FBbkI7QUFDSDtBQUNELFdBQU9aLGNBQVA7QUFDSCxDQVpzQixFQUF2QjtrQkFhZUEsYztBQUNSLFNBQVNILGdCQUFULENBQTBCVSxJQUExQixFQUFnQ0MsTUFBaEMsRUFBd0NDLEdBQXhDLEVBQTZDO0FBQ2hELFdBQU8sSUFBSVQsY0FBSixDQUFtQixvREFBbkIsRUFBeUVPLElBQXpFLEVBQStFQyxNQUEvRSxFQUF1RkMsR0FBdkYsQ0FBUDtBQUNIO0FBQ00sU0FBU1gsaUJBQVQsQ0FBMkJTLElBQTNCLEVBQWlDQyxNQUFqQyxFQUF5Q0MsR0FBekMsRUFBOEM7QUFDakQsV0FBTyxJQUFJVCxjQUFKLENBQW1CLHlFQUFuQixFQUE4Rk8sSUFBOUYsRUFBb0dDLE1BQXBHLEVBQTRHQyxHQUE1RyxDQUFQO0FBQ0g7QUFDTSxTQUFTVixvQ0FBVCxDQUE4Q1EsSUFBOUMsRUFBb0RFLEdBQXBELEVBQXlEO0FBQzVELFdBQU8sSUFBSVQsY0FBSixDQUFtQiw4REFBbkIsRUFBbUZPLElBQW5GLEVBQXlGLElBQXpGLEVBQStGRSxHQUEvRixDQUFQO0FBQ0giLCJmaWxlIjoibGliL3RyYXZlcnNhbC9lcnJvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBUcmF2ZXJzYWxFcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICBUcmF2ZXJzYWxFcnJvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSk7XG4gICAgVHJhdmVyc2FsRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gVHJhdmVyc2FsRXJyb3I7XG4gICAgZnVuY3Rpb24gVHJhdmVyc2FsRXJyb3IobWVzc2FnZSwgbm9kZSwgcGFyZW50LCBrZXkpIHtcbiAgICAgICAgbGV0IGVycm9yID0gRXJyb3IuY2FsbCh0aGlzLCBtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5rZXkgPSBrZXk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLnN0YWNrID0gZXJyb3Iuc3RhY2s7XG4gICAgfVxuICAgIHJldHVybiBUcmF2ZXJzYWxFcnJvcjtcbn0oKTtcbmV4cG9ydCBkZWZhdWx0IFRyYXZlcnNhbEVycm9yO1xuZXhwb3J0IGZ1bmN0aW9uIGNhbm5vdFJlbW92ZU5vZGUobm9kZSwgcGFyZW50LCBrZXkpIHtcbiAgICByZXR1cm4gbmV3IFRyYXZlcnNhbEVycm9yKFwiQ2Fubm90IHJlbW92ZSBhIG5vZGUgdW5sZXNzIGl0IGlzIHBhcnQgb2YgYW4gYXJyYXlcIiwgbm9kZSwgcGFyZW50LCBrZXkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNhbm5vdFJlcGxhY2VOb2RlKG5vZGUsIHBhcmVudCwga2V5KSB7XG4gICAgcmV0dXJuIG5ldyBUcmF2ZXJzYWxFcnJvcihcIkNhbm5vdCByZXBsYWNlIGEgbm9kZSB3aXRoIG11bHRpcGxlIG5vZGVzIHVubGVzcyBpdCBpcyBwYXJ0IG9mIGFuIGFycmF5XCIsIG5vZGUsIHBhcmVudCwga2V5KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjYW5ub3RSZXBsYWNlT3JSZW1vdmVJbktleUhhbmRsZXJZZXQobm9kZSwga2V5KSB7XG4gICAgcmV0dXJuIG5ldyBUcmF2ZXJzYWxFcnJvcihcIlJlcGxhY2luZyBhbmQgcmVtb3ZpbmcgaW4ga2V5IGhhbmRsZXJzIGlzIG5vdCB5ZXQgc3VwcG9ydGVkLlwiLCBub2RlLCBudWxsLCBrZXkpO1xufSJdfQ==