@orchestr-sh/orchestr 1.0.1 → 1.1.0

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 (93) hide show
  1. package/dist/Database/Adapters/DrizzleAdapter.d.ts +119 -0
  2. package/dist/Database/Adapters/DrizzleAdapter.d.ts.map +1 -0
  3. package/dist/Database/Adapters/DrizzleAdapter.js +384 -0
  4. package/dist/Database/Adapters/DrizzleAdapter.js.map +1 -0
  5. package/dist/Database/Connection.d.ts +103 -0
  6. package/dist/Database/Connection.d.ts.map +1 -0
  7. package/dist/Database/Connection.js +164 -0
  8. package/dist/Database/Connection.js.map +1 -0
  9. package/dist/Database/Contracts/DatabaseAdapter.d.ts +85 -0
  10. package/dist/Database/Contracts/DatabaseAdapter.d.ts.map +1 -0
  11. package/dist/Database/Contracts/DatabaseAdapter.js +9 -0
  12. package/dist/Database/Contracts/DatabaseAdapter.js.map +1 -0
  13. package/dist/Database/Contracts/QueryBuilderInterface.d.ts +196 -0
  14. package/dist/Database/Contracts/QueryBuilderInterface.d.ts.map +1 -0
  15. package/dist/Database/Contracts/QueryBuilderInterface.js +8 -0
  16. package/dist/Database/Contracts/QueryBuilderInterface.js.map +1 -0
  17. package/dist/Database/Contracts/Schema.d.ts +234 -0
  18. package/dist/Database/Contracts/Schema.d.ts.map +1 -0
  19. package/dist/Database/Contracts/Schema.js +8 -0
  20. package/dist/Database/Contracts/Schema.js.map +1 -0
  21. package/dist/Database/DatabaseManager.d.ts +61 -0
  22. package/dist/Database/DatabaseManager.d.ts.map +1 -0
  23. package/dist/Database/DatabaseManager.js +102 -0
  24. package/dist/Database/DatabaseManager.js.map +1 -0
  25. package/dist/Database/DatabaseServiceProvider.d.ts +17 -0
  26. package/dist/Database/DatabaseServiceProvider.d.ts.map +1 -0
  27. package/dist/Database/DatabaseServiceProvider.js +44 -0
  28. package/dist/Database/DatabaseServiceProvider.js.map +1 -0
  29. package/dist/Database/Eloquent/Builder.d.ts +76 -0
  30. package/dist/Database/Eloquent/Builder.d.ts.map +1 -0
  31. package/dist/Database/Eloquent/Builder.js +154 -0
  32. package/dist/Database/Eloquent/Builder.js.map +1 -0
  33. package/dist/Database/Eloquent/Collection.d.ts +137 -0
  34. package/dist/Database/Eloquent/Collection.d.ts.map +1 -0
  35. package/dist/Database/Eloquent/Collection.js +284 -0
  36. package/dist/Database/Eloquent/Collection.js.map +1 -0
  37. package/dist/Database/Eloquent/Concerns/HasAttributes.d.ts +44 -0
  38. package/dist/Database/Eloquent/Concerns/HasAttributes.d.ts.map +1 -0
  39. package/dist/Database/Eloquent/Concerns/HasAttributes.js +8 -0
  40. package/dist/Database/Eloquent/Concerns/HasAttributes.js.map +1 -0
  41. package/dist/Database/Eloquent/Concerns/HasTimestamps.d.ts +41 -0
  42. package/dist/Database/Eloquent/Concerns/HasTimestamps.d.ts.map +1 -0
  43. package/dist/Database/Eloquent/Concerns/HasTimestamps.js +14 -0
  44. package/dist/Database/Eloquent/Concerns/HasTimestamps.js.map +1 -0
  45. package/dist/Database/Eloquent/Model.d.ts +265 -0
  46. package/dist/Database/Eloquent/Model.d.ts.map +1 -0
  47. package/dist/Database/Eloquent/Model.js +523 -0
  48. package/dist/Database/Eloquent/Model.js.map +1 -0
  49. package/dist/Database/Eloquent/SoftDeletes.d.ts +41 -0
  50. package/dist/Database/Eloquent/SoftDeletes.d.ts.map +1 -0
  51. package/dist/Database/Eloquent/SoftDeletes.js +22 -0
  52. package/dist/Database/Eloquent/SoftDeletes.js.map +1 -0
  53. package/dist/Database/Ensemble/Concerns/HasAttributes.d.ts +44 -0
  54. package/dist/Database/Ensemble/Concerns/HasAttributes.d.ts.map +1 -0
  55. package/dist/Database/Ensemble/Concerns/HasAttributes.js +8 -0
  56. package/dist/Database/Ensemble/Concerns/HasAttributes.js.map +1 -0
  57. package/dist/Database/Ensemble/Concerns/HasTimestamps.d.ts +41 -0
  58. package/dist/Database/Ensemble/Concerns/HasTimestamps.d.ts.map +1 -0
  59. package/dist/Database/Ensemble/Concerns/HasTimestamps.js +14 -0
  60. package/dist/Database/Ensemble/Concerns/HasTimestamps.js.map +1 -0
  61. package/dist/Database/Ensemble/Ensemble.d.ts +266 -0
  62. package/dist/Database/Ensemble/Ensemble.d.ts.map +1 -0
  63. package/dist/Database/Ensemble/Ensemble.js +524 -0
  64. package/dist/Database/Ensemble/Ensemble.js.map +1 -0
  65. package/dist/Database/Ensemble/EnsembleBuilder.d.ts +76 -0
  66. package/dist/Database/Ensemble/EnsembleBuilder.d.ts.map +1 -0
  67. package/dist/Database/Ensemble/EnsembleBuilder.js +154 -0
  68. package/dist/Database/Ensemble/EnsembleBuilder.js.map +1 -0
  69. package/dist/Database/Ensemble/EnsembleCollection.d.ts +137 -0
  70. package/dist/Database/Ensemble/EnsembleCollection.d.ts.map +1 -0
  71. package/dist/Database/Ensemble/EnsembleCollection.js +284 -0
  72. package/dist/Database/Ensemble/EnsembleCollection.js.map +1 -0
  73. package/dist/Database/Ensemble/SoftDeletes.d.ts +41 -0
  74. package/dist/Database/Ensemble/SoftDeletes.d.ts.map +1 -0
  75. package/dist/Database/Ensemble/SoftDeletes.js +22 -0
  76. package/dist/Database/Ensemble/SoftDeletes.js.map +1 -0
  77. package/dist/Database/Query/Builder.d.ts +219 -0
  78. package/dist/Database/Query/Builder.d.ts.map +1 -0
  79. package/dist/Database/Query/Builder.js +554 -0
  80. package/dist/Database/Query/Builder.js.map +1 -0
  81. package/dist/Database/Query/Expression.d.ts +22 -0
  82. package/dist/Database/Query/Expression.d.ts.map +1 -0
  83. package/dist/Database/Query/Expression.js +35 -0
  84. package/dist/Database/Query/Expression.js.map +1 -0
  85. package/dist/Facades/DB.d.ts +7 -0
  86. package/dist/Facades/DB.d.ts.map +1 -0
  87. package/dist/Facades/DB.js +42 -0
  88. package/dist/Facades/DB.js.map +1 -0
  89. package/dist/index.d.ts +18 -0
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +27 -1
  92. package/dist/index.js.map +1 -1
  93. package/package.json +13 -5
