@anthonyalayo/drizzle-kit 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/.gitignore +25 -0
  2. package/README.md +79 -0
  3. package/build.dev.ts +51 -0
  4. package/build.ts +112 -0
  5. package/imports-checker/analyze.ts +78 -0
  6. package/imports-checker/checker.ts +296 -0
  7. package/imports-checker/grammar/grammar.ohm +121 -0
  8. package/imports-checker/grammar/grammar.ohm-bundle.d.ts +164 -0
  9. package/imports-checker/grammar/grammar.ohm-bundle.js +753 -0
  10. package/imports-checker/index.ts +48 -0
  11. package/package.json +142 -0
  12. package/patches/difflib@0.2.4.patch +31 -0
  13. package/src/@types/utils.ts +58 -0
  14. package/src/api.ts +504 -0
  15. package/src/cli/commands/_es5.ts +2 -0
  16. package/src/cli/commands/check.ts +52 -0
  17. package/src/cli/commands/drop.ts +60 -0
  18. package/src/cli/commands/introspect.ts +772 -0
  19. package/src/cli/commands/libSqlPushUtils.ts +355 -0
  20. package/src/cli/commands/migrate.ts +1526 -0
  21. package/src/cli/commands/mysqlIntrospect.ts +53 -0
  22. package/src/cli/commands/mysqlPushUtils.ts +352 -0
  23. package/src/cli/commands/mysqlUp.ts +102 -0
  24. package/src/cli/commands/pgIntrospect.ts +55 -0
  25. package/src/cli/commands/pgPushUtils.ts +269 -0
  26. package/src/cli/commands/pgUp.ts +217 -0
  27. package/src/cli/commands/push.ts +637 -0
  28. package/src/cli/commands/singlestoreIntrospect.ts +53 -0
  29. package/src/cli/commands/singlestorePushUtils.ts +456 -0
  30. package/src/cli/commands/singlestoreUp.ts +1 -0
  31. package/src/cli/commands/sqliteIntrospect.ts +96 -0
  32. package/src/cli/commands/sqlitePushUtils.ts +322 -0
  33. package/src/cli/commands/sqliteUp.ts +52 -0
  34. package/src/cli/commands/utils.ts +858 -0
  35. package/src/cli/connections.ts +914 -0
  36. package/src/cli/index.ts +48 -0
  37. package/src/cli/schema.ts +794 -0
  38. package/src/cli/selector-ui.ts +38 -0
  39. package/src/cli/utils.ts +112 -0
  40. package/src/cli/validations/cli.ts +79 -0
  41. package/src/cli/validations/common.ts +193 -0
  42. package/src/cli/validations/libsql.ts +27 -0
  43. package/src/cli/validations/mysql.ts +61 -0
  44. package/src/cli/validations/outputs.ts +91 -0
  45. package/src/cli/validations/postgres.ts +83 -0
  46. package/src/cli/validations/singlestore.ts +61 -0
  47. package/src/cli/validations/sqlite.ts +104 -0
  48. package/src/cli/validations/studio.ts +24 -0
  49. package/src/cli/views.ts +658 -0
  50. package/src/extensions/getTablesFilterByExtensions.ts +16 -0
  51. package/src/extensions/vector.ts +10 -0
  52. package/src/global.ts +61 -0
  53. package/src/index.ts +326 -0
  54. package/src/introspect-mysql.ts +1030 -0
  55. package/src/introspect-pg.ts +1435 -0
  56. package/src/introspect-singlestore.ts +913 -0
  57. package/src/introspect-sqlite.ts +533 -0
  58. package/src/jsonDiffer.js +882 -0
  59. package/src/jsonStatements.ts +3590 -0
  60. package/src/loader.mjs +57 -0
  61. package/src/migrationPreparator.ts +217 -0
  62. package/src/schemaValidator.ts +23 -0
  63. package/src/serializer/index.ts +142 -0
  64. package/src/serializer/mysqlImports.ts +38 -0
  65. package/src/serializer/mysqlSchema.ts +423 -0
  66. package/src/serializer/mysqlSerializer.ts +999 -0
  67. package/src/serializer/pgImports.ts +106 -0
  68. package/src/serializer/pgSchema.ts +937 -0
  69. package/src/serializer/pgSerializer.ts +2223 -0
  70. package/src/serializer/singlestoreImports.ts +38 -0
  71. package/src/serializer/singlestoreSchema.ts +257 -0
  72. package/src/serializer/singlestoreSerializer.ts +767 -0
  73. package/src/serializer/sqliteImports.ts +41 -0
  74. package/src/serializer/sqliteSchema.ts +352 -0
  75. package/src/serializer/sqliteSerializer.ts +931 -0
  76. package/src/serializer/studio.ts +694 -0
  77. package/src/serializer/utils.ts +45 -0
  78. package/src/simulator.ts +157 -0
  79. package/src/snapshotsDiffer.ts +4398 -0
  80. package/src/sqlgenerator.ts +4212 -0
  81. package/src/statementCombiner.ts +597 -0
  82. package/src/utils/certs.ts +44 -0
  83. package/src/utils/words.ts +1333 -0
  84. package/src/utils.ts +370 -0
  85. package/tests/bin.test.ts +58 -0
  86. package/tests/cli/d1http.config.ts +12 -0
  87. package/tests/cli/drizzle.config.ts +9 -0
  88. package/tests/cli/durable-sqlite.config.ts +7 -0
  89. package/tests/cli/expo.config.ts +7 -0
  90. package/tests/cli/postgres.config.ts +13 -0
  91. package/tests/cli/postgres2.config.ts +17 -0
  92. package/tests/cli/schema.ts +1 -0
  93. package/tests/cli/turso.config.ts +10 -0
  94. package/tests/cli-export.test.ts +79 -0
  95. package/tests/cli-generate.test.ts +259 -0
  96. package/tests/cli-migrate.test.ts +103 -0
  97. package/tests/cli-push.test.ts +126 -0
  98. package/tests/common.ts +15 -0
  99. package/tests/indexes/common.ts +21 -0
  100. package/tests/indexes/pg.test.ts +245 -0
  101. package/tests/introspect/libsql.test.ts +35 -0
  102. package/tests/introspect/mysql.test.ts +319 -0
  103. package/tests/introspect/pg.test.ts +894 -0
  104. package/tests/introspect/singlestore.test.ts +275 -0
  105. package/tests/introspect/sqlite.test.ts +122 -0
  106. package/tests/libsql-checks.test.ts +308 -0
  107. package/tests/libsql-statements.test.ts +989 -0
  108. package/tests/libsql-views.test.ts +218 -0
  109. package/tests/migrate/libsq-schema.ts +6 -0
  110. package/tests/migrate/libsql-migrate.test.ts +58 -0
  111. package/tests/migrate/migrations/0000_little_blizzard.sql +4 -0
  112. package/tests/migrate/migrations/0001_nebulous_storm.sql +10 -0
  113. package/tests/migrate/migrations/meta/0000_snapshot.json +40 -0
  114. package/tests/migrate/migrations/meta/0001_snapshot.json +40 -0
  115. package/tests/migrate/migrations/meta/_journal.json +20 -0
  116. package/tests/mysql-checks.test.ts +291 -0
  117. package/tests/mysql-generated.test.ts +1290 -0
  118. package/tests/mysql-schemas.test.ts +156 -0
  119. package/tests/mysql-views.test.ts +553 -0
  120. package/tests/mysql.test.ts +863 -0
  121. package/tests/pg-array.test.ts +368 -0
  122. package/tests/pg-checks.test.ts +329 -0
  123. package/tests/pg-columns.test.ts +484 -0
  124. package/tests/pg-domains.test.ts +306 -0
  125. package/tests/pg-enums.test.ts +751 -0
  126. package/tests/pg-generated.test.ts +529 -0
  127. package/tests/pg-identity.test.ts +447 -0
  128. package/tests/pg-schemas.test.ts +105 -0
  129. package/tests/pg-sequences.test.ts +298 -0
  130. package/tests/pg-tables.test.ts +1021 -0
  131. package/tests/pg-views.test.ts +1929 -0
  132. package/tests/push/common.ts +58 -0
  133. package/tests/push/libsql.test.ts +1400 -0
  134. package/tests/push/mysql-push.test.ts +345 -0
  135. package/tests/push/mysql.test.ts +788 -0
  136. package/tests/push/pg.test.ts +4341 -0
  137. package/tests/push/singlestore-push.test.ts +894 -0
  138. package/tests/push/singlestore.test.ts +444 -0
  139. package/tests/push/sqlite.test.ts +1613 -0
  140. package/tests/rls/pg-policy.test.ts +1656 -0
  141. package/tests/rls/pg-role.test.ts +234 -0
  142. package/tests/schemaDiffer.ts +2852 -0
  143. package/tests/singlestore-generated.test.ts +1290 -0
  144. package/tests/singlestore-schemas.test.ts +155 -0
  145. package/tests/singlestore.test.ts +978 -0
  146. package/tests/sqlite-checks.test.ts +308 -0
  147. package/tests/sqlite-columns.test.ts +1049 -0
  148. package/tests/sqlite-generated.test.ts +1726 -0
  149. package/tests/sqlite-tables.test.ts +637 -0
  150. package/tests/sqlite-views.test.ts +218 -0
  151. package/tests/statements-combiner/libsql-statements-combiner.test.ts +1812 -0
  152. package/tests/statements-combiner/singlestore-statements-combiner.test.ts +882 -0
  153. package/tests/statements-combiner/sqlite-statements-combiner.test.ts +1211 -0
  154. package/tests/test/sqlite.test.ts +39 -0
  155. package/tests/testsinglestore.ts +29 -0
  156. package/tests/validations.test.ts +869 -0
  157. package/tests/wrap-param.test.ts +16 -0
  158. package/tsconfig.build.json +4 -0
  159. package/tsconfig.cli-types.json +9 -0
  160. package/tsconfig.json +28 -0
  161. package/vitest.config.ts +34 -0
