mig-schema-tools
v1.0.5
Published
```
Keywords
Readme
mig-schema-tools
Installation
npm install --save mig-schema-tools
Usage
Create a file called ./inc/schema.ts;
import openapi from './openapi.json';
import init from 'mig-schema-tools';
const { ajv, resolvedOpenApi, getEmptyObject } = init(openapi);
export { ajv, resolvedOpenApi, getEmptyObject };Now in another file
import { resolvedOpenApi, ajv, getEmptyObject} from './inc/schema';
// resolvedOpenApi is a version of openapi where all references are "flattened" into plain objects
// getEmptyObject can create empty Objects based on a given schema
// e.g.:
const myUser = getEmptyObject<IUser>(resolvedOpenApi.components.schemas.User)
// ajv is an AJV instance configured for the given openapi.json
// e.g.:
const validate = ajv.compile(resolvedOpenApi.components.schemas.User);
const isValid = validate(myUser)
if (!isValid) {
// See AJV documentation for info on errors
console.log(validate.errors);
} else {
console.log('Data is valid')
}
