UNPKG

ern-api-gen

Version:

Electrode Native API generator

66 lines 2.13 kB
"use strict"; 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