flowerbi 4.2.0 → 4.2.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.js +1 -1
- package/dist/QueryColumn.js.map +1 -1
- package/dist/executeQuery.d.ts +8 -0
- package/dist/executeQuery.js +60 -1
- package/dist/executeQuery.js.map +1 -1
- package/package.json +1 -1
- package/src/QueryColumn.ts +1 -1
- package/src/executeQuery.ts +13 -0
package/dist/QueryColumn.js
CHANGED
package/dist/QueryColumn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryColumn.js","sourceRoot":"","sources":["../src/QueryColumn.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;;;GAGG;AACH;IACI;;OAEG;IACH,qBAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAElC,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,
|
|
1
|
+
{"version":3,"file":"QueryColumn.js","sourceRoot":"","sources":["../src/QueryColumn.ts"],"names":[],"mappings":"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"}
|
package/dist/executeQuery.d.ts
CHANGED
|
@@ -87,3 +87,11 @@ export interface ExpandedQueryResult<S extends QuerySelect, C extends QueryCalcu
|
|
|
87
87
|
* @param result The response payload from the API call.
|
|
88
88
|
*/
|
|
89
89
|
export declare function expandQueryResult<S extends QuerySelect, C extends QueryCalculations<S>>(select: S, result: QueryResultJson, calcs?: C): ExpandedQueryResult<S, C>;
|
|
90
|
+
/**
|
|
91
|
+
* The complete statically typed query mechanism.
|
|
92
|
+
*
|
|
93
|
+
* @param fetch Your API for performing FlowerBI queries in the JSON format
|
|
94
|
+
* @param query The query in statically-typed form
|
|
95
|
+
* @returns The query results in statically-typed form
|
|
96
|
+
*/
|
|
97
|
+
export declare function executeQuery<S extends QuerySelect, C extends QueryCalculations<S>>(fetch: QueryFetch, query: Query<S, C>): Promise<ExpandedQueryResult<S, C>>;
|
package/dist/executeQuery.js
CHANGED
|
@@ -1,6 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.expandQueryResult = exports.getAggregateValuesOnly = exports.expandQueryRecord = exports.jsonifyQuery = void 0;
|
|
39
|
+
exports.executeQuery = exports.expandQueryResult = exports.getAggregateValuesOnly = exports.expandQueryRecord = exports.jsonifyQuery = void 0;
|
|
4
40
|
var queryModel_1 = require("./queryModel");
|
|
5
41
|
var arrayHelpers_1 = require("./arrayHelpers");
|
|
6
42
|
function jsonifyCalculation(calculation, props) {
|
|
@@ -147,4 +183,27 @@ function expandQueryResult(select, result, calcs) {
|
|
|
147
183
|
};
|
|
148
184
|
}
|
|
149
185
|
exports.expandQueryResult = expandQueryResult;
|
|
186
|
+
/**
|
|
187
|
+
* The complete statically typed query mechanism.
|
|
188
|
+
*
|
|
189
|
+
* @param fetch Your API for performing FlowerBI queries in the JSON format
|
|
190
|
+
* @param query The query in statically-typed form
|
|
191
|
+
* @returns The query results in statically-typed form
|
|
192
|
+
*/
|
|
193
|
+
function executeQuery(fetch, query) {
|
|
194
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
195
|
+
var queryJson, resultJson;
|
|
196
|
+
return __generator(this, function (_a) {
|
|
197
|
+
switch (_a.label) {
|
|
198
|
+
case 0:
|
|
199
|
+
queryJson = jsonifyQuery(query);
|
|
200
|
+
return [4 /*yield*/, fetch(queryJson)];
|
|
201
|
+
case 1:
|
|
202
|
+
resultJson = _a.sent();
|
|
203
|
+
return [2 /*return*/, expandQueryResult(query.select, resultJson, query.calculations)];
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
exports.executeQuery = executeQuery;
|
|
150
209
|
//# sourceMappingURL=executeQuery.js.map
|
package/dist/executeQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeQuery.js","sourceRoot":"","sources":["../src/executeQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executeQuery.js","sourceRoot":"","sources":["../src/executeQuery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/QueryColumn.ts
CHANGED
package/src/executeQuery.ts
CHANGED
|
@@ -243,3 +243,16 @@ export function expandQueryResult<S extends QuerySelect, C extends QueryCalculat
|
|
|
243
243
|
totals: result.totals && getAggregateValuesOnly(select, result.totals, calcs),
|
|
244
244
|
};
|
|
245
245
|
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* The complete statically typed query mechanism.
|
|
249
|
+
*
|
|
250
|
+
* @param fetch Your API for performing FlowerBI queries in the JSON format
|
|
251
|
+
* @param query The query in statically-typed form
|
|
252
|
+
* @returns The query results in statically-typed form
|
|
253
|
+
*/
|
|
254
|
+
export async function executeQuery<S extends QuerySelect, C extends QueryCalculations<S>>(fetch: QueryFetch, query: Query<S, C>) {
|
|
255
|
+
const queryJson = jsonifyQuery(query);
|
|
256
|
+
const resultJson = await fetch(queryJson);
|
|
257
|
+
return expandQueryResult<S, C>(query.select, resultJson, query.calculations);
|
|
258
|
+
}
|