blend-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 (210) hide show
  1. package/dist/helper/ApiHelper.js +0 -0
  2. package/dist/helper/BasicHelper.js +28 -0
  3. package/dist/helper/CommonHelper.js +10 -0
  4. package/dist/helper/DataHelper.js +241 -0
  5. package/dist/helper/ExpressHelper.js +728 -0
  6. package/dist/helper/FrontEndApiHelper.js +485 -0
  7. package/dist/helper/FrontEndReactApiHelper.js +483 -0
  8. package/dist/helper/MongoHelper.js +143 -0
  9. package/dist/helper/RNHelper.js +560 -0
  10. package/dist/helper/ReactHelper.js +524 -0
  11. package/dist/helper/SectionHelper.js +152 -0
  12. package/dist/helper/fileHelper.js +127 -0
  13. package/dist/helper/grammarHelper/BlendApiGrammarHelper.js +48 -0
  14. package/dist/helper/grammarHelper/BlendBasicGrammarHelper.js +98 -0
  15. package/dist/helper/grammarHelper/BlendDataGrammarHelper.js +47 -0
  16. package/dist/helper/grammarHelper/BlendMDPGrammarHelper.js +29 -0
  17. package/dist/helper/grammarHelper/BlendMongoGrammarHelper.js +51 -0
  18. package/dist/helper/grammarHelper/BlendRNGrammarHelper.js +56 -0
  19. package/dist/helper/grammarHelper/BlendReactGrammarHelper.js +55 -0
  20. package/dist/helper/grammarHelper/GrammarErrorHelper.js +16 -0
  21. package/dist/index.js +159 -0
  22. package/dist/parser/blendApi/src/grammar/BlendApiLexer.js +201 -0
  23. package/dist/parser/blendApi/src/grammar/BlendApiListener.js +3 -0
  24. package/dist/parser/blendApi/src/grammar/BlendApiParser.js +961 -0
  25. package/dist/parser/blendData/src/grammar/BlendDataLexer.js +154 -0
  26. package/dist/parser/blendData/src/grammar/BlendDataListener.js +3 -0
  27. package/dist/parser/blendData/src/grammar/BlendDataParser.js +641 -0
  28. package/dist/parser/blendMDP/src/grammar/BlendMDPLexer.js +151 -0
  29. package/dist/parser/blendMDP/src/grammar/BlendMDPListener.js +3 -0
  30. package/dist/parser/blendMDP/src/grammar/BlendMDPParser.js +490 -0
  31. package/dist/parser/blendMongo/src/grammar/BlendMongoLexer.js +187 -0
  32. package/dist/parser/blendMongo/src/grammar/BlendMongoListener.js +3 -0
  33. package/dist/parser/blendMongo/src/grammar/BlendMongoParser.js +848 -0
  34. package/dist/parser/blendRN/src/grammar/BlendRNLexer.js +172 -0
  35. package/dist/parser/blendRN/src/grammar/BlendRNListener.js +3 -0
  36. package/dist/parser/blendRN/src/grammar/BlendRNParser.js +657 -0
  37. package/dist/parser/blendReact/src/grammar/BlendReactLexer.js +159 -0
  38. package/dist/parser/blendReact/src/grammar/BlendReactListener.js +3 -0
  39. package/dist/parser/blendReact/src/grammar/BlendReactParser.js +644 -0
  40. package/dist/parser/blendbasic/src/grammar/BlendBasicLexer.js +147 -0
  41. package/dist/parser/blendbasic/src/grammar/BlendBasicListener.js +3 -0
  42. package/dist/parser/blendbasic/src/grammar/BlendBasicParser.js +747 -0
  43. package/dist/src/app.js +76 -0
  44. package/dist/src/app.ts +54 -0
  45. package/dist/types/apiOperationTypes.js +13 -0
  46. package/dist/types/basicOperationTypes.js +2 -0
  47. package/dist/types/dataOperationTypes.js +2 -0
  48. package/dist/types/frontendOperationTypes.js +4 -0
  49. package/dist/types/generalTypes.js +0 -0
  50. package/dist/types/mongoOperationTypes.js +12 -0
  51. package/package.json +29 -0
  52. package/src/grammar/.antlr/ApiModuleLexer.interp +71 -0
  53. package/src/grammar/.antlr/ApiModuleLexer.java +194 -0
  54. package/src/grammar/.antlr/ApiModuleLexer.tokens +32 -0
  55. package/src/grammar/.antlr/BlendApi.interp +70 -0
  56. package/src/grammar/.antlr/BlendApi.tokens +44 -0
  57. package/src/grammar/.antlr/BlendApiLexer.interp +89 -0
  58. package/src/grammar/.antlr/BlendApiLexer.java +237 -0
  59. package/src/grammar/.antlr/BlendApiLexer.tokens +44 -0
  60. package/src/grammar/.antlr/BlendApiParser.java +767 -0
  61. package/src/grammar/.antlr/BlendBasic.interp +41 -0
  62. package/src/grammar/.antlr/BlendBasic.tokens +20 -0
  63. package/src/grammar/.antlr/BlendBasicLexer.interp +50 -0
  64. package/src/grammar/.antlr/BlendBasicLexer.java +179 -0
  65. package/src/grammar/.antlr/BlendBasicLexer.tokens +20 -0
  66. package/src/grammar/.antlr/BlendBasicParser.java +599 -0
  67. package/src/grammar/.antlr/BlendData.interp +50 -0
  68. package/src/grammar/.antlr/BlendData.tokens +29 -0
  69. package/src/grammar/.antlr/BlendDataLexer.interp +65 -0
  70. package/src/grammar/.antlr/BlendDataLexer.java +181 -0
  71. package/src/grammar/.antlr/BlendDataLexer.tokens +29 -0
  72. package/src/grammar/.antlr/BlendDataParser.java +520 -0
  73. package/src/grammar/.antlr/BlendMDP.interp +45 -0
  74. package/src/grammar/.antlr/BlendMDP.tokens +25 -0
  75. package/src/grammar/.antlr/BlendMDPLexer.interp +59 -0
  76. package/src/grammar/.antlr/BlendMDPLexer.java +178 -0
  77. package/src/grammar/.antlr/BlendMDPLexer.tokens +25 -0
  78. package/src/grammar/.antlr/BlendMDPParser.java +386 -0
  79. package/src/grammar/.antlr/BlendMongo.interp +65 -0
  80. package/src/grammar/.antlr/BlendMongo.tokens +41 -0
  81. package/src/grammar/.antlr/BlendMongoLexer.interp +83 -0
  82. package/src/grammar/.antlr/BlendMongoLexer.java +219 -0
  83. package/src/grammar/.antlr/BlendMongoLexer.tokens +41 -0
  84. package/src/grammar/.antlr/BlendMongoParser.java +669 -0
  85. package/src/grammar/.antlr/BlendRN.interp +53 -0
  86. package/src/grammar/.antlr/BlendRN.tokens +31 -0
  87. package/src/grammar/.antlr/BlendRNLexer.interp +71 -0
  88. package/src/grammar/.antlr/BlendRNLexer.java +202 -0
  89. package/src/grammar/.antlr/BlendRNLexer.tokens +31 -0
  90. package/src/grammar/.antlr/BlendRNParser.java +542 -0
  91. package/src/grammar/.antlr/BlendReact.interp +49 -0
  92. package/src/grammar/.antlr/BlendReact.tokens +28 -0
  93. package/src/grammar/.antlr/BlendReactLexer.interp +65 -0
  94. package/src/grammar/.antlr/BlendReactLexer.java +188 -0
  95. package/src/grammar/.antlr/BlendReactLexer.tokens +28 -0
  96. package/src/grammar/.antlr/BlendReactParser.java +530 -0
  97. package/src/grammar/BlendApi.g4 +26 -0
  98. package/src/grammar/BlendBasic.g4 +16 -0
  99. package/src/grammar/BlendData.g4 +24 -0
  100. package/src/grammar/BlendMDP.g4 +12 -0
  101. package/src/grammar/BlendMongo.g4 +24 -0
  102. package/src/grammar/BlendRN.g4 +18 -0
  103. package/src/grammar/BlendReact.g4 +16 -0
  104. package/src/helper/BasicHelper.ts +35 -0
  105. package/src/helper/CommonHelper.ts +5 -0
  106. package/src/helper/DataHelper.ts +268 -0
  107. package/src/helper/ExpressHelper.ts +807 -0
  108. package/src/helper/FrontEndApiHelper.ts +526 -0
  109. package/src/helper/FrontEndReactApiHelper.ts +532 -0
  110. package/src/helper/MongoHelper.ts +165 -0
  111. package/src/helper/RNHelper.ts +651 -0
  112. package/src/helper/ReactHelper.ts +597 -0
  113. package/src/helper/SectionHelper.ts +154 -0
  114. package/src/helper/fileHelper.ts +111 -0
  115. package/src/helper/grammarHelper/BlendApiGrammarHelper.ts +45 -0
  116. package/src/helper/grammarHelper/BlendBasicGrammarHelper.ts +101 -0
  117. package/src/helper/grammarHelper/BlendDataGrammarHelper.ts +49 -0
  118. package/src/helper/grammarHelper/BlendMDPGrammarHelper.ts +33 -0
  119. package/src/helper/grammarHelper/BlendMongoGrammarHelper.ts +50 -0
  120. package/src/helper/grammarHelper/BlendRNGrammarHelper.ts +65 -0
  121. package/src/helper/grammarHelper/BlendReactGrammarHelper.ts +65 -0
  122. package/src/helper/grammarHelper/GrammarErrorHelper.ts +13 -0
  123. package/src/index.ts +168 -0
  124. package/src/parser/blendApi/src/grammar/BlendApi.interp +70 -0
  125. package/src/parser/blendApi/src/grammar/BlendApi.tokens +44 -0
  126. package/src/parser/blendApi/src/grammar/BlendApiLexer.interp +89 -0
  127. package/src/parser/blendApi/src/grammar/BlendApiLexer.tokens +44 -0
  128. package/src/parser/blendApi/src/grammar/BlendApiLexer.ts +193 -0
  129. package/src/parser/blendApi/src/grammar/BlendApiListener.ts +145 -0
  130. package/src/parser/blendApi/src/grammar/BlendApiParser.ts +968 -0
  131. package/src/parser/blendData/src/grammar/BlendData.interp +50 -0
  132. package/src/parser/blendData/src/grammar/BlendData.tokens +29 -0
  133. package/src/parser/blendData/src/grammar/BlendDataLexer.interp +65 -0
  134. package/src/parser/blendData/src/grammar/BlendDataLexer.tokens +29 -0
  135. package/src/parser/blendData/src/grammar/BlendDataLexer.ts +146 -0
  136. package/src/parser/blendData/src/grammar/BlendDataListener.ts +97 -0
  137. package/src/parser/blendData/src/grammar/BlendDataParser.ts +641 -0
  138. package/src/parser/blendMDP/src/grammar/BlendMDP.interp +45 -0
  139. package/src/parser/blendMDP/src/grammar/BlendMDP.tokens +25 -0
  140. package/src/parser/blendMDP/src/grammar/BlendMDPLexer.interp +59 -0
  141. package/src/parser/blendMDP/src/grammar/BlendMDPLexer.tokens +25 -0
  142. package/src/parser/blendMDP/src/grammar/BlendMDPLexer.ts +143 -0
  143. package/src/parser/blendMDP/src/grammar/BlendMDPListener.ts +85 -0
  144. package/src/parser/blendMDP/src/grammar/BlendMDPParser.ts +483 -0
  145. package/src/parser/blendMongo/src/grammar/BlendMongo.interp +65 -0
  146. package/src/parser/blendMongo/src/grammar/BlendMongo.tokens +41 -0
  147. package/src/parser/blendMongo/src/grammar/BlendMongoLexer.interp +83 -0
  148. package/src/parser/blendMongo/src/grammar/BlendMongoLexer.tokens +41 -0
  149. package/src/parser/blendMongo/src/grammar/BlendMongoLexer.ts +179 -0
  150. package/src/parser/blendMongo/src/grammar/BlendMongoListener.ts +133 -0
  151. package/src/parser/blendMongo/src/grammar/BlendMongoParser.ts +849 -0
  152. package/src/parser/blendRN/src/grammar/BlendRN.interp +53 -0
  153. package/src/parser/blendRN/src/grammar/BlendRN.tokens +31 -0
  154. package/src/parser/blendRN/src/grammar/BlendRNLexer.interp +71 -0
  155. package/src/parser/blendRN/src/grammar/BlendRNLexer.tokens +31 -0
  156. package/src/parser/blendRN/src/grammar/BlendRNLexer.ts +164 -0
  157. package/src/parser/blendRN/src/grammar/BlendRNListener.ts +85 -0
  158. package/src/parser/blendRN/src/grammar/BlendRNParser.ts +659 -0
  159. package/src/parser/blendReact/src/grammar/BlendReact.interp +49 -0
  160. package/src/parser/blendReact/src/grammar/BlendReact.tokens +28 -0
  161. package/src/parser/blendReact/src/grammar/BlendReactLexer.interp +65 -0
  162. package/src/parser/blendReact/src/grammar/BlendReactLexer.tokens +28 -0
  163. package/src/parser/blendReact/src/grammar/BlendReactLexer.ts +151 -0
  164. package/src/parser/blendReact/src/grammar/BlendReactListener.ts +85 -0
  165. package/src/parser/blendReact/src/grammar/BlendReactParser.ts +646 -0
  166. package/src/parser/blendbasic/src/grammar/BlendBasic.interp +41 -0
  167. package/src/parser/blendbasic/src/grammar/BlendBasic.tokens +20 -0
  168. package/src/parser/blendbasic/src/grammar/BlendBasicLexer.interp +50 -0
  169. package/src/parser/blendbasic/src/grammar/BlendBasicLexer.tokens +20 -0
  170. package/src/parser/blendbasic/src/grammar/BlendBasicLexer.ts +139 -0
  171. package/src/parser/blendbasic/src/grammar/BlendBasicListener.ts +109 -0
  172. package/src/parser/blendbasic/src/grammar/BlendBasicParser.ts +747 -0
  173. package/src/types/apiOperationTypes.ts +43 -0
  174. package/src/types/basicOperationTypes.ts +15 -0
  175. package/src/types/dataOperationTypes.ts +20 -0
  176. package/src/types/frontendOperationTypes.ts +92 -0
  177. package/src/types/generalTypes.ts +0 -0
  178. package/src/types/mongoOperationTypes.ts +36 -0
  179. package/template/.env.dev +1 -0
  180. package/template/package.json +36 -0
  181. package/template/src/app.js +76 -0
  182. package/template/src/app.ts +54 -0
  183. package/template/src/config/app.config.js +0 -0
  184. package/template/src/config/app.config.ts +0 -0
  185. package/template/src/config/database.config.js +6 -0
  186. package/template/src/config/database.config.ts +4 -0
  187. package/template/src/data/interfaces.js +2 -0
  188. package/template/src/data/interfaces.ts +23 -0
  189. package/template/src/middlewares/auth.js +22 -0
  190. package/template/src/middlewares/auth.ts +21 -0
  191. package/template/src/models/Database.js +10 -0
  192. package/template/src/models/Database.ts +8 -0
  193. package/template/src/models/User/Permission.model.js +13 -0
  194. package/template/src/models/User/Permission.model.ts +14 -0
  195. package/template/src/models/User/Role.model.js +13 -0
  196. package/template/src/models/User/Role.model.ts +14 -0
  197. package/template/src/models/User/User.model.js +17 -0
  198. package/template/src/models/User/User.model.ts +18 -0
  199. package/template/src/routes/User.routes.js +47 -0
  200. package/template/src/routes/User.routes.ts +41 -0
  201. package/template/src/routes/common/common.routes.config.js +14 -0
  202. package/template/src/routes/common/common.routes.config.ts +15 -0
  203. package/template/src/services/User/User.service.js +75 -0
  204. package/template/src/services/User/User.service.ts +68 -0
  205. package/template/src/services/User/api.data.js +72 -0
  206. package/template/src/services/User/api.data.ts +79 -0
  207. package/template/src/services/User/api.interface.js +3 -0
  208. package/template/src/services/User/api.interface.ts +10 -0
  209. package/template/tsconfig.json +10 -0
  210. package/tsconfig.json +13 -0
