@qrvey/formula-lang 2.0.1-rc.429 → 2.0.1-rc.439

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.
@@ -42,24 +42,24 @@ function elasticsearch(date, unit, interval) {
42
42
  unit = (0, utils_1.removeQuotes)(unit);
43
43
  switch (unit) {
44
44
  case 'Y':
45
- return `${date}.plusYears(${interval})`;
45
+ return `${date}.plusYears((long) Math.floor(${interval}))`;
46
46
  case 'M':
47
- return `${date}.plusMonths(${interval})`;
47
+ return `${date}.plusMonths((long) Math.floor(${interval}))`;
48
48
  case 'D':
49
- return `${date}.plusDays(${interval})`;
49
+ return `${date}.plusDays((long) Math.floor(${interval}))`;
50
50
  case 'H':
51
- return `${date}.plusHours(${interval})`;
51
+ return `${date}.plusHours((long) Math.floor(${interval}))`;
52
52
  case 'MI':
53
- return `${date}.plusMinutes(${interval})`;
53
+ return `${date}.plusMinutes((long) Math.floor(${interval}))`;
54
54
  case 'S':
55
- return `${date}.plusSeconds(${interval})`;
55
+ return `${date}.plusSeconds((long) Math.floor(${interval}))`;
56
56
  default:
57
57
  return '';
58
58
  }
59
59
  }