@@ -0,0 +1,554 @@
1
+ "use strict";
2
+ /**
3
+ * Query Builder
4
+ *
5
+ * Fluent query builder for constructing database queries
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Builder = void 0;
9
+ const Expression_1 = require("./Expression");
10
+ class Builder {
11
+ adapter;
12
+ _columns = ['*'];
13
+ _distinct = false;
14
+ _table;
15
+ _wheres = [];
16
+ _joins = [];
17
+ _orders = [];
18
+ _groups = [];
19
+ _havings = [];
20
+ _limit;
21
+ _offset;
22
+ _bindings = [];
23
+ constructor(adapter) {
24
+ this.adapter = adapter;
25
+ }
26
+ /**
27
+ * Set the columns to be selected
28
+ */
29
+ select(...columns) {
30
+ this._columns = columns.length > 0 ? columns : ['*'];
31
+ return this;
32
+ }
33
+ /**
34
+ * Add a raw select expression
35
+ */
36
+ selectRaw(sql, bindings = []) {
37
+ this._columns.push(new Expression_1.Expression(sql));
38
+ this._bindings.push(...bindings);
39
+ return this;
40
+ }
41
+ /**
42
+ * Force the query to only return distinct results
43
+ */
44
+ distinct() {
45
+ this._distinct = true;
46
+ return this;
47
+ }
48
+ /**
49
+ * Set the table which the query is targeting
50
+ */
51
+ from(table) {
52
+ this._table = table;
53
+ return this;
54
+ }
55
+ /**
56
+ * Add a basic where clause
57
+ */
58
+ where(column, operator, value) {
59
+ // Handle where(column, value) syntax
60
+ if (arguments.length === 2) {
61
+ value = operator;
62
+ operator = '=';
63
+ }
64
+ this._wheres.push({
65
+ column,
66
+ operator: operator,
67
+ value,
68
+ boolean: 'and',
69
+ });
70
+ if (value !== undefined && value !== null) {
71
+ this._bindings.push(value);
72
+ }
73
+ return this;
74
+ }
75
+ /**
76
+ * Add an "or where" clause
77
+ */
78
+ orWhere(column, operator, value) {
79
+ if (arguments.length === 2) {
80
+ value = operator;
81
+ operator = '=';
82
+ }
83
+ this._wheres.push({
84
+ column,
85
+ operator: operator,
86
+ value,
87
+ boolean: 'or',
88
+ });
89
+ if (value !== undefined && value !== null) {
90
+ this._bindings.push(value);
91
+ }
92
+ return this;
93
+ }
94
+ /**
95
+ * Add a where in clause
96
+ */
97
+ whereIn(column, values) {
98
+ this._wheres.push({
99
+ column,
100
+ operator: 'in',
101
+ value: values,
102
+ boolean: 'and',
103
+ });
104
+ this._bindings.push(...values);
105
+ return this;
106
+ }
107
+ /**
108
+ * Add a where not in clause
109
+ */
110
+ whereNotIn(column, values) {
111
+ this._wheres.push({
112
+ column,
113
+ operator: 'not in',
114
+ value: values,
115
+ boolean: 'and',
116
+ });
117
+ this._bindings.push(...values);
118
+ return this;
119
+ }
120
+ /**
121
+ * Add a where null clause
122
+ */
123
+ whereNull(column) {
124
+ this._wheres.push({
125
+ column,
126
+ operator: 'is null',
127
+ value: null,
128
+ boolean: 'and',
129
+ });
130
+ return this;
131
+ }
132
+ /**
133
+ * Add a where not null clause
134
+ */
135
+ whereNotNull(column) {
136
+ this._wheres.push({
137
+ column,
138
+ operator: 'is not null',
139
+ value: null,
140
+ boolean: 'and',
141
+ });
142
+ return this;
143
+ }
144
+ /**
145
+ * Add a where between clause
146
+ */
147
+ whereBetween(column, values) {
148
+ this._wheres.push({
149
+ column,
150
+ operator: 'between',
151
+ value: values,
152
+ boolean: 'and',
153
+ });
154
+ this._bindings.push(...values);
155
+ return this;
156
+ }
157
+ /**
158
+ * Add a raw where clause
159
+ */
160
+ whereRaw(sql, bindings = []) {
161
+ this._wheres.push({
162
+ column: new Expression_1.Expression(sql),
163
+ operator: 'raw',
164
+ value: null,
165
+ boolean: 'and',
166
+ });
167
+ this._bindings.push(...bindings);
168
+ return this;
169
+ }
170
+ /**
171
+ * Add a join clause
172
+ */
173
+ join(table, first, operator = '=', second) {
174
+ this._joins.push({
175
+ type: 'inner',
176
+ table,
177
+ first,
178
+ operator,
179
+ second,
180
+ });
181
+ return this;
182
+ }
183
+ /**
184
+ * Add a left join clause
185
+ */
186
+ leftJoin(table, first, operator = '=', second) {
187
+ this._joins.push({
188
+ type: 'left',
189
+ table,
190
+ first,
191
+ operator,
192
+ second,
193
+ });
194
+ return this;
195
+ }
196
+ /**
197
+ * Add a right join clause
198
+ */
199
+ rightJoin(table, first, operator = '=', second) {
200
+ this._joins.push({
201
+ type: 'right',
202
+ table,
203
+ first,
204
+ operator,
205
+ second,
206
+ });
207
+ return this;
208
+ }
209
+ /**
210
+ * Add an order by clause
211
+ */
212
+ orderBy(column, direction = 'asc') {
213
+ this._orders.push({ column, direction });
214
+ return this;
215
+ }
216
+ /**
217
+ * Order by latest (descending created_at)
218
+ */
219
+ latest(column = 'created_at') {
220
+ return this.orderBy(column, 'desc');
221
+ }
222
+ /**
223
+ * Order by oldest (ascending created_at)
224
+ */
225
+ oldest(column = 'created_at') {
226
+ return this.orderBy(column, 'asc');
227
+ }
228
+ /**
229
+ * Add a group by clause
230
+ */
231
+ groupBy(...columns) {
232
+ this._groups.push(...columns);
233
+ return this;
234
+ }
235
+ /**
236
+ * Add a having clause
237
+ */
238
+ having(column, operator, value) {
239
+ if (arguments.length === 2) {
240
+ value = operator;
241
+ operator = '=';
242
+ }
243
+ this._havings.push({ column, operator, value });
244
+ if (value !== undefined && value !== null) {
245
+ this._bindings.push(value);
246
+ }
247
+ return this;
248
+ }
249
+ /**
250
+ * Set the limit
251
+ */
252
+ limit(value) {
253
+ this._limit = value;
254
+ return this;
255
+ }
256
+ /**
257
+ * Alias for limit
258
+ */
259
+ take(value) {
260
+ return this.limit(value);
261
+ }
262
+ /**
263
+ * Set the offset
264
+ */
265
+ offset(value) {
266
+ this._offset = value;
267
+ return this;
268
+ }
269
+ /**
270
+ * Alias for offset
271
+ */
272
+ skip(value) {
273
+ return this.offset(value);
274
+ }
275
+ /**
276
+ * Get all records
277
+ */
278
+ async get() {
279
+ const sql = this.toSql();
280
+ const results = await this.adapter.select(sql, this.getBindings());
281
+ return results;
282
+ }
283
+ /**
284
+ * Get the first record
285
+ */
286
+ async first() {
287
+ const results = await this.limit(1).get();
288
+ return results[0] || null;
289
+ }
290
+ /**
291
+ * Find a record by ID
292
+ */
293
+ async find(id) {
294
+ return this.where('id', '=', id).first();
295
+ }
296
+ /**
297
+ * Get a single column's value
298
+ */
299
+ async value(column) {
300
+ const result = await this.select(column).first();
301
+ return result ? result[column] : null;
302
+ }
303
+ /**
304
+ * Get an array of column values
305
+ */
306
+ async pluck(column) {
307
+ const results = await this.select(column).get();
308
+ return results.map((row) => row[column]);
309
+ }
310
+ /**
311
+ * Determine if any rows exist
312
+ */
313
+ async exists() {
314
+ const count = await this.count();
315
+ return count > 0;
316
+ }
317
+ /**
318
+ * Get the count of records
319
+ */
320
+ async count(column = '*') {
321
+ return this.aggregate('COUNT', column);
322
+ }
323
+ /**
324
+ * Get the maximum value of a column
325
+ */
326
+ async max(column) {
327
+ return this.aggregate('MAX', column);
328
+ }
329
+ /**
330
+ * Get the minimum value of a column
331
+ */
332
+ async min(column) {
333
+ return this.aggregate('MIN', column);
334
+ }
335
+ /**
336
+ * Get the average value of a column
337
+ */
338
+ async avg(column) {
339
+ return this.aggregate('AVG', column);
340
+ }
341
+ /**
342
+ * Get the sum of a column's values
343
+ */
344
+ async sum(column) {
345
+ return this.aggregate('SUM', column) || 0;
346
+ }
347
+ /**
348
+ * Execute an aggregate function
349
+ */
350
+ async aggregate(func, column) {
351
+ const previousColumns = this._columns;
352
+ const previousBindings = this._bindings.slice();
353
+ this.selectRaw(`${func}(${column}) as aggregate`);
354
+ const result = await this.first();
355
+ this._columns = previousColumns;
356
+ this._bindings = previousBindings;
357
+ return result ? result['aggregate'] : null;
358
+ }
359
+ /**
360
+ * Insert a new record
361
+ */
362
+ async insert(values) {
363
+ if (!this._table) {
364
+ throw new Error('Cannot insert without specifying a table');
365
+ }
366
+ const records = Array.isArray(values) ? values : [values];
367
+ if (records.length === 0) {
368
+ return true;
369
+ }
370
+ const columns = Object.keys(records[0]);
371
+ const placeholders = records
372
+ .map(() => `(${columns.map(() => '?').join(', ')})`)
373
+ .join(', ');
374
+ const bindings = records.flatMap((record) => columns.map((col) => record[col]));
375
+ const sql = `INSERT INTO ${this._table} (${columns.join(', ')}) VALUES ${placeholders}`;
376
+ await this.adapter.insert(sql, bindings);
377
+ return true;
378
+ }
379
+ /**
380
+ * Insert a new record and get the ID
381
+ */
382
+ async insertGetId(values, sequence) {
383
+ if (!this._table) {
384
+ throw new Error('Cannot insert without specifying a table');
385
+ }
386
+ const columns = Object.keys(values);
387
+ const placeholders = columns.map(() => '?').join(', ');
388
+ const bindings = columns.map((col) => values[col]);
389
+ const sql = `INSERT INTO ${this._table} (${columns.join(', ')}) VALUES (${placeholders})`;
390
+ return await this.adapter.insert(sql, bindings);
391
+ }
392
+ /**
393
+ * Update records
394
+ */
395
+ async update(values) {
396
+ if (!this._table) {
397
+ throw new Error('Cannot update without specifying a table');
398
+ }
399
+ const sets = Object.keys(values)
400
+ .map((key) => `${key} = ?`)
401
+ .join(', ');
402
+ const bindings = [...Object.values(values), ...this.getBindings()];
403
+ let sql = `UPDATE ${this._table} SET ${sets}`;
404
+ if (this._wheres.length > 0) {
405
+ sql += ' WHERE ' + this.compileWheres();
406
+ }
407
+ return await this.adapter.update(sql, bindings);
408
+ }
409
+ /**
410
+ * Delete records
411
+ */
412
+ async delete() {
413
+ if (!this._table) {
414
+ throw new Error('Cannot delete without specifying a table');
415
+ }
416
+ let sql = `DELETE FROM ${this._table}`;
417
+ if (this._wheres.length > 0) {
418
+ sql += ' WHERE ' + this.compileWheres();
419
+ }
420
+ return await this.adapter.delete(sql, this.getBindings());
421
+ }
422
+ /**
423
+ * Truncate the table
424
+ */
425
+ async truncate() {
426
+ if (!this._table) {
427
+ throw new Error('Cannot truncate without specifying a table');
428
+ }
429
+ const sql = `TRUNCATE TABLE ${this._table}`;
430
+ await this.adapter.query(sql);
431
+ }
432
+ /**
433
+ * Get the SQL query string
434
+ */
435
+ toSql() {
436
+ if (!this._table) {
437
+ throw new Error('Cannot generate SQL without specifying a table');
438
+ }
439
+ let sql = 'SELECT ';
440
+ if (this._distinct) {
441
+ sql += 'DISTINCT ';
442
+ }
443
+ sql += this.compileColumns();
444
+ sql += ` FROM ${this._table}`;
445
+ if (this._joins.length > 0) {
446
+ sql += ' ' + this.compileJoins();
447
+ }
448
+ if (this._wheres.length > 0) {
449
+ sql += ' WHERE ' + this.compileWheres();
450
+ }
451
+ if (this._groups.length > 0) {
452
+ sql += ' GROUP BY ' + this._groups.join(', ');
453
+ }
454
+ if (this._havings.length > 0) {
455
+ sql += ' HAVING ' + this.compileHavings();
456
+ }
457
+ if (this._orders.length > 0) {
458
+ sql += ' ORDER BY ' + this.compileOrders();
459
+ }
460
+ if (this._limit !== undefined) {
461
+ sql += ` LIMIT ${this._limit}`;
462
+ }
463
+ if (this._offset !== undefined) {
464
+ sql += ` OFFSET ${this._offset}`;
465
+ }
466
+ return sql;
467
+ }
468
+ /**
469
+ * Compile the columns
470
+ */
471
+ compileColumns() {
472
+ return this._columns
473
+ .map((col) => (typeof col === 'object' && col && 'getValue' in col ? col.getValue() : col))
474
+ .join(', ');
475
+ }
476
+ /**
477
+ * Compile the where clauses
478
+ */
479
+ compileWheres() {
480
+ return this._wheres
481
+ .map((where, index) => {
482
+ const boolean = index === 0 ? '' : ` ${where.boolean.toUpperCase()} `;
483
+ if (where.operator === 'raw') {
484
+ return boolean + (typeof where.column === 'object' && where.column && 'getValue' in where.column ? where.column.getValue() : where.column);
485
+ }
486
+ if (where.operator === 'in' || where.operator === 'not in') {
487
+ const placeholders = where.value.map(() => '?').join(', ');
488
+ return `${boolean}${where.column} ${where.operator.toUpperCase()} (${placeholders})`;
489
+ }
490
+ if (where.operator === 'between') {
491
+ return `${boolean}${where.column} BETWEEN ? AND ?`;
492
+ }
493
+ if (where.operator === 'is null' || where.operator === 'is not null') {
494
+ return `${boolean}${where.column} ${where.operator.toUpperCase()}`;
495
+ }
496
+ return `${boolean}${where.column} ${where.operator} ?`;
497
+ })
498
+ .join('');
499
+ }
500
+ /**
501
+ * Compile the join clauses
502
+ */
503
+ compileJoins() {
504
+ return this._joins
505
+ .map((join) => {
506
+ const type = join.type.toUpperCase();
507
+ return `${type} JOIN ${join.table} ON ${join.first} ${join.operator} ${join.second}`;
508
+ })
509
+ .join(' ');
510
+ }
511
+ /**
512
+ * Compile the order by clauses
513
+ */
514
+ compileOrders() {
515
+ return this._orders.map((order) => `${order.column} ${order.direction.toUpperCase()}`).join(', ');
516
+ }
517
+ /**
518
+ * Compile the having clauses
519
+ */
520
+ compileHavings() {
521
+ return this._havings
522
+ .map((having, index) => {
523
+ const boolean = index === 0 ? '' : ' AND ';
524
+ return `${boolean}${having.column} ${having.operator} ?`;
525
+ })
526
+ .join('');
527
+ }
528
+ /**
529
+ * Get the bindings for the query
530
+ */
531
+ getBindings() {
532
+ return this._bindings;
533
+ }
534
+ /**
535
+ * Clone the query builder
536
+ */
537
+ clone() {
538
+ const cloned = new Builder(this.adapter);
539
+ cloned._columns = [...this._columns];
540
+ cloned._distinct = this._distinct;
541
+ cloned._table = this._table;
542
+ cloned._wheres = [...this._wheres];
543
+ cloned._joins = [...this._joins];
544
+ cloned._orders = [...this._orders];
545
+ cloned._groups = [...this._groups];
546
+ cloned._havings = [...this._havings];
547
+ cloned._limit = this._limit;
548
+ cloned._offset = this._offset;
549
+ cloned._bindings = [...this._bindings];
550
+ return cloned;
551
+ }
552
+ }
553
+ exports.Builder = Builder;
554
+ //# sourceMappingURL=Builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Database/Query/Builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Expression Class
3
+ *
4
+ * Represents a raw SQL expression
5
+ */
6
+ export declare class Expression {
7
+ private readonly value;
8
+ constructor(value: string);
9
+ /**
10
+ * Get the value of the expression
11
+ */
12
+ getValue(): string;
13
+ /**
14
+ * Convert the expression to a string
15
+ */
16
+ toString(): string;
17
+ }
18
+ /**
19
+ * Create a new raw expression
20
+ */
21
+ export declare function raw(value: string): Expression;
22
+ //# sourceMappingURL=Expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Expression.d.ts","sourceRoot":"","sources":["../../../src/Database/Query/Expression.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAE1C;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAE7C"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Expression Class
4
+ *
5
+ * Represents a raw SQL expression
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Expression = void 0;
9
+ exports.raw = raw;
10
+ class Expression {
11
+ value;
12
+ constructor(value) {
13
+ this.value = value;
14
+ }
15
+ /**
16
+ * Get the value of the expression
17
+ */
18
+ getValue() {
19
+ return this.value;
20
+ }
21
+ /**
22
+ * Convert the expression to a string
23
+ */
24
+ toString() {
25
+ return this.value;
26
+ }
27
+ }
28
+ exports.Expression = Expression;
29
+ /**
30
+ * Create a new raw expression
31
+ */
32
+ function raw(value) {
33
+ return new Expression(value);
34
+ }
35
+ //# sourceMappingURL=Expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Expression.js","sourceRoot":"","sources":["../../../src/Database/Query/Expression.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuBH,kBAEC;AAvBD,MAAa,UAAU;IACQ;IAA7B,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE9C;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAhBD,gCAgBC;AAED;;GAEG;AACH,SAAgB,GAAG,CAAC,KAAa;IAC/B,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * DB Facade
3
+ *
4
+ * Provides static access to the DatabaseManager
5
+ */
6
+ export declare const DB: any;
7
+ //# sourceMappingURL=DB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/Facades/DB.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,eAAO,MAAM,EAAE,KAkCb,CAAC"}