flowerbi 3.11.1 → 4.0.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.
- package/dist/QueryColumn.d.ts +1 -2
- package/dist/QueryColumn.js +7 -5
- package/dist/QueryColumn.js.map +1 -1
- package/dist/QueryJson.d.ts +2 -1
- package/dist/executeQuery.test.d.ts +2 -2
- package/dist/executeQuery.test.js +8 -2
- package/dist/executeQuery.test.js.map +1 -1
- package/package.json +1 -1
- package/src/QueryColumn.ts +7 -6
- package/src/QueryJson.ts +2 -1
- package/src/executeQuery.test.ts +9 -3
package/dist/QueryColumn.d.ts
CHANGED
|
@@ -100,6 +100,5 @@ export declare class IntegerQueryColumn<T extends number | null = number> extend
|
|
|
100
100
|
* @param name The name, of the form `table.column`.
|
|
101
101
|
*/
|
|
102
102
|
constructor(name: string);
|
|
103
|
-
|
|
104
|
-
bitsOff(value: NonNullable<T>): FilterJson;
|
|
103
|
+
bitsIn(mask: number, value: NonNullable<T>[]): FilterJson;
|
|
105
104
|
}
|
package/dist/QueryColumn.js
CHANGED
|
@@ -182,11 +182,13 @@ var IntegerQueryColumn = /** @class */ (function (_super) {
|
|
|
182
182
|
_this.name = name;
|
|
183
183
|
return _this;
|
|
184
184
|
}
|
|
185
|
-
IntegerQueryColumn.prototype.
|
|
186
|
-
return
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
185
|
+
IntegerQueryColumn.prototype.bitsIn = function (mask, value) {
|
|
186
|
+
return {
|
|
187
|
+
column: this.name,
|
|
188
|
+
operator: "BITS IN",
|
|
189
|
+
constant: mask,
|
|
190
|
+
value: value,
|
|
191
|
+
};
|
|
190
192
|
};
|
|
191
193
|
return IntegerQueryColumn;
|
|
192
194
|
}(NumericQueryColumn));
|
package/dist/QueryColumn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryColumn.js","sourceRoot":"","sources":["../src/QueryColumn.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"QueryColumn.js","sourceRoot":"","sources":["../src/QueryColumn.ts"],"names":[],"mappings":"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"}
|
package/dist/QueryJson.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The allowed filter comparison operators.
|
|
3
3
|
*/
|
|
4
|
-
export declare type FilterOperator = "=" | "<>" | ">" | "<" | ">=" | "<=" | "IN" | "NOT IN" | "BITS
|
|
4
|
+
export declare type FilterOperator = "=" | "<>" | ">" | "<" | ">=" | "<=" | "IN" | "NOT IN" | "BITS IN";
|
|
5
5
|
/**
|
|
6
6
|
* The allowed value types for a filter.
|
|
7
7
|
*/
|
|
@@ -14,6 +14,7 @@ export interface FilterJson {
|
|
|
14
14
|
column: string;
|
|
15
15
|
operator: FilterOperator;
|
|
16
16
|
value: FilterValue;
|
|
17
|
+
constant?: unknown;
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* The allowed aggregation function names.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { QueryColumn } from "./QueryColumn";
|
|
1
|
+
import { IntegerQueryColumn, QueryColumn } from "./QueryColumn";
|
|
2
2
|
export declare const Customer: {
|
|
3
|
-
Id:
|
|
3
|
+
Id: IntegerQueryColumn<number>;
|
|
4
4
|
CustomerName: QueryColumn<string>;
|
|
5
5
|
};
|
|
6
6
|
export declare const Bug: {
|
|
@@ -4,7 +4,7 @@ exports.Bug = exports.Customer = void 0;
|
|
|
4
4
|
var executeQuery_1 = require("./executeQuery");
|
|
5
5
|
var QueryColumn_1 = require("./QueryColumn");
|
|
6
6
|
exports.Customer = {
|
|
7
|
-
Id: new QueryColumn_1.
|
|
7
|
+
Id: new QueryColumn_1.IntegerQueryColumn("Customer.Id"),
|
|
8
8
|
CustomerName: new QueryColumn_1.QueryColumn("Customer.CustomerName"),
|
|
9
9
|
};
|
|
10
10
|
exports.Bug = {
|
|
@@ -84,7 +84,7 @@ test("jsonifies filters", function () {
|
|
|
84
84
|
select: {
|
|
85
85
|
bugCount: exports.Bug.Id.count([exports.Customer.CustomerName.lessThan("z")]),
|
|
86
86
|
},
|
|
87
|
-
filters: [exports.Customer.CustomerName.greaterThan("a")],
|
|
87
|
+
filters: [exports.Customer.CustomerName.greaterThan("a"), exports.Customer.Id.bitsIn(4 | 8, [0, 4])],
|
|
88
88
|
})).toStrictEqual({
|
|
89
89
|
select: [],
|
|
90
90
|
aggregations: [
|
|
@@ -107,6 +107,12 @@ test("jsonifies filters", function () {
|
|
|
107
107
|
operator: ">",
|
|
108
108
|
value: "a",
|
|
109
109
|
},
|
|
110
|
+
{
|
|
111
|
+
column: "Customer.Id",
|
|
112
|
+
operator: "BITS IN",
|
|
113
|
+
constant: 12,
|
|
114
|
+
value: [0, 4],
|
|
115
|
+
},
|
|
110
116
|
],
|
|
111
117
|
orderBy: [],
|
|
112
118
|
skip: 0,
|
|
@@ -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/package.json
CHANGED
package/src/QueryColumn.ts
CHANGED
|
@@ -175,11 +175,12 @@ export class IntegerQueryColumn<T extends number | null = number> extends Numeri
|
|
|
175
175
|
super(name);
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
return
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
178
|
+
bitsIn(mask: number, value: NonNullable<T>[]): FilterJson {
|
|
179
|
+
return {
|
|
180
|
+
column: this.name,
|
|
181
|
+
operator: "BITS IN",
|
|
182
|
+
constant: mask,
|
|
183
|
+
value,
|
|
184
|
+
};
|
|
184
185
|
}
|
|
185
186
|
}
|
package/src/QueryJson.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The allowed filter comparison operators.
|
|
3
3
|
*/
|
|
4
|
-
export type FilterOperator = "=" | "<>" | ">" | "<" | ">=" | "<=" | "IN" | "NOT IN" | "BITS
|
|
4
|
+
export type FilterOperator = "=" | "<>" | ">" | "<" | ">=" | "<=" | "IN" | "NOT IN" | "BITS IN";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* The allowed value types for a filter.
|
|
@@ -16,6 +16,7 @@ export interface FilterJson {
|
|
|
16
16
|
column: string;
|
|
17
17
|
operator: FilterOperator;
|
|
18
18
|
value: FilterValue;
|
|
19
|
+
constant?: unknown;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
/**
|
package/src/executeQuery.test.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { expandQueryResult, jsonifyQuery, QueryResultJson } from "./executeQuery";
|
|
2
|
-
import { QueryColumn } from "./QueryColumn";
|
|
2
|
+
import { IntegerQueryColumn, QueryColumn } from "./QueryColumn";
|
|
3
3
|
import { Query, QueryCalculations, QuerySelect } from "./queryModel";
|
|
4
4
|
|
|
5
5
|
export const Customer = {
|
|
6
|
-
Id: new
|
|
6
|
+
Id: new IntegerQueryColumn<number>("Customer.Id"),
|
|
7
7
|
CustomerName: new QueryColumn<string>("Customer.CustomerName"),
|
|
8
8
|
};
|
|
9
9
|
|
|
@@ -95,7 +95,7 @@ test("jsonifies filters", () => {
|
|
|
95
95
|
select: {
|
|
96
96
|
bugCount: Bug.Id.count([Customer.CustomerName.lessThan("z")]),
|
|
97
97
|
},
|
|
98
|
-
filters: [Customer.CustomerName.greaterThan("a")],
|
|
98
|
+
filters: [Customer.CustomerName.greaterThan("a"), Customer.Id.bitsIn(4 | 8, [0, 4])],
|
|
99
99
|
})
|
|
100
100
|
).toStrictEqual({
|
|
101
101
|
select: [],
|
|
@@ -119,6 +119,12 @@ test("jsonifies filters", () => {
|
|
|
119
119
|
operator: ">",
|
|
120
120
|
value: "a",
|
|
121
121
|
},
|
|
122
|
+
{
|
|
123
|
+
column: "Customer.Id",
|
|
124
|
+
operator: "BITS IN",
|
|
125
|
+
constant: 12,
|
|
126
|
+
value: [0, 4],
|
|
127
|
+
},
|
|
122
128
|
],
|
|
123
129
|
orderBy: [],
|
|
124
130
|
skip: 0,
|