@webda/core 2.4.2 → 3.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 (227) hide show
  1. package/lib/application.d.ts +171 -34
  2. package/lib/application.js +243 -47
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +44 -8
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +113 -54
  7. package/lib/core.js +222 -135
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +87 -43
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/errors.d.ts +65 -0
  12. package/lib/errors.js +113 -0
  13. package/lib/errors.js.map +1 -0
  14. package/lib/errors.spec.d.ts +1 -0
  15. package/lib/errors.spec.js +33 -0
  16. package/lib/errors.spec.js.map +1 -0
  17. package/lib/index.d.ts +3 -0
  18. package/lib/index.js +3 -0
  19. package/lib/index.js.map +1 -1
  20. package/lib/models/aclmodel.d.ts +4 -4
  21. package/lib/models/aclmodel.js +10 -6
  22. package/lib/models/aclmodel.js.map +1 -1
  23. package/lib/models/aclmodel.spec.js +33 -24
  24. package/lib/models/aclmodel.spec.js.map +1 -1
  25. package/lib/models/coremodel.d.ts +284 -92
  26. package/lib/models/coremodel.js +403 -103
  27. package/lib/models/coremodel.js.map +1 -1
  28. package/lib/models/coremodel.spec.js +162 -24
  29. package/lib/models/coremodel.spec.js.map +1 -1
  30. package/lib/models/ident.d.ts +20 -6
  31. package/lib/models/ident.js.map +1 -1
  32. package/lib/models/ownermodel.d.ts +13 -23
  33. package/lib/models/ownermodel.js +24 -51
  34. package/lib/models/ownermodel.js.map +1 -1
  35. package/lib/models/ownermodel.spec.js +23 -11
  36. package/lib/models/ownermodel.spec.js.map +1 -1
  37. package/lib/models/relations.d.ts +167 -0
  38. package/lib/models/relations.js +113 -0
  39. package/lib/models/relations.js.map +1 -0
  40. package/lib/models/rolemodel.d.ts +3 -3
  41. package/lib/models/rolemodel.js +6 -6
  42. package/lib/models/rolemodel.js.map +1 -1
  43. package/lib/models/rolemodel.spec.js +12 -12
  44. package/lib/models/rolemodel.spec.js.map +1 -1
  45. package/lib/models/user.d.ts +40 -24
  46. package/lib/models/user.js +74 -48
  47. package/lib/models/user.js.map +1 -1
  48. package/lib/models/user.spec.js +24 -4
  49. package/lib/models/user.spec.js.map +1 -1
  50. package/lib/queues/memoryqueue.spec.js +9 -5
  51. package/lib/queues/memoryqueue.spec.js.map +1 -1
  52. package/lib/queues/queueservice.js.map +1 -1
  53. package/lib/router.d.ts +17 -8
  54. package/lib/router.js +81 -9
  55. package/lib/router.js.map +1 -1
  56. package/lib/router.spec.js +89 -5
  57. package/lib/router.spec.js.map +1 -1
  58. package/lib/services/asyncevents.spec.js +4 -4
  59. package/lib/services/authentication.d.ts +21 -22
  60. package/lib/services/authentication.js +90 -109
  61. package/lib/services/authentication.js.map +1 -1
  62. package/lib/services/authentication.spec.js +51 -65
  63. package/lib/services/authentication.spec.js.map +1 -1
  64. package/lib/services/binary.d.ts +132 -31
  65. package/lib/services/binary.js +257 -72
  66. package/lib/services/binary.js.map +1 -1
  67. package/lib/services/binary.spec.d.ts +16 -6
  68. package/lib/services/binary.spec.js +44 -117
  69. package/lib/services/binary.spec.js.map +1 -1
  70. package/lib/services/cloudbinary.d.ts +9 -10
  71. package/lib/services/cloudbinary.js +14 -15
  72. package/lib/services/cloudbinary.js.map +1 -1
  73. package/lib/services/cloudbinary.spec.d.ts +2 -2
  74. package/lib/services/cloudbinary.spec.js +13 -12
  75. package/lib/services/cloudbinary.spec.js.map +1 -1
  76. package/lib/services/configuration.js +9 -9
  77. package/lib/services/configuration.js.map +1 -1
  78. package/lib/services/configuration.spec.js +5 -7
  79. package/lib/services/configuration.spec.js.map +1 -1
  80. package/lib/services/cron.spec.js +3 -4
  81. package/lib/services/cron.spec.js.map +1 -1
  82. package/lib/services/cryptoservice.d.ts +2 -2
  83. package/lib/services/cryptoservice.js +5 -2
  84. package/lib/services/cryptoservice.js.map +1 -1
  85. package/lib/services/domainservice.d.ts +113 -0
  86. package/lib/services/domainservice.js +357 -0
  87. package/lib/services/domainservice.js.map +1 -0
  88. package/lib/services/domainservice.spec.d.ts +1 -0
  89. package/lib/services/domainservice.spec.js +334 -0
  90. package/lib/services/domainservice.spec.js.map +1 -0
  91. package/lib/services/echo.d.ts +2 -2
  92. package/lib/services/echo.js.map +1 -1
  93. package/lib/services/echo.spec.js +9 -2
  94. package/lib/services/echo.spec.js.map +1 -1
  95. package/lib/services/filebinary.d.ts +13 -14
  96. package/lib/services/filebinary.js +79 -73
  97. package/lib/services/filebinary.js.map +1 -1
  98. package/lib/services/filebinary.spec.d.ts +5 -0
  99. package/lib/services/filebinary.spec.js +222 -11
  100. package/lib/services/filebinary.spec.js.map +1 -1
  101. package/lib/services/fileconfiguration.js +4 -4
  102. package/lib/services/fileconfiguration.js.map +1 -1
  103. package/lib/services/fileconfiguration.spec.js +23 -24
  104. package/lib/services/fileconfiguration.spec.js.map +1 -1
  105. package/lib/services/invitationservice.d.ts +11 -9
  106. package/lib/services/invitationservice.js +17 -23
  107. package/lib/services/invitationservice.js.map +1 -1
  108. package/lib/services/invitationservice.spec.js +43 -40
  109. package/lib/services/invitationservice.spec.js.map +1 -1
  110. package/lib/services/kubernetesconfiguration.js +12 -22
  111. package/lib/services/kubernetesconfiguration.js.map +1 -1
  112. package/lib/services/kubernetesconfiguration.spec.js +1 -6
  113. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  114. package/lib/services/mailer.js +1 -1
  115. package/lib/services/mailer.js.map +1 -1
  116. package/lib/services/mailer.spec.js +4 -1
  117. package/lib/services/mailer.spec.js.map +1 -1
  118. package/lib/services/oauth.d.ts +17 -9
  119. package/lib/services/oauth.js +30 -4
  120. package/lib/services/oauth.js.map +1 -1
  121. package/lib/services/oauth.spec.js +32 -15
  122. package/lib/services/oauth.spec.js.map +1 -1
  123. package/lib/services/prometheus.spec.js.map +1 -1
  124. package/lib/services/proxy.d.ts +9 -8
  125. package/lib/services/proxy.js +65 -36
  126. package/lib/services/proxy.js.map +1 -1
  127. package/lib/services/proxy.spec.js +28 -2
  128. package/lib/services/proxy.spec.js.map +1 -1
  129. package/lib/services/resource.d.ts +3 -3
  130. package/lib/services/resource.js +4 -3
  131. package/lib/services/resource.js.map +1 -1
  132. package/lib/services/resource.spec.js +3 -3
  133. package/lib/services/resource.spec.js.map +1 -1
  134. package/lib/services/service.d.ts +10 -13
  135. package/lib/services/service.js +29 -13
  136. package/lib/services/service.js.map +1 -1
  137. package/lib/services/service.spec.js +49 -11
  138. package/lib/services/service.spec.js.map +1 -1
  139. package/lib/services/version.d.ts +2 -2
  140. package/lib/services/version.js.map +1 -1
  141. package/lib/stores/aggregator.js +1 -0
  142. package/lib/stores/aggregator.js.map +1 -1
  143. package/lib/stores/aliasstore.d.ts +2 -2
  144. package/lib/stores/aliasstore.js +15 -4
  145. package/lib/stores/aliasstore.js.map +1 -1
  146. package/lib/stores/aliasstore.spec.js +4 -2
  147. package/lib/stores/aliasstore.spec.js.map +1 -1
  148. package/lib/stores/file.d.ts +5 -2
  149. package/lib/stores/file.js +11 -8
  150. package/lib/stores/file.js.map +1 -1
  151. package/lib/stores/file.spec.js +21 -34
  152. package/lib/stores/file.spec.js.map +1 -1
  153. package/lib/stores/mapper.d.ts +4 -2
  154. package/lib/stores/mapper.js +18 -11
  155. package/lib/stores/mapper.js.map +1 -1
  156. package/lib/stores/mapper.spec.js +6 -3
  157. package/lib/stores/mapper.spec.js.map +1 -1
  158. package/lib/stores/memory.d.ts +5 -2
  159. package/lib/stores/memory.js +11 -9
  160. package/lib/stores/memory.js.map +1 -1
  161. package/lib/stores/memory.spec.d.ts +3 -0
  162. package/lib/stores/memory.spec.js +100 -11
  163. package/lib/stores/memory.spec.js.map +1 -1
  164. package/lib/stores/store.d.ts +177 -87
  165. package/lib/stores/store.js +312 -141
  166. package/lib/stores/store.js.map +1 -1
  167. package/lib/stores/store.spec.d.ts +2 -2
  168. package/lib/stores/store.spec.js +54 -38
  169. package/lib/stores/store.spec.js.map +1 -1
  170. package/lib/stores/webdaql/WebdaQLLexer.d.ts +14 -13
  171. package/lib/stores/webdaql/WebdaQLLexer.js +121 -112
  172. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  173. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +14 -13
  174. package/lib/stores/webdaql/WebdaQLParserLexer.js +121 -112
  175. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  176. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +15 -3
  177. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +23 -13
  178. package/lib/stores/webdaql/WebdaQLParserParser.js +149 -94
  179. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  180. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +9 -2
  181. package/lib/stores/webdaql/query.d.ts +6 -2
  182. package/lib/stores/webdaql/query.js +14 -1
  183. package/lib/stores/webdaql/query.js.map +1 -1
  184. package/lib/stores/webdaql/query.spec.js +10 -1
  185. package/lib/stores/webdaql/query.spec.js.map +1 -1
  186. package/lib/test.d.ts +48 -19
  187. package/lib/test.js +171 -63
  188. package/lib/test.js.map +1 -1
  189. package/lib/unpackedapplication.d.ts +5 -0
  190. package/lib/unpackedapplication.js +58 -10
  191. package/lib/unpackedapplication.js.map +1 -1
  192. package/lib/utils/context.d.ts +76 -29
  193. package/lib/utils/context.js +91 -55
  194. package/lib/utils/context.js.map +1 -1
  195. package/lib/utils/context.spec.d.ts +9 -1
  196. package/lib/utils/context.spec.js +73 -8
  197. package/lib/utils/context.spec.js.map +1 -1
  198. package/lib/utils/cookie.d.ts +4 -5
  199. package/lib/utils/cookie.js +1 -2
  200. package/lib/utils/cookie.js.map +1 -1
  201. package/lib/utils/cookie.spec.js +5 -3
  202. package/lib/utils/cookie.spec.js.map +1 -1
  203. package/lib/utils/httpcontext.spec.js +9 -3
  204. package/lib/utils/httpcontext.spec.js.map +1 -1
  205. package/lib/utils/serializers.d.ts +46 -17
  206. package/lib/utils/serializers.js +116 -2
  207. package/lib/utils/serializers.js.map +1 -1
  208. package/lib/utils/serializers.spec.js +84 -20
  209. package/lib/utils/serializers.spec.js.map +1 -1
  210. package/lib/utils/session.d.ts +14 -8
  211. package/lib/utils/session.js +14 -3
  212. package/lib/utils/session.js.map +1 -1
  213. package/lib/utils/session.spec.js +6 -1
  214. package/lib/utils/session.spec.js.map +1 -1
  215. package/package.json +16 -10
  216. package/test/cachedapp/webda.config.json +6 -1
  217. package/test/config-cached.json +5 -0
  218. package/test/config-file-missing-file.json +5 -7
  219. package/test/config-file-no-reload.json +5 -7
  220. package/test/config-file-reload.json +5 -7
  221. package/test/config-kube-reload.json +5 -11
  222. package/test/config-reload.json +2 -4
  223. package/test/config.json +12 -2
  224. package/test/moddas/voidstore.js +1 -1
  225. package/test/models/ident.js +6 -4
  226. package/test/models/task.js +4 -4
  227. package/webda.module.json +1587 -1266
