@neogroup/neorm 0.0.1 → 0.0.2

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 (225) hide show
  1. package/README.md +1 -0
  2. package/dist/database/Connection.d.ts +10 -0
  3. package/dist/database/Connection.js +3 -0
  4. package/dist/database/Connection.js.map +1 -0
  5. package/dist/database/DB.d.ts +58 -0
  6. package/dist/database/DB.js +229 -0
  7. package/dist/database/DB.js.map +1 -0
  8. package/dist/database/DataConnection.d.ts +24 -0
  9. package/dist/database/DataConnection.js +99 -0
  10. package/dist/database/DataConnection.js.map +1 -0
  11. package/dist/database/DataSet.d.ts +3 -0
  12. package/dist/database/DataSet.js +3 -0
  13. package/dist/database/DataSet.js.map +1 -0
  14. package/dist/database/DataSource.d.ts +23 -0
  15. package/dist/database/DataSource.js +56 -0
  16. package/dist/database/DataSource.js.map +1 -0
  17. package/dist/database/DataTable.d.ts +19 -0
  18. package/dist/database/DataTable.js +75 -0
  19. package/dist/database/DataTable.js.map +1 -0
  20. package/dist/database/index.d.ts +7 -0
  21. package/dist/database/index.js +24 -0
  22. package/dist/database/index.js.map +1 -0
  23. package/dist/database/sources/index.d.ts +3 -0
  24. package/dist/database/sources/index.js +20 -0
  25. package/dist/database/sources/index.js.map +1 -0
  26. package/dist/database/sources/mysql/MysqlConnection.d.ts +14 -0
  27. package/dist/database/sources/mysql/MysqlConnection.js +36 -0
  28. package/dist/database/sources/mysql/MysqlConnection.js.map +1 -0
  29. package/dist/database/sources/mysql/MysqlDataSource.d.ts +24 -0
  30. package/dist/database/sources/mysql/MysqlDataSource.js +72 -0
  31. package/dist/database/sources/mysql/MysqlDataSource.js.map +1 -0
  32. package/dist/database/sources/mysql/MysqlQueryBuilder.d.ts +6 -0
  33. package/dist/database/sources/mysql/MysqlQueryBuilder.js +28 -0
  34. package/dist/database/sources/mysql/MysqlQueryBuilder.js.map +1 -0
  35. package/dist/database/sources/mysql/index.d.ts +3 -0
  36. package/dist/database/sources/mysql/index.js +20 -0
  37. package/dist/database/sources/mysql/index.js.map +1 -0
  38. package/dist/database/sources/postgres/PostgresConnection.d.ts +13 -0
  39. package/dist/database/sources/postgres/PostgresConnection.js +40 -0
  40. package/dist/database/sources/postgres/PostgresConnection.js.map +1 -0
  41. package/dist/database/sources/postgres/PostgresDataSource.d.ts +24 -0
  42. package/dist/database/sources/postgres/PostgresDataSource.js +73 -0
  43. package/dist/database/sources/postgres/PostgresDataSource.js.map +1 -0
  44. package/dist/database/sources/postgres/PostgresQueryBuilder.d.ts +5 -0
  45. package/dist/database/sources/postgres/PostgresQueryBuilder.js +13 -0
  46. package/dist/database/sources/postgres/PostgresQueryBuilder.js.map +1 -0
  47. package/dist/database/sources/postgres/index.d.ts +2 -0
  48. package/dist/database/sources/postgres/index.js +19 -0
  49. package/dist/database/sources/postgres/index.js.map +1 -0
  50. package/dist/database/sources/sqlite/SqliteConnection.d.ts +14 -0
  51. package/dist/database/sources/sqlite/SqliteConnection.js +37 -0
  52. package/dist/database/sources/sqlite/SqliteConnection.js.map +1 -0
  53. package/dist/database/sources/sqlite/SqliteDataSource.d.ts +11 -0
  54. package/dist/database/sources/sqlite/SqliteDataSource.js +34 -0
  55. package/dist/database/sources/sqlite/SqliteDataSource.js.map +1 -0
  56. package/dist/database/sources/sqlite/SqliteQueryBuilder.d.ts +6 -0
  57. package/dist/database/sources/sqlite/SqliteQueryBuilder.js +23 -0
  58. package/dist/database/sources/sqlite/SqliteQueryBuilder.js.map +1 -0
  59. package/dist/database/sources/sqlite/index.d.ts +3 -0
  60. package/dist/database/sources/sqlite/index.js +20 -0
  61. package/dist/database/sources/sqlite/index.js.map +1 -0
  62. package/dist/entities/CastType.d.ts +1 -0
  63. package/dist/entities/CastType.js +3 -0
  64. package/dist/entities/CastType.js.map +1 -0
  65. package/dist/entities/Entities.d.ts +14 -0
  66. package/dist/entities/Entities.js +85 -0
  67. package/dist/entities/Entities.js.map +1 -0
  68. package/dist/entities/EntityQuery.d.ts +60 -0
  69. package/dist/entities/EntityQuery.js +305 -0
  70. package/dist/entities/EntityQuery.js.map +1 -0
  71. package/dist/entities/RelationshipType.d.ts +1 -0
  72. package/dist/entities/RelationshipType.js +3 -0
  73. package/dist/entities/RelationshipType.js.map +1 -0
  74. package/dist/entities/decorators/BelongsTo.d.ts +2 -0
  75. package/dist/entities/decorators/BelongsTo.js +16 -0
  76. package/dist/entities/decorators/BelongsTo.js.map +1 -0
  77. package/dist/entities/decorators/Column.d.ts +13 -0
  78. package/dist/entities/decorators/Column.js +13 -0
  79. package/dist/entities/decorators/Column.js.map +1 -0
  80. package/dist/entities/decorators/Entity.d.ts +15 -0
  81. package/dist/entities/decorators/Entity.js +170 -0
  82. package/dist/entities/decorators/Entity.js.map +1 -0
  83. package/dist/entities/decorators/HasMany.d.ts +2 -0
  84. package/dist/entities/decorators/HasMany.js +16 -0
  85. package/dist/entities/decorators/HasMany.js.map +1 -0
  86. package/dist/entities/decorators/HasManyThrough.d.ts +2 -0
  87. package/dist/entities/decorators/HasManyThrough.js +24 -0
  88. package/dist/entities/decorators/HasManyThrough.js.map +1 -0
  89. package/dist/entities/decorators/HasOne.d.ts +2 -0
  90. package/dist/entities/decorators/HasOne.js +13 -0
  91. package/dist/entities/decorators/HasOne.js.map +1 -0
  92. package/dist/entities/decorators/HasOneThrough.d.ts +2 -0
  93. package/dist/entities/decorators/HasOneThrough.js +24 -0
  94. package/dist/entities/decorators/HasOneThrough.js.map +1 -0
  95. package/dist/entities/decorators/casts.d.ts +3 -0
  96. package/dist/entities/decorators/casts.js +39 -0
  97. package/dist/entities/decorators/casts.js.map +1 -0
  98. package/dist/entities/decorators/index.d.ts +7 -0
  99. package/dist/entities/decorators/index.js +24 -0
  100. package/dist/entities/decorators/index.js.map +1 -0
  101. package/dist/entities/decorators/metadata.d.ts +19 -0
  102. package/dist/entities/decorators/metadata.js +12 -0
  103. package/dist/entities/decorators/metadata.js.map +1 -0
  104. package/dist/entities/index.d.ts +5 -3
  105. package/dist/entities/index.js +5 -2
  106. package/dist/entities/index.js.map +1 -1
  107. package/dist/entities/relationship.d.ts +1 -6
  108. package/dist/entities/relationship.js +1 -22
  109. package/dist/entities/relationship.js.map +1 -1
  110. package/dist/index.d.ts +2 -9
  111. package/dist/index.js +2 -14
  112. package/dist/index.js.map +1 -1
  113. package/dist/query/DeleteQuery.d.ts +8 -0
  114. package/dist/query/DeleteQuery.js +17 -0
  115. package/dist/query/DeleteQuery.js.map +1 -0
  116. package/dist/query/InsertQuery.d.ts +8 -0
  117. package/dist/query/InsertQuery.js +17 -0
  118. package/dist/query/InsertQuery.js.map +1 -0
  119. package/dist/query/QueryTable.d.ts +7 -0
  120. package/dist/query/QueryTable.js +3 -0
  121. package/dist/query/QueryTable.js.map +1 -0
  122. package/dist/query/SelectQuery.d.ts +9 -0
  123. package/dist/query/SelectQuery.js +33 -0
  124. package/dist/query/SelectQuery.js.map +1 -0
  125. package/dist/query/UpdateQuery.d.ts +8 -0
  126. package/dist/query/UpdateQuery.js +17 -0
  127. package/dist/query/UpdateQuery.js.map +1 -0
  128. package/dist/query/builders/DefaultQueryBuilder.d.ts +87 -0
  129. package/dist/query/builders/DefaultQueryBuilder.js +524 -0
  130. package/dist/query/builders/DefaultQueryBuilder.js.map +1 -0
  131. package/dist/query/builders/QueryBuilder.d.ts +5 -0
  132. package/dist/query/builders/QueryBuilder.js +7 -0
  133. package/dist/query/builders/QueryBuilder.js.map +1 -0
  134. package/dist/query/builders/index.d.ts +2 -2
  135. package/dist/query/builders/index.js +2 -2
  136. package/dist/query/builders/index.js.map +1 -1
  137. package/dist/query/conditions/BasicCondition.d.ts +6 -0
  138. package/dist/query/conditions/BasicCondition.js +3 -0
  139. package/dist/query/conditions/BasicCondition.js.map +1 -0
  140. package/dist/query/conditions/ColumnCondition.d.ts +6 -0
  141. package/dist/query/conditions/ColumnCondition.js +3 -0
  142. package/dist/query/conditions/ColumnCondition.js.map +1 -0
  143. package/dist/query/conditions/Condition.d.ts +5 -0
  144. package/dist/query/conditions/Condition.js +3 -0
  145. package/dist/query/conditions/Condition.js.map +1 -0
  146. package/dist/query/conditions/ConditionConnector.d.ts +4 -0
  147. package/dist/query/conditions/ConditionConnector.js +9 -0
  148. package/dist/query/conditions/ConditionConnector.js.map +1 -0
  149. package/dist/query/conditions/ConditionGroup.d.ts +40 -0
  150. package/dist/query/conditions/ConditionGroup.js +138 -0
  151. package/dist/query/conditions/ConditionGroup.js.map +1 -0
  152. package/dist/query/conditions/ConnectedCondition.d.ts +6 -0
  153. package/dist/query/conditions/ConnectedCondition.js +3 -0
  154. package/dist/query/conditions/ConnectedCondition.js.map +1 -0
  155. package/dist/query/conditions/RawCondition.d.ts +4 -0
  156. package/dist/query/conditions/RawCondition.js +3 -0
  157. package/dist/query/conditions/RawCondition.js.map +1 -0
  158. package/dist/query/conditions/index.d.ts +7 -0
  159. package/dist/query/conditions/index.js +24 -0
  160. package/dist/query/conditions/index.js.map +1 -0
  161. package/dist/query/features/HasAlias.d.ts +6 -0
  162. package/dist/query/features/HasAlias.js +17 -0
  163. package/dist/query/features/HasAlias.js.map +1 -0
  164. package/dist/query/features/HasDistinct.d.ts +6 -0
  165. package/dist/query/features/HasDistinct.js +20 -0
  166. package/dist/query/features/HasDistinct.js.map +1 -0
  167. package/dist/query/features/HasFieldValues.d.ts +9 -0
  168. package/dist/query/features/HasFieldValues.js +27 -0
  169. package/dist/query/features/HasFieldValues.js.map +1 -0
  170. package/dist/query/features/HasGroupByFields.d.ts +7 -0
  171. package/dist/query/features/HasGroupByFields.js +21 -0
  172. package/dist/query/features/HasGroupByFields.js.map +1 -0
  173. package/dist/query/features/HasHavingConditions.d.ts +13 -0
  174. package/dist/query/features/HasHavingConditions.js +28 -0
  175. package/dist/query/features/HasHavingConditions.js.map +1 -0
  176. package/dist/query/features/HasJoins.d.ts +41 -0
  177. package/dist/query/features/HasJoins.js +66 -0
  178. package/dist/query/features/HasJoins.js.map +1 -0
  179. package/dist/query/features/HasLimit.d.ts +6 -0
  180. package/dist/query/features/HasLimit.js +20 -0
  181. package/dist/query/features/HasLimit.js.map +1 -0
  182. package/dist/query/features/HasOffset.d.ts +6 -0
  183. package/dist/query/features/HasOffset.js +20 -0
  184. package/dist/query/features/HasOffset.js.map +1 -0
  185. package/dist/query/features/HasOrderByFields.d.ts +15 -0
  186. package/dist/query/features/HasOrderByFields.js +38 -0
  187. package/dist/query/features/HasOrderByFields.js.map +1 -0
  188. package/dist/query/features/HasSelectFields.d.ts +11 -0
  189. package/dist/query/features/HasSelectFields.js +21 -0
  190. package/dist/query/features/HasSelectFields.js.map +1 -0
  191. package/dist/query/features/HasTable.d.ts +7 -0
  192. package/dist/query/features/HasTable.js +20 -0
  193. package/dist/query/features/HasTable.js.map +1 -0
  194. package/dist/query/features/HasUnions.d.ts +13 -0
  195. package/dist/query/features/HasUnions.js +21 -0
  196. package/dist/query/features/HasUnions.js.map +1 -0
  197. package/dist/query/features/HasWhen.d.ts +3 -0
  198. package/dist/query/features/HasWhen.js +13 -0
  199. package/dist/query/features/HasWhen.js.map +1 -0
  200. package/dist/query/features/HasWhereConditions.d.ts +35 -0
  201. package/dist/query/features/HasWhereConditions.js +92 -0
  202. package/dist/query/features/HasWhereConditions.js.map +1 -0
  203. package/dist/query/features/index.d.ts +14 -14
  204. package/dist/query/features/index.js +14 -14
  205. package/dist/query/features/index.js.map +1 -1
  206. package/dist/query/fields/BasicField.d.ts +5 -0
  207. package/dist/query/fields/BasicField.js +3 -0
  208. package/dist/query/fields/BasicField.js.map +1 -0
  209. package/dist/query/fields/Field.d.ts +3 -0
  210. package/dist/query/fields/Field.js +3 -0
  211. package/dist/query/fields/Field.js.map +1 -0
  212. package/dist/query/fields/RawField.d.ts +1 -0
  213. package/dist/query/fields/RawField.js +3 -0
  214. package/dist/query/fields/RawField.js.map +1 -0
  215. package/dist/query/fields/index.d.ts +3 -0
  216. package/dist/query/fields/index.js +20 -0
  217. package/dist/query/fields/index.js.map +1 -0
  218. package/dist/query/index.d.ts +7 -7
  219. package/dist/query/index.js +7 -7
  220. package/dist/query/index.js.map +1 -1
  221. package/dist/query/query.js +1 -1
  222. package/dist/query/query.js.map +1 -1
  223. package/dist/query/statement.js +1 -1
  224. package/dist/query/statement.js.map +1 -1
  225. package/package.json +14 -9
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConditionConnector = void 0;
4
+ var ConditionConnector;
5
+ (function (ConditionConnector) {
6
+ ConditionConnector[ConditionConnector["AND"] = 0] = "AND";
7
+ ConditionConnector[ConditionConnector["OR"] = 1] = "OR";
8
+ })(ConditionConnector = exports.ConditionConnector || (exports.ConditionConnector = {}));
9
+ //# sourceMappingURL=ConditionConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionConnector.js","sourceRoot":"","sources":["../../../src/query/conditions/ConditionConnector.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,yDAAG,CAAA;IACH,uDAAE,CAAA;AACJ,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
@@ -0,0 +1,40 @@
1
+ import { Field } from '../fields';
2
+ import { Condition } from './Condition';
3
+ import { ConditionConnector } from './ConditionConnector';
4
+ import { ConnectedCondition } from './ConnectedCondition';
5
+ export declare class ConditionGroup {
6
+ private conditions;
7
+ setConditions(conditions: Array<ConnectedCondition>): ConditionGroup;
8
+ getConditions(): Array<{
9
+ condition: Condition;
10
+ connector: ConditionConnector;
11
+ }>;
12
+ where(callback: (group: ConditionGroup) => void): ConditionGroup;
13
+ where(condition: Condition): ConditionGroup;
14
+ where(field: Field, value: any): ConditionGroup;
15
+ where(field: Field, operator: string, value: any): ConditionGroup;
16
+ orWhere(callback: (group: ConditionGroup) => void): ConditionGroup;
17
+ orWhere(condition: Condition): ConditionGroup;
18
+ orWhere(field: Field, value: any): ConditionGroup;
19
+ orWhere(field: Field, operator: string, value: any): ConditionGroup;
20
+ whereIn(field: Field, values: Array<any>): ConditionGroup;
21
+ whereNotIn(field: Field, values: Array<any>): ConditionGroup;
22
+ whereBetween(field: Field, range: [any, any]): ConditionGroup;
23
+ whereNotBetween(field: Field, range: [any, any]): ConditionGroup;
24
+ whereNull(field: Field): ConditionGroup;
25
+ whereNotNull(field: Field): ConditionGroup;
26
+ whereLike(field: Field, pattern: string): ConditionGroup;
27
+ whereNotLike(field: Field, pattern: string): ConditionGroup;
28
+ whereColumn(field: Field, column: Field): ConditionGroup;
29
+ whereColumn(field: Field, operator: string, column: Field): ConditionGroup;
30
+ orWhereIn(field: Field, values: Array<any>): ConditionGroup;
31
+ orWhereNotIn(field: Field, values: Array<any>): ConditionGroup;
32
+ orWhereBetween(field: Field, range: [any, any]): ConditionGroup;
33
+ orWhereNotBetween(field: Field, range: [any, any]): ConditionGroup;
34
+ orWhereNull(field: Field): ConditionGroup;
35
+ orWhereNotNull(field: Field): ConditionGroup;
36
+ orWhereLike(field: Field, pattern: string): ConditionGroup;
37
+ orWhereNotLike(field: Field, pattern: string): ConditionGroup;
38
+ orWhereColumn(field: Field, column: Field): ConditionGroup;
39
+ orWhereColumn(field: Field, operator: string, column: Field): ConditionGroup;
40
+ }
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConditionGroup = void 0;
4
+ const ConditionConnector_1 = require("./ConditionConnector");
5
+ class ConditionGroup {
6
+ constructor() {
7
+ this.conditions = [];
8
+ }
9
+ setConditions(conditions) {
10
+ this.conditions = conditions;
11
+ return this;
12
+ }
13
+ getConditions() {
14
+ return this.conditions;
15
+ }
16
+ where() {
17
+ let condition;
18
+ if (arguments.length === 1 && typeof arguments[0] === 'function') {
19
+ const group = new ConditionGroup();
20
+ arguments[0](group);
21
+ condition = group;
22
+ }
23
+ else {
24
+ switch (arguments.length) {
25
+ case 1:
26
+ condition = arguments[0];
27
+ break;
28
+ case 2: {
29
+ const [field, value] = arguments;
30
+ condition = { field, operator: '=', value };
31
+ break;
32
+ }
33
+ case 3: {
34
+ const [field, operator, value] = arguments;
35
+ condition = { field, operator, value };
36
+ break;
37
+ }
38
+ default:
39
+ throw new Error('Wrong number of arguments for "where"');
40
+ }
41
+ }
42
+ this.conditions.push({ condition, connector: ConditionConnector_1.ConditionConnector.AND });
43
+ return this;
44
+ }
45
+ orWhere() {
46
+ let condition;
47
+ if (arguments.length === 1 && typeof arguments[0] === 'function') {
48
+ const group = new ConditionGroup();
49
+ arguments[0](group);
50
+ condition = group;
51
+ }
52
+ else {
53
+ switch (arguments.length) {
54
+ case 1:
55
+ condition = arguments[0];
56
+ break;
57
+ case 2: {
58
+ const [field, value] = arguments;
59
+ condition = { field, operator: '=', value };
60
+ break;
61
+ }
62
+ case 3: {
63
+ const [field, operator, value] = arguments;
64
+ condition = { field, operator, value };
65
+ break;
66
+ }
67
+ default:
68
+ throw new Error('Wrong number of arguments for "orWhere"');
69
+ }
70
+ }
71
+ this.conditions.push({ condition, connector: ConditionConnector_1.ConditionConnector.OR });
72
+ return this;
73
+ }
74
+ // ── WHERE convenience methods ─────────────────────────────────────────────
75
+ whereIn(field, values) {
76
+ return this.where(field, 'IN', values);
77
+ }
78
+ whereNotIn(field, values) {
79
+ return this.where(field, 'NOT IN', values);
80
+ }
81
+ whereBetween(field, range) {
82
+ return this.where(field, 'BETWEEN', range);
83
+ }
84
+ whereNotBetween(field, range) {
85
+ return this.where(field, 'NOT BETWEEN', range);
86
+ }
87
+ whereNull(field) {
88
+ return this.where(field, null);
89
+ }
90
+ whereNotNull(field) {
91
+ return this.where(field, '<>', null);
92
+ }
93
+ whereLike(field, pattern) {
94
+ return this.where(field, 'LIKE', pattern);
95
+ }
96
+ whereNotLike(field, pattern) {
97
+ return this.where(field, 'NOT LIKE', pattern);
98
+ }
99
+ whereColumn(field, operatorOrColumn, column) {
100
+ const operator = column !== undefined ? operatorOrColumn : '=';
101
+ const col = column !== undefined ? column : operatorOrColumn;
102
+ this.conditions.push({ condition: { field, operator, column: col }, connector: ConditionConnector_1.ConditionConnector.AND });
103
+ return this;
104
+ }
105
+ // ── OR WHERE convenience methods ──────────────────────────────────────────
106
+ orWhereIn(field, values) {
107
+ return this.orWhere(field, 'IN', values);
108
+ }
109
+ orWhereNotIn(field, values) {
110
+ return this.orWhere(field, 'NOT IN', values);
111
+ }
112
+ orWhereBetween(field, range) {
113
+ return this.orWhere(field, 'BETWEEN', range);
114
+ }
115
+ orWhereNotBetween(field, range) {
116
+ return this.orWhere(field, 'NOT BETWEEN', range);
117
+ }
118
+ orWhereNull(field) {
119
+ return this.orWhere(field, null);
120
+ }
121
+ orWhereNotNull(field) {
122
+ return this.orWhere(field, '<>', null);
123
+ }
124
+ orWhereLike(field, pattern) {
125
+ return this.orWhere(field, 'LIKE', pattern);
126
+ }
127
+ orWhereNotLike(field, pattern) {
128
+ return this.orWhere(field, 'NOT LIKE', pattern);
129
+ }
130
+ orWhereColumn(field, operatorOrColumn, column) {
131
+ const operator = column !== undefined ? operatorOrColumn : '=';
132
+ const col = column !== undefined ? column : operatorOrColumn;
133
+ this.conditions.push({ condition: { field, operator, column: col }, connector: ConditionConnector_1.ConditionConnector.OR });
134
+ return this;
135
+ }
136
+ }
137
+ exports.ConditionGroup = ConditionGroup;
138
+ //# sourceMappingURL=ConditionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionGroup.js","sourceRoot":"","sources":["../../../src/query/conditions/ConditionGroup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Condition } from './Condition';
2
+ import { ConditionConnector } from './ConditionConnector';
3
+ export type ConnectedCondition = {
4
+ condition: Condition;
5
+ connector: ConditionConnector;
6
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ConnectedCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectedCondition.js","sourceRoot":"","sources":["../../../src/query/conditions/ConnectedCondition.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type RawCondition = string | {
2
+ sql: string;
3
+ bindings: Array<any>;
4
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RawCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RawCondition.js","sourceRoot":"","sources":["../../../src/query/conditions/RawCondition.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export * from './BasicCondition';
2
+ export * from './ColumnCondition';
3
+ export * from './Condition';
4
+ export * from './ConditionConnector';
5
+ export * from './ConditionGroup';
6
+ export * from './ConnectedCondition';
7
+ export * from './RawCondition';
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BasicCondition"), exports);
18
+ __exportStar(require("./ColumnCondition"), exports);
19
+ __exportStar(require("./Condition"), exports);
20
+ __exportStar(require("./ConditionConnector"), exports);
21
+ __exportStar(require("./ConditionGroup"), exports);
22
+ __exportStar(require("./ConnectedCondition"), exports);
23
+ __exportStar(require("./RawCondition"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/query/conditions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,oDAAiC;AACjC,8CAA2B;AAC3B,uDAAoC;AACpC,mDAAgC;AAChC,uDAAoC;AACpC,iDAA8B"}
@@ -0,0 +1,6 @@
1
+ export declare abstract class HasAlias<R> {
2
+ protected _alias?: string;
3
+ setAlias(alias: string | undefined): R;
4
+ getAlias(): string | undefined;
5
+ alias(alias: string): R;
6
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasAlias = void 0;
4
+ class HasAlias {
5
+ setAlias(alias) {
6
+ this._alias = alias;
7
+ return this;
8
+ }
9
+ getAlias() {
10
+ return this._alias;
11
+ }
12
+ alias(alias) {
13
+ return this.setAlias(alias);
14
+ }
15
+ }
16
+ exports.HasAlias = HasAlias;
17
+ //# sourceMappingURL=HasAlias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasAlias.js","sourceRoot":"","sources":["../../../src/query/features/HasAlias.ts"],"names":[],"mappings":";;;AAAA,MAAsB,QAAQ;IAGrB,QAAQ,CAAC,KAAyB;QACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAEnB,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;CACF;AAhBD,4BAgBC"}
@@ -0,0 +1,6 @@
1
+ export declare abstract class HasDistinct<R> {
2
+ protected _distinct: boolean;
3
+ setDistinct(distinct: boolean): R;
4
+ isDistinct(): boolean;
5
+ distinct(distinct?: boolean): R;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasDistinct = void 0;
4
+ class HasDistinct {
5
+ constructor() {
6
+ this._distinct = false;
7
+ }
8
+ setDistinct(distinct) {
9
+ this._distinct = distinct;
10
+ return this;
11
+ }
12
+ isDistinct() {
13
+ return this._distinct;
14
+ }
15
+ distinct(distinct = true) {
16
+ return this.setDistinct(distinct);
17
+ }
18
+ }
19
+ exports.HasDistinct = HasDistinct;
20
+ //# sourceMappingURL=HasDistinct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasDistinct.js","sourceRoot":"","sources":["../../../src/query/features/HasDistinct.ts"],"names":[],"mappings":";;;AAAA,MAAsB,WAAW;IAAjC;QACY,cAAS,GAAY,KAAK,CAAA;IAetC,CAAC;IAbQ,WAAW,CAAC,QAAiB;QAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QAEzB,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAEM,QAAQ,CAAC,WAAoB,IAAI;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACF;AAhBD,kCAgBC"}
@@ -0,0 +1,9 @@
1
+ import { DataSet } from '../../database/DataSet';
2
+ export declare abstract class HasFieldValues<R> {
3
+ protected _fields?: DataSet;
4
+ setFields(fields: DataSet | undefined): R;
5
+ getFields(): DataSet | undefined;
6
+ setFieldValue(field: string, value: any): R;
7
+ getFieldValue(field: string): any;
8
+ hasFieldValue(field: string): boolean;
9
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasFieldValues = void 0;
4
+ class HasFieldValues {
5
+ setFields(fields) {
6
+ this._fields = fields;
7
+ return this;
8
+ }
9
+ getFields() {
10
+ return this._fields;
11
+ }
12
+ setFieldValue(field, value) {
13
+ if (!this._fields) {
14
+ this._fields = {};
15
+ }
16
+ this._fields[field] = value;
17
+ return this;
18
+ }
19
+ getFieldValue(field) {
20
+ return this._fields && this._fields[field];
21
+ }
22
+ hasFieldValue(field) {
23
+ return this._fields && field in this._fields ? true : false;
24
+ }
25
+ }
26
+ exports.HasFieldValues = HasFieldValues;
27
+ //# sourceMappingURL=HasFieldValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasFieldValues.js","sourceRoot":"","sources":["../../../src/query/features/HasFieldValues.ts"],"names":[],"mappings":";;;AAEA,MAAsB,cAAc;IAG3B,SAAS,CAAC,MAA2B;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QAErB,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEM,aAAa,CAAC,KAAa,EAAE,KAAU;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;SAClB;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;QAE3B,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAEM,aAAa,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAEM,aAAa,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IAC7D,CAAC;CACF;AA9BD,wCA8BC"}
@@ -0,0 +1,7 @@
1
+ import { Field } from '../fields';
2
+ export declare abstract class HasGroupByFields<R> {
3
+ protected _groupByFields?: Array<Field>;
4
+ setGroupByFields(groupByFields: Array<Field> | undefined): R;
5
+ getGroupByFields(): Array<Field> | undefined;
6
+ groupBy(...fields: Array<Field>): R;
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasGroupByFields = void 0;
4
+ class HasGroupByFields {
5
+ setGroupByFields(groupByFields) {
6
+ this._groupByFields = groupByFields;
7
+ return this;
8
+ }
9
+ getGroupByFields() {
10
+ return this._groupByFields;
11
+ }
12
+ groupBy(...fields) {
13
+ if (!this._groupByFields) {
14
+ this._groupByFields = [];
15
+ }
16
+ this._groupByFields.push(...fields);
17
+ return this;
18
+ }
19
+ }
20
+ exports.HasGroupByFields = HasGroupByFields;
21
+ //# sourceMappingURL=HasGroupByFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasGroupByFields.js","sourceRoot":"","sources":["../../../src/query/features/HasGroupByFields.ts"],"names":[],"mappings":";;;AAEA,MAAsB,gBAAgB;IAG7B,gBAAgB,CAAC,aAAuC;QAC7D,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;QAEnC,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAEM,OAAO,CAAC,GAAG,MAAoB;QACpC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;SACzB;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;QAEnC,OAAO,IAAoB,CAAA;IAC7B,CAAC;CACF;AAtBD,4CAsBC"}
@@ -0,0 +1,13 @@
1
+ import { Condition, ConditionGroup } from '../conditions';
2
+ import { Field } from '../fields';
3
+ export declare abstract class HasHavingConditions<R> {
4
+ protected _havingConditions?: ConditionGroup;
5
+ setHavingConditions(conditions: ConditionGroup | undefined): R;
6
+ getHavingConditions(): ConditionGroup;
7
+ having(condition: Condition): R;
8
+ having(field: Field, value: any): R;
9
+ having(field: Field, operator: string, value: any): R;
10
+ orHaving(condition: Condition): R;
11
+ orHaving(field: Field, value: any): R;
12
+ orHaving(field: Field, operator: string, value: any): R;
13
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasHavingConditions = void 0;
4
+ const conditions_1 = require("../conditions");
5
+ class HasHavingConditions {
6
+ setHavingConditions(conditions) {
7
+ this._havingConditions = conditions;
8
+ return this;
9
+ }
10
+ getHavingConditions() {
11
+ if (!this._havingConditions) {
12
+ this._havingConditions = new conditions_1.ConditionGroup();
13
+ }
14
+ return this._havingConditions;
15
+ }
16
+ having() {
17
+ // @ts-ignore
18
+ this.getHavingConditions().where(...arguments);
19
+ return this;
20
+ }
21
+ orHaving() {
22
+ // @ts-ignore
23
+ this.getHavingConditions().orWhere(...arguments);
24
+ return this;
25
+ }
26
+ }
27
+ exports.HasHavingConditions = HasHavingConditions;
28
+ //# sourceMappingURL=HasHavingConditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasHavingConditions.js","sourceRoot":"","sources":["../../../src/query/features/HasHavingConditions.ts"],"names":[],"mappings":";;;AAAA,8CAAyD;AAGzD,MAAsB,mBAAmB;IAGhC,mBAAmB,CAAC,UAAsC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAA;QAEnC,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAEM,mBAAmB;QACxB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,2BAAc,EAAE,CAAA;SAC9C;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC/B,CAAC;IAKM,MAAM;QACX,aAAa;QACb,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAA;QAE9C,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAKM,QAAQ;QACb,aAAa;QACb,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAA;QAEhD,OAAO,IAAoB,CAAA;IAC7B,CAAC;CACF;AApCD,kDAoCC"}
@@ -0,0 +1,41 @@
1
+ import { ConditionGroup } from '../conditions';
2
+ import { Field } from '../fields';
3
+ import { QueryTable } from '../QueryTable';
4
+ export declare enum JoinType {
5
+ JOIN = 0,
6
+ INNER_JOIN = 1,
7
+ OUTER_JOIN = 2,
8
+ LEFT_JOIN = 3,
9
+ RIGHT_JOIN = 4,
10
+ CROSS_JOIN = 5
11
+ }
12
+ export type Join = {
13
+ table: QueryTable;
14
+ type: JoinType;
15
+ condition: ConditionGroup;
16
+ alias?: string;
17
+ };
18
+ export declare abstract class HasJoins<R> {
19
+ protected _joins?: Array<Join>;
20
+ getJoins(): Array<Join>;
21
+ setJoins(joins: Array<Join> | undefined): R;
22
+ join(join: Join): R;
23
+ join(type: JoinType, table: QueryTable, sourceField: Field, remoteField: Field): R;
24
+ join(type: JoinType, table: QueryTable, sourceField: Field, remoteField: Field, alias: string): R;
25
+ join(type: JoinType, table: QueryTable, sourceField?: Field, remoteField?: Field, alias?: string): R;
26
+ innerJoin(table: QueryTable, sourceField: Field, remoteField: Field): R;
27
+ innerJoin(table: QueryTable, sourceField: Field, remoteField: Field, alias: string): R;
28
+ innerJoin(table: QueryTable, sourceField?: Field, remoteField?: Field, alias?: string): R;
29
+ leftJoin(table: QueryTable, sourceField: Field, remoteField: Field): R;
30
+ leftJoin(table: QueryTable, sourceField: Field, remoteField: Field, alias: string): R;
31
+ leftJoin(table: QueryTable, sourceField?: Field, remoteField?: Field, alias?: string): R;
32
+ rightJoin(table: QueryTable, sourceField: Field, remoteField: Field): R;
33
+ rightJoin(table: QueryTable, sourceField: Field, remoteField: Field, alias: string): R;
34
+ rightJoin(table: QueryTable, sourceField?: Field, remoteField?: Field, alias?: string): R;
35
+ outerJoin(table: QueryTable, sourceField: Field, remoteField: Field): R;
36
+ outerJoin(table: QueryTable, sourceField: Field, remoteField: Field, alias: string): R;
37
+ outerJoin(table: QueryTable, sourceField?: Field, remoteField?: Field, alias?: string): R;
38
+ crossJoin(table: QueryTable, sourceField: Field, remoteField: Field): R;
39
+ crossJoin(table: QueryTable, sourceField: Field, remoteField: Field, alias: string): R;
40
+ crossJoin(table: QueryTable, sourceField?: Field, remoteField?: Field, alias?: string): R;
41
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasJoins = exports.JoinType = void 0;
4
+ const conditions_1 = require("../conditions");
5
+ var JoinType;
6
+ (function (JoinType) {
7
+ JoinType[JoinType["JOIN"] = 0] = "JOIN";
8
+ JoinType[JoinType["INNER_JOIN"] = 1] = "INNER_JOIN";
9
+ JoinType[JoinType["OUTER_JOIN"] = 2] = "OUTER_JOIN";
10
+ JoinType[JoinType["LEFT_JOIN"] = 3] = "LEFT_JOIN";
11
+ JoinType[JoinType["RIGHT_JOIN"] = 4] = "RIGHT_JOIN";
12
+ JoinType[JoinType["CROSS_JOIN"] = 5] = "CROSS_JOIN";
13
+ })(JoinType = exports.JoinType || (exports.JoinType = {}));
14
+ class HasJoins {
15
+ getJoins() {
16
+ if (!this._joins) {
17
+ this._joins = [];
18
+ }
19
+ return this._joins;
20
+ }
21
+ setJoins(joins) {
22
+ this._joins = joins;
23
+ return this;
24
+ }
25
+ join() {
26
+ let join;
27
+ if (arguments.length === 1) {
28
+ join = arguments[0];
29
+ }
30
+ else {
31
+ const [type, table, sourceField, remoteField, alias] = arguments;
32
+ const condition = new conditions_1.ConditionGroup();
33
+ condition.whereColumn(sourceField, remoteField);
34
+ join = { type, table, condition, alias };
35
+ }
36
+ this.getJoins().push(join);
37
+ return this;
38
+ }
39
+ innerJoin() {
40
+ // @ts-ignore
41
+ this.join(JoinType.INNER_JOIN, ...arguments);
42
+ return this;
43
+ }
44
+ leftJoin() {
45
+ // @ts-ignore
46
+ this.join(JoinType.LEFT_JOIN, ...arguments);
47
+ return this;
48
+ }
49
+ rightJoin() {
50
+ // @ts-ignore
51
+ this.join(JoinType.RIGHT_JOIN, ...arguments);
52
+ return this;
53
+ }
54
+ outerJoin() {
55
+ // @ts-ignore
56
+ this.join(JoinType.OUTER_JOIN, ...arguments);
57
+ return this;
58
+ }
59
+ crossJoin() {
60
+ // @ts-ignore
61
+ this.join(JoinType.CROSS_JOIN, ...arguments);
62
+ return this;
63
+ }
64
+ }
65
+ exports.HasJoins = HasJoins;
66
+ //# sourceMappingURL=HasJoins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasJoins.js","sourceRoot":"","sources":["../../../src/query/features/HasJoins.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AAI9C,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,uCAAI,CAAA;IACJ,mDAAU,CAAA;IACV,mDAAU,CAAA;IACV,iDAAS,CAAA;IACT,mDAAU,CAAA;IACV,mDAAU,CAAA;AACZ,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAID,MAAsB,QAAQ;IAGrB,QAAQ;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;SACjB;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEM,QAAQ,CAAC,KAA8B;QAC5C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAEnB,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAMM,IAAI;QACT,IAAI,IAAU,CAAA;QAEd,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,SAAS,CAAA;YAChE,MAAM,SAAS,GAAG,IAAI,2BAAc,EAAE,CAAA;YAEtC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;YAC/C,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;SACzC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE1B,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAKM,SAAS;QACd,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAA;QAE5C,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAKM,QAAQ;QACb,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,CAAA;QAE3C,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAKM,SAAS;QACd,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAA;QAE5C,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAKM,SAAS;QACd,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAA;QAE5C,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAKM,SAAS;QACd,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAA;QAE5C,OAAO,IAAoB,CAAA;IAC7B,CAAC;CACF;AAxFD,4BAwFC"}
@@ -0,0 +1,6 @@
1
+ export declare abstract class HasLimit<R> {
2
+ protected _limit: number;
3
+ setLimit(limit: number): R;
4
+ getLimit(): number;
5
+ limit(limit: number): R;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasLimit = void 0;
4
+ class HasLimit {
5
+ constructor() {
6
+ this._limit = -1;
7
+ }
8
+ setLimit(limit) {
9
+ this._limit = limit;
10
+ return this;
11
+ }
12
+ getLimit() {
13
+ return this._limit;
14
+ }
15
+ limit(limit) {
16
+ return this.setLimit(limit);
17
+ }
18
+ }
19
+ exports.HasLimit = HasLimit;
20
+ //# sourceMappingURL=HasLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasLimit.js","sourceRoot":"","sources":["../../../src/query/features/HasLimit.ts"],"names":[],"mappings":";;;AAAA,MAAsB,QAAQ;IAA9B;QACY,WAAM,GAAW,CAAC,CAAC,CAAA;IAe/B,CAAC;IAbQ,QAAQ,CAAC,KAAa;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAEnB,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;CACF;AAhBD,4BAgBC"}
@@ -0,0 +1,6 @@
1
+ export declare abstract class HasOffset<R> {
2
+ protected _offset: number;
3
+ setOffset(offset: number): R;
4
+ getOffset(): number;
5
+ offset(offset: number): R;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasOffset = void 0;
4
+ class HasOffset {
5
+ constructor() {
6
+ this._offset = -1;
7
+ }
8
+ setOffset(offset) {
9
+ this._offset = offset;
10
+ return this;
11
+ }
12
+ getOffset() {
13
+ return this._offset;
14
+ }
15
+ offset(offset) {
16
+ return this.setOffset(offset);
17
+ }
18
+ }
19
+ exports.HasOffset = HasOffset;
20
+ //# sourceMappingURL=HasOffset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasOffset.js","sourceRoot":"","sources":["../../../src/query/features/HasOffset.ts"],"names":[],"mappings":";;;AAAA,MAAsB,SAAS;IAA/B;QACY,YAAO,GAAW,CAAC,CAAC,CAAA;IAehC,CAAC;IAbQ,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QAErB,OAAO,IAAoB,CAAA;IAC7B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEM,MAAM,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;CACF;AAhBD,8BAgBC"}