0
1
Fork 0
hedera-web-mindshore/js/vn/mutators.js

46 lines
936 B
JavaScript

vnCustomTags = {};
var Mutators = Class.Mutators;
var _Extends = Mutators.Extends;
Mutators.Extends = function() {
_Extends.apply(this, arguments);
this.implement({Properties: {}});
}
Mutators.Tag = function(tagName) {
vnCustomTags[tagName] = this;
this.extend({Tag: tagName});
};
Mutators.Properties = function(props) {
var parentProps;
for (var propName in props) {
var prop = props[propName];
prop.configurable = true;
if (!prop.get && !prop.set && prop.writable === undefined)
prop.writable = true;
}
if (this.parent && (parentProps = this.parent.Properties))
for (var propName in parentProps)
if (!props[propName])
props[propName] = parentProps[propName];
this.extend({Properties: props});
Object.defineProperties(this.prototype, props);
};
Mutators.Parent = function(propName) {
this.extend({Parent: propName});
};
Mutators.Child = function(propName) {
this.extend({Child: propName});
};