@@ -3,13 +3,14 @@ import { ATN } from "antlr4ts/atn/ATN.js";
3
3
  import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer.js";
4
4
  import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator.js";
5
5
  import { FailedPredicateException } from "antlr4ts/FailedPredicateException.js";
6
- import * as Utils from "antlr4ts/misc/Utils.js";
7
6
  import { NoViableAltException } from "antlr4ts/NoViableAltException.js";
8
7
  import { Parser } from "antlr4ts/Parser.js";
9
8
  import { ParserRuleContext } from "antlr4ts/ParserRuleContext.js";
10
9
  import { RecognitionException } from "antlr4ts/RecognitionException.js";
10
+ //import { RuleVersion } from "antlr4ts/RuleVersion";
11
11
  import { Token } from "antlr4ts/Token.js";
12
12
  import { VocabularyImpl } from "antlr4ts/VocabularyImpl.js";
13
+ import * as Utils from "antlr4ts/misc/Utils.js";
13
14
  export class WebdaQLParserParser extends Parser {
14
15
  // @Override
15
16
  // @NotNull
@@ -272,7 +273,7 @@ export class WebdaQLParserParser extends Parser {
272
273
  let _alt;
273
274
  this.enterOuterAlt(_localctx, 1);
274
275
  {
275
- this.state = 77;
276
+ this.state = 81;
276
277
  this._errHandler.sync(this);
277
278
  switch (this.interpreter.adaptivePredict(this._input, 6, this._ctx)) {
278
279
  case 1:
@@ -303,12 +304,25 @@ export class WebdaQLParserParser extends Parser {
303
304
  break;
304
305
  case 3:
305
306
  {
306
- _localctx = new BinaryComparisonExpressionContext(_localctx);
307
+ _localctx = new ContainsExpressionContext(_localctx);
307
308
  this._ctx = _localctx;
308
309
  _prevctx = _localctx;
309
310
  this.state = 68;
310
311
  this.identifier();
311
312
  this.state = 69;
313
+ this.match(WebdaQLParserParser.CONTAINS);
314
+ this.state = 70;
315
+ this.stringLiteral();
316
+ }
317
+ break;
318
+ case 4:
319
+ {
320
+ _localctx = new BinaryComparisonExpressionContext(_localctx);
321
+ this._ctx = _localctx;
322
+ _prevctx = _localctx;
323
+ this.state = 72;
324
+ this.identifier();
325
+ this.state = 73;
312
326
  _la = this._input.LA(1);
313
327
  if (!((_la & ~0x1f) === 0 &&
314
328
  ((1 << _la) &
@@ -328,35 +342,35 @@ export class WebdaQLParserParser extends Parser {
328
342
  this._errHandler.reportMatch(this);
329
343
  this.consume();
330
344
  }
331
- this.state = 70;
345
+ this.state = 74;
332
346
  this.values();
333
347
  }
334
348
  break;
335
- case 4:
349
+ case 5:
336
350
  {
337
351
  _localctx = new SubExpressionContext(_localctx);
338
352
  this._ctx = _localctx;
339
353
  _prevctx = _localctx;
340
- this.state = 72;
354
+ this.state = 76;
341
355
  this.match(WebdaQLParserParser.LR_BRACKET);
342
- this.state = 73;
356
+ this.state = 77;
343
357
  this.expression(0);
344
- this.state = 74;
358
+ this.state = 78;
345
359
  this.match(WebdaQLParserParser.RR_BRACKET);
346
360
  }
347
361
  break;
348
- case 5:
362
+ case 6:
349
363
  {
350
364
  _localctx = new AtomExpressionContext(_localctx);
351
365
  this._ctx = _localctx;
352
366
  _prevctx = _localctx;
353
- this.state = 76;
367
+ this.state = 80;
354
368
  this.atom();
355
369
  }
356
370
  break;
357
371
  }
358
372
  this._ctx._stop = this._input.tryLT(-1);
359
- this.state = 87;
373
+ this.state = 91;
360
374
  this._errHandler.sync(this);
361
375
  _alt = this.interpreter.adaptivePredict(this._input, 8, this._ctx);
362
376
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
@@ -366,20 +380,20 @@ export class WebdaQLParserParser extends Parser {
366
380
  }
367
381
  _prevctx = _localctx;
368
382
  {
369
- this.state = 85;
383
+ this.state = 89;
370
384
  this._errHandler.sync(this);
371
385
  switch (this.interpreter.adaptivePredict(this._input, 7, this._ctx)) {
372
386
  case 1:
373
387
  {
374
388
  _localctx = new AndLogicExpressionContext(new ExpressionContext(_parentctx, _parentState));
375
389
  this.pushNewRecursionContext(_localctx, _startState, WebdaQLParserParser.RULE_expression);
376
- this.state = 79;
390
+ this.state = 83;
377
391
  if (!this.precpred(this._ctx, 4)) {
378
392
  throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
379
393
  }
380
- this.state = 80;
394
+ this.state = 84;
381
395
  this.match(WebdaQLParserParser.AND);
382
- this.state = 81;
396
+ this.state = 85;
383
397
  this.expression(5);
384
398
  }
385
399
  break;
@@ -387,20 +401,20 @@ export class WebdaQLParserParser extends Parser {
387
401
  {
388
402
  _localctx = new OrLogicExpressionContext(new ExpressionContext(_parentctx, _parentState));
389
403
  this.pushNewRecursionContext(_localctx, _startState, WebdaQLParserParser.RULE_expression);
390
- this.state = 82;
404
+ this.state = 86;
391
405
  if (!this.precpred(this._ctx, 3)) {
392
406
  throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
393
407
  }
394
- this.state = 83;
408
+ this.state = 87;
395
409
  this.match(WebdaQLParserParser.OR);
396
- this.state = 84;
410
+ this.state = 88;
397
411
  this.expression(4);
398
412
  }
399
413
  break;
400
414
  }
401
415
  }
402
416
  }
403
- this.state = 89;
417
+ this.state = 93;
404
418
  this._errHandler.sync(this);
405
419
  _alt = this.interpreter.adaptivePredict(this._input, 8, this._ctx);
406
420
  }
@@ -426,7 +440,7 @@ export class WebdaQLParserParser extends Parser {
426
440
  let _localctx = new ValuesContext(this._ctx, this.state);
427
441
  this.enterRule(_localctx, 12, WebdaQLParserParser.RULE_values);
428
442
  try {
429
- this.state = 93;
443
+ this.state = 97;
430
444
  this._errHandler.sync(this);
431
445
  switch (this._input.LA(1)) {
432
446
  case WebdaQLParserParser.TRUE:
@@ -434,7 +448,7 @@ export class WebdaQLParserParser extends Parser {
434
448
  _localctx = new BooleanAtomContext(_localctx);
435
449
  this.enterOuterAlt(_localctx, 1);
436
450
  {
437
- this.state = 90;
451
+ this.state = 94;
438
452
  this.booleanLiteral();
439
453
  }
440
454
  break;
@@ -442,7 +456,7 @@ export class WebdaQLParserParser extends Parser {
442
456
  _localctx = new IntegerAtomContext(_localctx);
443
457
  this.enterOuterAlt(_localctx, 2);
444
458
  {
445
- this.state = 91;
459
+ this.state = 95;
446
460
  this.integerLiteral();
447
461
  }
448
462
  break;
@@ -451,7 +465,7 @@ export class WebdaQLParserParser extends Parser {
451
465
  _localctx = new StringAtomContext(_localctx);
452
466
  this.enterOuterAlt(_localctx, 3);
453
467
  {
454
- this.state = 92;
468
+ this.state = 96;
455
469
  this.stringLiteral();
456
470
  }
457
471
  break;
@@ -479,7 +493,7 @@ export class WebdaQLParserParser extends Parser {
479
493
  let _localctx = new AtomContext(this._ctx, this.state);
480
494
  this.enterRule(_localctx, 14, WebdaQLParserParser.RULE_atom);
481
495
  try {
482
- this.state = 97;
496
+ this.state = 101;
483
497
  this._errHandler.sync(this);
484
498
  switch (this._input.LA(1)) {
485
499
  case WebdaQLParserParser.TRUE:
@@ -490,7 +504,7 @@ export class WebdaQLParserParser extends Parser {
490
504
  _localctx = new ValuesAtomContext(_localctx);
491
505
  this.enterOuterAlt(_localctx, 1);
492
506
  {
493
- this.state = 95;
507
+ this.state = 99;
494
508
  this.values();
495
509
  }
496
510
  break;
@@ -499,7 +513,7 @@ export class WebdaQLParserParser extends Parser {
499
513
  _localctx = new IdentifierAtomContext(_localctx);
500
514
  this.enterOuterAlt(_localctx, 2);
501
515
  {
502
- this.state = 96;
516
+ this.state = 100;
503
517
  this.identifier();
504
518
  }
505
519
  break;
@@ -530,7 +544,7 @@ export class WebdaQLParserParser extends Parser {
530
544
  try {
531
545
  this.enterOuterAlt(_localctx, 1);
532
546
  {
533
- this.state = 99;
547
+ this.state = 103;
534
548
  _la = this._input.LA(1);
535
549
  if (!(_la === WebdaQLParserParser.IDENTIFIER || _la === WebdaQLParserParser.IDENTIFIER_WITH_NUMBER)) {
536
550
  this._errHandler.recoverInline(this);
@@ -567,7 +581,7 @@ export class WebdaQLParserParser extends Parser {
567
581
  try {
568
582
  this.enterOuterAlt(_localctx, 1);
569
583
  {
570
- this.state = 101;
584
+ this.state = 105;
571
585
  _la = this._input.LA(1);
572
586
  if (!(_la === WebdaQLParserParser.TRUE || _la === WebdaQLParserParser.FALSE)) {
573
587
  this._errHandler.recoverInline(this);
@@ -604,7 +618,7 @@ export class WebdaQLParserParser extends Parser {
604
618
  try {
605
619
  this.enterOuterAlt(_localctx, 1);
606
620
  {
607
- this.state = 103;
621
+ this.state = 107;
608
622
  _la = this._input.LA(1);
609
623
  if (!(_la === WebdaQLParserParser.DQUOTED_STRING_LITERAL || _la === WebdaQLParserParser.SQUOTED_STRING_LITERAL)) {
610
624
  this._errHandler.recoverInline(this);
@@ -640,7 +654,7 @@ export class WebdaQLParserParser extends Parser {
640
654
  try {
641
655
  this.enterOuterAlt(_localctx, 1);
642
656
  {
643
- this.state = 105;
657
+ this.state = 109;
644
658
  this.match(WebdaQLParserParser.INTEGER_LITERAL);
645
659
  }
646
660
  }
@@ -667,27 +681,27 @@ export class WebdaQLParserParser extends Parser {
667
681
  try {
668
682
  this.enterOuterAlt(_localctx, 1);
669
683
  {
670
- this.state = 107;
684
+ this.state = 111;
671
685
  this.match(WebdaQLParserParser.LR_SQ_BRACKET);
672
- this.state = 108;
686
+ this.state = 112;
673
687
  this.values();
674
- this.state = 113;
688
+ this.state = 117;
675
689
  this._errHandler.sync(this);
676
690
  _la = this._input.LA(1);
677
691
  while (_la === WebdaQLParserParser.COMMA) {
678
692
  {
679
693
  {
680
- this.state = 109;
694
+ this.state = 113;
681
695
  this.match(WebdaQLParserParser.COMMA);
682
- this.state = 110;
696
+ this.state = 114;
683
697
  this.values();
684
698
  }
685
699
  }
686
- this.state = 115;
700
+ this.state = 119;
687
701
  this._errHandler.sync(this);
688
702
  _la = this._input.LA(1);
689
703
  }
690
- this.state = 116;
704
+ this.state = 120;
691
705
  this.match(WebdaQLParserParser.RR_SQ_BRACKET);
692
706
  }
693
707
  }
@@ -747,19 +761,20 @@ WebdaQLParserParser.LESS = 15;
747
761
  WebdaQLParserParser.LESS_OR_EQUAL = 16;
748
762
  WebdaQLParserParser.LIKE = 17;
749
763
  WebdaQLParserParser.IN = 18;
750
- WebdaQLParserParser.TRUE = 19;
751
- WebdaQLParserParser.FALSE = 20;
752
- WebdaQLParserParser.LIMIT = 21;
753
- WebdaQLParserParser.OFFSET = 22;
754
- WebdaQLParserParser.ORDER_BY = 23;
755
- WebdaQLParserParser.ASC = 24;
756
- WebdaQLParserParser.DESC = 25;
757
- WebdaQLParserParser.DQUOTED_STRING_LITERAL = 26;
758
- WebdaQLParserParser.SQUOTED_STRING_LITERAL = 27;
759
- WebdaQLParserParser.INTEGER_LITERAL = 28;
760
- WebdaQLParserParser.IDENTIFIER = 29;
761
- WebdaQLParserParser.IDENTIFIER_WITH_NUMBER = 30;
762
- WebdaQLParserParser.FUNCTION_IDENTIFIER_WITH_UNDERSCORE = 31;
764
+ WebdaQLParserParser.CONTAINS = 19;
765
+ WebdaQLParserParser.TRUE = 20;
766
+ WebdaQLParserParser.FALSE = 21;
767
+ WebdaQLParserParser.LIMIT = 22;
768
+ WebdaQLParserParser.OFFSET = 23;
769
+ WebdaQLParserParser.ORDER_BY = 24;
770
+ WebdaQLParserParser.ASC = 25;
771
+ WebdaQLParserParser.DESC = 26;
772
+ WebdaQLParserParser.DQUOTED_STRING_LITERAL = 27;
773
+ WebdaQLParserParser.SQUOTED_STRING_LITERAL = 28;
774
+ WebdaQLParserParser.INTEGER_LITERAL = 29;
775
+ WebdaQLParserParser.IDENTIFIER = 30;
776
+ WebdaQLParserParser.IDENTIFIER_WITH_NUMBER = 31;
777
+ WebdaQLParserParser.FUNCTION_IDENTIFIER_WITH_UNDERSCORE = 32;
763
778
  WebdaQLParserParser.RULE_webdaql = 0;
764
779
  WebdaQLParserParser.RULE_limitExpression = 1;
765
780
  WebdaQLParserParser.RULE_offsetExpression = 2;
@@ -809,6 +824,7 @@ WebdaQLParserParser._LITERAL_NAMES = [
809
824
  "'<='",
810
825
  "'LIKE'",
811
826
  "'IN'",
827
+ "'CONTAINS'",
812
828
  "'TRUE'",
813
829
  "'FALSE'",
814
830
  "'LIMIT'",
@@ -837,6 +853,7 @@ WebdaQLParserParser._SYMBOLIC_NAMES = [
837
853
  "LESS_OR_EQUAL",
838
854
  "LIKE",
839
855
  "IN",
856
+ "CONTAINS",
840
857
  "TRUE",
841
858
  "FALSE",
842
859
  "LIMIT",
@@ -852,54 +869,56 @@ WebdaQLParserParser._SYMBOLIC_NAMES = [
852
869
  "FUNCTION_IDENTIFIER_WITH_UNDERSCORE"
853
870
  ];
854
871
  WebdaQLParserParser.VOCABULARY = new VocabularyImpl(WebdaQLParserParser._LITERAL_NAMES, WebdaQLParserParser._SYMBOLIC_NAMES, []);
855
- WebdaQLParserParser._serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03!y\x04\x02\t\x02" +
856
- "\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t\x07" +
857
- "\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04\x0E\t" +
858
- "\x0E\x03\x02\x05\x02\x1E\n\x02\x03\x02\x05\x02!\n\x02\x03\x02\x05\x02" +
872
+ WebdaQLParserParser._serializedATN = '\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03"}\x04\x02\t' +
873
+ "\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t" +
874
+ "\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04\x0E" +
875
+ "\t\x0E\x03\x02\x05\x02\x1E\n\x02\x03\x02\x05\x02!\n\x02\x03\x02\x05\x02" +
859
876
  "$\n\x02\x03\x02\x05\x02'\n\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03" +
860
877
  "\x03\x04\x03\x04\x03\x04\x03\x05\x03\x05\x05\x053\n\x05\x03\x06\x03\x06" +
861
878
  "\x03\x06\x03\x06\x07\x069\n\x06\f\x06\x0E\x06<\v\x06\x03\x07\x03\x07\x03" +
862
879
  "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03" +
863
- "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x05\x07P\n\x07\x03" +
864
- "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x07\x07X\n\x07\f\x07\x0E" +
865
- "\x07[\v\x07\x03\b\x03\b\x03\b\x05\b`\n\b\x03\t\x03\t\x05\td\n\t\x03\n" +
866
- "\x03\n\x03\v\x03\v\x03\f\x03\f\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0E\x03" +
867
- "\x0E\x07\x0Er\n\x0E\f\x0E\x0E\x0Eu\v\x0E\x03\x0E\x03\x0E\x03\x0E\x02\x02" +
868
- "\x03\f\x0F\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0E\x02\x10\x02\x12" +
869
- "\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x02\x07\x03\x02\x1A\x1B\x03\x02\r" +
870
- "\x12\x03\x02\x1F \x03\x02\x15\x16\x03\x02\x1C\x1D\x02{\x02\x1D\x03\x02" +
871
- "\x02\x02\x04*\x03\x02\x02\x02\x06-\x03\x02\x02\x02\b0\x03\x02\x02\x02" +
872
- "\n4\x03\x02\x02\x02\fO\x03\x02\x02\x02\x0E_\x03\x02\x02\x02\x10c\x03\x02" +
873
- "\x02\x02\x12e\x03\x02\x02\x02\x14g\x03\x02\x02\x02\x16i\x03\x02\x02\x02" +
874
- "\x18k\x03\x02\x02\x02\x1Am\x03\x02\x02\x02\x1C\x1E\x05\f\x07\x02\x1D\x1C" +
875
- "\x03\x02\x02\x02\x1D\x1E\x03\x02\x02\x02\x1E \x03\x02\x02\x02\x1F!\x05" +
876
- '\n\x06\x02 \x1F\x03\x02\x02\x02 !\x03\x02\x02\x02!#\x03\x02\x02\x02"' +
877
- '$\x05\x04\x03\x02#"\x03\x02\x02\x02#$\x03\x02\x02\x02$&\x03\x02\x02\x02' +
878
- "%'\x05\x06\x04\x02&%\x03\x02\x02\x02&'\x03\x02\x02\x02'(\x03\x02\x02" +
879
- "\x02()\x07\x02\x02\x03)\x03\x03\x02\x02\x02*+\x07\x17\x02\x02+,\x05\x18" +
880
- "\r\x02,\x05\x03\x02\x02\x02-.\x07\x18\x02\x02./\x05\x16\f\x02/\x07\x03" +
881
- "\x02\x02\x0202\x05\x12\n\x0213\t\x02\x02\x0221\x03\x02\x02\x0223\x03\x02" +
882
- "\x02\x023\t\x03\x02\x02\x0245\x07\x19\x02\x025:\x05\b\x05\x0267\x07\x06" +
883
- "\x02\x0279\x05\b\x05\x0286\x03\x02\x02\x029<\x03\x02\x02\x02:8\x03\x02" +
884
- "\x02\x02:;\x03\x02\x02\x02;\v\x03\x02\x02\x02<:\x03\x02\x02\x02=>\b\x07" +
885
- "\x01\x02>?\x05\x12\n\x02?@\x07\x13\x02\x02@A\x05\x16\f\x02AP\x03\x02\x02" +
886
- "\x02BC\x05\x12\n\x02CD\x07\x14\x02\x02DE\x05\x1A\x0E\x02EP\x03\x02\x02" +
887
- "\x02FG\x05\x12\n\x02GH\t\x03\x02\x02HI\x05\x0E\b\x02IP\x03\x02\x02\x02" +
888
- "JK\x07\x04\x02\x02KL\x05\f\x07\x02LM\x07\x05\x02\x02MP\x03\x02\x02\x02" +
889
- "NP\x05\x10\t\x02O=\x03\x02\x02\x02OB\x03\x02\x02\x02OF\x03\x02\x02\x02" +
890
- "OJ\x03\x02\x02\x02ON\x03\x02\x02\x02PY\x03\x02\x02\x02QR\f\x06\x02\x02" +
891
- "RS\x07\v\x02\x02SX\x05\f\x07\x07TU\f\x05\x02\x02UV\x07\f\x02\x02VX\x05" +
892
- "\f\x07\x06WQ\x03\x02\x02\x02WT\x03\x02\x02\x02X[\x03\x02\x02\x02YW\x03" +
893
- "\x02\x02\x02YZ\x03\x02\x02\x02Z\r\x03\x02\x02\x02[Y\x03\x02\x02\x02\\" +
894
- "`\x05\x14\v\x02]`\x05\x18\r\x02^`\x05\x16\f\x02_\\\x03\x02\x02\x02_]\x03" +
895
- "\x02\x02\x02_^\x03\x02\x02\x02`\x0F\x03\x02\x02\x02ad\x05\x0E\b\x02bd" +
896
- "\x05\x12\n\x02ca\x03\x02\x02\x02cb\x03\x02\x02\x02d\x11\x03\x02\x02\x02" +
897
- "ef\t\x04\x02\x02f\x13\x03\x02\x02\x02gh\t\x05\x02\x02h\x15\x03\x02\x02" +
898
- "\x02ij\t\x06\x02\x02j\x17\x03\x02\x02\x02kl\x07\x1E\x02\x02l\x19\x03\x02" +
899
- "\x02\x02mn\x07\t\x02\x02ns\x05\x0E\b\x02op\x07\x06\x02\x02pr\x05\x0E\b" +
900
- "\x02qo\x03\x02\x02\x02ru\x03\x02\x02\x02sq\x03\x02\x02\x02st\x03\x02\x02" +
901
- "\x02tv\x03\x02\x02\x02us\x03\x02\x02\x02vw\x07\n\x02\x02w\x1B\x03\x02" +
902
- "\x02\x02\x0E\x1D #&2:OWY_cs";
880
+ "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03" +
881
+ "\x07\x03\x07\x05\x07T\n\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03" +
882
+ "\x07\x07\x07\\\n\x07\f\x07\x0E\x07_\v\x07\x03\b\x03\b\x03\b\x05\bd\n\b" +
883
+ "\x03\t\x03\t\x05\th\n\t\x03\n\x03\n\x03\v\x03\v\x03\f\x03\f\x03\r\x03" +
884
+ "\r\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x07\x0Ev\n\x0E\f\x0E\x0E\x0Ey\v\x0E" +
885
+ "\x03\x0E\x03\x0E\x03\x0E\x02\x02\x03\f\x0F\x02\x02\x04\x02\x06\x02\b\x02" +
886
+ "\n\x02\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x02" +
887
+ "\x07\x03\x02\x1B\x1C\x03\x02\r\x12\x03\x02 !\x03\x02\x16\x17\x03\x02\x1D" +
888
+ "\x1E\x02\x80\x02\x1D\x03\x02\x02\x02\x04*\x03\x02\x02\x02\x06-\x03\x02" +
889
+ "\x02\x02\b0\x03\x02\x02\x02\n4\x03\x02\x02\x02\fS\x03\x02\x02\x02\x0E" +
890
+ "c\x03\x02\x02\x02\x10g\x03\x02\x02\x02\x12i\x03\x02\x02\x02\x14k\x03\x02" +
891
+ "\x02\x02\x16m\x03\x02\x02\x02\x18o\x03\x02\x02\x02\x1Aq\x03\x02\x02\x02" +
892
+ "\x1C\x1E\x05\f\x07\x02\x1D\x1C\x03\x02\x02\x02\x1D\x1E\x03\x02\x02\x02" +
893
+ "\x1E \x03\x02\x02\x02\x1F!\x05\n\x06\x02 \x1F\x03\x02\x02\x02 !\x03\x02" +
894
+ '\x02\x02!#\x03\x02\x02\x02"$\x05\x04\x03\x02#"\x03\x02\x02\x02#$\x03' +
895
+ "\x02\x02\x02$&\x03\x02\x02\x02%'\x05\x06\x04\x02&%\x03\x02\x02\x02&'" +
896
+ "\x03\x02\x02\x02'(\x03\x02\x02\x02()\x07\x02\x02\x03)\x03\x03\x02\x02" +
897
+ "\x02*+\x07\x18\x02\x02+,\x05\x18\r\x02,\x05\x03\x02\x02\x02-.\x07\x19" +
898
+ "\x02\x02./\x05\x16\f\x02/\x07\x03\x02\x02\x0202\x05\x12\n\x0213\t\x02" +
899
+ "\x02\x0221\x03\x02\x02\x0223\x03\x02\x02\x023\t\x03\x02\x02\x0245\x07" +
900
+ "\x1A\x02\x025:\x05\b\x05\x0267\x07\x06\x02\x0279\x05\b\x05\x0286\x03\x02" +
901
+ "\x02\x029<\x03\x02\x02\x02:8\x03\x02\x02\x02:;\x03\x02\x02\x02;\v\x03" +
902
+ "\x02\x02\x02<:\x03\x02\x02\x02=>\b\x07\x01\x02>?\x05\x12\n\x02?@\x07\x13" +
903
+ "\x02\x02@A\x05\x16\f\x02AT\x03\x02\x02\x02BC\x05\x12\n\x02CD\x07\x14\x02" +
904
+ "\x02DE\x05\x1A\x0E\x02ET\x03\x02\x02\x02FG\x05\x12\n\x02GH\x07\x15\x02" +
905
+ "\x02HI\x05\x16\f\x02IT\x03\x02\x02\x02JK\x05\x12\n\x02KL\t\x03\x02\x02" +
906
+ "LM\x05\x0E\b\x02MT\x03\x02\x02\x02NO\x07\x04\x02\x02OP\x05\f\x07\x02P" +
907
+ "Q\x07\x05\x02\x02QT\x03\x02\x02\x02RT\x05\x10\t\x02S=\x03\x02\x02\x02" +
908
+ "SB\x03\x02\x02\x02SF\x03\x02\x02\x02SJ\x03\x02\x02\x02SN\x03\x02\x02\x02" +
909
+ "SR\x03\x02\x02\x02T]\x03\x02\x02\x02UV\f\x06\x02\x02VW\x07\v\x02\x02W" +
910
+ "\\\x05\f\x07\x07XY\f\x05\x02\x02YZ\x07\f\x02\x02Z\\\x05\f\x07\x06[U\x03" +
911
+ "\x02\x02\x02[X\x03\x02\x02\x02\\_\x03\x02\x02\x02][\x03\x02\x02\x02]^" +
912
+ "\x03\x02\x02\x02^\r\x03\x02\x02\x02_]\x03\x02\x02\x02`d\x05\x14\v\x02" +
913
+ "ad\x05\x18\r\x02bd\x05\x16\f\x02c`\x03\x02\x02\x02ca\x03\x02\x02\x02c" +
914
+ "b\x03\x02\x02\x02d\x0F\x03\x02\x02\x02eh\x05\x0E\b\x02fh\x05\x12\n\x02" +
915
+ "ge\x03\x02\x02\x02gf\x03\x02\x02\x02h\x11\x03\x02\x02\x02ij\t\x04\x02" +
916
+ "\x02j\x13\x03\x02\x02\x02kl\t\x05\x02\x02l\x15\x03\x02\x02\x02mn\t\x06" +
917
+ "\x02\x02n\x17\x03\x02\x02\x02op\x07\x1F\x02\x02p\x19\x03\x02\x02\x02q" +
918
+ "r\x07\t\x02\x02rw\x05\x0E\b\x02st\x07\x06\x02\x02tv\x05\x0E\b\x02us\x03" +
919
+ "\x02\x02\x02vy\x03\x02\x02\x02wu\x03\x02\x02\x02wx\x03\x02\x02\x02xz\x03" +
920
+ "\x02\x02\x02yw\x03\x02\x02\x02z{\x07\n\x02\x02{\x1B\x03\x02\x02\x02\x0E" +
921
+ "\x1D #&2:S[]cgw";
903
922
  export class WebdaqlContext extends ParserRuleContext {
904
923
  EOF() {
905
924
  return this.getToken(WebdaQLParserParser.EOF, 0);
@@ -1189,6 +1208,42 @@ export class InExpressionContext extends ExpressionContext {
1189
1208
  }
1190
1209
  }
1191
1210
  }
1211
+ export class ContainsExpressionContext extends ExpressionContext {
1212
+ identifier() {
1213
+ return this.getRuleContext(0, IdentifierContext);
1214
+ }
1215
+ CONTAINS() {
1216
+ return this.getToken(WebdaQLParserParser.CONTAINS, 0);
1217
+ }
1218
+ stringLiteral() {
1219
+ return this.getRuleContext(0, StringLiteralContext);
1220
+ }
1221
+ constructor(ctx) {
1222
+ super(ctx.parent, ctx.invokingState);
1223
+ this.copyFrom(ctx);
1224
+ }
1225
+ // @Override
1226
+ enterRule(listener) {
1227
+ if (listener.enterContainsExpression) {
1228
+ listener.enterContainsExpression(this);
1229
+ }
1230
+ }
1231
+ // @Override
1232
+ exitRule(listener) {
1233
+ if (listener.exitContainsExpression) {
1234
+ listener.exitContainsExpression(this);
1235
+ }
1236
+ }
1237
+ // @Override
1238
+ accept(visitor) {
1239
+ if (visitor.visitContainsExpression) {
1240
+ return visitor.visitContainsExpression(this);
1241
+ }
1242
+ else {
1243
+ return visitor.visitChildren(this);
1244
+ }
1245
+ }
1246
+ }
1192
1247
  export class BinaryComparisonExpressionContext extends ExpressionContext {
1193
1248
  identifier() {
1194
1249
  return this.getRuleContext(0, IdentifierContext);