UNPKG

@maniascript/mslint

Version:
30 lines (29 loc) 934 B
import type { Node, Scope } from '@maniascript/parser'; import type { CommonTokenStream } from 'antlr4ng'; type RuleReporter = (node: Node, message: string) => void; type RuleSettings = Record<string, unknown>; interface RuleContext { id: string; settings: RuleSettings; tokens: CommonTokenStream; report: RuleReporter; getScope: (node?: Node) => Scope | null; } type RuleActions = Record<string, (node: Node) => void>; interface Rule { meta: { id: string; description: string; recommended?: boolean; settings?: RuleSettings; }; create: (context: RuleContext) => RuleActions; } declare enum Severity { Off = 0, Warn = 1, Error = 2 } declare function getSeverity(source: unknown): Severity | undefined; declare function getSettings(source: unknown): RuleSettings; export { type Rule, type RuleContext, type RuleSettings, Severity, getSeverity, getSettings };