Skip to content
This repository was archived by the owner on Dec 11, 2022. It is now read-only.

Commit 1c96767

Browse files
authored
Merge pull request #98 from doitintl/issu-97
Fixes #97
2 parents eee35f4 + 020b754 commit 1c96767

File tree

5 files changed

+79
-65
lines changed

5 files changed

+79
-65
lines changed

dist/module.js

Lines changed: 38 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -51223,6 +51223,8 @@ var _lodash = __webpack_require__(/*! lodash */ "lodash");
5122351223

5122451224
var _lodash2 = _interopRequireDefault(_lodash);
5122551225

51226+
var _datasource = __webpack_require__(/*! ./datasource */ "./datasource.ts");
51227+
5122651228
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5122751229

5122851230
var BigQueryQuery =
@@ -51307,27 +51309,33 @@ function () {
5130751309
};
5130851310

5130951311
BigQueryQuery.getUnixSecondsFromString = function (str) {
51310-
switch (str) {
51311-
case "1s":
51312-
return "1";
51312+
var res = _datasource.BigQueryDatasource._getShiftPeriod(str);
51313+
51314+
var groupPeriod = res[0];
51315+
var groupVal = res[1];
51316+
console.log(groupPeriod, groupVal);
5131351317

51314-
case "1min":
51315-
return "60";
51318+
switch (groupPeriod) {
51319+
case "s":
51320+
return 1 * groupVal;
5131651321

51317-
case "1h":
51318-
return "3600";
51322+
case "m":
51323+
return 60 * groupVal;
5131951324

51320-
case "1d":
51321-
return "86400";
51325+
case "h":
51326+
return 3600 * groupVal;
5132251327

51323-
case "1w":
51324-
return "604800";
51328+
case "d":
51329+
return groupVal * 86400;
5132551330

51326-
case "1m":
51327-
return "2629743";
51331+
case "w":
51332+
return 604800 * groupVal;
5132851333

51329-
case "1y":
51330-
return "31536000";
51334+
case "M":
51335+
return 2629743 * groupVal;
51336+
51337+
case "y":
51338+
return 31536000 * groupVal;
5133151339
}
5133251340

5133351341
return "0";
@@ -51983,6 +51991,21 @@ function () {
5198351991
};
5198451992
};
5198551993

51994+
BigQueryDatasource._getShiftPeriod = function (strInterval) {
51995+
var shift = strInterval.match(/\d+/)[0];
51996+
strInterval = strInterval.substr(shift.length, strInterval.length);
51997+
51998+
if (strInterval === "m") {
51999+
strInterval = "M";
52000+
}
52001+
52002+
if (strInterval === "min") {
52003+
strInterval = "m";
52004+
}
52005+
52006+
return [strInterval, shift];
52007+
};
52008+
5198652009
BigQueryDatasource._handleError = function (error) {
5198752010
if (error.cancelled === true) {
5198852011
return [];
@@ -52018,21 +52041,6 @@ function () {
5201852041
return copy;
5201952042
};
5202052043

52021-
BigQueryDatasource._getShiftPeriod = function (strInterval) {
52022-
var shift = strInterval.match(/\d+/)[0];
52023-
strInterval = strInterval.substr(shift.length, strInterval.length);
52024-
52025-
if (strInterval === "m") {
52026-
strInterval = "M";
52027-
}
52028-
52029-
if (strInterval === "min") {
52030-
strInterval = "m";
52031-
}
52032-
52033-
return [strInterval, shift];
52034-
};
52035-
5203652044
BigQueryDatasource._setupTimeShiftQuery = function (query, options) {
5203752045
var index = query.format.indexOf("#");
5203852046
var copy = options.constructor();

dist/module.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/bigquery_query.ts

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import _ from "lodash";
2+
import { BigQueryDatasource } from './datasource';
23

34
export default class BigQueryQuery {
45
public static quoteLiteral(value) {
@@ -38,21 +39,25 @@ export default class BigQueryQuery {
3839
return res;
3940
}
4041
public static getUnixSecondsFromString(str) {
41-
switch (str) {
42-
case "1s":
43-
return "1";
44-
case "1min":
45-
return "60";
46-
case "1h":
47-
return "3600";
48-
case "1d":
49-
return "86400";
50-
case "1w":
51-
return "604800";
52-
case "1m":
53-
return "2629743"
54-
case "1y":
55-
return "31536000";
42+
const res = BigQueryDatasource._getShiftPeriod(str);
43+
const groupPeriod = res[0];
44+
const groupVal = res[1];
45+
console.log(groupPeriod, groupVal )
46+
switch (groupPeriod) {
47+
case "s":
48+
return 1 * groupVal;
49+
case "m":
50+
return 60 * groupVal;
51+
case "h":
52+
return 3600 * groupVal;
53+
case "d":
54+
return groupVal * 86400;
55+
case "w":
56+
return 604800 * groupVal;
57+
case "M":
58+
return 2629743 * groupVal;
59+
case "y":
60+
return 31536000 * groupVal;
5661
}
5762
return "0";
5863
}

src/datasource.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,19 @@ export class BigQueryDatasource {
3434
};
3535
}
3636

37+
public static _getShiftPeriod(strInterval) {
38+
const shift = strInterval.match(/\d+/)[0];
39+
strInterval = strInterval.substr(shift.length, strInterval.length);
40+
if (strInterval === "m") {
41+
strInterval = "M";
42+
}
43+
44+
if (strInterval === "min") {
45+
strInterval = "m";
46+
}
47+
return [strInterval, shift];
48+
}
49+
3750
private static _handleError(error) {
3851
if (error.cancelled === true) {
3952
return [];
@@ -61,18 +74,6 @@ export class BigQueryDatasource {
6174
return copy;
6275
}
6376

64-
private static _getShiftPeriod(strInterval) {
65-
const shift = strInterval.match(/\d+/)[0];
66-
strInterval = strInterval.substr(shift.length, strInterval.length);
67-
if (strInterval === "m") {
68-
strInterval = "M";
69-
}
70-
71-
if (strInterval === "min") {
72-
strInterval = "m";
73-
}
74-
return [strInterval, shift];
75-
}
7677
private static _setupTimeShiftQuery(query, options) {
7778
const index = query.format.indexOf("#");
7879
const copy = options.constructor();

src/specs/bigquery_query.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -342,13 +342,13 @@ describe("BigQueryQuery", () => {
342342
});
343343

344344
describe("getUnixSecondsFromString", () => {
345-
expect(BigQueryQuery.getUnixSecondsFromString("1s")).toBe("1");
346-
expect(BigQueryQuery.getUnixSecondsFromString("1min")).toBe("60");
347-
expect(BigQueryQuery.getUnixSecondsFromString("1h")).toBe("3600");
348-
expect(BigQueryQuery.getUnixSecondsFromString("1d")).toBe("86400");
349-
expect(BigQueryQuery.getUnixSecondsFromString("1w")).toBe("604800");
350-
expect(BigQueryQuery.getUnixSecondsFromString("1m")).toBe("2629743");
351-
expect(BigQueryQuery.getUnixSecondsFromString("1y")).toBe("31536000");
345+
expect(BigQueryQuery.getUnixSecondsFromString("5s")).toBe(5);
346+
expect(BigQueryQuery.getUnixSecondsFromString("2min")).toBe(120);
347+
expect(BigQueryQuery.getUnixSecondsFromString("1h")).toBe(3600);
348+
expect(BigQueryQuery.getUnixSecondsFromString("1d")).toBe(86400);
349+
expect(BigQueryQuery.getUnixSecondsFromString("1w")).toBe(604800);
350+
expect(BigQueryQuery.getUnixSecondsFromString("1m")).toBe(2629743);
351+
expect(BigQueryQuery.getUnixSecondsFromString("1y")).toBe(31536000);
352352
expect(BigQueryQuery.getUnixSecondsFromString("1z")).toBe("0");
353353
});
354354

0 commit comments

Comments
 (0)