@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,121 @@
1
+ JSImports {
2
+ JSImports = (Expr ";"?)*
3
+
4
+ Expr =
5
+ | comment
6
+ | stringLiteral
7
+ | ImportExpr
8
+ | Rest
9
+
10
+ ImportExpr =
11
+ | "import" ImportInner "from" importSource -- From
12
+ | "import" importSource -- NoFrom
13
+
14
+ Rest = (~(ImportExpr | comment | stringLiteral) any)+
15
+
16
+ ImportInner =
17
+ | ("type" "{" NonemptyListOf<ImportExtendedSelectionTypeless, ","> ","? "}") -- Type
18
+ | ("{" NonemptyListOf<ImportExtendedSelectionTypes, ","> ","? "}") -- Types
19
+ | ("{" NonemptyListOf<ImportExtendedSelection, ","> ","? "}") -- Extended
20
+ | (identifier ("," "type"? "{" NonemptyListOf<ImportExtendedSelection, ","> ","? "}")?) -- Mixed
21
+ | ("*" ("as" identifier)?) -- All
22
+ | (identifier ("as" identifier)?) -- Default
23
+
24
+
25
+ ImportExtendedSelection = TypeImport | Import
26
+ ImportExtendedSelectionTypes = TypeImport
27
+ ImportExtendedSelectionTypeless = Import
28
+
29
+ Import = identifier ("as" identifier)?
30
+ TypeImport = "type" Import ("as" identifier)?
31
+
32
+ identifier = letter alnum*
33
+ quote = "\"" | "'" | "`"
34
+ notQuote = ~quote any
35
+ importSource =
36
+ | "\"" notQuote+ "\""
37
+ | "'" notQuote+ "'"
38
+ | "`" notQuote+ "`"
39
+
40
+ lineTerminator = "\n" | "\r" | "\u2028" | "\u2029"
41
+ lineTerminatorSequence = "\n" | "\r" ~"\n" | "\u2028" | "\u2029" | "\r\n"
42
+
43
+ comment = multiLineComment | singleLineComment
44
+
45
+ multiLineComment = "/*" (~"*/" any)* "*/"
46
+ singleLineComment = "//" (~lineTerminator any)*
47
+
48
+ stringLiteral =
49
+ | "\"" doubleStringCharacter* "\""
50
+ | "'" singleStringCharacter* "'"
51
+ | "`" templateStringCharacter* "`"
52
+ doubleStringCharacter =
53
+ | ~("\"" | "\\" | lineTerminator) any -- NonEscaped
54
+ | "\\" escapeSequence -- Escaped
55
+ | lineContinuation -- LineContinuation
56
+ singleStringCharacter =
57
+ | ~("'" | "\\" | lineTerminator) any -- NonEscaped
58
+ | "\\" escapeSequence -- Escaped
59
+ | lineContinuation -- LineContinuation
60
+ templateStringCharacter =
61
+ | ~ ("`" | "\\") any -- NonEscaped
62
+ | "\\" escapeSequence -- Escaped
63
+ lineContinuation = "\\" lineTerminatorSequence
64
+ escapeSequence = unicodeEscapeSequence | hexEscapeSequence | octalEscapeSequence | characterEscapeSequence
65
+ characterEscapeSequence = singleEscapeCharacter | nonEscapeCharacter
66
+ singleEscapeCharacter = "'" | "\"" | "\\" | "b" | "f" | "n" | "r" | "t" | "v"
67
+ nonEscapeCharacter = ~(escapeCharacter | lineTerminator) any
68
+ escapeCharacter = singleEscapeCharacter | decimalDigit | "x" | "u"
69
+ octalEscapeSequence =
70
+ | zeroToThree octalDigit octalDigit -- Whole
71
+ | fourToSeven octalDigit -- EightTimesfourToSeven
72
+ | zeroToThree octalDigit ~decimalDigit -- EightTimesZeroToThree
73
+ | octalDigit ~decimalDigit -- Octal
74
+ hexEscapeSequence = "x" hexDigit hexDigit
75
+ unicodeEscapeSequence = "u" hexDigit hexDigit hexDigit hexDigit
76
+
77
+ zeroToThree = "0".."3"
78
+ fourToSeven = "4".."7"
79
+ decimalDigit = "0".."9"
80
+ nonZeroDigit = "1".."9"
81
+ octalDigit = "0".."7"
82
+
83
+ regularExpressionLiteral = "/" regularExpressionBody "/" regularExpressionFlags
84
+ regularExpressionBody = regularExpressionFirstChar regularExpressionChar*
85
+ regularExpressionFirstChar =
86
+ | ~("*" | "\\" | "/" | "[") regularExpressionNonTerminator
87
+ | regularExpressionBackslashSequence
88
+ | regularExpressionClass
89
+ regularExpressionChar = ~("\\" | "/" | "[") regularExpressionNonTerminator
90
+ | regularExpressionBackslashSequence
91
+ | regularExpressionClass
92
+ regularExpressionBackslashSequence = "\\" regularExpressionNonTerminator
93
+ regularExpressionNonTerminator = ~(lineTerminator) any
94
+ regularExpressionClass = "[" regularExpressionClassChar* "]"
95
+ regularExpressionClassChar =
96
+ | ~("]" | "\\") regularExpressionNonTerminator
97
+ | regularExpressionBackslashSequence
98
+ regularExpressionFlags = identifierPart*
99
+
100
+ multiLineCommentNoNL = "/*" (~("*/" | lineTerminator) any)* "*/"
101
+
102
+ identifierStart =
103
+ | letter | "$" | "_"
104
+ | "\\" unicodeEscapeSequence -- escaped
105
+ identifierPart =
106
+ | identifierStart | unicodeCombiningMark
107
+ | unicodeDigit | unicodeConnectorPunctuation
108
+ | "\u200C" | "\u200D"
109
+ letter += unicodeCategoryNl
110
+ unicodeCategoryNl
111
+ = "\u2160".."\u2182" | "\u3007" | "\u3021".."\u3029"
112
+ unicodeDigit (a digit)
113
+ = "\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"
114
+
115
+ unicodeCombiningMark (a Unicode combining mark)
116
+ = "\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"
117
+
118
+ unicodeConnectorPunctuation = "\u005F" | "\u203F".."\u2040" | "\u30FB" | "\uFE33".."\uFE34" | "\uFE4D".."\uFE4F" | "\uFF3F" | "\uFF65"
119
+ unicodeSpaceSeparator = "\u2000".."\u200B" | "\u3000"
120
+
121
+ }
@@ -0,0 +1,164 @@
1
+ // AUTOGENERATED FILE
2
+ // This file was generated from grammar.ohm by `ohm generateBundles`.
3
+
4
+ import { BaseActionDict, Grammar, IterationNode, Node, NonterminalNode, Semantics, TerminalNode } from 'ohm-js';
5
+
6
+ export interface JSImportsActionDict<T> extends BaseActionDict<T> {
7
+ JSImports?: (this: NonterminalNode, arg0: IterationNode, arg1: IterationNode) => T;
8
+ Expr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
9
+ ImportExpr_From?: (
10
+ this: NonterminalNode,
11
+ arg0: TerminalNode,
12
+ arg1: NonterminalNode,
13
+ arg2: TerminalNode,
14
+ arg3: NonterminalNode,
15
+ ) => T;
16
+ ImportExpr_NoFrom?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
17
+ ImportExpr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
18
+ Rest?: (this: NonterminalNode, arg0: IterationNode) => T;
19
+ ImportInner_Type?: (
20
+ this: NonterminalNode,
21
+ arg0: TerminalNode,
22
+ arg1: TerminalNode,
23
+ arg2: NonterminalNode,
24
+ arg3: IterationNode,
25
+ arg4: TerminalNode,
26
+ ) => T;
27
+ ImportInner_Types?: (
28
+ this: NonterminalNode,
29
+ arg0: TerminalNode,
30
+ arg1: NonterminalNode,
31
+ arg2: IterationNode,
32
+ arg3: TerminalNode,
33
+ ) => T;
34
+ ImportInner_Extended?: (
35
+ this: NonterminalNode,
36
+ arg0: TerminalNode,
37
+ arg1: NonterminalNode,
38
+ arg2: IterationNode,
39
+ arg3: TerminalNode,
40
+ ) => T;
41
+ ImportInner_Mixed?: (
42
+ this: NonterminalNode,
43
+ arg0: NonterminalNode,
44
+ arg1: IterationNode,
45
+ arg2: IterationNode,
46
+ arg3: IterationNode,
47
+ arg4: IterationNode,
48
+ arg5: IterationNode,
49
+ arg6: IterationNode,
50
+ ) => T;
51
+ ImportInner_All?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode, arg2: IterationNode) => T;
52
+ ImportInner_Default?: (this: NonterminalNode, arg0: NonterminalNode, arg1: IterationNode, arg2: IterationNode) => T;
53
+ ImportInner?: (this: NonterminalNode, arg0: NonterminalNode) => T;
54
+ ImportExtendedSelection?: (this: NonterminalNode, arg0: NonterminalNode) => T;
55
+ ImportExtendedSelectionTypes?: (this: NonterminalNode, arg0: NonterminalNode) => T;
56
+ ImportExtendedSelectionTypeless?: (this: NonterminalNode, arg0: NonterminalNode) => T;
57
+ Import?: (this: NonterminalNode, arg0: NonterminalNode, arg1: IterationNode, arg2: IterationNode) => T;
58
+ TypeImport?: (
59
+ this: NonterminalNode,
60
+ arg0: TerminalNode,
61
+ arg1: NonterminalNode,
62
+ arg2: IterationNode,
63
+ arg3: IterationNode,
64
+ ) => T;
65
+ identifier?: (this: NonterminalNode, arg0: NonterminalNode, arg1: IterationNode) => T;
66
+ quote?: (this: NonterminalNode, arg0: TerminalNode) => T;
67
+ notQuote?: (this: NonterminalNode, arg0: NonterminalNode) => T;
68
+ importSource?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode, arg2: TerminalNode) => T;
69
+ lineTerminator?: (this: NonterminalNode, arg0: TerminalNode) => T;
70
+ lineTerminatorSequence?: (this: NonterminalNode, arg0: TerminalNode) => T;
71
+ comment?: (this: NonterminalNode, arg0: NonterminalNode) => T;
72
+ multiLineComment?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode, arg2: TerminalNode) => T;
73
+ singleLineComment?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode) => T;
74
+ stringLiteral?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode, arg2: TerminalNode) => T;
75
+ doubleStringCharacter_NonEscaped?: (this: NonterminalNode, arg0: NonterminalNode) => T;
76
+ doubleStringCharacter_Escaped?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
77
+ doubleStringCharacter_LineContinuation?: (this: NonterminalNode, arg0: NonterminalNode) => T;
78
+ doubleStringCharacter?: (this: NonterminalNode, arg0: NonterminalNode) => T;
79
+ singleStringCharacter_NonEscaped?: (this: NonterminalNode, arg0: NonterminalNode) => T;
80
+ singleStringCharacter_Escaped?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
81
+ singleStringCharacter_LineContinuation?: (this: NonterminalNode, arg0: NonterminalNode) => T;
82
+ singleStringCharacter?: (this: NonterminalNode, arg0: NonterminalNode) => T;
83
+ templateStringCharacter_NonEscaped?: (this: NonterminalNode, arg0: NonterminalNode) => T;
84
+ templateStringCharacter_Escaped?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
85
+ templateStringCharacter?: (this: NonterminalNode, arg0: NonterminalNode) => T;
86
+ lineContinuation?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
87
+ escapeSequence?: (this: NonterminalNode, arg0: NonterminalNode) => T;
88
+ characterEscapeSequence?: (this: NonterminalNode, arg0: NonterminalNode) => T;
89
+ singleEscapeCharacter?: (this: NonterminalNode, arg0: TerminalNode) => T;
90
+ nonEscapeCharacter?: (this: NonterminalNode, arg0: NonterminalNode) => T;
91
+ escapeCharacter?: (this: NonterminalNode, arg0: NonterminalNode | TerminalNode) => T;
92
+ octalEscapeSequence_Whole?: (
93
+ this: NonterminalNode,
94
+ arg0: NonterminalNode,
95
+ arg1: NonterminalNode,
96
+ arg2: NonterminalNode,
97
+ ) => T;
98
+ octalEscapeSequence_EightTimesfourToSeven?: (
99
+ this: NonterminalNode,
100
+ arg0: NonterminalNode,
101
+ arg1: NonterminalNode,
102
+ ) => T;
103
+ octalEscapeSequence_EightTimesZeroToThree?: (
104
+ this: NonterminalNode,
105
+ arg0: NonterminalNode,
106
+ arg1: NonterminalNode,
107
+ ) => T;
108
+ octalEscapeSequence_Octal?: (this: NonterminalNode, arg0: NonterminalNode) => T;
109
+ octalEscapeSequence?: (this: NonterminalNode, arg0: NonterminalNode) => T;
110
+ hexEscapeSequence?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode, arg2: NonterminalNode) => T;
111
+ unicodeEscapeSequence?: (
112
+ this: NonterminalNode,
113
+ arg0: TerminalNode,
114
+ arg1: NonterminalNode,
115
+ arg2: NonterminalNode,
116
+ arg3: NonterminalNode,
117
+ arg4: NonterminalNode,
118
+ ) => T;
119
+ zeroToThree?: (this: NonterminalNode, arg0: TerminalNode) => T;
120
+ fourToSeven?: (this: NonterminalNode, arg0: TerminalNode) => T;
121
+ decimalDigit?: (this: NonterminalNode, arg0: TerminalNode) => T;
122
+ nonZeroDigit?: (this: NonterminalNode, arg0: TerminalNode) => T;
123
+ octalDigit?: (this: NonterminalNode, arg0: TerminalNode) => T;
124
+ regularExpressionLiteral?: (
125
+ this: NonterminalNode,
126
+ arg0: TerminalNode,
127
+ arg1: NonterminalNode,
128
+ arg2: TerminalNode,
129
+ arg3: NonterminalNode,
130
+ ) => T;
131
+ regularExpressionBody?: (this: NonterminalNode, arg0: NonterminalNode, arg1: IterationNode) => T;
132
+ regularExpressionFirstChar?: (this: NonterminalNode, arg0: NonterminalNode) => T;
133
+ regularExpressionChar?: (this: NonterminalNode, arg0: NonterminalNode) => T;
134
+ regularExpressionBackslashSequence?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
135
+ regularExpressionNonTerminator?: (this: NonterminalNode, arg0: NonterminalNode) => T;
136
+ regularExpressionClass?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode, arg2: TerminalNode) => T;
137
+ regularExpressionClassChar?: (this: NonterminalNode, arg0: NonterminalNode) => T;
138
+ regularExpressionFlags?: (this: NonterminalNode, arg0: IterationNode) => T;
139
+ multiLineCommentNoNL?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode, arg2: TerminalNode) => T;
140
+ identifierStart_escaped?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
141
+ identifierStart?: (this: NonterminalNode, arg0: NonterminalNode | TerminalNode) => T;
142
+ identifierPart?: (this: NonterminalNode, arg0: NonterminalNode | TerminalNode) => T;
143
+ letter?: (this: NonterminalNode, arg0: NonterminalNode) => T;
144
+ unicodeCategoryNl?: (this: NonterminalNode, arg0: TerminalNode) => T;
145
+ unicodeDigit?: (this: NonterminalNode, arg0: TerminalNode) => T;
146
+ unicodeCombiningMark?: (this: NonterminalNode, arg0: TerminalNode) => T;
147
+ unicodeConnectorPunctuation?: (this: NonterminalNode, arg0: TerminalNode) => T;
148
+ unicodeSpaceSeparator?: (this: NonterminalNode, arg0: TerminalNode) => T;
149
+ }
150
+
151
+ export interface JSImportsSemantics extends Semantics {
152
+ addOperation<T>(name: string, actionDict: JSImportsActionDict<T>): this;
153
+ extendOperation<T>(name: string, actionDict: JSImportsActionDict<T>): this;
154
+ addAttribute<T>(name: string, actionDict: JSImportsActionDict<T>): this;
155
+ extendAttribute<T>(name: string, actionDict: JSImportsActionDict<T>): this;
156
+ }
157
+
158
+ export interface JSImportsGrammar extends Grammar {
159
+ createSemantics(): JSImportsSemantics;
160
+ extendSemantics(superSemantics: JSImportsSemantics): JSImportsSemantics;
161
+ }
162
+
163
+ declare const grammar: JSImportsGrammar;
164
+ export default grammar;