tokenKind.d.ts 638 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
/**
 * An exported enum describing the different kinds of tokens that the
 * lexer emits.
 */
export const TokenKind: _TokenKind;

type _TokenKind = {
  SOF: '<SOF>';
  EOF: '<EOF>';
  BANG: '!';
  DOLLAR: '$';
  AMP: '&';
  PAREN_L: '(';
  PAREN_R: ')';
  SPREAD: '...';
  COLON: ':';
  EQUALS: '=';
  AT: '@';
  BRACKET_L: '[';
  BRACKET_R: ']';
  BRACE_L: '{';
  PIPE: '|';
  BRACE_R: '}';
  NAME: 'Name';
  INT: 'Int';
  FLOAT: 'Float';
  STRING: 'String';
  BLOCK_STRING: 'BlockString';
  COMMENT: 'Comment';
};

/**
 * The enum type representing the token kinds values.
 */
export type TokenKindEnum = _TokenKind[keyof _TokenKind];