@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.16",
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.7.0",
14
+ "@activepieces/pieces-common": "0.8.1",
15
15
  "@activepieces/pieces-framework": "0.20.1",
16
- "@activepieces/shared": "0.20.1",
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
- const AfterDate = addSubtractTime(BeforeDate.toDate(), expression);
61
- return { result: (0, dayjs_1.default)(AfterDate).format(outputFormat) };
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
- let dayjsDate = (0, dayjs_1.default)(date);
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.toDate();
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":"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"}
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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"}