import { AbstractResolver } from '@ulangi/resolver'; import * as Joi from 'joi'; import { WiktionaryDefinitions } from '../interfaces/WiktionaryDefinitions'; import { WiktionaryDefinitionResolver } from '../resolvers/WiktionaryDefinitionResolver'; export class WiktionaryDefinitionsResolver extends AbstractResolver< WiktionaryDefinitions > { private definitionResolver = new WiktionaryDefinitionResolver(); // We have to lazy because definition is recursive protected rules = { kind: Joi.string().valid('definitions'), headword: Joi.string().optional(), children: Joi.array().items(this.definitionResolver.getRules()), }; }