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 of Loc.t * string * string * bool
  4. | T_TEMPLATE_PART of Loc.t * template_part * bool
  5. | T_IDENTIFIER of {
    1. loc : Loc.t;
    2. value : string;
    3. raw : string;
    }
  6. | T_REGEXP of 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_ERROR of string
  121. | T_EOF
  122. | T_JSX_IDENTIFIER of {
    1. raw : string;
    2. loc : Loc.t;
    }
  123. | T_JSX_TEXT of Loc.t * string * string
  124. | T_ANY_TYPE
  125. | T_MIXED_TYPE
  126. | T_EMPTY_TYPE
  127. | T_BOOLEAN_TYPE of bool_or_boolean
  128. | T_NUMBER_TYPE
  129. | T_BIGINT_TYPE
  130. | T_NUMBER_SINGLETON_TYPE of {
    1. kind : number_type;
    2. value : float;
    3. raw : string;
    }
  131. | T_BIGINT_SINGLETON_TYPE of {
    1. kind : bigint_type;
    2. value : int64 option;
    3. raw : string;
    }
  132. | T_STRING_TYPE
  133. | T_VOID_TYPE
  134. | T_SYMBOL_TYPE
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
and template_part = {
  1. cooked : string;
  2. raw : string;
  3. literal : string;
}
val equal : t -> t -> bool
val equal_bool_or_boolean : bool_or_boolean -> bool_or_boolean -> bool
val equal_number_type : number_type -> number_type -> bool
val equal_bigint_type : bigint_type -> bigint_type -> bool
val equal_template_part : template_part -> template_part -> bool
val token_to_string : t -> string
val value_of_token : t -> string
val quote_token_value : string -> string
val explanation_of_token : ?use_article:bool -> t -> string