UNPKG

@felixgeelhaar/cclint

Version:

Catch CLAUDE.md drift before Claude misbehaves. Lints CLAUDE.md, skills, subagents, and hooks for Claude Code projects.

41 lines 1.61 kB
import type { LanguageValidator } from './LanguageValidator.js'; /** * Binds one validator to the language identifier(s) it handles. * * @remarks * A single validator can serve several languages — `JavaScriptValidator` * handles both `javascript` and `typescript`, which is also the grouping used * for cross-block consistency checks. */ export interface ValidatorRegistration { readonly languages: readonly string[]; readonly validator: LanguageValidator; } /** * Maps normalized language identifiers to the {@link LanguageValidator} that * handles them. * * @remarks * This is the one place that knows which validator owns which language, so * adding a language means adding a validator module and a single registration * — `CodeBlockRule` never grows a `switch`. */ export declare class ValidatorRegistry { private readonly byLanguage; private readonly registeredGroups; constructor(registrations: readonly ValidatorRegistration[]); /** The validator for a language, or `undefined` when none is registered. */ get(language: string): LanguageValidator | undefined; /** All registrations, in declaration order, for cross-block passes. */ groups(): readonly ValidatorRegistration[]; } /** * Build the registry of built-in language validators. * * @remarks * `javascript` and `typescript` deliberately share one validator instance so * their blocks are validated identically and grouped together for * consistency checks. */ export declare function createDefaultValidatorRegistry(): ValidatorRegistry; //# sourceMappingURL=ValidatorRegistry.d.ts.map