Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

spec-parser.ts 560B

1234567891011121314151617181920
  1. import { Line, Spec } from '../primitives';
  2. import { seedSpec } from '../util';
  3. import { Tokenizer } from './tokenizers/index';
  4. export type Parser = (source: Line[]) => Spec;
  5. export interface Options {
  6. tokenizers: Tokenizer[];
  7. }
  8. export default function getParser({ tokenizers }: Options): Parser {
  9. return function parseSpec(source: Line[]): Spec {
  10. let spec = seedSpec({ source });
  11. for (const tokenize of tokenizers) {
  12. spec = tokenize(spec);
  13. if (spec.problems[spec.problems.length - 1]?.critical) break;
  14. }
  15. return spec;
  16. };
  17. }