60
60
  function SQL(date, unit, interval) {
61
61
  unit = (0, utils_1.removeQuotes)(unit);
62
- const sqlDateAdd = (_date, _unit, _interval) => `DATEADD(${_unit}, ${_interval}, ${_date})`;
62
+ const sqlDateAdd = (_date, _unit, _interval) => `DATEADD(${_unit}, FLOOR(${_interval}), ${_date})`;
63
63
  switch (unit) {
64
64
  case 'Y':
65
65
  return sqlDateAdd(date, `month`, `${interval} * 12`); // Year to month conversion to get the same result for leap years. Redshift behavior is different for leap year example `2016-02-29` https://docs.aws.amazon.com/redshift/latest/dg/r_DATEADD_function.html
@@ -88,17 +88,17 @@ function postgresql(date, unit, interval) {
88
88
  const sqlDateAdd = (_date, _unit) => `${_date} + interval ${_unit}`;
89
89
  switch (unit) {
90
90
  case 'Y':
91
- return sqlDateAdd(date, `'1 year' * ${interval}`);
91
+ return sqlDateAdd(date, `'1 year' * FLOOR(${interval})`);
92
92
  case 'M':
93
- return sqlDateAdd(date, `'1 month' * ${interval}`);
93
+ return sqlDateAdd(date, `'1 month' * FLOOR(${interval})`);
94
94
  case 'D':
95
- return sqlDateAdd(date, `'1 day' * ${interval}`);
95
+ return sqlDateAdd(date, `'1 day' * FLOOR(${interval})`);
96
96
  case 'H':
97
- return sqlDateAdd(date, `'1 hour' * ${interval}`);
97
+ return sqlDateAdd(date, `'1 hour' * FLOOR(${interval})`);
98
98
  case 'MI':
99
- return sqlDateAdd(date, `'1 minute' * ${interval}`);
99
+ return sqlDateAdd(date, `'1 minute' * FLOOR(${interval})`);
100
100
  case 'S':
101
- return sqlDateAdd(date, `'1 second' * ${interval}`);
101
+ return sqlDateAdd(date, `'1 second' * FLOOR(${interval})`);
102
102
  default:
103
103
  return '';
104
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dateadd.js","sourceRoot":"","sources":["../../../src/functions/dateadd.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAC9C,oCAKkB;AAClB,8DAA2D;AAC3D,gEAA6D;AAE7D;;GAEG;AACU,QAAA,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,mBAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE;gBACP,qBAAa;gBACb,IAAA,mCAAgB,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACpD;SACJ;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,qBAAa,EAAE,iCAAe,CAAC;SAC9C;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,0BAAc,CAAC,IAAI;CACvC,CAAC;AAEF,SAAS,aAAa,CAClB,IAAY,EACZ,IAAkB,EAClB,QAAgB;IAEhB,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAiB,CAAC;IAC1C,QAAQ,IAAI,EAAE;QACV,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,cAAc,QAAQ,GAAG,CAAC;QAC5C,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,eAAe,QAAQ,GAAG,CAAC;QAC7C,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,aAAa,QAAQ,GAAG,CAAC;QAC3C,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,cAAc,QAAQ,GAAG,CAAC;QAC5C,KAAK,IAAI;YACL,OAAO,GAAG,IAAI,gBAAgB,QAAQ,GAAG,CAAC;QAC9C,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,gBAAgB,QAAQ,GAAG,CAAC;QAC9C;YACI,OAAO,EAAE,CAAC;KACjB;AACL,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,IAAkB,EAAE,QAAgB;IAC3D,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAiB,CAAC;IAE1C,MAAM,UAAU,GAAG,CACf,KAAa,EACb,KAAa,EACb,SAAiB,EACX,EAAE,CAAC,WAAW,KAAK,KAAK,SAAS,KAAK,KAAK,GAAG,CAAC;IAEzD,QAAQ,IAAI,EAAE;QACV,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC,2MAA2M;QACrQ,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/C,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,KAAK,IAAI;YACL,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD;YACI,OAAO,EAAE,CAAC;KACjB;AACL,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAkB,EAAE,QAAgB;IACjE,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAkB,EAAE,QAAgB;IAChE,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CACf,IAAY,EACZ,IAAkB,EAClB,QAAgB;IAEhB,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAiB,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAU,EAAE,CACxD,GAAG,KAAK,eAAe,KAAK,EAAE,CAAC;IAEnC,QAAQ,IAAI,EAAE;QACV,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,cAAc,QAAQ,EAAE,CAAC,CAAC;QACtD,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,eAAe,QAAQ,EAAE,CAAC,CAAC;QACvD,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,aAAa,QAAQ,EAAE,CAAC,CAAC;QACrD,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,cAAc,QAAQ,EAAE,CAAC,CAAC;QACtD,KAAK,IAAI;YACL,OAAO,UAAU,CAAC,IAAI,EAAE,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QACxD,KAAK,GAAG;YACJ,OAAO,UAAU,CAAC,IAAI,EAAE,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QACxD;YACI,OAAO,EAAE,CAAC;KACjB;AACL,CAAC"}
1
+ {"version":3,"file":"dateadd.js","sourceRoot":"","sources":["../../../src/functions/dateadd.ts"],"names":[],"mappings":"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"}
@@ -42,24 +42,24 @@ function elasticsearch(date, unit, interval) {
42
42
  unit = (0, utils_1.removeQuotes)(unit);
43
43
  switch (unit) {
44
44
  case 'Y':
45
- return `${date}.minusYears(${interval})`;
45
+ return `${date}.minusYears((long) Math.floor(${interval}))`;
46
46
  case 'M':
47
- return `${date}.minusMonths(${interval})`;
47
+ return `${date}.minusMonths((long) Math.floor(${interval}))`;
48
48
  case 'D':
49
- return `${date}.minusDays(${interval})`;
49
+ return `${date}.minusDays((long) Math.floor(${interval}))`;
50
50
  case 'H':
51
- return `${date}.minusHours(${interval})`;
51
+ return `${date}.minusHours((long) Math.floor(${interval}))`;
52
52
  case 'MI':
53
- return `${date}.minusMinutes(${interval})`;
53
+ return `${date}.minusMinutes((long) Math.floor(${interval}))`;
54
54
  case 'S':
55
- return `${date}.minusSeconds(${interval})`;
55
+ return `${date}.minusSeconds((long) Math.floor(${interval}))`;
56
56
  default:
57
57
  return '';
58
58
  }
59
59
  }
60
60
  function SQL(date, unit, interval) {
61
61
  unit = (0, utils_1.removeQuotes)(unit);
62
- const sqlDateSubtract = (_date, _unit, _interval) => `DATEADD(${_unit}, ${_interval} * -1, ${_date})`;
62
+ const sqlDateSubtract = (_date, _unit, _interval) => `DATEADD(${_unit}, FLOOR(${_interval}) * -1, ${_date})`;
63
63
  switch (unit) {
64
64
  case 'Y':
65
65
  return sqlDateSubtract(date, `month`, `${interval} * 12`); // Year to month conversion to get the same result for leap years. Redshift behavior is different for leap year example `2016-02-29` https://docs.aws.amazon.com/redshift/latest/dg/r_DATEADD_function.html
@@ -88,17 +88,17 @@ function postgresql(date, unit, interval) {
88
88
  const sqlDateSubtract = (_date, _unit) => `${_date} - interval ${_unit}`;
89
89
  switch (unit) {
90
90
  case 'Y':
91
- return sqlDateSubtract(date, `'1 year' * ${interval}`);
91
+ return sqlDateSubtract(date, `'1 year' * FLOOR(${interval})`);
92
92
  case 'M':
93
- return sqlDateSubtract(date, `'1 month' * ${interval}`);
93
+ return sqlDateSubtract(date, `'1 month' * FLOOR(${interval})`);
94
94
  case 'D':
95
- return sqlDateSubtract(date, `'1 day' * ${interval}`);
95
+ return sqlDateSubtract(date, `'1 day' * FLOOR(${interval})`);
96
96
  case 'H':
97
- return sqlDateSubtract(date, `'1 hour' * ${interval}`);
97
+ return sqlDateSubtract(date, `'1 hour' * FLOOR(${interval})`);
98
98
  case 'MI':
99
- return sqlDateSubtract(date, `'1 minute' * ${interval}`);
99
+ return sqlDateSubtract(date, `'1 minute' * FLOOR(${interval})`);
100
100
  case 'S':
101
- return sqlDateSubtract(date, `'1 second' * ${interval}`);
101
+ return sqlDateSubtract(date, `'1 second' * FLOOR(${interval})`);
102
102
  default:
103
103
  return '';
104
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datesubtract.js","sourceRoot":"","sources":["../../../src/functions/datesubtract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datesubtract.js","sourceRoot":"","sources":["../../../src/functions/datesubtract.ts"],"names":[],"mappings":"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"}
@@ -39,24 +39,24 @@ function elasticsearch(date, unit, interval) {
39
39
  unit = removeQuotes(unit);
40
40
  switch (unit) {
41
41
  case 'Y':
42
- return `${date}.plusYears(${interval})`;
42
+ return `${date}.plusYears((long) Math.floor(${interval}))`;
43
43
  case 'M':
44
- return `${date}.plusMonths(${interval})`;
44
+ return `${date}.plusMonths((long) Math.floor(${interval}))`;
45
45
  case 'D':
46
- return `${date}.plusDays(${interval})`;
46
+ return `${date}.plusDays((long) Math.floor(${interval}))`;
47
47
  case 'H':
48
- return `${date}.plusHours(${interval})`;
48
+ return `${date}.plusHours((long) Math.floor(${interval}))`;
49
49
  case 'MI':
50
- return `${date}.plusMinutes(${interval})`;
50
+ return `${date}.plusMinutes((long) Math.floor(${interval}))`;
51
51
  case 'S':
52
- return `${date}.plusSeconds(${interval})`;
52
+ return `${date}.plusSeconds((long) Math.floor(${interval}))`;
53
53
  default:
54
54
  return '';
55
55
  }
56
56
  }
57
57
  function SQL(date, unit, interval) {
58
58
  unit = removeQuotes(unit);
59
- const sqlDateAdd = (_date, _unit, _interval) => `DATEADD(${_unit}, ${_interval}, ${_date})`;
59
+ const sqlDateAdd = (_date, _unit, _interval) => `DATEADD(${_unit}, FLOOR(${_interval}), ${_date})`;
60
60
  switch (unit) {
61
61
  case 'Y':
62
62
  return sqlDateAdd(date, `month`, `${interval} * 12`); // Year to month conversion to get the same result for leap years. Redshift behavior is different for leap year example `2016-02-29` https://docs.aws.amazon.com/redshift/latest/dg/r_DATEADD_function.html
@@ -85,17 +85,17 @@ function postgresql(date, unit, interval) {
85
85
  const sqlDateAdd = (_date, _unit) => `${_date} + interval ${_unit}`;
86
86
  switch (unit) {
87
87
  case 'Y':
88
- return sqlDateAdd(date, `'1 year' * ${interval}`);
88
+ return sqlDateAdd(date, `'1 year' * FLOOR(${interval})`);
89
89
  case 'M':
90
- return sqlDateAdd(date, `'1 month' * ${interval}`);
90
+ return sqlDateAdd(date, `'1 month' * FLOOR(${interval})`);
91
91
  case 'D':
92
- return sqlDateAdd(date, `'1 day' * ${interval}`);
92
+ return sqlDateAdd(date, `'1 day' * FLOOR(${interval})`);
93
93
  case 'H':
94
- return sqlDateAdd(date, `'1 hour' * ${interval}`);
94
+ return sqlDateAdd(date, `'1 hour' * FLOOR(${interval})`);
95
95
  case 'MI':
96
- return sqlDateAdd(date, `'1 minute' * ${interval}`);
96
+ return sqlDateAdd(date, `'1 minute' * FLOOR(${interval})`);
97
97
  case 'S':
98
- return sqlDateAdd(date, `'1 second' * ${interval}`);
98
+ return sqlDateAdd(date, `'1 second' * FLOOR(${interval})`);
99
99
  default:
100
100
  return '';
101
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dateadd.js","sourceRoot":"","sources":["../../../src/functions/dateadd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dateadd.js","sourceRoot":"","sources":["../../../src/functions/dateadd.ts"],"names":[],"mappings":"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"}
@@ -39,24 +39,24 @@ function elasticsearch(date, unit, interval) {
39
39
  unit = removeQuotes(unit);
40
40
  switch (unit) {
41
41
  case 'Y':
42
- return `${date}.minusYears(${interval})`;
42
+ return `${date}.minusYears((long) Math.floor(${interval}))`;
43
43
  case 'M':
44
- return `${date}.minusMonths(${interval})`;
44
+ return `${date}.minusMonths((long) Math.floor(${interval}))`;
45
45
  case 'D':
46
- return `${date}.minusDays(${interval})`;
46
+ return `${date}.minusDays((long) Math.floor(${interval}))`;
47
47
  case 'H':
48
- return `${date}.minusHours(${interval})`;
48
+ return `${date}.minusHours((long) Math.floor(${interval}))`;
49
49
  case 'MI':
50
- return `${date}.minusMinutes(${interval})`;
50
+ return `${date}.minusMinutes((long) Math.floor(${interval}))`;
51
51
  case 'S':
52
- return `${date}.minusSeconds(${interval})`;
52
+ return `${date}.minusSeconds((long) Math.floor(${interval}))`;
53
53
  default:
54
54
  return '';
55
55
  }
56
56
  }
57
57
  function SQL(date, unit, interval) {
58
58
  unit = removeQuotes(unit);
59
- const sqlDateSubtract = (_date, _unit, _interval) => `DATEADD(${_unit}, ${_interval} * -1, ${_date})`;
59
+ const sqlDateSubtract = (_date, _unit, _interval) => `DATEADD(${_unit}, FLOOR(${_interval}) * -1, ${_date})`;
60
60
  switch (unit) {
61
61
  case 'Y':
62
62
  return sqlDateSubtract(date, `month`, `${interval} * 12`); // Year to month conversion to get the same result for leap years. Redshift behavior is different for leap year example `2016-02-29` https://docs.aws.amazon.com/redshift/latest/dg/r_DATEADD_function.html
@@ -85,17 +85,17 @@ function postgresql(date, unit, interval) {
85
85
  const sqlDateSubtract = (_date, _unit) => `${_date} - interval ${_unit}`;
86
86
  switch (unit) {
87
87
  case 'Y':
88
- return sqlDateSubtract(date, `'1 year' * ${interval}`);
88
+ return sqlDateSubtract(date, `'1 year' * FLOOR(${interval})`);
89
89
  case 'M':
90
- return sqlDateSubtract(date, `'1 month' * ${interval}`);
90
+ return sqlDateSubtract(date, `'1 month' * FLOOR(${interval})`);
91
91
  case 'D':
92
- return sqlDateSubtract(date, `'1 day' * ${interval}`);
92
+ return sqlDateSubtract(date, `'1 day' * FLOOR(${interval})`);
93
93
  case 'H':
94
- return sqlDateSubtract(date, `'1 hour' * ${interval}`);
94
+ return sqlDateSubtract(date, `'1 hour' * FLOOR(${interval})`);
95
95
  case 'MI':
96
- return sqlDateSubtract(date, `'1 minute' * ${interval}`);
96
+ return sqlDateSubtract(date, `'1 minute' * FLOOR(${interval})`);
97
97
  case 'S':
98
- return sqlDateSubtract(date, `'1 second' * ${interval}`);
98
+ return sqlDateSubtract(date, `'1 second' * FLOOR(${interval})`);
99
99
  default:
100
100
  return '';
101
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datesubtract.js","sourceRoot":"","sources":["../../../src/functions/datesubtract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datesubtract.js","sourceRoot":"","sources":["../../../src/functions/datesubtract.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/formula-lang",
3
- "version": "2.0.1-rc.429",
3
+ "version": "2.0.1-rc.439",
4
4
  "description": "QFormula support for qrvey projects",
5
5
  "types": "dist/module/index.d.ts",
6
6
  "main": "dist/module/index.js",