@@ -0,0 +1,753 @@
1
+ import { makeRecipe } from 'ohm-js';
2
+ const result = makeRecipe([
3
+ 'grammar',
4
+ {
5
+ source:
6
+ 'JSImports {\n JSImports = (Expr ";"?)*\n\n Expr = \n | comment\n | stringLiteral\n | ImportExpr\n | Rest\n\n ImportExpr =\n | "import" ImportInner "from" importSource -- From\n | "import" importSource -- NoFrom\n\n Rest = (~(ImportExpr | comment | stringLiteral) any)+\n\n ImportInner = \n | ("type" "{" NonemptyListOf<ImportExtendedSelectionTypeless, ","> ","? "}") -- Type\n | ("{" NonemptyListOf<ImportExtendedSelectionTypes, ","> ","? "}") -- Types\n | ("{" NonemptyListOf<ImportExtendedSelection, ","> ","? "}") -- Extended\n | (identifier ("," "type"? "{" NonemptyListOf<ImportExtendedSelection, ","> ","? "}")?) -- Mixed\n | ("*" ("as" identifier)?) -- All\n | (identifier ("as" identifier)?) -- Default\n \n\n ImportExtendedSelection = TypeImport | Import\n ImportExtendedSelectionTypes = TypeImport\n ImportExtendedSelectionTypeless = Import\n\n Import = identifier ("as" identifier)?\n TypeImport = "type" Import ("as" identifier)?\n\n identifier = letter alnum*\n quote = "\\"" | "\'" | "`"\n notQuote = ~quote any\n importSource =\n | "\\"" notQuote+ "\\""\n | "\'" notQuote+ "\'"\n | "`" notQuote+ "`"\n\n lineTerminator = "\\n" | "\\r" | "\\u2028" | "\\u2029"\n lineTerminatorSequence = "\\n" | "\\r" ~"\\n" | "\\u2028" | "\\u2029" | "\\r\\n"\n \n comment = multiLineComment | singleLineComment\n\n multiLineComment = "/*" (~"*/" any)* "*/"\n singleLineComment = "//" (~lineTerminator any)*\n\n stringLiteral =\n | "\\"" doubleStringCharacter* "\\""\n | "\'" singleStringCharacter* "\'"\n | "`" templateStringCharacter* "`"\n doubleStringCharacter =\n | ~("\\"" | "\\\\" | lineTerminator) any -- NonEscaped\n | "\\\\" escapeSequence -- Escaped\n | lineContinuation -- LineContinuation\n singleStringCharacter =\n | ~("\'" | "\\\\" | lineTerminator) any -- NonEscaped\n | "\\\\" escapeSequence -- Escaped\n | lineContinuation -- LineContinuation\n templateStringCharacter = \n | ~ ("`" | "\\\\") any -- NonEscaped\n | "\\\\" escapeSequence -- Escaped\n lineContinuation = "\\\\" lineTerminatorSequence\n escapeSequence = unicodeEscapeSequence | hexEscapeSequence | octalEscapeSequence | characterEscapeSequence\n characterEscapeSequence = singleEscapeCharacter | nonEscapeCharacter\n singleEscapeCharacter = "\'" | "\\"" | "\\\\" | "b" | "f" | "n" | "r" | "t" | "v"\n nonEscapeCharacter = ~(escapeCharacter | lineTerminator) any\n escapeCharacter = singleEscapeCharacter | decimalDigit | "x" | "u"\n octalEscapeSequence =\n | zeroToThree octalDigit octalDigit -- Whole\n | fourToSeven octalDigit -- EightTimesfourToSeven\n | zeroToThree octalDigit ~decimalDigit -- EightTimesZeroToThree\n | octalDigit ~decimalDigit -- Octal\n hexEscapeSequence = "x" hexDigit hexDigit\n unicodeEscapeSequence = "u" hexDigit hexDigit hexDigit hexDigit\n\n zeroToThree = "0".."3"\n fourToSeven = "4".."7"\n decimalDigit = "0".."9"\n nonZeroDigit = "1".."9"\n octalDigit = "0".."7"\n\n regularExpressionLiteral = "/" regularExpressionBody "/" regularExpressionFlags\n regularExpressionBody = regularExpressionFirstChar regularExpressionChar*\n regularExpressionFirstChar =\n | ~("*" | "\\\\" | "/" | "[") regularExpressionNonTerminator\n | regularExpressionBackslashSequence\n | regularExpressionClass\n regularExpressionChar = ~("\\\\" | "/" | "[") regularExpressionNonTerminator\n | regularExpressionBackslashSequence\n | regularExpressionClass\n regularExpressionBackslashSequence = "\\\\" regularExpressionNonTerminator\n regularExpressionNonTerminator = ~(lineTerminator) any\n regularExpressionClass = "[" regularExpressionClassChar* "]"\n regularExpressionClassChar =\n | ~("]" | "\\\\") regularExpressionNonTerminator\n | regularExpressionBackslashSequence\n regularExpressionFlags = identifierPart*\n\n multiLineCommentNoNL = "/*" (~("*/" | lineTerminator) any)* "*/"\n\n identifierStart =\n | letter | "$" | "_"\n | "\\\\" unicodeEscapeSequence -- escaped\n identifierPart =\n | identifierStart | unicodeCombiningMark\n | unicodeDigit | unicodeConnectorPunctuation\n | "\\u200C" | "\\u200D"\n letter += unicodeCategoryNl\n unicodeCategoryNl\n = "\\u2160".."\\u2182" | "\\u3007" | "\\u3021".."\\u3029"\n unicodeDigit (a digit)\n = "\\u0030".."\\u0039" | "\\u0660".."\\u0669" | "\\u06F0".."\\u06F9" | "\\u0966".."\\u096F" | "\\u09E6".."\\u09EF" | "\\u0A66".."\\u0A6F" | "\\u0AE6".."\\u0AEF" | "\\u0B66".."\\u0B6F" | "\\u0BE7".."\\u0BEF" | "\\u0C66".."\\u0C6F" | "\\u0CE6".."\\u0CEF" | "\\u0D66".."\\u0D6F" | "\\u0E50".."\\u0E59" | "\\u0ED0".."\\u0ED9" | "\\u0F20".."\\u0F29" | "\\uFF10".."\\uFF19"\n\n unicodeCombiningMark (a Unicode combining mark)\n = "\\u0300".."\\u0345" | "\\u0360".."\\u0361" | "\\u0483".."\\u0486" | "\\u0591".."\\u05A1" | "\\u05A3".."\\u05B9" | "\\u05BB".."\\u05BD" | "\\u05BF".."\\u05BF" | "\\u05C1".."\\u05C2" | "\\u05C4".."\\u05C4" | "\\u064B".."\\u0652" | "\\u0670".."\\u0670" | "\\u06D6".."\\u06DC" | "\\u06DF".."\\u06E4" | "\\u06E7".."\\u06E8" | "\\u06EA".."\\u06ED" | "\\u0901".."\\u0902" | "\\u093C".."\\u093C" | "\\u0941".."\\u0948" | "\\u094D".."\\u094D" | "\\u0951".."\\u0954" | "\\u0962".."\\u0963" | "\\u0981".."\\u0981" | "\\u09BC".."\\u09BC" | "\\u09C1".."\\u09C4" | "\\u09CD".."\\u09CD" | "\\u09E2".."\\u09E3" | "\\u0A02".."\\u0A02" | "\\u0A3C".."\\u0A3C" | "\\u0A41".."\\u0A42" | "\\u0A47".."\\u0A48" | "\\u0A4B".."\\u0A4D" | "\\u0A70".."\\u0A71" | "\\u0A81".."\\u0A82" | "\\u0ABC".."\\u0ABC" | "\\u0AC1".."\\u0AC5" | "\\u0AC7".."\\u0AC8" | "\\u0ACD".."\\u0ACD" | "\\u0B01".."\\u0B01" | "\\u0B3C".."\\u0B3C" | "\\u0B3F".."\\u0B3F" | "\\u0B41".."\\u0B43" | "\\u0B4D".."\\u0B4D" | "\\u0B56".."\\u0B56" | "\\u0B82".."\\u0B82" | "\\u0BC0".."\\u0BC0" | "\\u0BCD".."\\u0BCD" | "\\u0C3E".."\\u0C40" | "\\u0C46".."\\u0C48" | "\\u0C4A".."\\u0C4D" | "\\u0C55".."\\u0C56" | "\\u0CBF".."\\u0CBF" | "\\u0CC6".."\\u0CC6" | "\\u0CCC".."\\u0CCD" | "\\u0D41".."\\u0D43" | "\\u0D4D".."\\u0D4D" | "\\u0E31".."\\u0E31" | "\\u0E34".."\\u0E3A" | "\\u0E47".."\\u0E4E" | "\\u0EB1".."\\u0EB1" | "\\u0EB4".."\\u0EB9" | "\\u0EBB".."\\u0EBC" | "\\u0EC8".."\\u0ECD" | "\\u0F18".."\\u0F19" | "\\u0F35".."\\u0F35" | "\\u0F37".."\\u0F37" | "\\u0F39".."\\u0F39" | "\\u0F71".."\\u0F7E" | "\\u0F80".."\\u0F84" | "\\u0F86".."\\u0F87" | "\\u0F90".."\\u0F95" | "\\u0F97".."\\u0F97" | "\\u0F99".."\\u0FAD" | "\\u0FB1".."\\u0FB7" | "\\u0FB9".."\\u0FB9" | "\\u20D0".."\\u20DC" | "\\u20E1".."\\u20E1" | "\\u302A".."\\u302F" | "\\u3099".."\\u309A" | "\\uFB1E".."\\uFB1E" | "\\uFE20".."\\uFE23"\n\n unicodeConnectorPunctuation = "\\u005F" | "\\u203F".."\\u2040" | "\\u30FB" | "\\uFE33".."\\uFE34" | "\\uFE4D".."\\uFE4F" | "\\uFF3F" | "\\uFF65"\n unicodeSpaceSeparator = "\\u2000".."\\u200B" | "\\u3000"\n\n}',
7
+ },
8
+ 'JSImports',
9
+ null,
10
+ 'JSImports',
11
+ {
12
+ JSImports: ['define', { sourceInterval: [16, 40] }, null, [], ['star', { sourceInterval: [28, 40] }, [
13
+ 'seq',
14
+ { sourceInterval: [29, 38] },
15
+ ['app', { sourceInterval: [29, 33] }, 'Expr', []],
16
+ ['opt', { sourceInterval: [34, 38] }, ['terminal', { sourceInterval: [34, 37] }, ';']],
17
+ ]]],
18
+ Expr: ['define', { sourceInterval: [46, 115] }, null, [], [
19
+ 'alt',
20
+ { sourceInterval: [58, 115] },
21
+ ['app', { sourceInterval: [60, 67] }, 'comment', []],
22
+ ['app', { sourceInterval: [74, 87] }, 'stringLiteral', []],
23
+ ['app', { sourceInterval: [94, 104] }, 'ImportExpr', []],
24
+ ['app', { sourceInterval: [111, 115] }, 'Rest', []],
25
+ ]],
26
+ ImportExpr_From: ['define', { sourceInterval: [140, 188] }, null, [], [
27
+ 'seq',
28
+ { sourceInterval: [140, 180] },
29
+ ['terminal', { sourceInterval: [140, 148] }, 'import'],
30
+ ['app', { sourceInterval: [149, 160] }, 'ImportInner', []],
31
+ ['terminal', { sourceInterval: [161, 167] }, 'from'],
32
+ ['app', { sourceInterval: [168, 180] }, 'importSource', []],
33
+ ]],
34
+ ImportExpr_NoFrom: ['define', { sourceInterval: [195, 226] }, null, [], ['seq', { sourceInterval: [195, 216] }, [
35
+ 'terminal',
36
+ { sourceInterval: [195, 203] },
37
+ 'import',
38
+ ], ['app', { sourceInterval: [204, 216] }, 'importSource', []]]],
39
+ ImportExpr: ['define', { sourceInterval: [121, 226] }, null, [], ['alt', { sourceInterval: [138, 226] }, [
40
+ 'app',
41
+ { sourceInterval: [140, 180] },
42
+ 'ImportExpr_From',
43
+ [],
44
+ ], ['app', { sourceInterval: [195, 216] }, 'ImportExpr_NoFrom', []]]],
45
+ Rest: ['define', { sourceInterval: [232, 285] }, null, [], ['plus', { sourceInterval: [239, 285] }, ['seq', {
46
+ sourceInterval: [240, 283],
47
+ }, ['not', { sourceInterval: [240, 279] }, [
48
+ 'alt',
49
+ { sourceInterval: [242, 278] },
50
+ ['app', { sourceInterval: [242, 252] }, 'ImportExpr', []],
51
+ ['app', { sourceInterval: [255, 262] }, 'comment', []],
52
+ ['app', { sourceInterval: [265, 278] }, 'stringLiteral', []],
53
+ ]], ['app', { sourceInterval: [280, 283] }, 'any', []]]]],
54
+ ImportInner_Type: ['define', { sourceInterval: [312, 405] }, null, [], [
55
+ 'seq',
56
+ { sourceInterval: [312, 386] },
57
+ ['terminal', { sourceInterval: [313, 319] }, 'type'],
58
+ ['terminal', { sourceInterval: [320, 323] }, '{'],
59
+ ['app', { sourceInterval: [324, 376] }, 'NonemptyListOf', [[
60
+ 'app',
61
+ { sourceInterval: [339, 370] },
62
+ 'ImportExtendedSelectionTypeless',
63
+ [],
64
+ ], ['terminal', { sourceInterval: [372, 375] }, ',']]],
65
+ ['opt', { sourceInterval: [377, 381] }, ['terminal', { sourceInterval: [377, 380] }, ',']],
66
+ ['terminal', { sourceInterval: [382, 385] }, '}'],
67
+ ]],
68
+ ImportInner_Types: ['define', { sourceInterval: [412, 506] }, null, [], ['seq', { sourceInterval: [412, 476] }, [
69
+ 'terminal',
70
+ { sourceInterval: [413, 416] },
71
+ '{',
72
+ ], ['app', { sourceInterval: [417, 466] }, 'NonemptyListOf', [[
73
+ 'app',
74
+ { sourceInterval: [432, 460] },
75
+ 'ImportExtendedSelectionTypes',
76
+ [],
77
+ ], ['terminal', { sourceInterval: [462, 465] }, ',']]], ['opt', { sourceInterval: [467, 471] }, ['terminal', {
78
+ sourceInterval: [467, 470],
79
+ }, ',']], ['terminal', { sourceInterval: [472, 475] }, '}']]],
80
+ ImportInner_Extended: ['define', { sourceInterval: [513, 610] }, null, [], ['seq', { sourceInterval: [513, 572] }, [
81
+ 'terminal',
82
+ { sourceInterval: [514, 517] },
83
+ '{',
84
+ ], ['app', { sourceInterval: [518, 562] }, 'NonemptyListOf', [[
85
+ 'app',
86
+ { sourceInterval: [533, 556] },
87
+ 'ImportExtendedSelection',
88
+ [],
89
+ ], ['terminal', { sourceInterval: [558, 561] }, ',']]], ['opt', { sourceInterval: [563, 567] }, ['terminal', {
90
+ sourceInterval: [563, 566],
91
+ }, ',']], ['terminal', { sourceInterval: [568, 571] }, '}']]],
92
+ ImportInner_Mixed: ['define', { sourceInterval: [617, 711] }, null, [], ['seq', { sourceInterval: [617, 702] }, [
93
+ 'app',
94
+ { sourceInterval: [618, 628] },
95
+ 'identifier',
96
+ [],
97
+ ], ['opt', { sourceInterval: [629, 701] }, [
98
+ 'seq',
99
+ { sourceInterval: [630, 699] },
100
+ ['terminal', { sourceInterval: [630, 633] }, ','],
101
+ ['opt', { sourceInterval: [634, 641] }, ['terminal', { sourceInterval: [634, 640] }, 'type']],
102
+ ['terminal', { sourceInterval: [642, 645] }, '{'],
103
+ ['app', { sourceInterval: [646, 690] }, 'NonemptyListOf', [[
104
+ 'app',
105
+ { sourceInterval: [661, 684] },
106
+ 'ImportExtendedSelection',
107
+ [],
108
+ ], ['terminal', { sourceInterval: [686, 689] }, ',']]],
109
+ ['opt', { sourceInterval: [691, 695] }, ['terminal', { sourceInterval: [691, 694] }, ',']],
110
+ ['terminal', { sourceInterval: [696, 699] }, '}'],
111
+ ]]]],
112
+ ImportInner_All: ['define', { sourceInterval: [718, 810] }, null, [], ['seq', { sourceInterval: [718, 742] }, [
113
+ 'terminal',
114
+ { sourceInterval: [719, 722] },
115
+ '*',
116
+ ], ['opt', { sourceInterval: [723, 741] }, ['seq', { sourceInterval: [724, 739] }, ['terminal', {
117
+ sourceInterval: [724, 728],
118
+ }, 'as'], ['app', { sourceInterval: [729, 739] }, 'identifier', []]]]]],
119
+ ImportInner_Default: ['define', { sourceInterval: [817, 913] }, null, [], ['seq', { sourceInterval: [817, 848] }, [
120
+ 'app',
121
+ { sourceInterval: [818, 828] },
122
+ 'identifier',
123
+ [],
124
+ ], ['opt', { sourceInterval: [829, 847] }, ['seq', { sourceInterval: [830, 845] }, ['terminal', {
125
+ sourceInterval: [830, 834],
126
+ }, 'as'], ['app', { sourceInterval: [835, 845] }, 'identifier', []]]]]],
127
+ ImportInner: ['define', { sourceInterval: [291, 913] }, null, [], [
128
+ 'alt',
129
+ { sourceInterval: [310, 913] },
130
+ ['app', { sourceInterval: [312, 386] }, 'ImportInner_Type', []],
131
+ ['app', { sourceInterval: [412, 476] }, 'ImportInner_Types', []],
132
+ ['app', { sourceInterval: [513, 572] }, 'ImportInner_Extended', []],
133
+ ['app', { sourceInterval: [617, 702] }, 'ImportInner_Mixed', []],
134
+ ['app', { sourceInterval: [718, 742] }, 'ImportInner_All', []],
135
+ ['app', { sourceInterval: [817, 848] }, 'ImportInner_Default', []],
136
+ ]],
137
+ ImportExtendedSelection: ['define', { sourceInterval: [924, 969] }, null, [], [
138
+ 'alt',
139
+ { sourceInterval: [950, 969] },
140
+ ['app', { sourceInterval: [950, 960] }, 'TypeImport', []],
141
+ ['app', { sourceInterval: [963, 969] }, 'Import', []],
142
+ ]],
143
+ ImportExtendedSelectionTypes: ['define', { sourceInterval: [974, 1015] }, null, [], [
144
+ 'app',
145
+ { sourceInterval: [1005, 1015] },
146
+ 'TypeImport',
147
+ [],
148
+ ]],
149
+ ImportExtendedSelectionTypeless: ['define', { sourceInterval: [1020, 1060] }, null, [], [
150
+ 'app',
151
+ { sourceInterval: [1054, 1060] },
152
+ 'Import',
153
+ [],
154
+ ]],
155
+ Import: ['define', { sourceInterval: [1066, 1104] }, null, [], ['seq', { sourceInterval: [1075, 1104] }, [
156
+ 'app',
157
+ { sourceInterval: [1075, 1085] },
158
+ 'identifier',
159
+ [],
160
+ ], ['opt', { sourceInterval: [1086, 1104] }, ['seq', { sourceInterval: [1087, 1102] }, ['terminal', {
161
+ sourceInterval: [1087, 1091],
162
+ }, 'as'], ['app', { sourceInterval: [1092, 1102] }, 'identifier', []]]]]],
163
+ TypeImport: ['define', { sourceInterval: [1109, 1154] }, null, [], [
164
+ 'seq',
165
+ { sourceInterval: [1122, 1154] },
166
+ ['terminal', { sourceInterval: [1122, 1128] }, 'type'],
167
+ ['app', { sourceInterval: [1129, 1135] }, 'Import', []],
168
+ ['opt', { sourceInterval: [1136, 1154] }, ['seq', { sourceInterval: [1137, 1152] }, ['terminal', {
169
+ sourceInterval: [1137, 1141],
170
+ }, 'as'], ['app', { sourceInterval: [1142, 1152] }, 'identifier', []]]],
171
+ ]],
172
+ identifier: ['define', { sourceInterval: [1160, 1186] }, null, [], ['seq', { sourceInterval: [1173, 1186] }, [
173
+ 'app',
174
+ { sourceInterval: [1173, 1179] },
175
+ 'letter',
176
+ [],
177
+ ], ['star', { sourceInterval: [1180, 1186] }, ['app', { sourceInterval: [1180, 1185] }, 'alnum', []]]]],
178
+ quote: ['define', { sourceInterval: [1191, 1215] }, null, [], [
179
+ 'alt',
180
+ { sourceInterval: [1199, 1215] },
181
+ ['terminal', { sourceInterval: [1199, 1203] }, '"'],
182
+ ['terminal', { sourceInterval: [1206, 1209] }, "'"],
183
+ ['terminal', { sourceInterval: [1212, 1215] }, '`'],
184
+ ]],
185
+ notQuote: ['define', { sourceInterval: [1220, 1241] }, null, [], ['seq', { sourceInterval: [1231, 1241] }, ['not', {
186
+ sourceInterval: [1231, 1237],
187
+ }, ['app', { sourceInterval: [1232, 1237] }, 'quote', []]], ['app', { sourceInterval: [1238, 1241] }, 'any', []]]],
188
+ importSource: ['define', { sourceInterval: [1246, 1334] }, null, [], [
189
+ 'alt',
190
+ { sourceInterval: [1265, 1334] },
191
+ ['seq', { sourceInterval: [1267, 1286] }, ['terminal', { sourceInterval: [1267, 1271] }, '"'], ['plus', {
192
+ sourceInterval: [1272, 1281],
193
+ }, ['app', { sourceInterval: [1272, 1280] }, 'notQuote', []]], [
194
+ 'terminal',
195
+ { sourceInterval: [1282, 1286] },
196
+ '"',
197
+ ]],
198
+ ['seq', { sourceInterval: [1293, 1310] }, ['terminal', { sourceInterval: [1293, 1296] }, "'"], ['plus', {
199
+ sourceInterval: [1297, 1306],
200
+ }, ['app', { sourceInterval: [1297, 1305] }, 'notQuote', []]], [
201
+ 'terminal',
202
+ { sourceInterval: [1307, 1310] },
203
+ "'",
204
+ ]],
205
+ ['seq', { sourceInterval: [1317, 1334] }, ['terminal', { sourceInterval: [1317, 1320] }, '`'], ['plus', {
206
+ sourceInterval: [1321, 1330],
207
+ }, ['app', { sourceInterval: [1321, 1329] }, 'notQuote', []]], [
208
+ 'terminal',
209
+ { sourceInterval: [1331, 1334] },
210
+ '`',
211
+ ]],
212
+ ]],
213
+ lineTerminator: ['define', { sourceInterval: [1340, 1390] }, null, [], [
214
+ 'alt',
215
+ { sourceInterval: [1357, 1390] },
216
+ ['terminal', { sourceInterval: [1357, 1361] }, '\n'],
217
+ ['terminal', { sourceInterval: [1364, 1368] }, '\r'],
218
+ ['terminal', { sourceInterval: [1371, 1379] }, '\u2028'],
219
+ ['terminal', { sourceInterval: [1382, 1390] }, '\u2029'],
220
+ ]],
221
+ lineTerminatorSequence: ['define', { sourceInterval: [1395, 1468] }, null, [], [
222
+ 'alt',
223
+ { sourceInterval: [1420, 1468] },
224
+ ['terminal', { sourceInterval: [1420, 1424] }, '\n'],
225
+ ['seq', { sourceInterval: [1427, 1437] }, ['terminal', { sourceInterval: [1427, 1431] }, '\r'], ['not', {
226
+ sourceInterval: [1432, 1437],
227
+ }, ['terminal', { sourceInterval: [1433, 1437] }, '\n']]],
228
+ ['terminal', { sourceInterval: [1440, 1448] }, '\u2028'],
229
+ ['terminal', { sourceInterval: [1451, 1459] }, '\u2029'],
230
+ ['terminal', { sourceInterval: [1462, 1468] }, '\r\n'],
231
+ ]],
232
+ comment: ['define', { sourceInterval: [1478, 1524] }, null, [], ['alt', { sourceInterval: [1488, 1524] }, [
233
+ 'app',
234
+ { sourceInterval: [1488, 1504] },
235
+ 'multiLineComment',
236
+ [],
237
+ ], ['app', { sourceInterval: [1507, 1524] }, 'singleLineComment', []]]],
238
+ multiLineComment: ['define', { sourceInterval: [1530, 1571] }, null, [], ['seq', { sourceInterval: [1549, 1571] }, [
239
+ 'terminal',
240
+ { sourceInterval: [1549, 1553] },
241
+ '/*',
242
+ ], ['star', { sourceInterval: [1554, 1566] }, ['seq', { sourceInterval: [1555, 1564] }, ['not', {
243
+ sourceInterval: [1555, 1560],
244
+ }, ['terminal', { sourceInterval: [1556, 1560] }, '*/']], ['app', { sourceInterval: [1561, 1564] }, 'any', []]]], [
245
+ 'terminal',
246
+ { sourceInterval: [1567, 1571] },
247
+ '*/',
248
+ ]]],
249
+ singleLineComment: ['define', { sourceInterval: [1576, 1623] }, null, [], [
250
+ 'seq',
251
+ { sourceInterval: [1596, 1623] },
252
+ ['terminal', { sourceInterval: [1596, 1600] }, '//'],
253
+ ['star', { sourceInterval: [1601, 1623] }, ['seq', { sourceInterval: [1602, 1621] }, ['not', {
254
+ sourceInterval: [1602, 1617],
255
+ }, ['app', { sourceInterval: [1603, 1617] }, 'lineTerminator', []]], [
256
+ 'app',
257
+ { sourceInterval: [1618, 1621] },
258
+ 'any',
259
+ [],
260
+ ]]],
261
+ ]],
262
+ stringLiteral: ['define', { sourceInterval: [1629, 1759] }, null, [], ['alt', { sourceInterval: [1649, 1759] }, [
263
+ 'seq',
264
+ { sourceInterval: [1651, 1683] },
265
+ ['terminal', { sourceInterval: [1651, 1655] }, '"'],
266
+ ['star', { sourceInterval: [1656, 1678] }, [
267
+ 'app',
268
+ { sourceInterval: [1656, 1677] },
269
+ 'doubleStringCharacter',
270
+ [],
271
+ ]],
272
+ ['terminal', { sourceInterval: [1679, 1683] }, '"'],
273
+ ], ['seq', { sourceInterval: [1690, 1720] }, ['terminal', { sourceInterval: [1690, 1693] }, "'"], ['star', {
274
+ sourceInterval: [1694, 1716],
275
+ }, ['app', { sourceInterval: [1694, 1715] }, 'singleStringCharacter', []]], ['terminal', {
276
+ sourceInterval: [1717, 1720],
277
+ }, "'"]], ['seq', { sourceInterval: [1727, 1759] }, ['terminal', { sourceInterval: [1727, 1730] }, '`'], ['star', {
278
+ sourceInterval: [1731, 1755],
279
+ }, ['app', { sourceInterval: [1731, 1754] }, 'templateStringCharacter', []]], ['terminal', {
280
+ sourceInterval: [1756, 1759],
281
+ }, '`']]]],
282
+ doubleStringCharacter_NonEscaped: ['define', { sourceInterval: [1794, 1845] }, null, [], ['seq', {
283
+ sourceInterval: [1794, 1829],
284
+ }, ['not', { sourceInterval: [1794, 1825] }, [
285
+ 'alt',
286
+ { sourceInterval: [1796, 1824] },
287
+ ['terminal', { sourceInterval: [1796, 1800] }, '"'],
288
+ ['terminal', { sourceInterval: [1803, 1807] }, '\\'],
289
+ ['app', { sourceInterval: [1810, 1824] }, 'lineTerminator', []],
290
+ ]], ['app', { sourceInterval: [1826, 1829] }, 'any', []]]],
291
+ doubleStringCharacter_Escaped: ['define', { sourceInterval: [1852, 1900] }, null, [], [
292
+ 'seq',
293
+ { sourceInterval: [1852, 1871] },
294
+ ['terminal', { sourceInterval: [1852, 1856] }, '\\'],
295
+ ['app', { sourceInterval: [1857, 1871] }, 'escapeSequence', []],
296
+ ]],
297
+ doubleStringCharacter_LineContinuation: ['define', { sourceInterval: [1907, 1964] }, null, [], [
298
+ 'app',
299
+ { sourceInterval: [1907, 1923] },
300
+ 'lineContinuation',
301
+ [],
302
+ ]],
303
+ doubleStringCharacter: ['define', { sourceInterval: [1764, 1964] }, null, [], [
304
+ 'alt',
305
+ { sourceInterval: [1792, 1964] },
306
+ ['app', { sourceInterval: [1794, 1829] }, 'doubleStringCharacter_NonEscaped', []],
307
+ ['app', { sourceInterval: [1852, 1871] }, 'doubleStringCharacter_Escaped', []],
308
+ ['app', { sourceInterval: [1907, 1923] }, 'doubleStringCharacter_LineContinuation', []],
309
+ ]],
310
+ singleStringCharacter_NonEscaped: ['define', { sourceInterval: [1999, 2050] }, null, [], ['seq', {
311
+ sourceInterval: [1999, 2033],
312
+ }, ['not', { sourceInterval: [1999, 2029] }, [
313
+ 'alt',
314
+ { sourceInterval: [2001, 2028] },
315
+ ['terminal', { sourceInterval: [2001, 2004] }, "'"],
316
+ ['terminal', { sourceInterval: [2007, 2011] }, '\\'],
317
+ ['app', { sourceInterval: [2014, 2028] }, 'lineTerminator', []],
318
+ ]], ['app', { sourceInterval: [2030, 2033] }, 'any', []]]],
319
+ singleStringCharacter_Escaped: ['define', { sourceInterval: [2057, 2105] }, null, [], [
320
+ 'seq',
321
+ { sourceInterval: [2057, 2076] },
322
+ ['terminal', { sourceInterval: [2057, 2061] }, '\\'],
323
+ ['app', { sourceInterval: [2062, 2076] }, 'escapeSequence', []],
324
+ ]],
325
+ singleStringCharacter_LineContinuation: ['define', { sourceInterval: [2112, 2169] }, null, [], [
326
+ 'app',
327
+ { sourceInterval: [2112, 2128] },
328
+ 'lineContinuation',
329
+ [],
330
+ ]],
331
+ singleStringCharacter: ['define', { sourceInterval: [1969, 2169] }, null, [], [
332
+ 'alt',
333
+ { sourceInterval: [1997, 2169] },
334
+ ['app', { sourceInterval: [1999, 2033] }, 'singleStringCharacter_NonEscaped', []],
335
+ ['app', { sourceInterval: [2057, 2076] }, 'singleStringCharacter_Escaped', []],
336
+ ['app', { sourceInterval: [2112, 2128] }, 'singleStringCharacter_LineContinuation', []],
337
+ ]],
338
+ templateStringCharacter_NonEscaped: ['define', { sourceInterval: [2207, 2258] }, null, [], ['seq', {
339
+ sourceInterval: [2207, 2225],
340
+ }, ['not', { sourceInterval: [2207, 2221] }, ['alt', { sourceInterval: [2210, 2220] }, ['terminal', {
341
+ sourceInterval: [2210, 2213],
342
+ }, '`'], ['terminal', { sourceInterval: [2216, 2220] }, '\\']]], [
343
+ 'app',
344
+ { sourceInterval: [2222, 2225] },
345
+ 'any',
346
+ [],
347
+ ]]],
348
+ templateStringCharacter_Escaped: ['define', { sourceInterval: [2265, 2318] }, null, [], [
349
+ 'seq',
350
+ { sourceInterval: [2265, 2284] },
351
+ ['terminal', { sourceInterval: [2265, 2269] }, '\\'],
352
+ ['app', { sourceInterval: [2270, 2284] }, 'escapeSequence', []],
353
+ ]],
354
+ templateStringCharacter: ['define', { sourceInterval: [2174, 2318] }, null, [], [
355
+ 'alt',
356
+ { sourceInterval: [2205, 2318] },
357
+ ['app', { sourceInterval: [2207, 2225] }, 'templateStringCharacter_NonEscaped', []],
358
+ ['app', { sourceInterval: [2265, 2284] }, 'templateStringCharacter_Escaped', []],
359
+ ]],
360
+ lineContinuation: ['define', { sourceInterval: [2323, 2369] }, null, [], ['seq', { sourceInterval: [2342, 2369] }, [
361
+ 'terminal',
362
+ { sourceInterval: [2342, 2346] },
363
+ '\\',
364
+ ], ['app', { sourceInterval: [2347, 2369] }, 'lineTerminatorSequence', []]]],
365
+ escapeSequence: ['define', { sourceInterval: [2374, 2480] }, null, [], [
366
+ 'alt',
367
+ { sourceInterval: [2391, 2480] },
368
+ ['app', { sourceInterval: [2391, 2412] }, 'unicodeEscapeSequence', []],
369
+ ['app', { sourceInterval: [2415, 2432] }, 'hexEscapeSequence', []],
370
+ ['app', { sourceInterval: [2435, 2454] }, 'octalEscapeSequence', []],
371
+ ['app', { sourceInterval: [2457, 2480] }, 'characterEscapeSequence', []],
372
+ ]],
373
+ characterEscapeSequence: ['define', { sourceInterval: [2485, 2553] }, null, [], [
374
+ 'alt',
375
+ { sourceInterval: [2511, 2553] },
376
+ ['app', { sourceInterval: [2511, 2532] }, 'singleEscapeCharacter', []],
377
+ ['app', { sourceInterval: [2535, 2553] }, 'nonEscapeCharacter', []],
378
+ ]],
379
+ singleEscapeCharacter: ['define', { sourceInterval: [2558, 2635] }, null, [], [
380
+ 'alt',
381
+ { sourceInterval: [2582, 2635] },
382
+ ['terminal', { sourceInterval: [2582, 2585] }, "'"],
383
+ ['terminal', { sourceInterval: [2588, 2592] }, '"'],
384
+ ['terminal', { sourceInterval: [2595, 2599] }, '\\'],
385
+ ['terminal', { sourceInterval: [2602, 2605] }, 'b'],
386
+ ['terminal', { sourceInterval: [2608, 2611] }, 'f'],
387
+ ['terminal', { sourceInterval: [2614, 2617] }, 'n'],
388
+ ['terminal', { sourceInterval: [2620, 2623] }, 'r'],
389
+ ['terminal', { sourceInterval: [2626, 2629] }, 't'],
390
+ ['terminal', { sourceInterval: [2632, 2635] }, 'v'],
391
+ ]],
392
+ nonEscapeCharacter: ['define', { sourceInterval: [2640, 2700] }, null, [], [
393
+ 'seq',
394
+ { sourceInterval: [2661, 2700] },
395
+ ['not', { sourceInterval: [2661, 2696] }, ['alt', { sourceInterval: [2663, 2695] }, [
396
+ 'app',
397
+ { sourceInterval: [2663, 2678] },
398
+ 'escapeCharacter',
399
+ [],
400
+ ], ['app', { sourceInterval: [2681, 2695] }, 'lineTerminator', []]]],
401
+ ['app', { sourceInterval: [2697, 2700] }, 'any', []],
402
+ ]],
403
+ escapeCharacter: ['define', { sourceInterval: [2705, 2771] }, null, [], [
404
+ 'alt',
405
+ { sourceInterval: [2723, 2771] },
406
+ ['app', { sourceInterval: [2723, 2744] }, 'singleEscapeCharacter', []],
407
+ ['app', { sourceInterval: [2747, 2759] }, 'decimalDigit', []],
408
+ ['terminal', { sourceInterval: [2762, 2765] }, 'x'],
409
+ ['terminal', { sourceInterval: [2768, 2771] }, 'u'],
410
+ ]],
411
+ octalEscapeSequence_Whole: ['define', { sourceInterval: [2804, 2850] }, null, [], [
412
+ 'seq',
413
+ { sourceInterval: [2804, 2837] },
414
+ ['app', { sourceInterval: [2804, 2815] }, 'zeroToThree', []],
415
+ ['app', { sourceInterval: [2816, 2826] }, 'octalDigit', []],
416
+ ['app', { sourceInterval: [2827, 2837] }, 'octalDigit', []],
417
+ ]],
418
+ octalEscapeSequence_EightTimesfourToSeven: ['define', { sourceInterval: [2857, 2919] }, null, [], [
419
+ 'seq',
420
+ { sourceInterval: [2857, 2879] },
421
+ ['app', { sourceInterval: [2857, 2868] }, 'fourToSeven', []],
422
+ ['app', { sourceInterval: [2869, 2879] }, 'octalDigit', []],
423
+ ]],
424
+ octalEscapeSequence_EightTimesZeroToThree: ['define', { sourceInterval: [2926, 2988] }, null, [], [
425
+ 'seq',
426
+ { sourceInterval: [2926, 2962] },
427
+ ['app', { sourceInterval: [2926, 2937] }, 'zeroToThree', []],
428
+ ['app', { sourceInterval: [2938, 2948] }, 'octalDigit', []],
429
+ ['not', { sourceInterval: [2949, 2962] }, ['app', { sourceInterval: [2950, 2962] }, 'decimalDigit', []]],
430
+ ]],
431
+ octalEscapeSequence_Octal: ['define', { sourceInterval: [2995, 3041] }, null, [], [
432
+ 'seq',
433
+ { sourceInterval: [2995, 3019] },
434
+ ['app', { sourceInterval: [2995, 3005] }, 'octalDigit', []],
435
+ ['not', { sourceInterval: [3006, 3019] }, ['app', { sourceInterval: [3007, 3019] }, 'decimalDigit', []]],
436
+ ]],
437
+ octalEscapeSequence: ['define', { sourceInterval: [2776, 3041] }, null, [], [
438
+ 'alt',
439
+ { sourceInterval: [2802, 3041] },
440
+ ['app', { sourceInterval: [2804, 2837] }, 'octalEscapeSequence_Whole', []],
441
+ ['app', { sourceInterval: [2857, 2879] }, 'octalEscapeSequence_EightTimesfourToSeven', []],
442
+ ['app', { sourceInterval: [2926, 2962] }, 'octalEscapeSequence_EightTimesZeroToThree', []],
443
+ ['app', { sourceInterval: [2995, 3019] }, 'octalEscapeSequence_Octal', []],
444
+ ]],
445
+ hexEscapeSequence: ['define', { sourceInterval: [3046, 3087] }, null, [], [
446
+ 'seq',
447
+ { sourceInterval: [3066, 3087] },
448
+ ['terminal', { sourceInterval: [3066, 3069] }, 'x'],
449
+ ['app', { sourceInterval: [3070, 3078] }, 'hexDigit', []],
450
+ ['app', { sourceInterval: [3079, 3087] }, 'hexDigit', []],
451
+ ]],
452
+ unicodeEscapeSequence: ['define', { sourceInterval: [3092, 3155] }, null, [], [
453
+ 'seq',
454
+ { sourceInterval: [3116, 3155] },
455
+ ['terminal', { sourceInterval: [3116, 3119] }, 'u'],
456
+ ['app', { sourceInterval: [3120, 3128] }, 'hexDigit', []],
457
+ ['app', { sourceInterval: [3129, 3137] }, 'hexDigit', []],
458
+ ['app', { sourceInterval: [3138, 3146] }, 'hexDigit', []],
459
+ ['app', { sourceInterval: [3147, 3155] }, 'hexDigit', []],
460
+ ]],
461
+ zeroToThree: ['define', { sourceInterval: [3161, 3183] }, null, [], [
462
+ 'range',
463
+ { sourceInterval: [3175, 3183] },
464
+ '0',
465
+ '3',
466
+ ]],
467
+ fourToSeven: ['define', { sourceInterval: [3188, 3210] }, null, [], [
468
+ 'range',
469
+ { sourceInterval: [3202, 3210] },
470
+ '4',
471
+ '7',
472
+ ]],
473
+ decimalDigit: ['define', { sourceInterval: [3215, 3238] }, null, [], [
474
+ 'range',
475
+ { sourceInterval: [3230, 3238] },
476
+ '0',
477
+ '9',
478
+ ]],
479
+ nonZeroDigit: ['define', { sourceInterval: [3243, 3266] }, null, [], [
480
+ 'range',
481
+ { sourceInterval: [3258, 3266] },
482
+ '1',
483
+ '9',
484
+ ]],
485
+ octalDigit: ['define', { sourceInterval: [3271, 3292] }, null, [], [
486
+ 'range',
487
+ { sourceInterval: [3284, 3292] },
488
+ '0',
489
+ '7',
490
+ ]],
491
+ regularExpressionLiteral: ['define', { sourceInterval: [3298, 3377] }, null, [], [
492
+ 'seq',
493
+ { sourceInterval: [3325, 3377] },
494
+ ['terminal', { sourceInterval: [3325, 3328] }, '/'],
495
+ ['app', { sourceInterval: [3329, 3350] }, 'regularExpressionBody', []],
496
+ ['terminal', { sourceInterval: [3351, 3354] }, '/'],
497
+ ['app', { sourceInterval: [3355, 3377] }, 'regularExpressionFlags', []],
498
+ ]],
499
+ regularExpressionBody: ['define', { sourceInterval: [3382, 3455] }, null, [], [
500
+ 'seq',
501
+ { sourceInterval: [3406, 3455] },
502
+ ['app', { sourceInterval: [3406, 3432] }, 'regularExpressionFirstChar', []],
503
+ ['star', { sourceInterval: [3433, 3455] }, [
504
+ 'app',
505
+ { sourceInterval: [3433, 3454] },
506
+ 'regularExpressionChar',
507
+ [],
508
+ ]],
509
+ ]],
510
+ regularExpressionFirstChar: ['define', { sourceInterval: [3460, 3621] }, null, [], ['alt', {
511
+ sourceInterval: [3493, 3621],
512
+ }, ['seq', { sourceInterval: [3495, 3551] }, ['not', { sourceInterval: [3495, 3520] }, [
513
+ 'alt',
514
+ { sourceInterval: [3497, 3519] },
515
+ ['terminal', { sourceInterval: [3497, 3500] }, '*'],
516
+ ['terminal', { sourceInterval: [3503, 3507] }, '\\'],
517
+ ['terminal', { sourceInterval: [3510, 3513] }, '/'],
518
+ ['terminal', { sourceInterval: [3516, 3519] }, '['],
519
+ ]], ['app', { sourceInterval: [3521, 3551] }, 'regularExpressionNonTerminator', []]], [
520
+ 'app',
521
+ { sourceInterval: [3558, 3592] },
522
+ 'regularExpressionBackslashSequence',
523
+ [],
524
+ ], ['app', { sourceInterval: [3599, 3621] }, 'regularExpressionClass', []]]],
525
+ regularExpressionChar: ['define', { sourceInterval: [3626, 3770] }, null, [], ['alt', {
526
+ sourceInterval: [3650, 3770],
527
+ }, ['seq', { sourceInterval: [3650, 3700] }, ['not', { sourceInterval: [3650, 3669] }, [
528
+ 'alt',
529
+ { sourceInterval: [3652, 3668] },
530
+ ['terminal', { sourceInterval: [3652, 3656] }, '\\'],
531
+ ['terminal', { sourceInterval: [3659, 3662] }, '/'],
532
+ ['terminal', { sourceInterval: [3665, 3668] }, '['],
533
+ ]], ['app', { sourceInterval: [3670, 3700] }, 'regularExpressionNonTerminator', []]], [
534
+ 'app',
535
+ { sourceInterval: [3707, 3741] },
536
+ 'regularExpressionBackslashSequence',
537
+ [],
538
+ ], ['app', { sourceInterval: [3748, 3770] }, 'regularExpressionClass', []]]],
539
+ regularExpressionBackslashSequence: ['define', { sourceInterval: [3775, 3847] }, null, [], [
540
+ 'seq',
541
+ { sourceInterval: [3812, 3847] },
542
+ ['terminal', { sourceInterval: [3812, 3816] }, '\\'],
543
+ ['app', { sourceInterval: [3817, 3847] }, 'regularExpressionNonTerminator', []],
544
+ ]],
545
+ regularExpressionNonTerminator: ['define', { sourceInterval: [3852, 3906] }, null, [], [
546
+ 'seq',
547
+ { sourceInterval: [3885, 3906] },
548
+ ['not', { sourceInterval: [3885, 3902] }, ['app', { sourceInterval: [3887, 3901] }, 'lineTerminator', []]],
549
+ ['app', { sourceInterval: [3903, 3906] }, 'any', []],
550
+ ]],
551
+ regularExpressionClass: ['define', { sourceInterval: [3911, 3971] }, null, [], [
552
+ 'seq',
553
+ { sourceInterval: [3936, 3971] },
554
+ ['terminal', { sourceInterval: [3936, 3939] }, '['],
555
+ ['star', { sourceInterval: [3940, 3967] }, [
556
+ 'app',
557
+ { sourceInterval: [3940, 3966] },
558
+ 'regularExpressionClassChar',
559
+ [],
560
+ ]],
561
+ ['terminal', { sourceInterval: [3968, 3971] }, ']'],
562
+ ]],
563
+ regularExpressionClassChar: ['define', { sourceInterval: [3976, 4096] }, null, [], ['alt', {
564
+ sourceInterval: [4009, 4096],
565
+ }, ['seq', { sourceInterval: [4011, 4055] }, ['not', { sourceInterval: [4011, 4024] }, [
566
+ 'alt',
567
+ { sourceInterval: [4013, 4023] },
568
+ ['terminal', { sourceInterval: [4013, 4016] }, ']'],
569
+ ['terminal', { sourceInterval: [4019, 4023] }, '\\'],
570
+ ]], ['app', { sourceInterval: [4025, 4055] }, 'regularExpressionNonTerminator', []]], [
571
+ 'app',
572
+ { sourceInterval: [4062, 4096] },
573
+ 'regularExpressionBackslashSequence',
574
+ [],
575
+ ]]],
576
+ regularExpressionFlags: ['define', { sourceInterval: [4101, 4141] }, null, [], ['star', {
577
+ sourceInterval: [4126, 4141],
578
+ }, ['app', { sourceInterval: [4126, 4140] }, 'identifierPart', []]]],
579
+ multiLineCommentNoNL: ['define', { sourceInterval: [4147, 4211] }, null, [], [
580
+ 'seq',
581
+ { sourceInterval: [4170, 4211] },
582
+ ['terminal', { sourceInterval: [4170, 4174] }, '/*'],
583
+ ['star', { sourceInterval: [4175, 4206] }, ['seq', { sourceInterval: [4176, 4204] }, ['not', {
584
+ sourceInterval: [4176, 4200],
585
+ }, ['alt', { sourceInterval: [4178, 4199] }, ['terminal', { sourceInterval: [4178, 4182] }, '*/'], [
586
+ 'app',
587
+ { sourceInterval: [4185, 4199] },
588
+ 'lineTerminator',
589
+ [],
590
+ ]]], ['app', { sourceInterval: [4201, 4204] }, 'any', []]]],
591
+ ['terminal', { sourceInterval: [4207, 4211] }, '*/'],
592
+ ]],
593
+ identifierStart_escaped: ['define', { sourceInterval: [4266, 4303] }, null, [], [
594
+ 'seq',
595
+ { sourceInterval: [4266, 4292] },
596
+ ['terminal', { sourceInterval: [4266, 4270] }, '\\'],
597
+ ['app', { sourceInterval: [4271, 4292] }, 'unicodeEscapeSequence', []],
598
+ ]],
599
+ identifierStart: ['define', { sourceInterval: [4217, 4303] }, null, [], [
600
+ 'alt',
601
+ { sourceInterval: [4239, 4303] },
602
+ ['app', { sourceInterval: [4241, 4247] }, 'letter', []],
603
+ ['terminal', { sourceInterval: [4250, 4253] }, '$'],
604
+ ['terminal', { sourceInterval: [4256, 4259] }, '_'],
605
+ ['app', { sourceInterval: [4266, 4292] }, 'identifierStart_escaped', []],
606
+ ]],
607
+ identifierPart: ['define', { sourceInterval: [4308, 4444] }, null, [], [
608
+ 'alt',
609
+ { sourceInterval: [4329, 4444] },
610
+ ['app', { sourceInterval: [4331, 4346] }, 'identifierStart', []],
611
+ ['app', { sourceInterval: [4349, 4369] }, 'unicodeCombiningMark', []],
612
+ ['app', { sourceInterval: [4376, 4388] }, 'unicodeDigit', []],
613
+ ['app', { sourceInterval: [4391, 4418] }, 'unicodeConnectorPunctuation', []],
614
+ ['terminal', { sourceInterval: [4425, 4433] }, '‌'],
615
+ ['terminal', { sourceInterval: [4436, 4444] }, '‍'],
616
+ ]],
617
+ letter: ['extend', { sourceInterval: [4449, 4476] }, null, [], [
618
+ 'app',
619
+ { sourceInterval: [4459, 4476] },
620
+ 'unicodeCategoryNl',
621
+ [],
622
+ ]],
623
+ unicodeCategoryNl: ['define', { sourceInterval: [4481, 4555] }, null, [], [
624
+ 'alt',
625
+ { sourceInterval: [4505, 4555] },
626
+ ['range', { sourceInterval: [4505, 4523] }, 'Ⅰ', 'ↂ'],
627
+ ['terminal', { sourceInterval: [4526, 4534] }, '〇'],
628
+ ['range', { sourceInterval: [4537, 4555] }, '〡', '〩'],
629
+ ]],
630
+ unicodeDigit: ['define', { sourceInterval: [4560, 4922] }, 'a digit', [], [
631
+ 'alt',
632
+ { sourceInterval: [4589, 4922] },
633
+ ['range', { sourceInterval: [4589, 4607] }, '0', '9'],
634
+ ['range', { sourceInterval: [4610, 4628] }, '٠', '٩'],
635
+ ['range', { sourceInterval: [4631, 4649] }, '۰', '۹'],
636
+ ['range', { sourceInterval: [4652, 4670] }, '०', '९'],
637
+ ['range', { sourceInterval: [4673, 4691] }, '০', '৯'],
638
+ ['range', { sourceInterval: [4694, 4712] }, '੦', '੯'],
639
+ ['range', { sourceInterval: [4715, 4733] }, '૦', '૯'],
640
+ ['range', { sourceInterval: [4736, 4754] }, '୦', '୯'],
641
+ ['range', { sourceInterval: [4757, 4775] }, '௧', '௯'],
642
+ ['range', { sourceInterval: [4778, 4796] }, '౦', '౯'],
643
+ ['range', { sourceInterval: [4799, 4817] }, '೦', '೯'],
644
+ ['range', { sourceInterval: [4820, 4838] }, '൦', '൯'],
645
+ ['range', { sourceInterval: [4841, 4859] }, '๐', '๙'],
646
+ ['range', { sourceInterval: [4862, 4880] }, '໐', '໙'],
647
+ ['range', { sourceInterval: [4883, 4901] }, '༠', '༩'],
648
+ ['range', { sourceInterval: [4904, 4922] }, '0', '9'],
649
+ ]],
650
+ unicodeCombiningMark: ['define', { sourceInterval: [4928, 6659] }, 'a Unicode combining mark', [], [
651
+ 'alt',
652
+ { sourceInterval: [4982, 6659] },
653
+ ['range', { sourceInterval: [4982, 5000] }, '̀', 'ͅ'],
654
+ ['range', { sourceInterval: [5003, 5021] }, '͠', '͡'],
655
+ ['range', { sourceInterval: [5024, 5042] }, '҃', '҆'],
656
+ ['range', { sourceInterval: [5045, 5063] }, '֑', '֡'],
657
+ ['range', { sourceInterval: [5066, 5084] }, '֣', 'ֹ'],
658
+ ['range', { sourceInterval: [5087, 5105] }, 'ֻ', 'ֽ'],
659
+ ['range', { sourceInterval: [5108, 5126] }, 'ֿ', 'ֿ'],
660
+ ['range', { sourceInterval: [5129, 5147] }, 'ׁ', 'ׂ'],
661
+ ['range', { sourceInterval: [5150, 5168] }, 'ׄ', 'ׄ'],
662
+ ['range', { sourceInterval: [5171, 5189] }, 'ً', 'ْ'],
663
+ ['range', { sourceInterval: [5192, 5210] }, 'ٰ', 'ٰ'],
664
+ ['range', { sourceInterval: [5213, 5231] }, 'ۖ', 'ۜ'],
665
+ ['range', { sourceInterval: [5234, 5252] }, '۟', 'ۤ'],
666
+ ['range', { sourceInterval: [5255, 5273] }, 'ۧ', 'ۨ'],
667
+ ['range', { sourceInterval: [5276, 5294] }, '۪', 'ۭ'],
668
+ ['range', { sourceInterval: [5297, 5315] }, 'ँ', 'ं'],
669
+ ['range', { sourceInterval: [5318, 5336] }, '़', '़'],
670
+ ['range', { sourceInterval: [5339, 5357] }, 'ु', 'ै'],
671
+ ['range', { sourceInterval: [5360, 5378] }, '्', '्'],
672
+ ['range', { sourceInterval: [5381, 5399] }, '॑', '॔'],
673
+ ['range', { sourceInterval: [5402, 5420] }, 'ॢ', 'ॣ'],
674
+ ['range', { sourceInterval: [5423, 5441] }, 'ঁ', 'ঁ'],
675
+ ['range', { sourceInterval: [5444, 5462] }, '়', '়'],
676
+ ['range', { sourceInterval: [5465, 5483] }, 'ু', 'ৄ'],
677
+ ['range', { sourceInterval: [5486, 5504] }, '্', '্'],
678
+ ['range', { sourceInterval: [5507, 5525] }, 'ৢ', 'ৣ'],
679
+ ['range', { sourceInterval: [5528, 5546] }, 'ਂ', 'ਂ'],
680
+ ['range', { sourceInterval: [5549, 5567] }, '਼', '਼'],
681
+ ['range', { sourceInterval: [5570, 5588] }, 'ੁ', 'ੂ'],
682
+ ['range', { sourceInterval: [5591, 5609] }, 'ੇ', 'ੈ'],
683
+ ['range', { sourceInterval: [5612, 5630] }, 'ੋ', '੍'],
684
+ ['range', { sourceInterval: [5633, 5651] }, 'ੰ', 'ੱ'],
685
+ ['range', { sourceInterval: [5654, 5672] }, 'ઁ', 'ં'],
686
+ ['range', { sourceInterval: [5675, 5693] }, '઼', '઼'],
687
+ ['range', { sourceInterval: [5696, 5714] }, 'ુ', 'ૅ'],
688
+ ['range', { sourceInterval: [5717, 5735] }, 'ે', 'ૈ'],
689
+ ['range', { sourceInterval: [5738, 5756] }, '્', '્'],
690
+ ['range', { sourceInterval: [5759, 5777] }, 'ଁ', 'ଁ'],
691
+ ['range', { sourceInterval: [5780, 5798] }, '଼', '଼'],
692
+ ['range', { sourceInterval: [5801, 5819] }, 'ି', 'ି'],
693
+ ['range', { sourceInterval: [5822, 5840] }, 'ୁ', 'ୃ'],
694
+ ['range', { sourceInterval: [5843, 5861] }, '୍', '୍'],
695
+ ['range', { sourceInterval: [5864, 5882] }, 'ୖ', 'ୖ'],
696
+ ['range', { sourceInterval: [5885, 5903] }, 'ஂ', 'ஂ'],
697
+ ['range', { sourceInterval: [5906, 5924] }, 'ீ', 'ீ'],
698
+ ['range', { sourceInterval: [5927, 5945] }, '்', '்'],
699
+ ['range', { sourceInterval: [5948, 5966] }, 'ా', 'ీ'],
700
+ ['range', { sourceInterval: [5969, 5987] }, 'ె', 'ై'],
701
+ ['range', { sourceInterval: [5990, 6008] }, 'ొ', '్'],
702
+ ['range', { sourceInterval: [6011, 6029] }, 'ౕ', 'ౖ'],
703
+ ['range', { sourceInterval: [6032, 6050] }, 'ಿ', 'ಿ'],
704
+ ['range', { sourceInterval: [6053, 6071] }, 'ೆ', 'ೆ'],
705
+ ['range', { sourceInterval: [6074, 6092] }, 'ೌ', '್'],
706
+ ['range', { sourceInterval: [6095, 6113] }, 'ു', 'ൃ'],
707
+ ['range', { sourceInterval: [6116, 6134] }, '്', '്'],
708
+ ['range', { sourceInterval: [6137, 6155] }, 'ั', 'ั'],
709
+ ['range', { sourceInterval: [6158, 6176] }, 'ิ', 'ฺ'],
710
+ ['range', { sourceInterval: [6179, 6197] }, '็', '๎'],
711
+ ['range', { sourceInterval: [6200, 6218] }, 'ັ', 'ັ'],
712
+ ['range', { sourceInterval: [6221, 6239] }, 'ິ', 'ູ'],
713
+ ['range', { sourceInterval: [6242, 6260] }, 'ົ', 'ຼ'],
714
+ ['range', { sourceInterval: [6263, 6281] }, '່', 'ໍ'],
715
+ ['range', { sourceInterval: [6284, 6302] }, '༘', '༙'],
716
+ ['range', { sourceInterval: [6305, 6323] }, '༵', '༵'],
717
+ ['range', { sourceInterval: [6326, 6344] }, '༷', '༷'],
718
+ ['range', { sourceInterval: [6347, 6365] }, '༹', '༹'],
719
+ ['range', { sourceInterval: [6368, 6386] }, 'ཱ', 'ཾ'],
720
+ ['range', { sourceInterval: [6389, 6407] }, 'ྀ', '྄'],
721
+ ['range', { sourceInterval: [6410, 6428] }, '྆', '྇'],
722
+ ['range', { sourceInterval: [6431, 6449] }, 'ྐ', 'ྕ'],
723
+ ['range', { sourceInterval: [6452, 6470] }, 'ྗ', 'ྗ'],
724
+ ['range', { sourceInterval: [6473, 6491] }, 'ྙ', 'ྭ'],
725
+ ['range', { sourceInterval: [6494, 6512] }, 'ྱ', 'ྷ'],
726
+ ['range', { sourceInterval: [6515, 6533] }, 'ྐྵ', 'ྐྵ'],
727
+ ['range', { sourceInterval: [6536, 6554] }, '⃐', '⃜'],
728
+ ['range', { sourceInterval: [6557, 6575] }, '⃡', '⃡'],
729
+ ['range', { sourceInterval: [6578, 6596] }, '〪', '〯'],
730
+ ['range', { sourceInterval: [6599, 6617] }, '゙', '゚'],
731
+ ['range', { sourceInterval: [6620, 6638] }, 'ﬞ', 'ﬞ'],
732
+ ['range', { sourceInterval: [6641, 6659] }, '︠', '︣'],
733
+ ]],
734
+ unicodeConnectorPunctuation: ['define', { sourceInterval: [6665, 6799] }, null, [], [
735
+ 'alt',
736
+ { sourceInterval: [6695, 6799] },
737
+ ['terminal', { sourceInterval: [6695, 6703] }, '_'],
738
+ ['range', { sourceInterval: [6706, 6724] }, '‿', '⁀'],
739
+ ['terminal', { sourceInterval: [6727, 6735] }, '・'],
740
+ ['range', { sourceInterval: [6738, 6756] }, '︳', '︴'],
741
+ ['range', { sourceInterval: [6759, 6777] }, '﹍', '﹏'],
742
+ ['terminal', { sourceInterval: [6780, 6788] }, '_'],
743
+ ['terminal', { sourceInterval: [6791, 6799] }, '・'],
744
+ ]],
745
+ unicodeSpaceSeparator: ['define', { sourceInterval: [6804, 6857] }, null, [], [
746
+ 'alt',
747
+ { sourceInterval: [6828, 6857] },
748
+ ['range', { sourceInterval: [6828, 6846] }, ' ', '​'],
749
+ ['terminal', { sourceInterval: [6849, 6857] }, ' '],
750
+ ]],
751
+ },
752
+ ]);
753
+ export default result;