@ts-awesome/orm 1.5.5 → 1.5.10
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.
- package/dist/builder.d.ts +1 -0
- package/dist/builder.js +37 -2
- package/dist/builder.js.map +1 -1
- package/dist/interfaces.d.ts +1 -1
- package/dist/operators.d.ts +1 -0
- package/dist/operators.js +2 -2
- package/dist/operators.js.map +1 -1
- package/package.json +1 -1
- package/tests/builder.spec.js +59 -0
- package/tests/builder.spec.ts +65 -0
package/dist/builder.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export declare class TableRef<T extends TableMetaProvider> implements ITableRef<
|
|
|
19
19
|
get indexes(): IIndexInfo<T>[];
|
|
20
20
|
}
|
|
21
21
|
export declare function readModelMeta<T extends TableMetaProvider>(Model: T, required?: boolean): ITableInfo;
|
|
22
|
+
export declare function Select<T extends TableMetaProvider>(_: IBuildableSelectQuery): ISelectBuilder<InstanceType<T>> & IBuildableSelectQuery;
|
|
22
23
|
export declare function Select<T extends TableMetaProvider>(_: T | IOperandable<T>): ISelectBuilder<InstanceType<T>> & IBuildableSelectQuery;
|
|
23
24
|
export declare function Select<T extends TableMetaProvider>(_: T | IOperandable<T>, distinct: true): ISelectBuilder<InstanceType<T>> & IBuildableSelectQuery;
|
|
24
25
|
export declare function Select<T extends TableMetaProvider>(_: T | IOperandable<T>, forOp: SelectForOperation): ISelectBuilder<InstanceType<T>> & IBuildableSelectQuery;
|
package/dist/builder.js
CHANGED
|
@@ -330,6 +330,11 @@ function readModelMeta(Model, required = true) {
|
|
|
330
330
|
}
|
|
331
331
|
exports.readModelMeta = readModelMeta;
|
|
332
332
|
function fix(x) {
|
|
333
|
+
if (symbols_1.TableMetadataSymbol in x) {
|
|
334
|
+
Object.defineProperty(x, symbols_1.TableMetadataSymbol, {
|
|
335
|
+
enumerable: false,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
333
338
|
for (const prop of Object.keys(x)) {
|
|
334
339
|
if (typeof x[prop] === 'function') {
|
|
335
340
|
Object.defineProperty(x, prop, {
|
|
@@ -356,17 +361,47 @@ function computeReadableColumns(meta, alias) {
|
|
|
356
361
|
});
|
|
357
362
|
return columnExpressionsOf(fields, meta, alias).map(strip);
|
|
358
363
|
}
|
|
364
|
+
const ContextSymbol = Symbol();
|
|
359
365
|
function Select(_, ...args) {
|
|
360
366
|
function isAlias(x) {
|
|
361
367
|
return x && typeof x._alias === 'string';
|
|
362
368
|
}
|
|
369
|
+
function isSubquery(x) {
|
|
370
|
+
return x && typeof x._type === 'string' && x._type === 'SELECT';
|
|
371
|
+
}
|
|
363
372
|
const forOr = typeof args[0] === 'string' ? args.shift() : undefined;
|
|
364
373
|
const distinct = typeof args[0] === 'boolean' ? args.shift() : false;
|
|
365
374
|
const meta = readModelMeta(isAlias(_) ? _._operands[0] : _);
|
|
366
375
|
return fix({
|
|
376
|
+
get [symbols_1.TableMetadataSymbol]() {
|
|
377
|
+
const meta = {
|
|
378
|
+
tableName: this._table.tableName + '_SUBQUERY',
|
|
379
|
+
get fields() {
|
|
380
|
+
return new Map(this[ContextSymbol]._columns.map(x => {
|
|
381
|
+
if ('_column' in x) {
|
|
382
|
+
return [x._column.name, {
|
|
383
|
+
name: x._column.name,
|
|
384
|
+
getValue() { return null; },
|
|
385
|
+
}];
|
|
386
|
+
}
|
|
387
|
+
else if ('_alias' in x) {
|
|
388
|
+
return [x._alias, {
|
|
389
|
+
name: x._alias,
|
|
390
|
+
getValue() { return null; },
|
|
391
|
+
}];
|
|
392
|
+
}
|
|
393
|
+
}).filter(x => x));
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
Object.defineProperty(meta, ContextSymbol, {
|
|
397
|
+
enumerable: false,
|
|
398
|
+
value: this
|
|
399
|
+
});
|
|
400
|
+
return meta;
|
|
401
|
+
},
|
|
367
402
|
_type: 'SELECT',
|
|
368
|
-
_table: meta,
|
|
369
|
-
_alias: isAlias(_) ? _._alias : null,
|
|
403
|
+
_table: isSubquery(_) ? { ..._, ...meta } : meta,
|
|
404
|
+
_alias: isAlias(_) ? _._alias : isSubquery(_) ? meta.tableName : null,
|
|
370
405
|
_distinct: distinct,
|
|
371
406
|
_for: forOr,
|
|
372
407
|
_columns: computeReadableColumns(meta, isAlias(_) ? _._alias : undefined),
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -122,7 +122,7 @@ export interface IBuildableSelectQuery {
|
|
|
122
122
|
}
|
|
123
123
|
export interface IBuildableSubSelectQuery {
|
|
124
124
|
_type: 'SELECT';
|
|
125
|
-
_table: ITableInfo;
|
|
125
|
+
_table: ITableInfo | (IBuildableSubSelectQuery & ITableInfo);
|
|
126
126
|
_alias?: string;
|
|
127
127
|
_distinct?: boolean;
|
|
128
128
|
_columns?: IExpression[];
|
package/dist/operators.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare function exists(subquery: IBuildableSubSelectQuery): IOperandable
|
|
|
8
8
|
export declare function avg<T>(value: IOperandable<T>): IOperandable<T>;
|
|
9
9
|
export declare function sum<T>(value: IOperandable<T>): IOperandable<T>;
|
|
10
10
|
export declare function count<T>(value?: IOperandable<T>): IOperandable<number>;
|
|
11
|
+
export declare function count<T>(value: IOperandable<T>, unique: true): IOperandable<number>;
|
|
11
12
|
export declare function max<T>(value: IOperandable<T>): IOperandable<T>;
|
|
12
13
|
export declare function min<T>(value: IOperandable<T>): IOperandable<T>;
|
|
13
14
|
export declare function asc<T>(value: Column<T> | IOperandable<T> | number): Order;
|
package/dist/operators.js
CHANGED
|
@@ -35,8 +35,8 @@ function sum(value) {
|
|
|
35
35
|
return new wrappers_1.FunctionCall('SUM', [value]);
|
|
36
36
|
}
|
|
37
37
|
exports.sum = sum;
|
|
38
|
-
function count(value) {
|
|
39
|
-
return new wrappers_1.FunctionCall('COUNT', [value || '*']);
|
|
38
|
+
function count(value, unique = false) {
|
|
39
|
+
return new wrappers_1.FunctionCall('COUNT', unique ? ['DISTINCT', value || '*'] : [value || '*']);
|
|
40
40
|
}
|
|
41
41
|
exports.count = count;
|
|
42
42
|
function max(value) {
|
package/dist/operators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":";;;AASA,yCAAoE;AACpE,uCAA8C;AAE9C,SAAgB,GAAG,CAAC,GAAG,QAA6C;IAClE,OAAO,IAAI,sBAAW,CAAC,KAAK,EAAE,QAAQ,CAA0B,CAAA;AAClE,CAAC;AAFD,kBAEC;AAED,SAAgB,EAAE,CAAC,GAAG,QAA6C;IACjE,OAAO,IAAI,sBAAW,CAAC,IAAI,EAAE,QAAQ,CAA0B,CAAA;AACjE,CAAC;AAFD,gBAEC;AAED,SAAgB,GAAG,CAAC,SAA0C;IAC5D,OAAO,IAAI,sBAAW,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAA0B,CAAA;AACrE,CAAC;AAFD,kBAEC;AAED,SAAgB,GAAG,CAAQ,QAAkC;IAC3D,OAAO,IAAI,sBAAW,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAoB,CAAA;AAC9D,CAAC;AAFD,kBAEC;AAED,SAAgB,GAAG,CAAQ,QAAkC;IAC3D,OAAO,IAAI,sBAAW,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAoB,CAAA;AAC9D,CAAC;AAFD,kBAEC;AAED,SAAgB,MAAM,CAAC,QAAkC;IACvD,OAAO,IAAI,sBAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAA0B,CAAA;AACvE,CAAC;AAFD,wBAEC;AAED,SAAgB,GAAG,CAAI,KAAsB;IAC3C,OAAO,IAAI,uBAAY,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAoB,CAAA;AAC5D,CAAC;AAFD,kBAEC;AAED,SAAgB,GAAG,CAAI,KAAsB;IAC3C,OAAO,IAAI,uBAAY,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAoB,CAAA;AAC5D,CAAC;AAFD,kBAEC;
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/tests/builder.spec.js
CHANGED
|
@@ -605,6 +605,65 @@ describe('Select', () => {
|
|
|
605
605
|
}
|
|
606
606
|
}]);
|
|
607
607
|
});
|
|
608
|
+
it('COUNT unique', () => {
|
|
609
|
+
const query = (0, dist_1.Select)(models_1.Person)
|
|
610
|
+
.columns(x => [(0, dist_2.count)(x.id, true)]);
|
|
611
|
+
expect(query._columns).toStrictEqual([{
|
|
612
|
+
_func: "COUNT",
|
|
613
|
+
_args: [
|
|
614
|
+
"DISTINCT",
|
|
615
|
+
{
|
|
616
|
+
_column: {
|
|
617
|
+
name: 'id',
|
|
618
|
+
table: 'Person'
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
]
|
|
622
|
+
}]);
|
|
623
|
+
});
|
|
624
|
+
it('SELECT over subquery', () => {
|
|
625
|
+
const query = (0, dist_1.Select)((0, dist_1.Select)(models_1.Person)
|
|
626
|
+
.columns(x => [(0, dist_2.count)(x.id)])
|
|
627
|
+
.groupBy(x => [x.age]))
|
|
628
|
+
.columns(() => [(0, dist_2.count)(undefined, true)]);
|
|
629
|
+
expect(query).toStrictEqual({
|
|
630
|
+
"_alias": "Person_SUBQUERY",
|
|
631
|
+
_columns: [{
|
|
632
|
+
_func: "COUNT",
|
|
633
|
+
_args: [
|
|
634
|
+
"DISTINCT",
|
|
635
|
+
'*'
|
|
636
|
+
]
|
|
637
|
+
}],
|
|
638
|
+
"_distinct": false,
|
|
639
|
+
"_for": undefined,
|
|
640
|
+
"_table": {
|
|
641
|
+
"_alias": null,
|
|
642
|
+
"_columns": [{
|
|
643
|
+
"_func": "COUNT",
|
|
644
|
+
"_args": [{
|
|
645
|
+
"_column": {
|
|
646
|
+
"name": "id",
|
|
647
|
+
"table": "Person",
|
|
648
|
+
}
|
|
649
|
+
}]
|
|
650
|
+
}],
|
|
651
|
+
"_distinct": false,
|
|
652
|
+
"_for": undefined,
|
|
653
|
+
"_groupBy": [{
|
|
654
|
+
"_column": {
|
|
655
|
+
"name": "age",
|
|
656
|
+
"table": "Person",
|
|
657
|
+
}
|
|
658
|
+
}],
|
|
659
|
+
"_table": models_1.Person[dist_1.TableMetadataSymbol],
|
|
660
|
+
"_type": "SELECT",
|
|
661
|
+
"fields": new Map,
|
|
662
|
+
"tableName": "Person_SUBQUERY",
|
|
663
|
+
},
|
|
664
|
+
"_type": "SELECT",
|
|
665
|
+
});
|
|
666
|
+
});
|
|
608
667
|
});
|
|
609
668
|
describe('Insert', () => {
|
|
610
669
|
it('Check query info', () => {
|
package/tests/builder.spec.ts
CHANGED
|
@@ -653,6 +653,71 @@ describe('Select', () => {
|
|
|
653
653
|
}
|
|
654
654
|
}])
|
|
655
655
|
})
|
|
656
|
+
|
|
657
|
+
it('COUNT unique', () => {
|
|
658
|
+
const query = Select(Person)
|
|
659
|
+
.columns(x => [count(x.id, true)]);
|
|
660
|
+
|
|
661
|
+
expect(query._columns).toStrictEqual([{
|
|
662
|
+
_func: "COUNT",
|
|
663
|
+
_args: [
|
|
664
|
+
"DISTINCT",
|
|
665
|
+
{
|
|
666
|
+
_column: {
|
|
667
|
+
name: 'id',
|
|
668
|
+
table: 'Person'
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
]
|
|
672
|
+
}])
|
|
673
|
+
});
|
|
674
|
+
|
|
675
|
+
it('SELECT over subquery', () => {
|
|
676
|
+
const query = Select(
|
|
677
|
+
Select(Person)
|
|
678
|
+
.columns(x => [count(x.id)])
|
|
679
|
+
.groupBy(x => [x.age])
|
|
680
|
+
)
|
|
681
|
+
.columns(() => [count(undefined, true)]);
|
|
682
|
+
|
|
683
|
+
expect(query).toStrictEqual({
|
|
684
|
+
"_alias": "Person_SUBQUERY",
|
|
685
|
+
_columns: [{
|
|
686
|
+
_func: "COUNT",
|
|
687
|
+
_args: [
|
|
688
|
+
"DISTINCT",
|
|
689
|
+
'*'
|
|
690
|
+
]
|
|
691
|
+
}],
|
|
692
|
+
"_distinct": false,
|
|
693
|
+
"_for": undefined,
|
|
694
|
+
"_table": {
|
|
695
|
+
"_alias": null,
|
|
696
|
+
"_columns": [{
|
|
697
|
+
"_func": "COUNT",
|
|
698
|
+
"_args": [{
|
|
699
|
+
"_column": {
|
|
700
|
+
"name": "id",
|
|
701
|
+
"table": "Person",
|
|
702
|
+
}
|
|
703
|
+
}]
|
|
704
|
+
}],
|
|
705
|
+
"_distinct": false,
|
|
706
|
+
"_for": undefined,
|
|
707
|
+
"_groupBy": [{
|
|
708
|
+
"_column": {
|
|
709
|
+
"name": "age",
|
|
710
|
+
"table": "Person",
|
|
711
|
+
}
|
|
712
|
+
}],
|
|
713
|
+
"_table": Person[TableMetadataSymbol],
|
|
714
|
+
"_type": "SELECT",
|
|
715
|
+
"fields": new Map,
|
|
716
|
+
"tableName": "Person_SUBQUERY",
|
|
717
|
+
},
|
|
718
|
+
"_type": "SELECT",
|
|
719
|
+
})
|
|
720
|
+
});
|
|
656
721
|
});
|
|
657
722
|
|
|
658
723
|
describe('Insert', () => {
|