Module Js_parser.Token

type t =
  1. | T_NUMBER of {
    1. kind: number_type,
    2. raw: string,
    }
  2. | T_BIGINT of {
    1. kind: bigint_type,
    2. raw: string,
    }
  3. | T_STRING((Loc.t, string, string, bool))
  4. | T_TEMPLATE_PART((Loc.t, string, string, bool, bool))
  5. | T_IDENTIFIER of {
    1. loc: Loc.t,
    2. value: string,
    3. raw: string,
    }
  6. | T_REGEXP(Loc.t, string, string)
  7. | T_LCURLY
  8. | T_RCURLY
  9. | T_LCURLYBAR
  10. | T_RCURLYBAR
  11. | T_LPAREN
  12. | T_RPAREN
  13. | T_LBRACKET
  14. | T_RBRACKET
  15. | T_SEMICOLON
  16. | T_COMMA
  17. | T_PERIOD
  18. | T_ARROW
  19. | T_ELLIPSIS
  20. | T_AT
  21. | T_POUND
  22. | T_FUNCTION
  23. | T_IF
  24. | T_IN
  25. | T_INSTANCEOF
  26. | T_RETURN
  27. | T_SWITCH
  28. | T_THIS
  29. | T_THROW
  30. | T_TRY
  31. | T_VAR
  32. | T_WHILE
  33. | T_WITH
  34. | T_CONST
  35. | T_LET
  36. | T_NULL
  37. | T_FALSE
  38. | T_TRUE
  39. | T_BREAK
  40. | T_CASE
  41. | T_CATCH
  42. | T_CONTINUE
  43. | T_DEFAULT
  44. | T_DO
  45. | T_FINALLY
  46. | T_FOR
  47. | T_CLASS
  48. | T_EXTENDS
  49. | T_STATIC
  50. | T_ELSE
  51. | T_NEW
  52. | T_DELETE
  53. | T_TYPEOF
  54. | T_VOID
  55. | T_ENUM
  56. | T_EXPORT
  57. | T_IMPORT
  58. | T_SUPER
  59. | T_IMPLEMENTS
  60. | T_INTERFACE
  61. | T_PACKAGE
  62. | T_PRIVATE
  63. | T_PROTECTED
  64. | T_PUBLIC
  65. | T_YIELD
  66. | T_DEBUGGER
  67. | T_DECLARE
  68. | T_TYPE
  69. | T_OPAQUE
  70. | T_OF
  71. | T_ASYNC
  72. | T_AWAIT
  73. | T_CHECKS
  74. | T_RSHIFT3_ASSIGN
  75. | T_RSHIFT_ASSIGN
  76. | T_LSHIFT_ASSIGN
  77. | T_BIT_XOR_ASSIGN
  78. | T_BIT_OR_ASSIGN
  79. | T_BIT_AND_ASSIGN
  80. | T_MOD_ASSIGN
  81. | T_DIV_ASSIGN
  82. | T_MULT_ASSIGN
  83. | T_EXP_ASSIGN
  84. | T_MINUS_ASSIGN
  85. | T_PLUS_ASSIGN
  86. | T_NULLISH_ASSIGN
  87. | T_AND_ASSIGN
  88. | T_OR_ASSIGN
  89. | T_ASSIGN
  90. | T_PLING_PERIOD
  91. | T_PLING_PLING
  92. | T_PLING
  93. | T_COLON
  94. | T_OR
  95. | T_AND
  96. | T_BIT_OR
  97. | T_BIT_XOR
  98. | T_BIT_AND
  99. | T_EQUAL
  100. | T_NOT_EQUAL
  101. | T_STRICT_EQUAL
  102. | T_STRICT_NOT_EQUAL
  103. | T_LESS_THAN_EQUAL
  104. | T_GREATER_THAN_EQUAL
  105. | T_LESS_THAN
  106. | T_GREATER_THAN
  107. | T_LSHIFT
  108. | T_RSHIFT
  109. | T_RSHIFT3
  110. | T_PLUS
  111. | T_MINUS
  112. | T_DIV
  113. | T_MULT
  114. | T_EXP
  115. | T_MOD
  116. | T_NOT
  117. | T_BIT_NOT
  118. | T_INCR
  119. | T_DECR
  120. | T_INTERPRETER(Loc.t, string)
  121. | T_ERROR(string)
  122. | T_EOF
  123. | T_JSX_IDENTIFIER of {
    1. raw: string,
    2. loc: Loc.t,
    }
  124. | T_JSX_CHILD_TEXT(Loc.t, string, string)
  125. | T_JSX_QUOTE_TEXT(Loc.t, string, string)
  126. | T_ANY_TYPE
  127. | T_MIXED_TYPE
  128. | T_EMPTY_TYPE
  129. | T_BOOLEAN_TYPE(bool_or_boolean)
  130. | T_NUMBER_TYPE
  131. | T_BIGINT_TYPE
  132. | T_NUMBER_SINGLETON_TYPE of {
    1. kind: number_type,
    2. value: float,
    3. raw: string,
    }
  133. | T_BIGINT_SINGLETON_TYPE of {
    1. kind: bigint_type,
    2. value: option(int64),
    3. raw: string,
    }
  134. | T_STRING_TYPE
  135. | T_VOID_TYPE
  136. | T_SYMBOL_TYPE
  137. | T_UNKNOWN_TYPE
  138. | T_NEVER_TYPE
  139. | T_UNDEFINED_TYPE
  140. | T_KEYOF
  141. | T_READONLY
  142. | T_INFER
  143. | T_IS
  144. | T_ASSERTS
  145. | T_RENDERS_QUESTION
  146. | T_RENDERS_STAR
;
and bool_or_boolean =
  1. | BOOL
  2. | BOOLEAN
;
and number_type =
  1. | BINARY
  2. | LEGACY_OCTAL
  3. | LEGACY_NON_OCTAL
  4. | OCTAL
  5. | NORMAL
;
and bigint_type =
  1. | BIG_BINARY
  2. | BIG_OCTAL
  3. | BIG_NORMAL
;
let equal: t => t => bool;
let equal_bool_or_boolean: bool_or_boolean => bool_or_boolean => bool;
let equal_number_type: number_type => number_type => bool;
let equal_bigint_type: bigint_type => bigint_type => bool;
let token_to_string: t => string;
let value_of_token: t => string;
let quote_token_value: string => string;
let explanation_of_token: ?use_article:bool => t => string;