@redocly/openapi-core
Version:
See https://github.com/Redocly/openapi-cli
36 lines (32 loc) • 985 B
text/typescript
import { readFileSync } from 'fs';
import { join as pathJoin, resolve as pathResolve } from 'path';
import { lintDocument } from '../../lint';
import { BaseResolver } from '../../resolve';
import { parseYamlToDocument, makeConfigForRuleset } from '../utils';
export const name = 'Validate with 50 top-level rules';
export const count = 10;
const rebillyDefinitionRef = pathResolve(pathJoin(__dirname, 'rebilly.yaml'));
const rebillyDocument = parseYamlToDocument(
readFileSync(rebillyDefinitionRef, 'utf-8'),
rebillyDefinitionRef,
);
const ruleset: any = {};
for (let i = 0; i < 50; i++) {
ruleset['rule-' + i] = () => {
let count = 0;
return {
Schema() {
count++;
if (count === -1) throw new Error('Disable optimization');
},
};
};
}
const config = makeConfigForRuleset(ruleset);
export function measureAsync() {
return lintDocument({
externalRefResolver: new BaseResolver(),
document: rebillyDocument,
config,
});
}