@@ -0,0 +1,849 @@
1
+ // Generated from src/grammar/BlendMongo.g4 by ANTLR 4.9.0-SNAPSHOT
2
+
3
+
4
+ import { ATN } from "antlr4ts/atn/ATN";
5
+ import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer";
6
+ import { FailedPredicateException } from "antlr4ts/FailedPredicateException";
7
+ import { NotNull } from "antlr4ts/Decorators";
8
+ import { NoViableAltException } from "antlr4ts/NoViableAltException";
9
+ import { Override } from "antlr4ts/Decorators";
10
+ import { Parser } from "antlr4ts/Parser";
11
+ import { ParserRuleContext } from "antlr4ts/ParserRuleContext";
12
+ import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator";
13
+ import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";
14
+ import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
15
+ import { RecognitionException } from "antlr4ts/RecognitionException";
16
+ import { RuleContext } from "antlr4ts/RuleContext";
17
+ //import { RuleVersion } from "antlr4ts/RuleVersion";
18
+ import { TerminalNode } from "antlr4ts/tree/TerminalNode";
19
+ import { Token } from "antlr4ts/Token";
20
+ import { TokenStream } from "antlr4ts/TokenStream";
21
+ import { Vocabulary } from "antlr4ts/Vocabulary";
22
+ import { VocabularyImpl } from "antlr4ts/VocabularyImpl";
23
+
24
+ import * as Utils from "antlr4ts/misc/Utils";
25
+
26
+ import { BlendMongoListener } from "./BlendMongoListener";
27
+
28
+ export class BlendMongoParser extends Parser {
29
+ public static readonly T__0 = 1;
30
+ public static readonly T__1 = 2;
31
+ public static readonly T__2 = 3;
32
+ public static readonly T__3 = 4;
33
+ public static readonly T__4 = 5;
34
+ public static readonly T__5 = 6;
35
+ public static readonly T__6 = 7;
36
+ public static readonly T__7 = 8;
37
+ public static readonly T__8 = 9;
38
+ public static readonly T__9 = 10;
39
+ public static readonly T__10 = 11;
40
+ public static readonly T__11 = 12;
41
+ public static readonly T__12 = 13;
42
+ public static readonly T__13 = 14;
43
+ public static readonly T__14 = 15;
44
+ public static readonly T__15 = 16;
45
+ public static readonly T__16 = 17;
46
+ public static readonly T__17 = 18;
47
+ public static readonly T__18 = 19;
48
+ public static readonly IDENTIFIER = 20;
49
+ public static readonly CAPITAL_IDENTIFIER = 21;
50
+ public static readonly WS = 22;
51
+ public static readonly RULE_program = 0;
52
+ public static readonly RULE_moduleDefinition = 1;
53
+ public static readonly RULE_collectionDefinition = 2;
54
+ public static readonly RULE_property = 3;
55
+ public static readonly RULE_propertyChars = 4;
56
+ public static readonly RULE_reference = 5;
57
+ public static readonly RULE_mongoChars = 6;
58
+ public static readonly RULE_type = 7;
59
+ public static readonly RULE_baseType = 8;
60
+ public static readonly RULE_primitiveType = 9;
61
+ // tslint:disable:no-trailing-whitespace
62
+ public static readonly ruleNames: string[] = [
63
+ "program", "moduleDefinition", "collectionDefinition", "property", "propertyChars",
64
+ "reference", "mongoChars", "type", "baseType", "primitiveType",
65
+ ];
66
+
67
+ private static readonly _LITERAL_NAMES: Array<string | undefined> = [
68
+ undefined, "'module'", "'collection'", "'{'", "','", "'}'", "'property'",
69
+ "':'", "'('", "')'", "'reference'", "'unique'", "'index'", "'[]'", "'?'",
70
+ "'String'", "'Number'", "'Boolean'", "'any'", "'Object'",
71
+ ];
72
+ private static readonly _SYMBOLIC_NAMES: Array<string | undefined> = [
73
+ undefined, undefined, undefined, undefined, undefined, undefined, undefined,
74
+ undefined, undefined, undefined, undefined, undefined, undefined, undefined,
75
+ undefined, undefined, undefined, undefined, undefined, undefined, "IDENTIFIER",
76
+ "CAPITAL_IDENTIFIER", "WS",
77
+ ];
78
+ public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(BlendMongoParser._LITERAL_NAMES, BlendMongoParser._SYMBOLIC_NAMES, []);
79
+
80
+ // @Override
81
+ // @NotNull
82
+ public get vocabulary(): Vocabulary {
83
+ return BlendMongoParser.VOCABULARY;
84
+ }
85
+ // tslint:enable:no-trailing-whitespace
86
+
87
+ // @Override
88
+ public get grammarFileName(): string { return "BlendMongo.g4"; }
89
+
90
+ // @Override
91
+ public get ruleNames(): string[] { return BlendMongoParser.ruleNames; }
92
+
93
+ // @Override
94
+ public get serializedATN(): string { return BlendMongoParser._serializedATN; }
95
+
96
+ protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException {
97
+ return new FailedPredicateException(this, predicate, message);
98
+ }
99
+
100
+ constructor(input: TokenStream) {
101
+ super(input);
102
+ this._interp = new ParserATNSimulator(BlendMongoParser._ATN, this);
103
+ }
104
+ // @RuleVersion(0)
105
+ public program(): ProgramContext {
106
+ let _localctx: ProgramContext = new ProgramContext(this._ctx, this.state);
107
+ this.enterRule(_localctx, 0, BlendMongoParser.RULE_program);
108
+ let _la: number;
109
+ try {
110
+ this.enterOuterAlt(_localctx, 1);
111
+ {
112
+ this.state = 20;
113
+ this.moduleDefinition();
114
+ this.state = 22;
115
+ this._errHandler.sync(this);
116
+ _la = this._input.LA(1);
117
+ do {
118
+ {
119
+ {
120
+ this.state = 21;
121
+ this.collectionDefinition();
122
+ }
123
+ }
124
+ this.state = 24;
125
+ this._errHandler.sync(this);
126
+ _la = this._input.LA(1);
127
+ } while (_la === BlendMongoParser.T__1);
128
+ }
129
+ }
130
+ catch (re) {
131
+ if (re instanceof RecognitionException) {
132
+ _localctx.exception = re;
133
+ this._errHandler.reportError(this, re);
134
+ this._errHandler.recover(this, re);
135
+ } else {
136
+ throw re;
137
+ }
138
+ }
139
+ finally {
140
+ this.exitRule();
141
+ }
142
+ return _localctx;
143
+ }
144
+ // @RuleVersion(0)
145
+ public moduleDefinition(): ModuleDefinitionContext {
146
+ let _localctx: ModuleDefinitionContext = new ModuleDefinitionContext(this._ctx, this.state);
147
+ this.enterRule(_localctx, 2, BlendMongoParser.RULE_moduleDefinition);
148
+ try {
149
+ this.enterOuterAlt(_localctx, 1);
150
+ {
151
+ this.state = 26;
152
+ this.match(BlendMongoParser.T__0);
153
+ this.state = 27;
154
+ this.match(BlendMongoParser.CAPITAL_IDENTIFIER);
155
+ }
156
+ }
157
+ catch (re) {
158
+ if (re instanceof RecognitionException) {
159
+ _localctx.exception = re;
160
+ this._errHandler.reportError(this, re);
161
+ this._errHandler.recover(this, re);
162
+ } else {
163
+ throw re;
164
+ }
165
+ }
166
+ finally {
167
+ this.exitRule();
168
+ }
169
+ return _localctx;
170
+ }
171
+ // @RuleVersion(0)
172
+ public collectionDefinition(): CollectionDefinitionContext {
173
+ let _localctx: CollectionDefinitionContext = new CollectionDefinitionContext(this._ctx, this.state);
174
+ this.enterRule(_localctx, 4, BlendMongoParser.RULE_collectionDefinition);
175
+ let _la: number;
176
+ try {
177
+ let _alt: number;
178
+ this.enterOuterAlt(_localctx, 1);
179
+ {
180
+ this.state = 29;
181
+ this.match(BlendMongoParser.T__1);
182
+ this.state = 30;
183
+ this.match(BlendMongoParser.CAPITAL_IDENTIFIER);
184
+ this.state = 31;
185
+ this.match(BlendMongoParser.T__2);
186
+ this.state = 32;
187
+ this.property();
188
+ this.state = 37;
189
+ this._errHandler.sync(this);
190
+ _alt = this.interpreter.adaptivePredict(this._input, 1, this._ctx);
191
+ while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
192
+ if (_alt === 1) {
193
+ {
194
+ {
195
+ this.state = 33;
196
+ this.match(BlendMongoParser.T__3);
197
+ this.state = 34;
198
+ this.property();
199
+ }
200
+ }
201
+ }
202
+ this.state = 39;
203
+ this._errHandler.sync(this);
204
+ _alt = this.interpreter.adaptivePredict(this._input, 1, this._ctx);
205
+ }
206
+ this.state = 49;
207
+ this._errHandler.sync(this);
208
+ _la = this._input.LA(1);
209
+ if (_la === BlendMongoParser.T__3) {
210
+ {
211
+ this.state = 40;
212
+ this.match(BlendMongoParser.T__3);
213
+ this.state = 41;
214
+ this.reference();
215
+ this.state = 46;
216
+ this._errHandler.sync(this);
217
+ _la = this._input.LA(1);
218
+ while (_la === BlendMongoParser.T__3) {
219
+ {
220
+ {
221
+ this.state = 42;
222
+ this.match(BlendMongoParser.T__3);
223
+ this.state = 43;
224
+ this.reference();
225
+ }
226
+ }
227
+ this.state = 48;
228
+ this._errHandler.sync(this);
229
+ _la = this._input.LA(1);
230
+ }
231
+ }
232
+ }
233
+
234
+ this.state = 51;
235
+ this.match(BlendMongoParser.T__4);
236
+ }
237
+ }
238
+ catch (re) {
239
+ if (re instanceof RecognitionException) {
240
+ _localctx.exception = re;
241
+ this._errHandler.reportError(this, re);
242
+ this._errHandler.recover(this, re);
243
+ } else {
244
+ throw re;
245
+ }
246
+ }
247
+ finally {
248
+ this.exitRule();
249
+ }
250
+ return _localctx;
251
+ }
252
+ // @RuleVersion(0)
253
+ public property(): PropertyContext {
254
+ let _localctx: PropertyContext = new PropertyContext(this._ctx, this.state);
255
+ this.enterRule(_localctx, 6, BlendMongoParser.RULE_property);
256
+ let _la: number;
257
+ try {
258
+ this.enterOuterAlt(_localctx, 1);
259
+ {
260
+ this.state = 53;
261
+ this.match(BlendMongoParser.T__5);
262
+ this.state = 54;
263
+ this.match(BlendMongoParser.IDENTIFIER);
264
+ this.state = 55;
265
+ this.match(BlendMongoParser.T__6);
266
+ this.state = 56;
267
+ this.type();
268
+ this.state = 58;
269
+ this._errHandler.sync(this);
270
+ _la = this._input.LA(1);
271
+ if (_la === BlendMongoParser.T__7) {
272
+ {
273
+ this.state = 57;
274
+ this.propertyChars();
275
+ }
276
+ }
277
+
278
+ }
279
+ }
280
+ catch (re) {
281
+ if (re instanceof RecognitionException) {
282
+ _localctx.exception = re;
283
+ this._errHandler.reportError(this, re);
284
+ this._errHandler.recover(this, re);
285
+ } else {
286
+ throw re;
287
+ }
288
+ }
289
+ finally {
290
+ this.exitRule();
291
+ }
292
+ return _localctx;
293
+ }
294
+ // @RuleVersion(0)
295
+ public propertyChars(): PropertyCharsContext {
296
+ let _localctx: PropertyCharsContext = new PropertyCharsContext(this._ctx, this.state);
297
+ this.enterRule(_localctx, 8, BlendMongoParser.RULE_propertyChars);
298
+ let _la: number;
299
+ try {
300
+ this.enterOuterAlt(_localctx, 1);
301
+ {
302
+ this.state = 60;
303
+ this.match(BlendMongoParser.T__7);
304
+ this.state = 61;
305
+ this.mongoChars();
306
+ this.state = 66;
307
+ this._errHandler.sync(this);
308
+ _la = this._input.LA(1);
309
+ while (_la === BlendMongoParser.T__3) {
310
+ {
311
+ {
312
+ this.state = 62;
313
+ this.match(BlendMongoParser.T__3);
314
+ this.state = 63;
315
+ this.mongoChars();
316
+ }
317
+ }
318
+ this.state = 68;
319
+ this._errHandler.sync(this);
320
+ _la = this._input.LA(1);
321
+ }
322
+ this.state = 69;
323
+ this.match(BlendMongoParser.T__8);
324
+ }
325
+ }
326
+ catch (re) {
327
+ if (re instanceof RecognitionException) {
328
+ _localctx.exception = re;
329
+ this._errHandler.reportError(this, re);
330
+ this._errHandler.recover(this, re);
331
+ } else {
332
+ throw re;
333
+ }
334
+ }
335
+ finally {
336
+ this.exitRule();
337
+ }
338
+ return _localctx;
339
+ }
340
+ // @RuleVersion(0)
341
+ public reference(): ReferenceContext {
342
+ let _localctx: ReferenceContext = new ReferenceContext(this._ctx, this.state);
343
+ this.enterRule(_localctx, 10, BlendMongoParser.RULE_reference);
344
+ let _la: number;
345
+ try {
346
+ this.enterOuterAlt(_localctx, 1);
347
+ {
348
+ this.state = 71;
349
+ this.match(BlendMongoParser.T__9);
350
+ this.state = 72;
351
+ this.match(BlendMongoParser.IDENTIFIER);
352
+ this.state = 73;
353
+ this.match(BlendMongoParser.T__6);
354
+ this.state = 74;
355
+ this.match(BlendMongoParser.CAPITAL_IDENTIFIER);
356
+ this.state = 76;
357
+ this._errHandler.sync(this);
358
+ _la = this._input.LA(1);
359
+ if (_la === BlendMongoParser.T__7) {
360
+ {
361
+ this.state = 75;
362
+ this.propertyChars();
363
+ }
364
+ }
365
+
366
+ }
367
+ }
368
+ catch (re) {
369
+ if (re instanceof RecognitionException) {
370
+ _localctx.exception = re;
371
+ this._errHandler.reportError(this, re);
372
+ this._errHandler.recover(this, re);
373
+ } else {
374
+ throw re;
375
+ }
376
+ }
377
+ finally {
378
+ this.exitRule();
379
+ }
380
+ return _localctx;
381
+ }
382
+ // @RuleVersion(0)
383
+ public mongoChars(): MongoCharsContext {
384
+ let _localctx: MongoCharsContext = new MongoCharsContext(this._ctx, this.state);
385
+ this.enterRule(_localctx, 12, BlendMongoParser.RULE_mongoChars);
386
+ let _la: number;
387
+ try {
388
+ this.enterOuterAlt(_localctx, 1);
389
+ {
390
+ this.state = 78;
391
+ _la = this._input.LA(1);
392
+ if (!(_la === BlendMongoParser.T__10 || _la === BlendMongoParser.T__11)) {
393
+ this._errHandler.recoverInline(this);
394
+ } else {
395
+ if (this._input.LA(1) === Token.EOF) {
396
+ this.matchedEOF = true;
397
+ }
398
+
399
+ this._errHandler.reportMatch(this);
400
+ this.consume();
401
+ }
402
+ }
403
+ }
404
+ catch (re) {
405
+ if (re instanceof RecognitionException) {
406
+ _localctx.exception = re;
407
+ this._errHandler.reportError(this, re);
408
+ this._errHandler.recover(this, re);
409
+ } else {
410
+ throw re;
411
+ }
412
+ }
413
+ finally {
414
+ this.exitRule();
415
+ }
416
+ return _localctx;
417
+ }
418
+ // @RuleVersion(0)
419
+ public type(): TypeContext {
420
+ let _localctx: TypeContext = new TypeContext(this._ctx, this.state);
421
+ this.enterRule(_localctx, 14, BlendMongoParser.RULE_type);
422
+ try {
423
+ this.state = 87;
424
+ this._errHandler.sync(this);
425
+ switch ( this.interpreter.adaptivePredict(this._input, 7, this._ctx) ) {
426
+ case 1:
427
+ this.enterOuterAlt(_localctx, 1);
428
+ {
429
+ this.state = 80;
430
+ this.baseType();
431
+ }
432
+ break;
433
+
434
+ case 2:
435
+ this.enterOuterAlt(_localctx, 2);
436
+ {
437
+ this.state = 81;
438
+ this.baseType();
439
+ this.state = 82;
440
+ this.match(BlendMongoParser.T__12);
441
+ }
442
+ break;
443
+
444
+ case 3:
445
+ this.enterOuterAlt(_localctx, 3);
446
+ {
447
+ this.state = 84;
448
+ this.baseType();
449
+ this.state = 85;
450
+ this.match(BlendMongoParser.T__13);
451
+ }
452
+ break;
453
+ }
454
+ }
455
+ catch (re) {
456
+ if (re instanceof RecognitionException) {
457
+ _localctx.exception = re;
458
+ this._errHandler.reportError(this, re);
459
+ this._errHandler.recover(this, re);
460
+ } else {
461
+ throw re;
462
+ }
463
+ }
464
+ finally {
465
+ this.exitRule();
466
+ }
467
+ return _localctx;
468
+ }
469
+ // @RuleVersion(0)
470
+ public baseType(): BaseTypeContext {
471
+ let _localctx: BaseTypeContext = new BaseTypeContext(this._ctx, this.state);
472
+ this.enterRule(_localctx, 16, BlendMongoParser.RULE_baseType);
473
+ try {
474
+ this.enterOuterAlt(_localctx, 1);
475
+ {
476
+ this.state = 89;
477
+ this.primitiveType();
478
+ }
479
+ }
480
+ catch (re) {
481
+ if (re instanceof RecognitionException) {
482
+ _localctx.exception = re;
483
+ this._errHandler.reportError(this, re);
484
+ this._errHandler.recover(this, re);
485
+ } else {
486
+ throw re;
487
+ }
488
+ }
489
+ finally {
490
+ this.exitRule();
491
+ }
492
+ return _localctx;
493
+ }
494
+ // @RuleVersion(0)
495
+ public primitiveType(): PrimitiveTypeContext {
496
+ let _localctx: PrimitiveTypeContext = new PrimitiveTypeContext(this._ctx, this.state);
497
+ this.enterRule(_localctx, 18, BlendMongoParser.RULE_primitiveType);
498
+ let _la: number;
499
+ try {
500
+ this.enterOuterAlt(_localctx, 1);
501
+ {
502
+ this.state = 91;
503
+ _la = this._input.LA(1);
504
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << BlendMongoParser.T__14) | (1 << BlendMongoParser.T__15) | (1 << BlendMongoParser.T__16) | (1 << BlendMongoParser.T__17) | (1 << BlendMongoParser.T__18))) !== 0))) {
505
+ this._errHandler.recoverInline(this);
506
+ } else {
507
+ if (this._input.LA(1) === Token.EOF) {
508
+ this.matchedEOF = true;
509
+ }
510
+
511
+ this._errHandler.reportMatch(this);
512
+ this.consume();
513
+ }
514
+ }
515
+ }
516
+ catch (re) {
517
+ if (re instanceof RecognitionException) {
518
+ _localctx.exception = re;
519
+ this._errHandler.reportError(this, re);
520
+ this._errHandler.recover(this, re);
521
+ } else {
522
+ throw re;
523
+ }
524
+ }
525
+ finally {
526
+ this.exitRule();
527
+ }
528
+ return _localctx;
529
+ }
530
+
531
+ public static readonly _serializedATN: string =
532
+ "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03\x18`\x04\x02" +
533
+ "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" +
534
+ "\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x03\x02\x03\x02\x06\x02" +
535
+ "\x19\n\x02\r\x02\x0E\x02\x1A\x03\x03\x03\x03\x03\x03\x03\x04\x03\x04\x03" +
536
+ "\x04\x03\x04\x03\x04\x03\x04\x07\x04&\n\x04\f\x04\x0E\x04)\v\x04\x03\x04" +
537
+ "\x03\x04\x03\x04\x03\x04\x07\x04/\n\x04\f\x04\x0E\x042\v\x04\x05\x044" +
538
+ "\n\x04\x03\x04\x03\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x05\x05" +
539
+ "=\n\x05\x03\x06\x03\x06\x03\x06\x03\x06\x07\x06C\n\x06\f\x06\x0E\x06F" +
540
+ "\v\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x05\x07" +
541
+ "O\n\x07\x03\b\x03\b\x03\t\x03\t\x03\t\x03\t\x03\t\x03\t\x03\t\x05\tZ\n" +
542
+ "\t\x03\n\x03\n\x03\v\x03\v\x03\v\x02\x02\x02\f\x02\x02\x04\x02\x06\x02" +
543
+ "\b\x02\n\x02\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x02\x04\x03\x02\r\x0E" +
544
+ "\x03\x02\x11\x15\x02^\x02\x16\x03\x02\x02\x02\x04\x1C\x03\x02\x02\x02" +
545
+ "\x06\x1F\x03\x02\x02\x02\b7\x03\x02\x02\x02\n>\x03\x02\x02\x02\fI\x03" +
546
+ "\x02\x02\x02\x0EP\x03\x02\x02\x02\x10Y\x03\x02\x02\x02\x12[\x03\x02\x02" +
547
+ "\x02\x14]\x03\x02\x02\x02\x16\x18\x05\x04\x03\x02\x17\x19\x05\x06\x04" +
548
+ "\x02\x18\x17\x03\x02\x02\x02\x19\x1A\x03\x02\x02\x02\x1A\x18\x03\x02\x02" +
549
+ "\x02\x1A\x1B\x03\x02\x02\x02\x1B\x03\x03\x02\x02\x02\x1C\x1D\x07\x03\x02" +
550
+ "\x02\x1D\x1E\x07\x17\x02\x02\x1E\x05\x03\x02\x02\x02\x1F \x07\x04\x02" +
551
+ "\x02 !\x07\x17\x02\x02!\"\x07\x05\x02\x02\"\'\x05\b\x05\x02#$\x07\x06" +
552
+ "\x02\x02$&\x05\b\x05\x02%#\x03\x02\x02\x02&)\x03\x02\x02\x02\'%\x03\x02" +
553
+ "\x02\x02\'(\x03\x02\x02\x02(3\x03\x02\x02\x02)\'\x03\x02\x02\x02*+\x07" +
554
+ "\x06\x02\x02+0\x05\f\x07\x02,-\x07\x06\x02\x02-/\x05\f\x07\x02.,\x03\x02" +
555
+ "\x02\x02/2\x03\x02\x02\x020.\x03\x02\x02\x0201\x03\x02\x02\x0214\x03\x02" +
556
+ "\x02\x0220\x03\x02\x02\x023*\x03\x02\x02\x0234\x03\x02\x02\x0245\x03\x02" +
557
+ "\x02\x0256\x07\x07\x02\x026\x07\x03\x02\x02\x0278\x07\b\x02\x0289\x07" +
558
+ "\x16\x02\x029:\x07\t\x02\x02:<\x05\x10\t\x02;=\x05\n\x06\x02<;\x03\x02" +
559
+ "\x02\x02<=\x03\x02\x02\x02=\t\x03\x02\x02\x02>?\x07\n\x02\x02?D\x05\x0E" +
560
+ "\b\x02@A\x07\x06\x02\x02AC\x05\x0E\b\x02B@\x03\x02\x02\x02CF\x03\x02\x02" +
561
+ "\x02DB\x03\x02\x02\x02DE\x03\x02\x02\x02EG\x03\x02\x02\x02FD\x03\x02\x02" +
562
+ "\x02GH\x07\v\x02\x02H\v\x03\x02\x02\x02IJ\x07\f\x02\x02JK\x07\x16\x02" +
563
+ "\x02KL\x07\t\x02\x02LN\x07\x17\x02\x02MO\x05\n\x06\x02NM\x03\x02\x02\x02" +
564
+ "NO\x03\x02\x02\x02O\r\x03\x02\x02\x02PQ\t\x02\x02\x02Q\x0F\x03\x02\x02" +
565
+ "\x02RZ\x05\x12\n\x02ST\x05\x12\n\x02TU\x07\x0F\x02\x02UZ\x03\x02\x02\x02" +
566
+ "VW\x05\x12\n\x02WX\x07\x10\x02\x02XZ\x03\x02\x02\x02YR\x03\x02\x02\x02" +
567
+ "YS\x03\x02\x02\x02YV\x03\x02\x02\x02Z\x11\x03\x02\x02\x02[\\\x05\x14\v" +
568
+ "\x02\\\x13\x03\x02\x02\x02]^\t\x03\x02\x02^\x15\x03\x02\x02\x02\n\x1A" +
569
+ "\'03<DNY";
570
+ public static __ATN: ATN;
571
+ public static get _ATN(): ATN {
572
+ if (!BlendMongoParser.__ATN) {
573
+ BlendMongoParser.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(BlendMongoParser._serializedATN));
574
+ }
575
+
576
+ return BlendMongoParser.__ATN;
577
+ }
578
+
579
+ }
580
+
581
+ export class ProgramContext extends ParserRuleContext {
582
+ public moduleDefinition(): ModuleDefinitionContext {
583
+ return this.getRuleContext(0, ModuleDefinitionContext);
584
+ }
585
+ public collectionDefinition(): CollectionDefinitionContext[];
586
+ public collectionDefinition(i: number): CollectionDefinitionContext;
587
+ public collectionDefinition(i?: number): CollectionDefinitionContext | CollectionDefinitionContext[] {
588
+ if (i === undefined) {
589
+ return this.getRuleContexts(CollectionDefinitionContext);
590
+ } else {
591
+ return this.getRuleContext(i, CollectionDefinitionContext);
592
+ }
593
+ }
594
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
595
+ super(parent, invokingState);
596
+ }
597
+ // @Override
598
+ public get ruleIndex(): number { return BlendMongoParser.RULE_program; }
599
+ // @Override
600
+ public enterRule(listener: BlendMongoListener): void {
601
+ if (listener.enterProgram) {
602
+ listener.enterProgram(this);
603
+ }
604
+ }
605
+ // @Override
606
+ public exitRule(listener: BlendMongoListener): void {
607
+ if (listener.exitProgram) {
608
+ listener.exitProgram(this);
609
+ }
610
+ }
611
+ }
612
+
613
+
614
+ export class ModuleDefinitionContext extends ParserRuleContext {
615
+ public CAPITAL_IDENTIFIER(): TerminalNode { return this.getToken(BlendMongoParser.CAPITAL_IDENTIFIER, 0); }
616
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
617
+ super(parent, invokingState);
618
+ }
619
+ // @Override
620
+ public get ruleIndex(): number { return BlendMongoParser.RULE_moduleDefinition; }
621
+ // @Override
622
+ public enterRule(listener: BlendMongoListener): void {
623
+ if (listener.enterModuleDefinition) {
624
+ listener.enterModuleDefinition(this);
625
+ }
626
+ }
627
+ // @Override
628
+ public exitRule(listener: BlendMongoListener): void {
629
+ if (listener.exitModuleDefinition) {
630
+ listener.exitModuleDefinition(this);
631
+ }
632
+ }
633
+ }
634
+
635
+
636
+ export class CollectionDefinitionContext extends ParserRuleContext {
637
+ public CAPITAL_IDENTIFIER(): TerminalNode { return this.getToken(BlendMongoParser.CAPITAL_IDENTIFIER, 0); }
638
+ public property(): PropertyContext[];
639
+ public property(i: number): PropertyContext;
640
+ public property(i?: number): PropertyContext | PropertyContext[] {
641
+ if (i === undefined) {
642
+ return this.getRuleContexts(PropertyContext);
643
+ } else {
644
+ return this.getRuleContext(i, PropertyContext);
645
+ }
646
+ }
647
+ public reference(): ReferenceContext[];
648
+ public reference(i: number): ReferenceContext;
649
+ public reference(i?: number): ReferenceContext | ReferenceContext[] {
650
+ if (i === undefined) {
651
+ return this.getRuleContexts(ReferenceContext);
652
+ } else {
653
+ return this.getRuleContext(i, ReferenceContext);
654
+ }
655
+ }
656
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
657
+ super(parent, invokingState);
658
+ }
659
+ // @Override
660
+ public get ruleIndex(): number { return BlendMongoParser.RULE_collectionDefinition; }
661
+ // @Override
662
+ public enterRule(listener: BlendMongoListener): void {
663
+ if (listener.enterCollectionDefinition) {
664
+ listener.enterCollectionDefinition(this);
665
+ }
666
+ }
667
+ // @Override
668
+ public exitRule(listener: BlendMongoListener): void {
669
+ if (listener.exitCollectionDefinition) {
670
+ listener.exitCollectionDefinition(this);
671
+ }
672
+ }
673
+ }
674
+
675
+
676
+ export class PropertyContext extends ParserRuleContext {
677
+ public IDENTIFIER(): TerminalNode { return this.getToken(BlendMongoParser.IDENTIFIER, 0); }
678
+ public type(): TypeContext {
679
+ return this.getRuleContext(0, TypeContext);
680
+ }
681
+ public propertyChars(): PropertyCharsContext | undefined {
682
+ return this.tryGetRuleContext(0, PropertyCharsContext);
683
+ }
684
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
685
+ super(parent, invokingState);
686
+ }
687
+ // @Override
688
+ public get ruleIndex(): number { return BlendMongoParser.RULE_property; }
689
+ // @Override
690
+ public enterRule(listener: BlendMongoListener): void {
691
+ if (listener.enterProperty) {
692
+ listener.enterProperty(this);
693
+ }
694
+ }
695
+ // @Override
696
+ public exitRule(listener: BlendMongoListener): void {
697
+ if (listener.exitProperty) {
698
+ listener.exitProperty(this);
699
+ }
700
+ }
701
+ }
702
+
703
+
704
+ export class PropertyCharsContext extends ParserRuleContext {
705
+ public mongoChars(): MongoCharsContext[];
706
+ public mongoChars(i: number): MongoCharsContext;
707
+ public mongoChars(i?: number): MongoCharsContext | MongoCharsContext[] {
708
+ if (i === undefined) {
709
+ return this.getRuleContexts(MongoCharsContext);
710
+ } else {
711
+ return this.getRuleContext(i, MongoCharsContext);
712
+ }
713
+ }
714
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
715
+ super(parent, invokingState);
716
+ }
717
+ // @Override
718
+ public get ruleIndex(): number { return BlendMongoParser.RULE_propertyChars; }
719
+ // @Override
720
+ public enterRule(listener: BlendMongoListener): void {
721
+ if (listener.enterPropertyChars) {
722
+ listener.enterPropertyChars(this);
723
+ }
724
+ }
725
+ // @Override
726
+ public exitRule(listener: BlendMongoListener): void {
727
+ if (listener.exitPropertyChars) {
728
+ listener.exitPropertyChars(this);
729
+ }
730
+ }
731
+ }
732
+
733
+
734
+ export class ReferenceContext extends ParserRuleContext {
735
+ public IDENTIFIER(): TerminalNode { return this.getToken(BlendMongoParser.IDENTIFIER, 0); }
736
+ public CAPITAL_IDENTIFIER(): TerminalNode { return this.getToken(BlendMongoParser.CAPITAL_IDENTIFIER, 0); }
737
+ public propertyChars(): PropertyCharsContext | undefined {
738
+ return this.tryGetRuleContext(0, PropertyCharsContext);
739
+ }
740
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
741
+ super(parent, invokingState);
742
+ }
743
+ // @Override
744
+ public get ruleIndex(): number { return BlendMongoParser.RULE_reference; }
745
+ // @Override
746
+ public enterRule(listener: BlendMongoListener): void {
747
+ if (listener.enterReference) {
748
+ listener.enterReference(this);
749
+ }
750
+ }
751
+ // @Override
752
+ public exitRule(listener: BlendMongoListener): void {
753
+ if (listener.exitReference) {
754
+ listener.exitReference(this);
755
+ }
756
+ }
757
+ }
758
+
759
+
760
+ export class MongoCharsContext extends ParserRuleContext {
761
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
762
+ super(parent, invokingState);
763
+ }
764
+ // @Override
765
+ public get ruleIndex(): number { return BlendMongoParser.RULE_mongoChars; }
766
+ // @Override
767
+ public enterRule(listener: BlendMongoListener): void {
768
+ if (listener.enterMongoChars) {
769
+ listener.enterMongoChars(this);
770
+ }
771
+ }
772
+ // @Override
773
+ public exitRule(listener: BlendMongoListener): void {
774
+ if (listener.exitMongoChars) {
775
+ listener.exitMongoChars(this);
776
+ }
777
+ }
778
+ }
779
+
780
+
781
+ export class TypeContext extends ParserRuleContext {
782
+ public baseType(): BaseTypeContext {
783
+ return this.getRuleContext(0, BaseTypeContext);
784
+ }
785
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
786
+ super(parent, invokingState);
787
+ }
788
+ // @Override
789
+ public get ruleIndex(): number { return BlendMongoParser.RULE_type; }
790
+ // @Override
791
+ public enterRule(listener: BlendMongoListener): void {
792
+ if (listener.enterType) {
793
+ listener.enterType(this);
794
+ }
795
+ }
796
+ // @Override
797
+ public exitRule(listener: BlendMongoListener): void {
798
+ if (listener.exitType) {
799
+ listener.exitType(this);
800
+ }
801
+ }
802
+ }
803
+
804
+
805
+ export class BaseTypeContext extends ParserRuleContext {
806
+ public primitiveType(): PrimitiveTypeContext {
807
+ return this.getRuleContext(0, PrimitiveTypeContext);
808
+ }
809
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
810
+ super(parent, invokingState);
811
+ }
812
+ // @Override
813
+ public get ruleIndex(): number { return BlendMongoParser.RULE_baseType; }
814
+ // @Override
815
+ public enterRule(listener: BlendMongoListener): void {
816
+ if (listener.enterBaseType) {
817
+ listener.enterBaseType(this);
818
+ }
819
+ }
820
+ // @Override
821
+ public exitRule(listener: BlendMongoListener): void {
822
+ if (listener.exitBaseType) {
823
+ listener.exitBaseType(this);
824
+ }
825
+ }
826
+ }
827
+
828
+
829
+ export class PrimitiveTypeContext extends ParserRuleContext {
830
+ constructor(parent: ParserRuleContext | undefined, invokingState: number) {
831
+ super(parent, invokingState);
832
+ }
833
+ // @Override
834
+ public get ruleIndex(): number { return BlendMongoParser.RULE_primitiveType; }
835
+ // @Override
836
+ public enterRule(listener: BlendMongoListener): void {
837
+ if (listener.enterPrimitiveType) {
838
+ listener.enterPrimitiveType(this);
839
+ }
840
+ }
841
+ // @Override
842
+ public exitRule(listener: BlendMongoListener): void {
843
+ if (listener.exitPrimitiveType) {
844
+ listener.exitPrimitiveType(this);
845
+ }
846
+ }
847
+ }
848
+
849
+