Files
NapCatQQ/.pnpm-store/v3/files/c5/e5ce85c5038fa557e4650ad5280fe4dbfca217a5d61304ddccb9c0f1d2131deeaa107a1abbe58982b35fc83e94aa8e8d5d67d0b37a1db4ef4a4f74101213b0
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

21 lines
569 B
Plaintext

import { Line, Spec } from '../primitives.js';
import { seedSpec } from '../util.js';
import { Tokenizer } from './tokenizers/index.js';
export type Parser = (source: Line[]) => Spec;
export interface Options {
tokenizers: Tokenizer[];
}
export default function getParser({ tokenizers }: Options): Parser {
return function parseSpec(source: Line[]): Spec {
let spec = seedSpec({ source });
for (const tokenize of tokenizers) {
spec = tokenize(spec);
if (spec.problems[spec.problems.length - 1]?.critical) break;
}
return spec;
};
}