import { JsonUtilService } from './json-util.service'; import { ComponentTypeService } from './component-type.service'; import { JSONSchema, SchemaOptions } from '../interfaces'; export declare class SchemaFixerService { private jsonUtilService; private componentTypeService; constructor(jsonUtilService: JsonUtilService, componentTypeService: ComponentTypeService); /** * Fixes schema to be in a format that expected by json-editor * * @param schema - json schema * @param config - schema specific options * @return - fixed schema */ fixSchema(originalSchema: JSONSchema, config?: SchemaOptions): JSONSchema; /** * Enriches given schema with given configuration objects * puts config into correct places in schema. * * @param schema - json schema * @param config - schema specific options */ private enrichSchemaWithConfig(schema, config); /** * Applies all fixes to schema recursively */ private fixRecursively(schema); /** * Fixes disabled config to assign the disabled attribute * to array items or object properties */ private fixDisabled(schema); /** * Fixes isDeleteDisabled config to assign the isDeleteDisabled attribute * to array items or object properties */ private fixIsDeleteDisabled(schema); /** * Fixes order config to assign the right priority to properties */ private fixOrder(schema); /** * Fixes anyOf schemas with exactly same property structure * it merges all enum fields in anyOf elements */ private fixAnyOf(schema); private fixAllOf(schema); /** * Adds keys that matches `alwaysShowRegExp` to `alwaysShow`. * Passes `alwaysShowRegExp` down to children so that it is applied recursively. */ private fixAlwaysShowRegExp(schema); /** * Removes alwayShow fields that aren't in the schema.properties * and warns on console. */ private fixAlwaysShow(schema); }