faros-airbyte-common 0.9.69 → 0.9.71
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/lib/common/index.d.ts +9 -0
- package/lib/common/index.js +37 -1
- package/lib/common/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
package/lib/common/index.d.ts
CHANGED
|
@@ -7,3 +7,12 @@ export interface FileDiff {
|
|
|
7
7
|
new?: boolean;
|
|
8
8
|
}
|
|
9
9
|
export declare function bucket(key: string, data: string, bucketTotal: number): number;
|
|
10
|
+
export declare function calculateDateRange(options: {
|
|
11
|
+
start_date?: string;
|
|
12
|
+
end_date?: string;
|
|
13
|
+
cutoff_days?: number;
|
|
14
|
+
logger: (message: string) => void;
|
|
15
|
+
}): {
|
|
16
|
+
startDate: Date;
|
|
17
|
+
endDate: Date;
|
|
18
|
+
};
|
package/lib/common/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.bucket = void 0;
|
|
3
|
+
exports.calculateDateRange = exports.bucket = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
|
+
const luxon_1 = require("luxon");
|
|
5
6
|
function bucket(key, data, bucketTotal) {
|
|
6
7
|
const md5 = (0, crypto_1.createHmac)('md5', key);
|
|
7
8
|
md5.update(data);
|
|
@@ -9,4 +10,39 @@ function bucket(key, data, bucketTotal) {
|
|
|
9
10
|
return (parseInt(hex, 16) % bucketTotal) + 1; // 1-index for readability
|
|
10
11
|
}
|
|
11
12
|
exports.bucket = bucket;
|
|
13
|
+
function calculateDateRange(options) {
|
|
14
|
+
const { start_date, end_date, cutoff_days, logger } = options;
|
|
15
|
+
let startDate;
|
|
16
|
+
let endDate;
|
|
17
|
+
if (!end_date) {
|
|
18
|
+
logger('End date not provided, using current date');
|
|
19
|
+
endDate = new Date();
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
endDate = new Date(end_date);
|
|
23
|
+
}
|
|
24
|
+
if (start_date && cutoff_days) {
|
|
25
|
+
logger('Both start date and cutoff days provided, discarding cutoff days');
|
|
26
|
+
}
|
|
27
|
+
if (start_date) {
|
|
28
|
+
startDate = new Date(start_date);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
if (cutoff_days) {
|
|
32
|
+
logger('Cutoff days provided, calculating start date from end date');
|
|
33
|
+
startDate = luxon_1.DateTime.fromJSDate(endDate)
|
|
34
|
+
.minus({ days: cutoff_days })
|
|
35
|
+
.toJSDate();
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw new Error('Either start_date or cutoff_days must be provided');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (startDate > endDate) {
|
|
42
|
+
throw new Error(`Start date: ${startDate} is after end date: ${endDate}`);
|
|
43
|
+
}
|
|
44
|
+
logger(`Will process data from ${startDate} to ${endDate}`);
|
|
45
|
+
return { startDate, endDate };
|
|
46
|
+
}
|
|
47
|
+
exports.calculateDateRange = calculateDateRange;
|
|
12
48
|
//# sourceMappingURL=index.js.map
|
package/lib/common/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,iCAA+B;AAY/B,SAAgB,MAAM,CAAC,GAAW,EAAE,IAAY,EAAE,WAAmB;IACnE,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B;AAC1E,CAAC;AALD,wBAKC;AAED,SAAgB,kBAAkB,CAAC,OAKlC;IACC,MAAM,EAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAE5D,IAAI,SAAe,CAAC;IACpB,IAAI,OAAa,CAAC;IAElB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,2CAA2C,CAAC,CAAC;QACpD,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,kEAAkE,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,4DAA4D,CAAC,CAAC;YACrE,SAAS,GAAG,gBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;iBACrC,KAAK,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;iBAC1B,QAAQ,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,uBAAuB,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,0BAA0B,SAAS,OAAO,OAAO,EAAE,CAAC,CAAC;IAE5D,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC;AAC9B,CAAC;AA1CD,gDA0CC"}
|