The flatSchemaUtils provides a set of functions for working with flattened schemas generated from objects. These functions allow you to generate, merge, validate, compare, and sort schemas.
This article provides information on the following:
generate(obj, options)
Generates a flattened schema from the provided object.
Parameters
- obj(*): The object to generate a flattened schema from.
- options(optional) (Object): The generation options.- ignoreCase(optional) (Boolean): If set to- true, field name case will be ignored.
 
Returns
- object[]: The flattened schema.
Example
let obj = {
   name: "Peter Parker",
   alias: "Spiderman",
   city: "New York City",
   age: 18
}
const flattenedSchema = flatSchemaUtils.generate(obj);
//  flattenedSchema = [
//         {
//             "type": "string",
//             "fieldName": "name",
//             "path": "",
//             "fullPath": "name",
//             "hasNull": false,
//             "instances": 1,
//             "format": null,
//             "stringLength": 12
//         },
//         {
//             "type": "string",
//             "fieldName": "alias",
//             "path": "",
//             "fullPath": "alias",
//             "hasNull": false,
//             "instances": 1,
//             "format": null,
//             "stringLength": 9
//         },
//         {
//             "type": "string",
//             "fieldName": "city",
//             "path": "",
//             "fullPath": "city",
//             "hasNull": false,
//             "instances": 1,
//             "format": null,
//             "stringLength": 13
//         },
//         {
//             "type": "integer",
//             "fieldName": "age",
//             "path": "",
//             "fullPath": "age",
//             "hasNull": false,
//             "instances": 1,
//             "format": null,
//             "stringLength": null
//         }
//     ]
mergeSchemas(...schemas)
Merges multiple schemas together.
Parameters
- schemas(Object[]): An array of schemas to merge.
Returns
- object[]: The merged schemas.
validate(data, schema, options)
Validates an object against a schema.
Parameters
- data(*): The data to validate.
- schema(Object[]): The flat schema to validate against.
- options(optional) (Object): The validation options.
Returns
- object[]|null: An array of validation results or- nullif the data is valid against the schema.
compareSchemas(schema1, schema2, options)
Compares two schemas for differences.
Parameters
- schema1(Object[]): The first schema to compare.
- schema2(Object[]): The second schema to compare.
- option- s(optional) (Object): The comparison options.
Returns
- object[]: An array of comparison results.
sortSchema(schema)
Sorts a schema by path.
Parameters
- schema(Object[]): The schema to sort.
Returns
- object[]: The sorted schema.

