UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

67 lines (66 loc) 7.59 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ var JsonSchemaUtils = /** @class */ (function () { function JsonSchemaUtils() { } /** * @param {?} key * @param {?} jsonSchema * @return {?} */ JsonSchemaUtils.getPropertiesValue = /** * @param {?} key * @param {?} jsonSchema * @return {?} */ function (key, jsonSchema) { if (key === null || typeof key === 'undefined' || jsonSchema === null || typeof jsonSchema === 'undefined') { return null; } var /** @type {?} */ result = null; var /** @type {?} */ schemaType = jsonSchema.type; var /** @type {?} */ schemaProps = null; if (schemaType !== null && typeof schemaType !== 'undefined') { if (schemaType === 'object') { schemaProps = jsonSchema.properties; } else if (schemaType === 'array') { schemaProps = (jsonSchema.items !== null && typeof jsonSchema.items !== 'undefined') ? jsonSchema.items.properties : null; } } if (key.indexOf(".") > 0) { var /** @type {?} */ splitKeys = key.split("."); if (splitKeys.length > 0) { var /** @type {?} */ firstKey = splitKeys[0]; if (schemaProps !== null && typeof schemaProps !== 'undefined') { var /** @type {?} */ firstValue = schemaProps[firstKey]; if (firstValue != null && typeof firstValue !== 'undefined') { if (typeof firstValue === 'object') { if (splitKeys.length > 1) { var /** @type {?} */ secondKey = key.substring(key.indexOf(".") + 1, key.length); return this.getPropertiesValue(secondKey, firstValue); // recursive beware looping } } } } } } else { if (schemaProps !== null && typeof schemaProps !== 'undefined') { result = schemaProps[key]; } else { result = jsonSchema[key]; } } if (result != null && typeof result !== 'undefined') { return result; } return null; }; return JsonSchemaUtils; }()); export { JsonSchemaUtils }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblNjaGVtYVV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvSnNvblNjaGVtYVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxJQUFBOzs7Ozs7OztJQUNnQixrQ0FBa0I7Ozs7O2NBQUMsR0FBVyxFQUFFLFVBQXNCO1FBQ2xFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxJQUFJLFVBQVUsS0FBSyxJQUFJLElBQUksT0FBTyxVQUFVLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzRyxNQUFNLENBQUMsSUFBSSxDQUFDO1NBQ2I7UUFFRCxxQkFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLHFCQUFJLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ2pDLHFCQUFJLFdBQVcsR0FBUSxJQUFJLENBQUM7UUFDNUIsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLElBQUksSUFBSSxPQUFPLFVBQVUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzdELEVBQUUsQ0FBQyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixXQUFXLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQzthQUNyQztZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDbEMsV0FBVyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxVQUFVLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQzNIO1NBQ0Y7UUFFRCxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIscUJBQUksU0FBUyxHQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixxQkFBSSxRQUFRLEdBQVcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVwQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEtBQUssSUFBSSxJQUFJLE9BQU8sV0FBVyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQy9ELHFCQUFJLFVBQVUsR0FBUSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBRTVDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksT0FBTyxVQUFVLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQzt3QkFDNUQsRUFBRSxDQUFDLENBQUMsT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQzs0QkFDbkMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dDQUN6QixxQkFBSSxTQUFTLEdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBRXhFLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDOzZCQUN2RDt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLEVBQUUsQ0FBQyxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksT0FBTyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzQjtZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDMUI7U0FDRjtRQUVELEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNwRCxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQ2Y7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDOzswQkFsRGhCO0lBb0RDLENBQUE7QUFsREQsMkJBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvblNjaGVtYSB9IGZyb20gXCIuLi9tb2RlbC9Kc29uU2NoZW1hXCI7XG5cbmV4cG9ydCBjbGFzcyBKc29uU2NoZW1hVXRpbHMge1xuICBwdWJsaWMgc3RhdGljIGdldFByb3BlcnRpZXNWYWx1ZShrZXk6IHN0cmluZywganNvblNjaGVtYTogSnNvblNjaGVtYSk6IGFueSB7XG4gICAgaWYgKGtleSA9PT0gbnVsbCB8fCB0eXBlb2Yga2V5ID09PSAndW5kZWZpbmVkJyB8fCBqc29uU2NoZW1hID09PSBudWxsIHx8IHR5cGVvZiBqc29uU2NoZW1hID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdCA9IG51bGw7XG4gICAgbGV0IHNjaGVtYVR5cGUgPSBqc29uU2NoZW1hLnR5cGU7XG4gICAgbGV0IHNjaGVtYVByb3BzOiBhbnkgPSBudWxsO1xuICAgIGlmIChzY2hlbWFUeXBlICE9PSBudWxsICYmIHR5cGVvZiBzY2hlbWFUeXBlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgaWYgKHNjaGVtYVR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHNjaGVtYVByb3BzID0ganNvblNjaGVtYS5wcm9wZXJ0aWVzO1xuICAgICAgfSBlbHNlIGlmIChzY2hlbWFUeXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIHNjaGVtYVByb3BzID0gKGpzb25TY2hlbWEuaXRlbXMgIT09IG51bGwgJiYgdHlwZW9mIGpzb25TY2hlbWEuaXRlbXMgIT09ICd1bmRlZmluZWQnKSA/IGpzb25TY2hlbWEuaXRlbXMucHJvcGVydGllcyA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleS5pbmRleE9mKFwiLlwiKSA+IDApIHtcbiAgICAgIGxldCBzcGxpdEtleXM6IHN0cmluZ1tdID0ga2V5LnNwbGl0KFwiLlwiKTtcbiAgICAgIGlmIChzcGxpdEtleXMubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgZmlyc3RLZXk6IHN0cmluZyA9IHNwbGl0S2V5c1swXTtcblxuICAgICAgICBpZiAoc2NoZW1hUHJvcHMgIT09IG51bGwgJiYgdHlwZW9mIHNjaGVtYVByb3BzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGxldCBmaXJzdFZhbHVlOiBhbnkgPSBzY2hlbWFQcm9wc1tmaXJzdEtleV07XG5cbiAgICAgICAgICBpZiAoZmlyc3RWYWx1ZSAhPSBudWxsICYmIHR5cGVvZiBmaXJzdFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaXJzdFZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICBpZiAoc3BsaXRLZXlzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBsZXQgc2Vjb25kS2V5OiBzdHJpbmcgPSBrZXkuc3Vic3RyaW5nKGtleS5pbmRleE9mKFwiLlwiKSArIDEsIGtleS5sZW5ndGgpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvcGVydGllc1ZhbHVlKHNlY29uZEtleSwgZmlyc3RWYWx1ZSk7IC8vIHJlY3Vyc2l2ZSBiZXdhcmUgbG9vcGluZ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzY2hlbWFQcm9wcyAhPT0gbnVsbCAmJiB0eXBlb2Ygc2NoZW1hUHJvcHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJlc3VsdCA9IHNjaGVtYVByb3BzW2tleV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBqc29uU2NoZW1hW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlc3VsdCAhPSBudWxsICYmIHR5cGVvZiByZXN1bHQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=