Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 1x 6x 6x 13x 6x 1x 5x 1x 1x | "use strict";
const AnnotationTarget = require("../annotations/AnnotationTarget");
/**
* Envelops an On-Delete Action.
*
* http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/cs01/odata-csdl-xml-v4.01-cs01.html#sec_OnDeleteAction
*
* @class OnDeleteAction
* @extends {AnnotationTarget}
*/
class OnDeleteAction extends AnnotationTarget {
/**
* Creates an instance of OnDeleteAction.
* @param {Object} rawMetadata raw metadata object for enum member
* @memberof OnDeleteAction
*/
constructor(rawMetadata) {
super(rawMetadata);
Object.defineProperty(this, "action", {
get: () => rawMetadata.$.Action,
});
if (!this.action) {
throw new Error("Action attribute is mandatory for On-Delete Action.");
}
if (!["Cascade", "None", "SetNull", "SetDefault"].includes(this.action)) {
throw new Error(
`Action attribute value '${this.action}' is not valid in On-Delete Action.`
);
}
}
}
module.exports = OnDeleteAction;
|