flowerbi 4.3.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/QueryColumn.d.ts +23 -7
- package/dist/QueryColumn.js +31 -14
- package/dist/QueryColumn.js.map +1 -1
- package/dist/QueryJson.d.ts +0 -4
- package/dist/executeQuery.js +1 -2
- package/dist/executeQuery.js.map +1 -1
- package/dist/executeQuery.test.js +6 -12
- package/dist/executeQuery.test.js.map +1 -1
- package/dist/queryModel.d.ts +0 -7
- package/package.json +1 -1
- package/src/QueryColumn.ts +26 -7
- package/src/QueryJson.ts +0 -4
- package/src/executeQuery.test.ts +8 -13
- package/src/executeQuery.ts +2 -3
- package/src/queryModel.ts +0 -7
package/dist/QueryColumn.d.ts
CHANGED
|
@@ -3,12 +3,31 @@ import { FilterValue, AggregationType, FilterJson, AggregationJson, FilterOperat
|
|
|
3
3
|
* A column from the schema, with a name and a data type. A whole schema of
|
|
4
4
|
* such declared columns can be auto-generated using the CLI.
|
|
5
5
|
*/
|
|
6
|
+
export declare enum QueryColumnDataType {
|
|
7
|
+
None = "None",
|
|
8
|
+
Bool = "Bool",
|
|
9
|
+
Byte = "Byte",
|
|
10
|
+
Short = "Short",
|
|
11
|
+
Int = "Int",
|
|
12
|
+
Long = "Long",
|
|
13
|
+
Float = "Float",
|
|
14
|
+
Double = "Double",
|
|
15
|
+
Decimal = "Decimal",
|
|
16
|
+
String = "String",
|
|
17
|
+
DateTime = "DateTime"
|
|
18
|
+
}
|
|
19
|
+
export declare class QueryColumnRuntimeType {
|
|
20
|
+
readonly dataType: QueryColumnDataType;
|
|
21
|
+
readonly targetColumn: string;
|
|
22
|
+
constructor(dataType: QueryColumnDataType, targetColumn: string);
|
|
23
|
+
}
|
|
6
24
|
export declare class QueryColumn<T extends FilterValue> {
|
|
7
25
|
readonly name: string;
|
|
26
|
+
readonly type: QueryColumnRuntimeType;
|
|
8
27
|
/**
|
|
9
28
|
* @param name The name, of the form `table.column`.
|
|
10
29
|
*/
|
|
11
|
-
constructor(name: string);
|
|
30
|
+
constructor(name: string, type: QueryColumnRuntimeType);
|
|
12
31
|
protected aggregation(aggregationType: AggregationType, filters?: FilterJson[]): AggregationJson;
|
|
13
32
|
/**
|
|
14
33
|
* Aggregates the column by counting values.
|
|
@@ -78,11 +97,10 @@ export declare class QueryColumn<T extends FilterValue> {
|
|
|
78
97
|
notIn(value: T extends number | string ? T[] : never): FilterJson;
|
|
79
98
|
}
|
|
80
99
|
export declare class NumericQueryColumn<T extends number | null = number> extends QueryColumn<T> {
|
|
81
|
-
readonly name: string;
|
|
82
100
|
/**
|
|
83
101
|
* @param name The name, of the form `table.column`.
|
|
84
102
|
*/
|
|
85
|
-
constructor(name: string);
|
|
103
|
+
constructor(name: string, type: QueryColumnRuntimeType);
|
|
86
104
|
/**
|
|
87
105
|
* Aggregates the column by summing values.
|
|
88
106
|
* @param filters Optional filters to apply.
|
|
@@ -95,19 +113,17 @@ export declare class NumericQueryColumn<T extends number | null = number> extend
|
|
|
95
113
|
avg(filters?: FilterJson[]): AggregationJson;
|
|
96
114
|
}
|
|
97
115
|
export declare class IntegerQueryColumn<T extends number | null = number> extends NumericQueryColumn<T> {
|
|
98
|
-
readonly name: string;
|
|
99
116
|
/**
|
|
100
117
|
* @param name The name, of the form `table.column`.
|
|
101
118
|
*/
|
|
102
|
-
constructor(name: string);
|
|
119
|
+
constructor(name: string, type: QueryColumnRuntimeType);
|
|
103
120
|
bitsIn(mask: number, value: NonNullable<T>[]): FilterJson;
|
|
104
121
|
}
|
|
105
122
|
export declare class StringQueryColumn<T extends string | null = string> extends QueryColumn<T> {
|
|
106
|
-
readonly name: string;
|
|
107
123
|
/**
|
|
108
124
|
* @param name The name, of the form `table.column`.
|
|
109
125
|
*/
|
|
110
|
-
constructor(name: string);
|
|
126
|
+
constructor(name: string, type: QueryColumnRuntimeType);
|
|
111
127
|
/**
|
|
112
128
|
* Produces a filter that requires this column to match a LIKE expression.
|
|
113
129
|
*/
|
package/dist/QueryColumn.js
CHANGED
|
@@ -15,17 +15,40 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.StringQueryColumn = exports.IntegerQueryColumn = exports.NumericQueryColumn = exports.QueryColumn = void 0;
|
|
18
|
+
exports.StringQueryColumn = exports.IntegerQueryColumn = exports.NumericQueryColumn = exports.QueryColumn = exports.QueryColumnRuntimeType = exports.QueryColumnDataType = void 0;
|
|
19
19
|
/**
|
|
20
20
|
* A column from the schema, with a name and a data type. A whole schema of
|
|
21
21
|
* such declared columns can be auto-generated using the CLI.
|
|
22
22
|
*/
|
|
23
|
+
var QueryColumnDataType;
|
|
24
|
+
(function (QueryColumnDataType) {
|
|
25
|
+
QueryColumnDataType["None"] = "None";
|
|
26
|
+
QueryColumnDataType["Bool"] = "Bool";
|
|
27
|
+
QueryColumnDataType["Byte"] = "Byte";
|
|
28
|
+
QueryColumnDataType["Short"] = "Short";
|
|
29
|
+
QueryColumnDataType["Int"] = "Int";
|
|
30
|
+
QueryColumnDataType["Long"] = "Long";
|
|
31
|
+
QueryColumnDataType["Float"] = "Float";
|
|
32
|
+
QueryColumnDataType["Double"] = "Double";
|
|
33
|
+
QueryColumnDataType["Decimal"] = "Decimal";
|
|
34
|
+
QueryColumnDataType["String"] = "String";
|
|
35
|
+
QueryColumnDataType["DateTime"] = "DateTime";
|
|
36
|
+
})(QueryColumnDataType = exports.QueryColumnDataType || (exports.QueryColumnDataType = {}));
|
|
37
|
+
var QueryColumnRuntimeType = /** @class */ (function () {
|
|
38
|
+
function QueryColumnRuntimeType(dataType, targetColumn) {
|
|
39
|
+
this.dataType = dataType;
|
|
40
|
+
this.targetColumn = targetColumn;
|
|
41
|
+
}
|
|
42
|
+
return QueryColumnRuntimeType;
|
|
43
|
+
}());
|
|
44
|
+
exports.QueryColumnRuntimeType = QueryColumnRuntimeType;
|
|
23
45
|
var QueryColumn = /** @class */ (function () {
|
|
24
46
|
/**
|
|
25
47
|
* @param name The name, of the form `table.column`.
|
|
26
48
|
*/
|
|
27
|
-
function QueryColumn(name) {
|
|
49
|
+
function QueryColumn(name, type) {
|
|
28
50
|
this.name = name;
|
|
51
|
+
this.type = type;
|
|
29
52
|
}
|
|
30
53
|
QueryColumn.prototype.aggregation = function (aggregationType, filters) {
|
|
31
54
|
return {
|
|
@@ -150,10 +173,8 @@ var NumericQueryColumn = /** @class */ (function (_super) {
|
|
|
150
173
|
/**
|
|
151
174
|
* @param name The name, of the form `table.column`.
|
|
152
175
|
*/
|
|
153
|
-
function NumericQueryColumn(name) {
|
|
154
|
-
|
|
155
|
-
_this.name = name;
|
|
156
|
-
return _this;
|
|
176
|
+
function NumericQueryColumn(name, type) {
|
|
177
|
+
return _super.call(this, name, type) || this;
|
|
157
178
|
}
|
|
158
179
|
/**
|
|
159
180
|
* Aggregates the column by summing values.
|
|
@@ -177,10 +198,8 @@ var IntegerQueryColumn = /** @class */ (function (_super) {
|
|
|
177
198
|
/**
|
|
178
199
|
* @param name The name, of the form `table.column`.
|
|
179
200
|
*/
|
|
180
|
-
function IntegerQueryColumn(name) {
|
|
181
|
-
|
|
182
|
-
_this.name = name;
|
|
183
|
-
return _this;
|
|
201
|
+
function IntegerQueryColumn(name, type) {
|
|
202
|
+
return _super.call(this, name, type) || this;
|
|
184
203
|
}
|
|
185
204
|
IntegerQueryColumn.prototype.bitsIn = function (mask, value) {
|
|
186
205
|
return {
|
|
@@ -198,10 +217,8 @@ var StringQueryColumn = /** @class */ (function (_super) {
|
|
|
198
217
|
/**
|
|
199
218
|
* @param name The name, of the form `table.column`.
|
|
200
219
|
*/
|
|
201
|
-
function StringQueryColumn(name) {
|
|
202
|
-
|
|
203
|
-
_this.name = name;
|
|
204
|
-
return _this;
|
|
220
|
+
function StringQueryColumn(name, type) {
|
|
221
|
+
return _super.call(this, name, type) || this;
|
|
205
222
|
}
|
|
206
223
|
/**
|
|
207
224
|
* Produces a filter that requires this column to match a LIKE expression.
|
package/dist/QueryColumn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryColumn.js","sourceRoot":"","sources":["../src/QueryColumn.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"QueryColumn.js","sourceRoot":"","sources":["../src/QueryColumn.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;;;GAGG;AAEH,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC3B,oCAAa,CAAA;IACb,oCAAa,CAAA;IACb,oCAAa,CAAA;IACb,sCAAe,CAAA;IACf,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;IACjB,4CAAqB,CAAA;AACzB,CAAC,EAZW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAY9B;AAED;IACI,gCAA4B,QAA6B,EAAkB,YAAoB;QAAnE,aAAQ,GAAR,QAAQ,CAAqB;QAAkB,iBAAY,GAAZ,YAAY,CAAQ;IAAG,CAAC;IACvG,6BAAC;AAAD,CAAC,AAFD,IAEC;AAFY,wDAAsB;AAInC;IACI;;OAEG;IACH,qBAA4B,IAAY,EAAkB,IAA4B;QAA1D,SAAI,GAAJ,IAAI,CAAQ;QAAkB,SAAI,GAAJ,IAAI,CAAwB;IAAG,CAAC;IAEhF,iCAAW,GAArB,UAAsB,eAAgC,EAAE,OAAsB;QAC1E,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,QAAQ,EAAE,eAAe;YACzB,OAAO,SAAA;SACV,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,2BAAK,GAAL,UAAM,OAAsB;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,mCAAa,GAAb,UAAc,OAAsB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,yBAAG,GAAH,UAAI,OAAsB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,yBAAG,GAAH,UAAI,OAAsB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAES,4BAAM,GAAhB,UAAiB,QAAwB,EAAE,KAAQ;QAC/C,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,QAAQ,UAAA;YACR,KAAK,OAAA;SACR,CAAC;IACN,CAAC;IAED;;OAEG;IACH,+BAAS,GAAT;QACI,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,gCAAU,GAAV;QACI,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,6BAAO,GAAP,UAAQ,KAAQ;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,gCAAU,GAAV,UAAW,KAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,iCAAW,GAAX,UAAY,KAAQ;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,8BAAQ,GAAR,UAAS,KAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,0CAAoB,GAApB,UAAqB,KAAQ;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,uCAAiB,GAAjB,UAAkB,KAAQ;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,wBAAE,GAAF,UAAG,KAA8C;QAC7C,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,QAAQ,EAAE,IAAI;YACd,KAAK,OAAA;SACR,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,2BAAK,GAAL,UAAM,KAA8C;QAChD,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,QAAQ,EAAE,QAAQ;YAClB,KAAK,OAAA;SACR,CAAC;IACN,CAAC;IACL,kBAAC;AAAD,CAAC,AAxID,IAwIC;AAxIY,kCAAW;AA0IxB;IAA0E,sCAAc;IACpF;;OAEG;IACH,4BAAY,IAAY,EAAE,IAA4B;eAClD,kBAAM,IAAI,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,gCAAG,GAAH,UAAI,OAAsB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,gCAAG,GAAH,UAAI,OAAsB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACL,yBAAC;AAAD,CAAC,AAvBD,CAA0E,WAAW,GAuBpF;AAvBY,gDAAkB;AAyB/B;IAA0E,sCAAqB;IAC3F;;OAEG;IACH,4BAAY,IAAY,EAAE,IAA4B;eAClD,kBAAM,IAAI,EAAE,IAAI,CAAC;IACrB,CAAC;IAED,mCAAM,GAAN,UAAO,IAAY,EAAE,KAAuB;QACxC,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,IAAI;YACd,KAAK,OAAA;SACR,CAAC;IACN,CAAC;IACL,yBAAC;AAAD,CAAC,AAhBD,CAA0E,kBAAkB,GAgB3F;AAhBY,gDAAkB;AAkB/B;IAAyE,qCAAc;IACnF;;OAEG;IACH,2BAAY,IAAY,EAAE,IAA4B;eAClD,kBAAM,IAAI,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,gCAAI,GAAJ,UAAK,KAAQ;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACL,wBAAC;AAAD,CAAC,AAdD,CAAyE,WAAW,GAcnF;AAdY,8CAAiB"}
|
package/dist/QueryJson.d.ts
CHANGED
package/dist/executeQuery.js
CHANGED
|
@@ -101,7 +101,7 @@ function jsonifyOrdering(ordering, selects, values, calculations) {
|
|
|
101
101
|
*/
|
|
102
102
|
function jsonifyQuery(query) {
|
|
103
103
|
var _a;
|
|
104
|
-
var select = query.select, filters = query.filters, calculations = query.calculations, orderBy = query.orderBy, totals = query.totals, take = query.take, skip = query.skip, comment = query.comment, allowDuplicates = query.allowDuplicates
|
|
104
|
+
var select = query.select, filters = query.filters, calculations = query.calculations, orderBy = query.orderBy, totals = query.totals, take = query.take, skip = query.skip, comment = query.comment, allowDuplicates = query.allowDuplicates;
|
|
105
105
|
var columnProps = (0, queryModel_1.getColumnPropsOnly)(select);
|
|
106
106
|
var aggregationProps = (0, queryModel_1.getAggregatePropsOnly)(select);
|
|
107
107
|
var calculationProps = calculations ? (0, arrayHelpers_1.keysOf)(calculations) : [];
|
|
@@ -116,7 +116,6 @@ function jsonifyQuery(query) {
|
|
|
116
116
|
take: take !== null && take !== void 0 ? take : 100,
|
|
117
117
|
comment: comment,
|
|
118
118
|
allowDuplicates: allowDuplicates,
|
|
119
|
-
fullJoins: fullJoins,
|
|
120
119
|
};
|
|
121
120
|
}
|
|
122
121
|
exports.jsonifyQuery = jsonifyQuery;
|
package/dist/executeQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeQuery.js","sourceRoot":"","sources":["../src/executeQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAYsB;AAGtB,+CAAwC;AA+CxC,SAAS,kBAAkB,CAAwB,WAA2B,EAAE,KAA8B;IAC1G,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACjC,IAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,wCAAiC,WAAW,CAAE,CAAC,CAAC;SACnE;QACD,OAAO,EAAE,WAAW,aAAA,EAAE,CAAC;KAC1B;IACD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACjC,OAAO;YACH,KAAK,EAAE,WAAW;SACrB,CAAC;KACL;IACD,IAAI,WAAW,YAAY,KAAK,EAAE;QAC9B,OAAO;YACH,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAChD,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;SACpD,CAAC;KACL;IACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CACpB,QAAuC,EACvC,OAAiB,EACjB,MAAgB,EAChB,YAAsB;IAEtB,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACtB,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAgB,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,KAAK,OAAA;gBACL,UAAU,EAAE,QAAQ,CAAC,UAAU;aAClC,CAAC;SACL;QACD,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAgB,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO;gBACH,IAAI,EAAE,OAAO;gBACb,KAAK,OAAA;gBACL,UAAU,EAAE,QAAQ,CAAC,UAAU;aAClC,CAAC;SACL;QACD,MAAM,IAAI,KAAK,CAAC,uCAAgC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;KAC9E;IACD,IAAI,aAAa,IAAI,QAAQ,EAAE;QAC3B,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAqB,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO;gBACH,IAAI,EAAE,aAAa;gBACnB,KAAK,OAAA;gBACL,UAAU,EAAE,QAAQ,CAAC,UAAU;aAClC,CAAC;SACL;QACD,MAAM,IAAI,KAAK,CAAC,4CAAqC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAE,CAAC,CAAC;KACxF;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAwD,KAAkB;;IAC1F,IAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"executeQuery.js","sourceRoot":"","sources":["../src/executeQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Bug = exports.Customer = void 0;
|
|
4
4
|
var executeQuery_1 = require("./executeQuery");
|
|
5
5
|
var QueryColumn_1 = require("./QueryColumn");
|
|
6
|
+
var fakeType = {};
|
|
6
7
|
exports.Customer = {
|
|
7
|
-
Id: new QueryColumn_1.IntegerQueryColumn("Customer.Id"),
|
|
8
|
-
CustomerName: new QueryColumn_1.QueryColumn("Customer.CustomerName"),
|
|
8
|
+
Id: new QueryColumn_1.IntegerQueryColumn("Customer.Id", fakeType),
|
|
9
|
+
CustomerName: new QueryColumn_1.QueryColumn("Customer.CustomerName", fakeType),
|
|
9
10
|
};
|
|
10
11
|
exports.Bug = {
|
|
11
|
-
Id: new QueryColumn_1.QueryColumn("Bug.Id"),
|
|
12
|
-
CustomerId: new QueryColumn_1.QueryColumn("Bug.CustomerId"),
|
|
13
|
-
Fixed: new QueryColumn_1.QueryColumn("Bug.Fixed"),
|
|
12
|
+
Id: new QueryColumn_1.QueryColumn("Bug.Id", fakeType),
|
|
13
|
+
CustomerId: new QueryColumn_1.QueryColumn("Bug.CustomerId", fakeType),
|
|
14
|
+
Fixed: new QueryColumn_1.QueryColumn("Bug.Fixed", fakeType),
|
|
14
15
|
};
|
|
15
16
|
test("jsonifies mixed columns", function () {
|
|
16
17
|
expect((0, executeQuery_1.jsonifyQuery)({
|
|
@@ -35,7 +36,6 @@ test("jsonifies mixed columns", function () {
|
|
|
35
36
|
totals: false,
|
|
36
37
|
allowDuplicates: undefined,
|
|
37
38
|
comment: undefined,
|
|
38
|
-
fullJoins: undefined,
|
|
39
39
|
});
|
|
40
40
|
});
|
|
41
41
|
test("jsonifies select", function () {
|
|
@@ -54,7 +54,6 @@ test("jsonifies select", function () {
|
|
|
54
54
|
totals: false,
|
|
55
55
|
allowDuplicates: undefined,
|
|
56
56
|
comment: undefined,
|
|
57
|
-
fullJoins: undefined,
|
|
58
57
|
});
|
|
59
58
|
});
|
|
60
59
|
test("jsonifies params", function () {
|
|
@@ -76,7 +75,6 @@ test("jsonifies params", function () {
|
|
|
76
75
|
totals: true,
|
|
77
76
|
allowDuplicates: true,
|
|
78
77
|
comment: "a comment",
|
|
79
|
-
fullJoins: undefined,
|
|
80
78
|
});
|
|
81
79
|
});
|
|
82
80
|
test("jsonifies filters", function () {
|
|
@@ -120,7 +118,6 @@ test("jsonifies filters", function () {
|
|
|
120
118
|
totals: false,
|
|
121
119
|
allowDuplicates: undefined,
|
|
122
120
|
comment: undefined,
|
|
123
|
-
fullJoins: undefined,
|
|
124
121
|
});
|
|
125
122
|
});
|
|
126
123
|
test("jsonifies orderBy", function () {
|
|
@@ -143,7 +140,6 @@ test("jsonifies orderBy", function () {
|
|
|
143
140
|
totals: false,
|
|
144
141
|
allowDuplicates: undefined,
|
|
145
142
|
comment: undefined,
|
|
146
|
-
fullJoins: undefined,
|
|
147
143
|
});
|
|
148
144
|
});
|
|
149
145
|
test("jsonifies calculations and ordering by keys", function () {
|
|
@@ -219,7 +215,6 @@ test("jsonifies calculations and ordering by keys", function () {
|
|
|
219
215
|
totals: false,
|
|
220
216
|
allowDuplicates: undefined,
|
|
221
217
|
comment: undefined,
|
|
222
|
-
fullJoins: undefined,
|
|
223
218
|
});
|
|
224
219
|
});
|
|
225
220
|
test("passes through JSON orderBy", function () {
|
|
@@ -242,7 +237,6 @@ test("passes through JSON orderBy", function () {
|
|
|
242
237
|
totals: false,
|
|
243
238
|
allowDuplicates: undefined,
|
|
244
239
|
comment: undefined,
|
|
245
|
-
fullJoins: undefined,
|
|
246
240
|
});
|
|
247
241
|
});
|
|
248
242
|
function formatResultsFromQuery(query, result) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeQuery.test.js","sourceRoot":"","sources":["../src/executeQuery.test.ts"],"names":[],"mappings":";;;AAAA,+CAAkF;AAClF,
|
|
1
|
+
{"version":3,"file":"executeQuery.test.js","sourceRoot":"","sources":["../src/executeQuery.test.ts"],"names":[],"mappings":"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"}
|
package/dist/queryModel.d.ts
CHANGED
|
@@ -167,11 +167,4 @@ export interface Query<S extends QuerySelect, C extends QueryCalculations<S>> {
|
|
|
167
167
|
* are known to be impossible.
|
|
168
168
|
*/
|
|
169
169
|
allowDuplicates?: boolean;
|
|
170
|
-
/**
|
|
171
|
-
* If false, the number of rows returned will be limited by the first
|
|
172
|
-
* aggregation. This is probably not desirable and it would be better if
|
|
173
|
-
* this option defaulted to true, but it defaults to false for absolute
|
|
174
|
-
* backward compatibility.
|
|
175
|
-
*/
|
|
176
|
-
fullJoins?: boolean;
|
|
177
170
|
}
|
package/package.json
CHANGED
package/src/QueryColumn.ts
CHANGED
|
@@ -4,11 +4,30 @@ import { FilterValue, AggregationType, FilterJson, AggregationJson, FilterOperat
|
|
|
4
4
|
* A column from the schema, with a name and a data type. A whole schema of
|
|
5
5
|
* such declared columns can be auto-generated using the CLI.
|
|
6
6
|
*/
|
|
7
|
+
|
|
8
|
+
export enum QueryColumnDataType {
|
|
9
|
+
None = "None",
|
|
10
|
+
Bool = "Bool",
|
|
11
|
+
Byte = "Byte",
|
|
12
|
+
Short = "Short",
|
|
13
|
+
Int = "Int",
|
|
14
|
+
Long = "Long",
|
|
15
|
+
Float = "Float",
|
|
16
|
+
Double = "Double",
|
|
17
|
+
Decimal = "Decimal",
|
|
18
|
+
String = "String",
|
|
19
|
+
DateTime = "DateTime",
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export class QueryColumnRuntimeType {
|
|
23
|
+
constructor(public readonly dataType: QueryColumnDataType, public readonly targetColumn: string) {}
|
|
24
|
+
}
|
|
25
|
+
|
|
7
26
|
export class QueryColumn<T extends FilterValue> {
|
|
8
27
|
/**
|
|
9
28
|
* @param name The name, of the form `table.column`.
|
|
10
29
|
*/
|
|
11
|
-
constructor(public readonly name: string) {}
|
|
30
|
+
constructor(public readonly name: string, public readonly type: QueryColumnRuntimeType) {}
|
|
12
31
|
|
|
13
32
|
protected aggregation(aggregationType: AggregationType, filters?: FilterJson[]): AggregationJson {
|
|
14
33
|
return {
|
|
@@ -146,8 +165,8 @@ export class NumericQueryColumn<T extends number | null = number> extends QueryC
|
|
|
146
165
|
/**
|
|
147
166
|
* @param name The name, of the form `table.column`.
|
|
148
167
|
*/
|
|
149
|
-
constructor(
|
|
150
|
-
super(name);
|
|
168
|
+
constructor(name: string, type: QueryColumnRuntimeType) {
|
|
169
|
+
super(name, type);
|
|
151
170
|
}
|
|
152
171
|
|
|
153
172
|
/**
|
|
@@ -171,8 +190,8 @@ export class IntegerQueryColumn<T extends number | null = number> extends Numeri
|
|
|
171
190
|
/**
|
|
172
191
|
* @param name The name, of the form `table.column`.
|
|
173
192
|
*/
|
|
174
|
-
constructor(
|
|
175
|
-
super(name);
|
|
193
|
+
constructor(name: string, type: QueryColumnRuntimeType) {
|
|
194
|
+
super(name, type);
|
|
176
195
|
}
|
|
177
196
|
|
|
178
197
|
bitsIn(mask: number, value: NonNullable<T>[]): FilterJson {
|
|
@@ -189,8 +208,8 @@ export class StringQueryColumn<T extends string | null = string> extends QueryCo
|
|
|
189
208
|
/**
|
|
190
209
|
* @param name The name, of the form `table.column`.
|
|
191
210
|
*/
|
|
192
|
-
constructor(
|
|
193
|
-
super(name);
|
|
211
|
+
constructor(name: string, type: QueryColumnRuntimeType) {
|
|
212
|
+
super(name, type);
|
|
194
213
|
}
|
|
195
214
|
|
|
196
215
|
/**
|
package/src/QueryJson.ts
CHANGED
package/src/executeQuery.test.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { expandQueryResult, jsonifyQuery, QueryResultJson } from "./executeQuery";
|
|
2
|
-
import { IntegerQueryColumn, QueryColumn } from "./QueryColumn";
|
|
2
|
+
import { IntegerQueryColumn, QueryColumn, QueryColumnRuntimeType } from "./QueryColumn";
|
|
3
3
|
import { Query, QueryCalculations, QuerySelect } from "./queryModel";
|
|
4
4
|
|
|
5
|
+
const fakeType = {} as QueryColumnRuntimeType;
|
|
6
|
+
|
|
5
7
|
export const Customer = {
|
|
6
|
-
Id: new IntegerQueryColumn<number>("Customer.Id"),
|
|
7
|
-
CustomerName: new QueryColumn<string>("Customer.CustomerName"),
|
|
8
|
+
Id: new IntegerQueryColumn<number>("Customer.Id", fakeType),
|
|
9
|
+
CustomerName: new QueryColumn<string>("Customer.CustomerName", fakeType),
|
|
8
10
|
};
|
|
9
11
|
|
|
10
12
|
export const Bug = {
|
|
11
|
-
Id: new QueryColumn<number>("Bug.Id"),
|
|
12
|
-
CustomerId: new QueryColumn<number>("Bug.CustomerId"),
|
|
13
|
-
Fixed: new QueryColumn<boolean>("Bug.Fixed"),
|
|
13
|
+
Id: new QueryColumn<number>("Bug.Id", fakeType),
|
|
14
|
+
CustomerId: new QueryColumn<number>("Bug.CustomerId", fakeType),
|
|
15
|
+
Fixed: new QueryColumn<boolean>("Bug.Fixed", fakeType),
|
|
14
16
|
};
|
|
15
17
|
|
|
16
18
|
test("jsonifies mixed columns", () => {
|
|
@@ -38,7 +40,6 @@ test("jsonifies mixed columns", () => {
|
|
|
38
40
|
totals: false,
|
|
39
41
|
allowDuplicates: undefined,
|
|
40
42
|
comment: undefined,
|
|
41
|
-
fullJoins: undefined,
|
|
42
43
|
});
|
|
43
44
|
});
|
|
44
45
|
|
|
@@ -60,7 +61,6 @@ test("jsonifies select", () => {
|
|
|
60
61
|
totals: false,
|
|
61
62
|
allowDuplicates: undefined,
|
|
62
63
|
comment: undefined,
|
|
63
|
-
fullJoins: undefined,
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
66
|
|
|
@@ -85,7 +85,6 @@ test("jsonifies params", () => {
|
|
|
85
85
|
totals: true,
|
|
86
86
|
allowDuplicates: true,
|
|
87
87
|
comment: "a comment",
|
|
88
|
-
fullJoins: undefined,
|
|
89
88
|
});
|
|
90
89
|
});
|
|
91
90
|
|
|
@@ -132,7 +131,6 @@ test("jsonifies filters", () => {
|
|
|
132
131
|
totals: false,
|
|
133
132
|
allowDuplicates: undefined,
|
|
134
133
|
comment: undefined,
|
|
135
|
-
fullJoins: undefined,
|
|
136
134
|
});
|
|
137
135
|
});
|
|
138
136
|
|
|
@@ -158,7 +156,6 @@ test("jsonifies orderBy", () => {
|
|
|
158
156
|
totals: false,
|
|
159
157
|
allowDuplicates: undefined,
|
|
160
158
|
comment: undefined,
|
|
161
|
-
fullJoins: undefined,
|
|
162
159
|
});
|
|
163
160
|
});
|
|
164
161
|
|
|
@@ -237,7 +234,6 @@ test("jsonifies calculations and ordering by keys", () => {
|
|
|
237
234
|
totals: false,
|
|
238
235
|
allowDuplicates: undefined,
|
|
239
236
|
comment: undefined,
|
|
240
|
-
fullJoins: undefined,
|
|
241
237
|
});
|
|
242
238
|
});
|
|
243
239
|
|
|
@@ -263,7 +259,6 @@ test("passes through JSON orderBy", () => {
|
|
|
263
259
|
totals: false,
|
|
264
260
|
allowDuplicates: undefined,
|
|
265
261
|
comment: undefined,
|
|
266
|
-
fullJoins: undefined,
|
|
267
262
|
});
|
|
268
263
|
});
|
|
269
264
|
|
package/src/executeQuery.ts
CHANGED
|
@@ -128,7 +128,7 @@ function jsonifyOrdering<S extends QuerySelect, C extends QueryCalculations<S>>(
|
|
|
128
128
|
* @param query
|
|
129
129
|
*/
|
|
130
130
|
export function jsonifyQuery<S extends QuerySelect, C extends QueryCalculations<S>>(query: Query<S, C>): QueryJson {
|
|
131
|
-
const { select, filters, calculations, orderBy, totals, take, skip, comment, allowDuplicates
|
|
131
|
+
const { select, filters, calculations, orderBy, totals, take, skip, comment, allowDuplicates } = query;
|
|
132
132
|
|
|
133
133
|
const columnProps = getColumnPropsOnly(select);
|
|
134
134
|
const aggregationProps = getAggregatePropsOnly(select);
|
|
@@ -145,7 +145,6 @@ export function jsonifyQuery<S extends QuerySelect, C extends QueryCalculations<
|
|
|
145
145
|
take: take ?? 100,
|
|
146
146
|
comment,
|
|
147
147
|
allowDuplicates,
|
|
148
|
-
fullJoins,
|
|
149
148
|
};
|
|
150
149
|
}
|
|
151
150
|
|
|
@@ -246,7 +245,7 @@ export function expandQueryResult<S extends QuerySelect, C extends QueryCalculat
|
|
|
246
245
|
|
|
247
246
|
/**
|
|
248
247
|
* The complete statically typed query mechanism.
|
|
249
|
-
*
|
|
248
|
+
*
|
|
250
249
|
* @param fetch Your API for performing FlowerBI queries in the JSON format
|
|
251
250
|
* @param query The query in statically-typed form
|
|
252
251
|
* @returns The query results in statically-typed form
|
package/src/queryModel.ts
CHANGED
|
@@ -198,11 +198,4 @@ export interface Query<S extends QuerySelect, C extends QueryCalculations<S>> {
|
|
|
198
198
|
* are known to be impossible.
|
|
199
199
|
*/
|
|
200
200
|
allowDuplicates?: boolean;
|
|
201
|
-
/**
|
|
202
|
-
* If false, the number of rows returned will be limited by the first
|
|
203
|
-
* aggregation. This is probably not desirable and it would be better if
|
|
204
|
-
* this option defaulted to true, but it defaults to false for absolute
|
|
205
|
-
* backward compatibility.
|
|
206
|
-
*/
|
|
207
|
-
fullJoins?: boolean;
|
|
208
201
|
}
|