ern-api-gen
Version:
Electrode Native API generator
66 lines • 2.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/* tslint:disable:variable-name */
const Property_1 = require("./Property");
const factory_1 = __importDefault(require("../factory"));
const javaUtil_1 = require("../../java/javaUtil");
const beanUtils_1 = require("../../java/beanUtils");
function objectToPropertyMap(obj) {
return javaUtil_1.newHashMap(...Object.keys(obj).map(key => [key, factory_1.default(obj[key], this)]));
}
class ObjectPropertyBase extends Property_1.Property {
constructor(obj, parent) {
super(obj, parent);
}
getAdditionalProperties() {
return this._additionalProperties;
}
setAdditionalProperties(properties) {
if (!properties) {
this._additionalProperties = null;
}
if (properties.type) {
this._additionalProperties = factory_1.default(properties);
}
else {
this._additionalProperties = objectToPropertyMap(properties);
}
}
setProperties(properties) {
this.properties = objectToPropertyMap(properties);
}
getRequiredProperties() {
const required = [];
for (const [key, prop] of this.properties) {
if (prop.required) {
required.push(key);
}
}
return required;
}
setRequiredProperties(required) {
for (const [key, prop] of this.properties) {
const isRequired = required ? required.indexOf(key) !== -1 : false;
if (beanUtils_1.has(prop, 'required') || isRequired) {
prop.required = isRequired;
}
}
}
}
ObjectPropertyBase.allowedProps = [
...Property_1.Property.allowedProps,
'additionalProperties',
'required',
'minProperties',
'maxProperties',
'anyOf',
'allOf',
'readOnly',
'vendorExtensions',
'xml',
];
exports.ObjectPropertyBase = ObjectPropertyBase;
//# sourceMappingURL=ObjectPropertyBase.js.map