@itwin/ecsql-common 5.0.0-dev.9 → 5.0.0-dev.92

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.
@@ -131,6 +131,7 @@ var ExprType;
131
131
  * @alpha
132
132
  */
133
133
  class ExprFactory {
134
+ provider;
134
135
  constructor(provider) {
135
136
  this.provider = provider;
136
137
  }
@@ -144,6 +145,7 @@ exports.ExprFactory = ExprFactory;
144
145
  * @alpha
145
146
  */
146
147
  class Expr {
148
+ expType;
147
149
  constructor(expType) {
148
150
  this.expType = expType;
149
151
  }
@@ -255,6 +257,7 @@ exports.ComputedExpr = ComputedExpr;
255
257
  * @alpha
256
258
  */
257
259
  class BooleanExpr extends ComputedExpr {
260
+ static deserializableIds = [NativeExpIds.BinaryBoolean, NativeExpIds.BooleanFactor, NativeExpIds.SubqueryTest, NativeExpIds.AllOrAny, NativeExpIds.BooleanFactor];
258
261
  static deserialize(node) {
259
262
  if (node.id === NativeExpIds.BinaryBoolean) {
260
263
  const op = node.op;
@@ -291,7 +294,6 @@ class BooleanExpr extends ComputedExpr {
291
294
  }
292
295
  }
293
296
  exports.BooleanExpr = BooleanExpr;
294
- BooleanExpr.deserializableIds = [NativeExpIds.BinaryBoolean, NativeExpIds.BooleanFactor, NativeExpIds.SubqueryTest, NativeExpIds.AllOrAny, NativeExpIds.BooleanFactor];
295
297
  /**
296
298
  * Base class for all value expressions. Following is list of subclasses.
297
299
  * @see [[SubqueryExpr]]
@@ -308,6 +310,19 @@ BooleanExpr.deserializableIds = [NativeExpIds.BinaryBoolean, NativeExpIds.Boolea
308
310
  * @alpha
309
311
  */
310
312
  class ValueExpr extends ComputedExpr {
313
+ static deserializableIds = [
314
+ NativeExpIds.LiteralValue,
315
+ NativeExpIds.Parameter,
316
+ NativeExpIds.FunctionCall,
317
+ NativeExpIds.Cast,
318
+ NativeExpIds.BinaryValue,
319
+ NativeExpIds.SearchCaseValue,
320
+ NativeExpIds.IIF,
321
+ NativeExpIds.UnaryValue,
322
+ NativeExpIds.PropertyName,
323
+ NativeExpIds.Subquery,
324
+ NativeExpIds.NavValueCreationFunc,
325
+ ];
311
326
  static deserialize(node) {
312
327
  if (node.id === NativeExpIds.UnaryValue) {
313
328
  return UnaryValueExpr.deserialize(node);
@@ -345,19 +360,6 @@ class ValueExpr extends ComputedExpr {
345
360
  }
346
361
  }
347
362
  exports.ValueExpr = ValueExpr;
348
- ValueExpr.deserializableIds = [
349
- NativeExpIds.LiteralValue,
350
- NativeExpIds.Parameter,
351
- NativeExpIds.FunctionCall,
352
- NativeExpIds.Cast,
353
- NativeExpIds.BinaryValue,
354
- NativeExpIds.SearchCaseValue,
355
- NativeExpIds.IIF,
356
- NativeExpIds.UnaryValue,
357
- NativeExpIds.PropertyName,
358
- NativeExpIds.Subquery,
359
- NativeExpIds.NavValueCreationFunc,
360
- ];
361
363
  /**
362
364
  * Base class for expressions that can be used in FROM clause of a SELECT. Following list of this subclasses.
363
365
  * @see [[ClassRefExpr]]
@@ -370,6 +372,13 @@ ValueExpr.deserializableIds = [
370
372
  * @alpha
371
373
  */
372
374
  class ClassRefExpr extends Expr {
375
+ static deserializableIds = [
376
+ NativeExpIds.ClassName,
377
+ NativeExpIds.SubqueryRef,
378
+ NativeExpIds.UsingRelationshipJoinExp,
379
+ NativeExpIds.QualifiedJoin,
380
+ NativeExpIds.CommonTableBlockName,
381
+ ];
373
382
  static deserialize(node) {
374
383
  if (node.id === NativeExpIds.ClassName) {
375
384
  return ClassNameExpr.deserialize(node);
@@ -393,18 +402,15 @@ class ClassRefExpr extends Expr {
393
402
  }
394
403
  }
395
404
  exports.ClassRefExpr = ClassRefExpr;
396
- ClassRefExpr.deserializableIds = [
397
- NativeExpIds.ClassName,
398
- NativeExpIds.SubqueryRef,
399
- NativeExpIds.UsingRelationshipJoinExp,
400
- NativeExpIds.QualifiedJoin,
401
- NativeExpIds.CommonTableBlockName,
402
- ];
403
405
  /**
404
406
  * Write expression tree to string
405
407
  * @alpha
406
408
  */
407
409
  class ECSqlWriter {
410
+ options;
411
+ _tokens = [];
412
+ _currentIndent = 0;
413
+ _isNewLine = false;
408
414
  constructor(options = {
409
415
  multiline: false,
410
416
  spaceAfterComma: true,
@@ -414,9 +420,6 @@ class ECSqlWriter {
414
420
  indent: { size: 3, char: " " },
415
421
  }) {
416
422
  this.options = options;
417
- this._tokens = [];
418
- this._currentIndent = 0;
419
- this._isNewLine = false;
420
423
  }
421
424
  indent() {
422
425
  this._currentIndent++;
@@ -504,6 +507,9 @@ exports.ECSqlWriter = ECSqlWriter;
504
507
  * @alpha
505
508
  */
506
509
  class DerivedPropertyExpr extends Expr {
510
+ computedExpr;
511
+ alias;
512
+ static type = ExprType.DerivedProperty;
507
513
  constructor(computedExpr, alias) {
508
514
  super(DerivedPropertyExpr.type);
509
515
  this.computedExpr = computedExpr;
@@ -527,12 +533,15 @@ class DerivedPropertyExpr extends Expr {
527
533
  }
528
534
  }
529
535
  exports.DerivedPropertyExpr = DerivedPropertyExpr;
530
- DerivedPropertyExpr.type = ExprType.DerivedProperty;
531
536
  /**
532
537
  * Describes a ECSQL delete statement.
533
538
  * @alpha
534
539
  */
535
540
  class DeleteStatementExpr extends StatementExpr {
541
+ className;
542
+ where;
543
+ options;
544
+ static type = ExprType.DeleteStatement;
536
545
  constructor(className, where, options) {
537
546
  super(DeleteStatementExpr.type);
538
547
  this.className = className;
@@ -573,12 +582,15 @@ class DeleteStatementExpr extends StatementExpr {
573
582
  }
574
583
  }
575
584
  exports.DeleteStatementExpr = DeleteStatementExpr;
576
- DeleteStatementExpr.type = ExprType.DeleteStatement;
577
585
  /**
578
586
  * Describe a ECSQL Insert statement.
579
587
  * @alpha
580
588
  */
581
589
  class InsertStatementExpr extends StatementExpr {
590
+ className;
591
+ values;
592
+ propertyNames;
593
+ static type = ExprType.InsertStatement;
582
594
  constructor(className, values, propertyNames) {
583
595
  super(InsertStatementExpr.type);
584
596
  this.className = className;
@@ -637,12 +649,16 @@ class InsertStatementExpr extends StatementExpr {
637
649
  }
638
650
  }
639
651
  exports.InsertStatementExpr = InsertStatementExpr;
640
- InsertStatementExpr.type = ExprType.InsertStatement;
641
652
  /**
642
653
  * Describes a JOIN clause e.g. <classNameExpr> JOIN <classNameExpr> ON <joinspec>
643
654
  * @alpha
644
655
  */
645
656
  class QualifiedJoinExpr extends ClassRefExpr {
657
+ joinType;
658
+ from;
659
+ to;
660
+ spec;
661
+ static type = ExprType.QualifiedJoin;
646
662
  constructor(joinType, from, to, spec) {
647
663
  super(QualifiedJoinExpr.type);
648
664
  this.joinType = joinType;
@@ -719,12 +735,16 @@ class QualifiedJoinExpr extends ClassRefExpr {
719
735
  }
720
736
  }
721
737
  exports.QualifiedJoinExpr = QualifiedJoinExpr;
722
- QualifiedJoinExpr.type = ExprType.QualifiedJoin;
723
738
  /**
724
739
  * Describe a JOIN USING clause.
725
740
  * @alpha
726
741
  */
727
742
  class UsingRelationshipJoinExpr extends ClassRefExpr {
743
+ fromClassName;
744
+ toClassName;
745
+ toRelClassName;
746
+ direction;
747
+ static type = ExprType.UsingRelationshipJoin;
728
748
  constructor(fromClassName, toClassName, toRelClassName, direction) {
729
749
  super(UsingRelationshipJoinExpr.type);
730
750
  this.fromClassName = fromClassName;
@@ -762,12 +782,14 @@ class UsingRelationshipJoinExpr extends ClassRefExpr {
762
782
  }
763
783
  }
764
784
  exports.UsingRelationshipJoinExpr = UsingRelationshipJoinExpr;
765
- UsingRelationshipJoinExpr.type = ExprType.UsingRelationshipJoin;
766
785
  /**
767
786
  * Describe subquery result test e.g. EXISTS(<subquery>)
768
787
  * @alpha
769
788
  */
770
789
  class SubqueryTestExpr extends BooleanExpr {
790
+ op;
791
+ query;
792
+ static type = ExprType.SubqueryTest;
771
793
  constructor(op, query) {
772
794
  super(SubqueryTestExpr.type);
773
795
  this.op = op;
@@ -790,12 +812,15 @@ class SubqueryTestExpr extends BooleanExpr {
790
812
  }
791
813
  }
792
814
  exports.SubqueryTestExpr = SubqueryTestExpr;
793
- SubqueryTestExpr.type = ExprType.SubqueryTest;
794
815
  /**
795
816
  * Describe a subquery when used in FROM clause.
796
817
  * @alpha
797
818
  */
798
819
  class SubqueryRefExpr extends ClassRefExpr {
820
+ query;
821
+ polymorphicInfo;
822
+ alias;
823
+ static type = ExprType.SubqueryRef;
799
824
  constructor(query, polymorphicInfo, alias) {
800
825
  super(SubqueryRefExpr.type);
801
826
  this.query = query;
@@ -830,12 +855,14 @@ class SubqueryRefExpr extends ClassRefExpr {
830
855
  }
831
856
  }
832
857
  exports.SubqueryRefExpr = SubqueryRefExpr;
833
- SubqueryRefExpr.type = ExprType.SubqueryRef;
834
858
  /**
835
859
  * Describe a optionally compound SELECT statement.
836
860
  * @alpha
837
861
  */
838
862
  class SelectStatementExpr extends StatementExpr {
863
+ singleSelect;
864
+ nextSelect;
865
+ static type = ExprType.SelectStatement;
839
866
  constructor(singleSelect, nextSelect) {
840
867
  super(SelectStatementExpr.type);
841
868
  this.singleSelect = singleSelect;
@@ -879,12 +906,13 @@ class SelectStatementExpr extends StatementExpr {
879
906
  }
880
907
  }
881
908
  exports.SelectStatementExpr = SelectStatementExpr;
882
- SelectStatementExpr.type = ExprType.SelectStatement;
883
909
  /**
884
910
  * Describe selection in a SELECT query
885
911
  * @alpha
886
912
  */
887
913
  class SelectionClauseExpr extends Expr {
914
+ derivedPropertyList;
915
+ static type = ExprType.SelectionClause;
888
916
  constructor(derivedPropertyList) {
889
917
  super(SelectionClauseExpr.type);
890
918
  this.derivedPropertyList = derivedPropertyList;
@@ -908,12 +936,13 @@ class SelectionClauseExpr extends Expr {
908
936
  }
909
937
  }
910
938
  exports.SelectionClauseExpr = SelectionClauseExpr;
911
- SelectionClauseExpr.type = ExprType.SelectionClause;
912
939
  /**
913
940
  * Describe a GROUP BY clause in a SELECT statement.
914
941
  * @alpha
915
942
  */
916
943
  class GroupByClauseExpr extends Expr {
944
+ exprList;
945
+ static type = ExprType.GroupByClause;
917
946
  constructor(exprList) {
918
947
  super(GroupByClauseExpr.type);
919
948
  this.exprList = exprList;
@@ -941,12 +970,13 @@ class GroupByClauseExpr extends Expr {
941
970
  }
942
971
  }
943
972
  exports.GroupByClauseExpr = GroupByClauseExpr;
944
- GroupByClauseExpr.type = ExprType.GroupByClause;
945
973
  /**
946
974
  * Describe a HAVING clause in a SELECT statement.
947
975
  * @alpha
948
976
  */
949
977
  class HavingClauseExpr extends Expr {
978
+ filterExpr;
979
+ static type = ExprType.HavingClause;
950
980
  constructor(filterExpr) {
951
981
  super(HavingClauseExpr.type);
952
982
  this.filterExpr = filterExpr;
@@ -967,12 +997,13 @@ class HavingClauseExpr extends Expr {
967
997
  }
968
998
  }
969
999
  exports.HavingClauseExpr = HavingClauseExpr;
970
- HavingClauseExpr.type = ExprType.HavingClause;
971
1000
  /**
972
1001
  * Describe a FROM clause in a SELECT statement.
973
1002
  * @alpha
974
1003
  */
975
1004
  class FromClauseExpr extends Expr {
1005
+ classRefs;
1006
+ static type = ExprType.FromClause;
976
1007
  constructor(classRefs) {
977
1008
  super(FromClauseExpr.type);
978
1009
  this.classRefs = classRefs;
@@ -998,12 +1029,13 @@ class FromClauseExpr extends Expr {
998
1029
  }
999
1030
  }
1000
1031
  exports.FromClauseExpr = FromClauseExpr;
1001
- FromClauseExpr.type = ExprType.FromClause;
1002
1032
  /**
1003
1033
  * Describe a WHERE clause in a SELECT, UPDATE and DELETE statement.
1004
1034
  * @alpha
1005
1035
  */
1006
1036
  class WhereClauseExp extends Expr {
1037
+ filterExpr;
1038
+ static type = ExprType.WhereClause;
1007
1039
  constructor(filterExpr) {
1008
1040
  super(WhereClauseExp.type);
1009
1041
  this.filterExpr = filterExpr;
@@ -1024,12 +1056,15 @@ class WhereClauseExp extends Expr {
1024
1056
  }
1025
1057
  }
1026
1058
  exports.WhereClauseExp = WhereClauseExp;
1027
- WhereClauseExp.type = ExprType.WhereClause;
1028
1059
  /**
1029
1060
  * Describe a single sorted term in a ORDER BY clause of a SELECT statement.
1030
1061
  * @alpha
1031
1062
  */
1032
1063
  class OrderBySpecExpr extends Expr {
1064
+ term;
1065
+ sortDirection;
1066
+ nulls;
1067
+ static type = ExprType.OrderBySpec;
1033
1068
  constructor(term, sortDirection, nulls) {
1034
1069
  super(OrderBySpecExpr.type);
1035
1070
  this.term = term;
@@ -1060,12 +1095,13 @@ class OrderBySpecExpr extends Expr {
1060
1095
  }
1061
1096
  }
1062
1097
  exports.OrderBySpecExpr = OrderBySpecExpr;
1063
- OrderBySpecExpr.type = ExprType.OrderBySpec;
1064
1098
  /**
1065
1099
  * Describe a ORDER BY clause in a SELECT statement.
1066
1100
  * @alpha
1067
1101
  */
1068
1102
  class OrderByClauseExpr extends Expr {
1103
+ terms;
1104
+ static type = ExprType.OrderByClause;
1069
1105
  constructor(terms) {
1070
1106
  super(OrderByClauseExpr.type);
1071
1107
  this.terms = terms;
@@ -1093,12 +1129,14 @@ class OrderByClauseExpr extends Expr {
1093
1129
  }
1094
1130
  }
1095
1131
  exports.OrderByClauseExpr = OrderByClauseExpr;
1096
- OrderByClauseExpr.type = ExprType.OrderByClause;
1097
1132
  /**
1098
1133
  * Describe a LIMIT clause in a SELECT statement.
1099
1134
  * @alpha
1100
1135
  */
1101
1136
  class LimitClauseExpr extends Expr {
1137
+ limit;
1138
+ offset;
1139
+ static type = ExprType.LimitClause;
1102
1140
  constructor(limit, offset) {
1103
1141
  super(LimitClauseExpr.type);
1104
1142
  this.limit = limit;
@@ -1129,12 +1167,21 @@ class LimitClauseExpr extends Expr {
1129
1167
  }
1130
1168
  }
1131
1169
  exports.LimitClauseExpr = LimitClauseExpr;
1132
- LimitClauseExpr.type = ExprType.LimitClause;
1133
1170
  /**
1134
1171
  * Describe a single select statement.
1135
1172
  * @alpha
1136
1173
  */
1137
1174
  class SelectExpr extends Expr {
1175
+ selection;
1176
+ rowQuantifier;
1177
+ from;
1178
+ where;
1179
+ groupBy;
1180
+ having;
1181
+ orderBy;
1182
+ limit;
1183
+ options;
1184
+ static type = ExprType.Select;
1138
1185
  constructor(selection, rowQuantifier, from, where, groupBy, having, orderBy, limit, options) {
1139
1186
  super(SelectExpr.type);
1140
1187
  this.selection = selection;
@@ -1223,12 +1270,13 @@ class SelectExpr extends Expr {
1223
1270
  }
1224
1271
  }
1225
1272
  exports.SelectExpr = SelectExpr;
1226
- SelectExpr.type = ExprType.Select;
1227
1273
  /**
1228
1274
  * Describe a subquery when used as value. This kind of query expect to return one column and one one value.
1229
1275
  * @alpha
1230
1276
  */
1231
1277
  class SubqueryExpr extends ValueExpr {
1278
+ query;
1279
+ static type = ExprType.Subquery;
1232
1280
  constructor(query) {
1233
1281
  super(SubqueryExpr.type);
1234
1282
  this.query = query;
@@ -1253,12 +1301,16 @@ class SubqueryExpr extends ValueExpr {
1253
1301
  }
1254
1302
  }
1255
1303
  exports.SubqueryExpr = SubqueryExpr;
1256
- SubqueryExpr.type = ExprType.Subquery;
1257
1304
  /**
1258
1305
  * Describe a binary boolean expression in ECSQL.
1259
1306
  * @alpha
1260
1307
  */
1261
1308
  class BinaryBooleanExpr extends BooleanExpr {
1309
+ op;
1310
+ lhsExpr;
1311
+ rhsExpr;
1312
+ not;
1313
+ static type = ExprType.BinaryBoolean;
1262
1314
  constructor(op, lhsExpr, rhsExpr, not) {
1263
1315
  super(BinaryBooleanExpr.type);
1264
1316
  this.op = op;
@@ -1285,12 +1337,14 @@ class BinaryBooleanExpr extends BooleanExpr {
1285
1337
  }
1286
1338
  }
1287
1339
  exports.BinaryBooleanExpr = BinaryBooleanExpr;
1288
- BinaryBooleanExpr.type = ExprType.BinaryBoolean;
1289
1340
  /**
1290
1341
  * Describe a <expr> IS NULL boolean expression
1291
1342
  * @alpha
1292
1343
  */
1293
1344
  class IsNullExpr extends BooleanExpr {
1345
+ operandExpr;
1346
+ not;
1347
+ static type = ExprType.IsNull;
1294
1348
  constructor(operandExpr, not) {
1295
1349
  super(IsNullExpr.type);
1296
1350
  this.operandExpr = operandExpr;
@@ -1332,12 +1386,15 @@ class IsNullExpr extends BooleanExpr {
1332
1386
  }
1333
1387
  }
1334
1388
  exports.IsNullExpr = IsNullExpr;
1335
- IsNullExpr.type = ExprType.IsNull;
1336
1389
  /**
1337
1390
  * Describe a <expr> IS (type1[, type2]) in ECSQL.
1338
1391
  * @alpha
1339
1392
  */
1340
1393
  class IsOfTypeExpr extends BooleanExpr {
1394
+ lhsExpr;
1395
+ typeNames;
1396
+ not;
1397
+ static type = ExprType.IsOfType;
1341
1398
  constructor(lhsExpr, typeNames, not) {
1342
1399
  super(IsOfTypeExpr.type);
1343
1400
  this.lhsExpr = lhsExpr;
@@ -1383,12 +1440,13 @@ class IsOfTypeExpr extends BooleanExpr {
1383
1440
  }
1384
1441
  }
1385
1442
  exports.IsOfTypeExpr = IsOfTypeExpr;
1386
- IsOfTypeExpr.type = ExprType.IsOfType;
1387
1443
  /**
1388
1444
  * Describe a NOT <expr> boolean expression
1389
1445
  * @alpha
1390
1446
  */
1391
1447
  class NotExpr extends BooleanExpr {
1448
+ operandExpr;
1449
+ static type = ExprType.Not;
1392
1450
  constructor(operandExpr) {
1393
1451
  super(NotExpr.type);
1394
1452
  this.operandExpr = operandExpr;
@@ -1412,12 +1470,15 @@ class NotExpr extends BooleanExpr {
1412
1470
  }
1413
1471
  }
1414
1472
  exports.NotExpr = NotExpr;
1415
- NotExpr.type = ExprType.Not;
1416
1473
  /**
1417
1474
  * Describe a <expr> IN subquery|(val1[,val2...]) boolean expression
1418
1475
  * @alpha
1419
1476
  */
1420
1477
  class InExpr extends BooleanExpr {
1478
+ lhsExpr;
1479
+ rhsExpr;
1480
+ not;
1481
+ static type = ExprType.In;
1421
1482
  constructor(lhsExpr, rhsExpr, not) {
1422
1483
  super(InExpr.type);
1423
1484
  this.lhsExpr = lhsExpr;
@@ -1480,12 +1541,16 @@ class InExpr extends BooleanExpr {
1480
1541
  }
1481
1542
  }
1482
1543
  exports.InExpr = InExpr;
1483
- InExpr.type = ExprType.In;
1484
1544
  /**
1485
1545
  * Describe a <expr> LIKE <expr> [ESCAPE <expr>] boolean expression
1486
1546
  * @alpha
1487
1547
  */
1488
1548
  class LikeExpr extends BooleanExpr {
1549
+ lhsExpr;
1550
+ patternExpr;
1551
+ escapeExpr;
1552
+ not;
1553
+ static type = ExprType.Like;
1489
1554
  constructor(lhsExpr, patternExpr, escapeExpr, not) {
1490
1555
  super(LikeExpr.type);
1491
1556
  this.lhsExpr = lhsExpr;
@@ -1534,12 +1599,16 @@ class LikeExpr extends BooleanExpr {
1534
1599
  }
1535
1600
  }
1536
1601
  exports.LikeExpr = LikeExpr;
1537
- LikeExpr.type = ExprType.Like;
1538
1602
  /**
1539
1603
  * Describe a <expr> BETWEEN <expr> AND <expr> boolean expression
1540
1604
  * @alpha
1541
1605
  */
1542
1606
  class BetweenExpr extends BooleanExpr {
1607
+ lhsExpr;
1608
+ lowerBoundExpr;
1609
+ upperBoundExpr;
1610
+ not;
1611
+ static type = ExprType.Between;
1543
1612
  constructor(lhsExpr, lowerBoundExpr, upperBoundExpr, not) {
1544
1613
  super(BetweenExpr.type);
1545
1614
  this.lhsExpr = lhsExpr;
@@ -1581,12 +1650,15 @@ class BetweenExpr extends BooleanExpr {
1581
1650
  }
1582
1651
  }
1583
1652
  exports.BetweenExpr = BetweenExpr;
1584
- BetweenExpr.type = ExprType.Between;
1585
1653
  /**
1586
1654
  * Describe a common table expression base query statement
1587
1655
  * @alpha
1588
1656
  */
1589
1657
  class CteExpr extends StatementExpr {
1658
+ cteBlocks;
1659
+ query;
1660
+ recursive;
1661
+ static type = ExprType.Cte;
1590
1662
  constructor(cteBlocks, query, recursive) {
1591
1663
  super(CteExpr.type);
1592
1664
  this.cteBlocks = cteBlocks;
@@ -1621,12 +1693,15 @@ class CteExpr extends StatementExpr {
1621
1693
  }
1622
1694
  }
1623
1695
  exports.CteExpr = CteExpr;
1624
- CteExpr.type = ExprType.Cte;
1625
1696
  /**
1626
1697
  * Describe a single block of CTE that can be reference in FROM clause of a SELECT
1627
1698
  * @alpha
1628
1699
  */
1629
1700
  class CteBlockExpr extends Expr {
1701
+ name;
1702
+ query;
1703
+ props;
1704
+ static type = ExprType.CteBlock;
1630
1705
  constructor(name, query, props) {
1631
1706
  super(CteBlockExpr.type);
1632
1707
  this.name = name;
@@ -1667,12 +1742,14 @@ class CteBlockExpr extends Expr {
1667
1742
  }
1668
1743
  }
1669
1744
  exports.CteBlockExpr = CteBlockExpr;
1670
- CteBlockExpr.type = ExprType.CteBlock;
1671
1745
  /**
1672
1746
  * Describe a name reference to a CTE block.
1673
1747
  * @alpha
1674
1748
  */
1675
1749
  class CteBlockRefExpr extends ClassRefExpr {
1750
+ name;
1751
+ alias;
1752
+ static type = ExprType.CteBlockRef;
1676
1753
  constructor(name, alias) {
1677
1754
  super(CteBlockRefExpr.type);
1678
1755
  this.name = name;
@@ -1695,12 +1772,15 @@ class CteBlockRefExpr extends ClassRefExpr {
1695
1772
  }
1696
1773
  }
1697
1774
  exports.CteBlockRefExpr = CteBlockRefExpr;
1698
- CteBlockRefExpr.type = ExprType.CteBlockRef;
1699
1775
  /**
1700
1776
  * Describe a table value function expression in ECSQL that appear in FROM clause of query.
1701
1777
  * @alpha
1702
1778
  */
1703
1779
  class TableValuedFuncExpr extends ClassRefExpr {
1780
+ schemaName;
1781
+ memberFunc;
1782
+ alias;
1783
+ static type = ExprType.TableValuedFunc;
1704
1784
  constructor(schemaName, memberFunc, alias) {
1705
1785
  super(TableValuedFuncExpr.type);
1706
1786
  this.schemaName = schemaName;
@@ -1727,12 +1807,18 @@ class TableValuedFuncExpr extends ClassRefExpr {
1727
1807
  }
1728
1808
  }
1729
1809
  exports.TableValuedFuncExpr = TableValuedFuncExpr;
1730
- TableValuedFuncExpr.type = ExprType.TableValuedFunc;
1731
1810
  /**
1732
1811
  * Describe a class name reference in ECSQL that appear in FROM clause of a SELECT.
1733
1812
  * @alpha
1734
1813
  */
1735
1814
  class ClassNameExpr extends ClassRefExpr {
1815
+ schemaNameOrAlias;
1816
+ className;
1817
+ tablespace;
1818
+ alias;
1819
+ polymorphicInfo;
1820
+ memberFunc;
1821
+ static type = ExprType.ClassName;
1736
1822
  constructor(schemaNameOrAlias, className, tablespace, alias, polymorphicInfo, memberFunc) {
1737
1823
  super(ClassNameExpr.type);
1738
1824
  this.schemaNameOrAlias = schemaNameOrAlias;
@@ -1804,12 +1890,16 @@ class ClassNameExpr extends ClassRefExpr {
1804
1890
  }
1805
1891
  }
1806
1892
  exports.ClassNameExpr = ClassNameExpr;
1807
- ClassNameExpr.type = ExprType.ClassName;
1808
1893
  /**
1809
1894
  * Describe a UPDATE statement in ECSQL.
1810
1895
  * @alpha
1811
1896
  */
1812
1897
  class UpdateStatementExpr extends StatementExpr {
1898
+ className;
1899
+ assignement;
1900
+ where;
1901
+ options;
1902
+ static type = ExprType.UpdateStatement;
1813
1903
  constructor(className, assignement, where, options) {
1814
1904
  super(UpdateStatementExpr.type);
1815
1905
  this.className = className;
@@ -1852,12 +1942,13 @@ class UpdateStatementExpr extends StatementExpr {
1852
1942
  }
1853
1943
  }
1854
1944
  exports.UpdateStatementExpr = UpdateStatementExpr;
1855
- UpdateStatementExpr.type = ExprType.UpdateStatement;
1856
1945
  /**
1857
1946
  * Describe ECSQL option clause.
1858
1947
  * @alpha
1859
1948
  */
1860
1949
  class ECSqlOptionsClauseExpr extends Expr {
1950
+ options;
1951
+ static type = ExprType.ECSqlOptionsClause;
1861
1952
  constructor(options) {
1862
1953
  super(ECSqlOptionsClauseExpr.type);
1863
1954
  this.options = options;
@@ -1887,12 +1978,14 @@ class ECSqlOptionsClauseExpr extends Expr {
1887
1978
  }
1888
1979
  }
1889
1980
  exports.ECSqlOptionsClauseExpr = ECSqlOptionsClauseExpr;
1890
- ECSqlOptionsClauseExpr.type = ExprType.ECSqlOptionsClause;
1891
1981
  /**
1892
1982
  * A single property value assignment for update clause
1893
1983
  * @alpha
1894
1984
  */
1895
1985
  class AssignmentExpr extends Expr {
1986
+ propertyName;
1987
+ valueExpr;
1988
+ static type = ExprType.Assignment;
1896
1989
  constructor(propertyName, valueExpr) {
1897
1990
  super(SetClauseExpr.type);
1898
1991
  this.propertyName = propertyName;
@@ -1914,12 +2007,13 @@ class AssignmentExpr extends Expr {
1914
2007
  }
1915
2008
  }
1916
2009
  exports.AssignmentExpr = AssignmentExpr;
1917
- AssignmentExpr.type = ExprType.Assignment;
1918
2010
  /**
1919
2011
  * Describe a set clause in a UPDATE statement
1920
2012
  * @alpha
1921
2013
  */
1922
2014
  class SetClauseExpr extends Expr {
2015
+ assignments;
2016
+ static type = ExprType.SetClause;
1923
2017
  constructor(assignments) {
1924
2018
  super(SetClauseExpr.type);
1925
2019
  this.assignments = assignments;
@@ -1950,12 +2044,15 @@ class SetClauseExpr extends Expr {
1950
2044
  }
1951
2045
  }
1952
2046
  exports.SetClauseExpr = SetClauseExpr;
1953
- SetClauseExpr.type = ExprType.SetClause;
1954
2047
  /**
1955
2048
  * Describe a strong typed IIF function in ECSQL
1956
2049
  * @alpha
1957
2050
  */
1958
2051
  class IIFExpr extends ValueExpr {
2052
+ whenExpr;
2053
+ thenExpr;
2054
+ elseExpr;
2055
+ static type = ExprType.IIF;
1959
2056
  constructor(whenExpr, thenExpr, elseExpr) {
1960
2057
  super(IIFExpr.type);
1961
2058
  this.whenExpr = whenExpr;
@@ -1983,12 +2080,14 @@ class IIFExpr extends ValueExpr {
1983
2080
  }
1984
2081
  }
1985
2082
  exports.IIFExpr = IIFExpr;
1986
- IIFExpr.type = ExprType.IIF;
1987
2083
  /**
1988
2084
  * Describe a CASE-WHEN-THEN expression in ECSQL
1989
2085
  * @alpha
1990
2086
  */
1991
2087
  class SearchCaseExpr extends ValueExpr {
2088
+ whenThenList;
2089
+ elseExpr;
2090
+ static type = ExprType.SearchCase;
1992
2091
  constructor(whenThenList, elseExpr) {
1993
2092
  super(SearchCaseExpr.type);
1994
2093
  this.whenThenList = whenThenList;
@@ -2040,12 +2139,15 @@ class SearchCaseExpr extends ValueExpr {
2040
2139
  }
2041
2140
  }
2042
2141
  exports.SearchCaseExpr = SearchCaseExpr;
2043
- SearchCaseExpr.type = ExprType.SearchCase;
2044
2142
  /**
2045
2143
  * Describe a binary value expression
2046
2144
  * @alpha
2047
2145
  */
2048
2146
  class BinaryValueExpr extends ValueExpr {
2147
+ op;
2148
+ lhsExpr;
2149
+ rhsExpr;
2150
+ static type = ExprType.BinaryValue;
2049
2151
  constructor(op, lhsExpr, rhsExpr) {
2050
2152
  super(BinaryValueExpr.type);
2051
2153
  this.op = op;
@@ -2070,12 +2172,14 @@ class BinaryValueExpr extends ValueExpr {
2070
2172
  }
2071
2173
  }
2072
2174
  exports.BinaryValueExpr = BinaryValueExpr;
2073
- BinaryValueExpr.type = ExprType.BinaryValue;
2074
2175
  /**
2075
2176
  * Cast a expression into a target time e.g. CAST(<expr> AS STRING)
2076
2177
  * @alpha
2077
2178
  */
2078
2179
  class CastExpr extends ValueExpr {
2180
+ valueExpr;
2181
+ targetType;
2182
+ static type = ExprType.Cast;
2079
2183
  constructor(valueExpr, targetType) {
2080
2184
  super(CastExpr.type);
2081
2185
  this.valueExpr = valueExpr;
@@ -2102,12 +2206,14 @@ class CastExpr extends ValueExpr {
2102
2206
  }
2103
2207
  }
2104
2208
  exports.CastExpr = CastExpr;
2105
- CastExpr.type = ExprType.Cast;
2106
2209
  /**
2107
2210
  * Represent a member function called w.r.t a ClassNameExpr
2108
2211
  * @alpha
2109
2212
  */
2110
2213
  class MemberFuncCallExpr extends Expr {
2214
+ functionName;
2215
+ args;
2216
+ static type = ExprType.MemberFuncCall;
2111
2217
  constructor(functionName, args) {
2112
2218
  super(MemberFuncCallExpr.type);
2113
2219
  this.functionName = functionName;
@@ -2136,12 +2242,15 @@ class MemberFuncCallExpr extends Expr {
2136
2242
  }
2137
2243
  }
2138
2244
  exports.MemberFuncCallExpr = MemberFuncCallExpr;
2139
- MemberFuncCallExpr.type = ExprType.MemberFuncCall;
2140
2245
  /**
2141
2246
  * Represent a function call in ecsql
2142
2247
  * @alpha
2143
2248
  */
2144
2249
  class FuncCallExpr extends ValueExpr {
2250
+ functionName;
2251
+ args;
2252
+ allOrDistinct;
2253
+ static type = ExprType.FuncCall;
2145
2254
  constructor(functionName, args, allOrDistinct) {
2146
2255
  super(FuncCallExpr.type);
2147
2256
  this.functionName = functionName;
@@ -2278,12 +2387,13 @@ class FuncCallExpr extends ValueExpr {
2278
2387
  }
2279
2388
  }
2280
2389
  exports.FuncCallExpr = FuncCallExpr;
2281
- FuncCallExpr.type = ExprType.FuncCall;
2282
2390
  /**
2283
2391
  * Represent positional or named parameter
2284
2392
  * @alpha
2285
2393
  */
2286
2394
  class ParameterExpr extends ValueExpr {
2395
+ name;
2396
+ static type = ExprType.Parameter;
2287
2397
  constructor(name) {
2288
2398
  super(ParameterExpr.type);
2289
2399
  this.name = name;
@@ -2305,12 +2415,14 @@ class ParameterExpr extends ValueExpr {
2305
2415
  }
2306
2416
  }
2307
2417
  exports.ParameterExpr = ParameterExpr;
2308
- ParameterExpr.type = ExprType.Parameter;
2309
2418
  /**
2310
2419
  * Unary value with operator e.g. [+|-|~]<number>
2311
2420
  * @alpha
2312
2421
  */
2313
2422
  class UnaryValueExpr extends ValueExpr {
2423
+ op;
2424
+ valueExpr;
2425
+ static type = ExprType.Unary;
2314
2426
  constructor(op, valueExpr) {
2315
2427
  super(UnaryValueExpr.type);
2316
2428
  this.op = op;
@@ -2334,12 +2446,14 @@ class UnaryValueExpr extends ValueExpr {
2334
2446
  }
2335
2447
  }
2336
2448
  exports.UnaryValueExpr = UnaryValueExpr;
2337
- UnaryValueExpr.type = ExprType.Unary;
2338
2449
  /**
2339
2450
  * Represent constant literal like string, data, time, timestamp, number or null
2340
2451
  * @alpha
2341
2452
  */
2342
2453
  class LiteralExpr extends ValueExpr {
2454
+ valueType;
2455
+ rawValue;
2456
+ static type = ExprType.Literal;
2343
2457
  constructor(valueType, rawValue) {
2344
2458
  super(LiteralExpr.type);
2345
2459
  this.valueType = valueType;
@@ -2377,12 +2491,13 @@ class LiteralExpr extends ValueExpr {
2377
2491
  static makeNull() { return new LiteralExpr(LiteralValueType.Null, ""); }
2378
2492
  }
2379
2493
  exports.LiteralExpr = LiteralExpr;
2380
- LiteralExpr.type = ExprType.Literal;
2381
2494
  /**
2382
2495
  * Represent property name identifier
2383
2496
  * @alpha
2384
2497
  */
2385
2498
  class PropertyNameExpr extends ValueExpr {
2499
+ propertyPath;
2500
+ static type = ExprType.PropertyName;
2386
2501
  constructor(propertyPath) {
2387
2502
  super(PropertyNameExpr.type);
2388
2503
  this.propertyPath = propertyPath;
@@ -2407,12 +2522,17 @@ class PropertyNameExpr extends ValueExpr {
2407
2522
  }
2408
2523
  }
2409
2524
  exports.PropertyNameExpr = PropertyNameExpr;
2410
- PropertyNameExpr.type = ExprType.PropertyName;
2411
2525
  /**
2412
2526
  * Represent navigation value creation function
2413
2527
  * @alpha
2414
2528
  */
2415
2529
  class NavValueCreationFuncExpr extends ValueExpr {
2530
+ columnRefExp;
2531
+ idArgExp;
2532
+ classNameExp;
2533
+ relECClassIdExp;
2534
+ static type = ExprType.NavValueCreationFunc;
2535
+ static navValueCreationFuncExprName = "NAVIGATION_VALUE";
2416
2536
  constructor(columnRefExp, idArgExp, classNameExp, relECClassIdExp) {
2417
2537
  super(NavValueCreationFuncExpr.type);
2418
2538
  this.columnRefExp = columnRefExp;
@@ -2448,6 +2568,4 @@ class NavValueCreationFuncExpr extends ValueExpr {
2448
2568
  }
2449
2569
  }
2450
2570
  exports.NavValueCreationFuncExpr = NavValueCreationFuncExpr;
2451
- NavValueCreationFuncExpr.type = ExprType.NavValueCreationFunc;
2452
- NavValueCreationFuncExpr.navValueCreationFuncExprName = "NAVIGATION_VALUE";
2453
2571
  //# sourceMappingURL=ECSqlAst.js.map