@activepieces/piece-date-helper 0.1.16 → 0.1.17
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activepieces/piece-date-helper",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"@sinclair/typebox": "0.34.11",
|
|
6
6
|
"axios": "1.8.3",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"nanoid": "3.3.8",
|
|
12
12
|
"semver": "7.6.0",
|
|
13
13
|
"zod": "3.25.76",
|
|
14
|
-
"@activepieces/pieces-common": "0.
|
|
14
|
+
"@activepieces/pieces-common": "0.8.1",
|
|
15
15
|
"@activepieces/pieces-framework": "0.20.1",
|
|
16
|
-
"@activepieces/shared": "0.
|
|
16
|
+
"@activepieces/shared": "0.25.1",
|
|
17
17
|
"tslib": "2.8.1"
|
|
18
18
|
},
|
|
19
19
|
"overrides": {
|
|
@@ -4,4 +4,7 @@ export declare const addSubtractDateAction: import("@activepieces/pieces-framewo
|
|
|
4
4
|
inputDateFormat: import("@activepieces/pieces-framework").StaticDropdownProperty<timeFormat, true>;
|
|
5
5
|
outputFormat: import("@activepieces/pieces-framework").StaticDropdownProperty<timeFormat, true>;
|
|
6
6
|
expression: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
7
|
+
timeZone: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false> | import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
|
|
8
|
+
setTime: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
9
|
+
useCurrentTime: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
7
10
|
}>;
|
|
@@ -5,8 +5,14 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
6
|
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
7
7
|
const advancedFormat_1 = tslib_1.__importDefault(require("dayjs/plugin/advancedFormat"));
|
|
8
|
+
const utc_1 = tslib_1.__importDefault(require("dayjs/plugin/utc"));
|
|
9
|
+
const timezone_1 = tslib_1.__importDefault(require("dayjs/plugin/timezone"));
|
|
8
10
|
const common_1 = require("../common");
|
|
11
|
+
const zod_1 = require("zod");
|
|
12
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
13
|
dayjs_1.default.extend(advancedFormat_1.default);
|
|
14
|
+
dayjs_1.default.extend(utc_1.default);
|
|
15
|
+
dayjs_1.default.extend(timezone_1.default);
|
|
10
16
|
exports.addSubtractDateAction = (0, pieces_framework_1.createAction)({
|
|
11
17
|
name: 'add_subtract_date',
|
|
12
18
|
displayName: 'Add/Subtract Time',
|
|
@@ -49,20 +55,66 @@ exports.addSubtractDateAction = (0, pieces_framework_1.createAction)({
|
|
|
49
55
|
\nExamples:\n+ 2 second + 1 hour \n+ 1 year - 3 day - 2 month \n+ 5 minute`,
|
|
50
56
|
required: true,
|
|
51
57
|
}),
|
|
58
|
+
timeZone: pieces_framework_1.Property.StaticDropdown({
|
|
59
|
+
displayName: 'Time Zone',
|
|
60
|
+
description: 'Optional: Set a timezone for the calculation to handle DST correctly',
|
|
61
|
+
options: {
|
|
62
|
+
options: common_1.timeZoneOptions,
|
|
63
|
+
},
|
|
64
|
+
required: false,
|
|
65
|
+
}),
|
|
66
|
+
setTime: pieces_framework_1.Property.ShortText({
|
|
67
|
+
displayName: 'Set Time To (24h format)',
|
|
68
|
+
description: 'Optional: Set the result to a specific time (e.g., "10:00" or "14:30"). This allows scheduling at a specific time after adding/subtracting dates. Leave empty to keep the calculated time.',
|
|
69
|
+
required: false,
|
|
70
|
+
}),
|
|
71
|
+
useCurrentTime: pieces_framework_1.Property.Checkbox({
|
|
72
|
+
displayName: 'Use Current Time',
|
|
73
|
+
description: 'If checked, the current time will be used instead of the time from "Set Time To" field.',
|
|
74
|
+
required: false,
|
|
75
|
+
defaultValue: false,
|
|
76
|
+
}),
|
|
52
77
|
},
|
|
53
78
|
run(context) {
|
|
54
79
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
55
80
|
const inputDate = context.propsValue.inputDate;
|
|
56
81
|
const inputDateFormat = (0, common_1.getCorrectedFormat)(context.propsValue.inputDateFormat);
|
|
57
|
-
const outputFormat = context.propsValue.outputFormat;
|
|
82
|
+
const outputFormat = (0, common_1.getCorrectedFormat)(context.propsValue.outputFormat);
|
|
58
83
|
const expression = context.propsValue.expression;
|
|
84
|
+
const timeZone = context.propsValue.timeZone;
|
|
85
|
+
const setTime = context.propsValue.setTime;
|
|
86
|
+
const useCurrentTime = context.propsValue.useCurrentTime;
|
|
87
|
+
if (setTime && setTime.trim() !== '') {
|
|
88
|
+
yield pieces_common_1.propsValidation.validateZod({ time: setTime }, {
|
|
89
|
+
time: zod_1.z.string().regex(/^\d\d:\d\d$/),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
59
92
|
const BeforeDate = (0, common_1.parseDate)(inputDate, inputDateFormat);
|
|
60
|
-
|
|
61
|
-
|
|
93
|
+
let AfterDate = addSubtractTime(BeforeDate.toDate(), expression, timeZone);
|
|
94
|
+
if (timeZone && (setTime || useCurrentTime)) {
|
|
95
|
+
let timeToSet = setTime;
|
|
96
|
+
if (useCurrentTime) {
|
|
97
|
+
const now = (0, dayjs_1.default)().tz(timeZone);
|
|
98
|
+
timeToSet = `${now.hour().toString().padStart(2, '0')}:${now.minute().toString().padStart(2, '0')}`;
|
|
99
|
+
}
|
|
100
|
+
if (timeToSet && timeToSet.trim() !== '') {
|
|
101
|
+
const [hours, minutes] = timeToSet.split(':').map(Number);
|
|
102
|
+
if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {
|
|
103
|
+
throw new Error(`Invalid time value - hours: ${hours} (must be 0-23), minutes: ${minutes} (must be 0-59)`);
|
|
104
|
+
}
|
|
105
|
+
AfterDate = AfterDate.tz(timeZone).hour(hours).minute(minutes).second(0).millisecond(0);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (timeZone) {
|
|
109
|
+
return { result: AfterDate.tz(timeZone).format(outputFormat) };
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return { result: AfterDate.format(outputFormat) };
|
|
113
|
+
}
|
|
62
114
|
});
|
|
63
115
|
},
|
|
64
116
|
});
|
|
65
|
-
function addSubtractTime(date, expression) {
|
|
117
|
+
function addSubtractTime(date, expression, timeZone) {
|
|
66
118
|
// remove all the spaces and line breaks from the expression
|
|
67
119
|
expression = expression.replace(/(\r\n|\n|\r)/gm, '').replace(/ /g, '');
|
|
68
120
|
const parts = expression.split(/(\+|-)/);
|
|
@@ -101,7 +153,8 @@ function addSubtractTime(date, expression) {
|
|
|
101
153
|
units.push(unit);
|
|
102
154
|
}
|
|
103
155
|
}
|
|
104
|
-
|
|
156
|
+
// Create timezone-aware dayjs object if timezone is provided
|
|
157
|
+
let dayjsDate = timeZone ? (0, dayjs_1.default)(date).tz(timeZone) : (0, dayjs_1.default)(date);
|
|
105
158
|
for (let i = 0; i < numbers.length; i++) {
|
|
106
159
|
const val = units[i].toLowerCase();
|
|
107
160
|
switch (val) {
|
|
@@ -133,6 +186,6 @@ function addSubtractTime(date, expression) {
|
|
|
133
186
|
}
|
|
134
187
|
}
|
|
135
188
|
}
|
|
136
|
-
return dayjsDate
|
|
189
|
+
return dayjsDate;
|
|
137
190
|
}
|
|
138
191
|
//# sourceMappingURL=add-subtract-date.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-subtract-date.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/date-helper/src/lib/actions/add-subtract-date.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,0DAA0B;AAC1B,yFAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"add-subtract-date.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/date-helper/src/lib/actions/add-subtract-date.ts"],"names":[],"mappings":"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"}
|