| 1234567891011121314151617181920212223242526272829303132333435363738394041 | const refParser = require('@apidevtools/json-schema-ref-parser');let compiledSchema = null;module.exports = {	/**	 * Compiles the schema, by dereferencing it, only once	 * and returns the memory cached value	 */	getCompiledSchema: async () => {		if (compiledSchema === null) {			compiledSchema = await refParser.dereference(__dirname + '/swagger.json', {				mutateInputSchema: false,			});		}		return compiledSchema;	},	/**	 * Scans the schema for the validation schema for the given path and method	 * and returns it.	 *	 * @param {string} path	 * @param {string} method	 * @returns string|null	 */	getValidationSchema: (path, method) => {		if (compiledSchema !== null &&			typeof compiledSchema.paths[path] !== 'undefined' &&			typeof compiledSchema.paths[path][method] !== 'undefined' &&			typeof compiledSchema.paths[path][method].requestBody !== 'undefined' &&			typeof compiledSchema.paths[path][method].requestBody.content !== 'undefined' &&			typeof compiledSchema.paths[path][method].requestBody.content['application/json'] !== 'undefined' &&			typeof compiledSchema.paths[path][method].requestBody.content['application/json'].schema !== 'undefined'		) {			return compiledSchema.paths[path][method].requestBody.content['application/json'].schema;		}		return null;	}};
 |