@activepieces/piece-date-helper 0.1.22 → 0.1.23

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.22",
3
+ "version": "0.1.23",
4
4
  "dependencies": {
5
5
  "@sinclair/typebox": "0.34.11",
6
6
  "ai": "^6.0.0",
@@ -16,8 +16,8 @@
16
16
  "socket.io-client": "4.8.1",
17
17
  "zod": "4.1.13",
18
18
  "@activepieces/pieces-common": "0.11.2",
19
- "@activepieces/pieces-framework": "0.24.0",
20
- "@activepieces/shared": "0.32.0",
19
+ "@activepieces/pieces-framework": "0.25.0",
20
+ "@activepieces/shared": "0.33.0",
21
21
  "tslib": "2.6.2"
22
22
  },
23
23
  "resolutions": {
package/src/index.js CHANGED
@@ -10,6 +10,8 @@ const format_date_1 = require("./lib/actions/format-date");
10
10
  const get_current_date_1 = require("./lib/actions/get-current-date");
11
11
  const next_day_of_week_1 = require("./lib/actions/next-day-of-week");
12
12
  const next_day_of_year_1 = require("./lib/actions/next-day-of-year");
13
+ const first_day_of_prior_month_1 = require("./lib/actions/first-day-of-prior-month");
14
+ const last_day_of_prior_month_1 = require("./lib/actions/last-day-of-prior-month");
13
15
  const description = `Manipulate, format, and extract time units for all your date and time needs.`;
14
16
  exports.utilityDate = (0, pieces_framework_1.createPiece)({
15
17
  displayName: 'Date Helper',
@@ -17,7 +19,14 @@ exports.utilityDate = (0, pieces_framework_1.createPiece)({
17
19
  minimumSupportedRelease: '0.36.1',
18
20
  categories: [shared_1.PieceCategory.CORE],
19
21
  logoUrl: 'https://cdn.activepieces.com/pieces/new-core/date-helper.svg',
20
- authors: ["joeworkman", "kishanprmr", "MoShizzle", "abuaboud", "abdultheactivepiecer", "onyedikachi-david"],
22
+ authors: [
23
+ 'joeworkman',
24
+ 'kishanprmr',
25
+ 'MoShizzle',
26
+ 'abuaboud',
27
+ 'abdultheactivepiecer',
28
+ 'onyedikachi-david',
29
+ ],
21
30
  actions: [
22
31
  get_current_date_1.getCurrentDate,
23
32
  format_date_1.formatDateAction,
@@ -26,6 +35,8 @@ exports.utilityDate = (0, pieces_framework_1.createPiece)({
26
35
  add_subtract_date_1.addSubtractDateAction,
27
36
  next_day_of_week_1.nextDayofWeek,
28
37
  next_day_of_year_1.nextDayofYear,
38
+ first_day_of_prior_month_1.firstDayOfPreviousMonthAction,
39
+ last_day_of_prior_month_1.lastDayOfPreviousMonthAction,
29
40
  ],
30
41
  triggers: [],
31
42
  description: description,
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/date-helper/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,iDAAqD;AACrD,uEAAwE;AACxE,mEAAqE;AACrE,yEAAoE;AACpE,2DAA6D;AAC7D,qEAAgE;AAChE,qEAA+D;AAC/D,qEAA+D;AAE/D,MAAM,WAAW,GAAG,8EAA8E,CAAC;AAEtF,QAAA,WAAW,GAAG,IAAA,8BAAW,EAAC;IACrC,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,4BAAS,CAAC,IAAI,EAAE;IACtB,uBAAuB,EAAE,QAAQ;IACjC,UAAU,EAAE,CAAC,sBAAa,CAAC,IAAI,CAAC;IAChC,OAAO,EAAE,8DAA8D;IACvE,OAAO,EAAE,CAAC,YAAY,EAAC,YAAY,EAAC,WAAW,EAAC,UAAU,EAAC,sBAAsB,EAAC,mBAAmB,CAAC;IACtG,OAAO,EAAE;QACP,iCAAc;QACd,8BAAgB;QAChB,qCAAgB;QAChB,sCAAoB;QACpB,yCAAqB;QACrB,gCAAa;QACb,gCAAa;KACd;IACD,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,WAAW;CACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/date-helper/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,iDAAqD;AACrD,uEAAwE;AACxE,mEAAqE;AACrE,yEAAoE;AACpE,2DAA6D;AAC7D,qEAAgE;AAChE,qEAA+D;AAC/D,qEAA+D;AAC/D,qFAAuF;AACvF,mFAAqF;AAErF,MAAM,WAAW,GAAG,8EAA8E,CAAC;AAEtF,QAAA,WAAW,GAAG,IAAA,8BAAW,EAAC;IACrC,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,4BAAS,CAAC,IAAI,EAAE;IACtB,uBAAuB,EAAE,QAAQ;IACjC,UAAU,EAAE,CAAC,sBAAa,CAAC,IAAI,CAAC;IAChC,OAAO,EAAE,8DAA8D;IACvE,OAAO,EAAE;QACP,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,UAAU;QACV,sBAAsB;QACtB,mBAAmB;KACpB;IACD,OAAO,EAAE;QACP,iCAAc;QACd,8BAAgB;QAChB,qCAAgB;QAChB,sCAAoB;QACpB,yCAAqB;QACrB,gCAAa;QACb,gCAAa;QACb,wDAA6B;QAC7B,sDAA4B;KAC7B;IACD,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,WAAW;CACzB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { timeFormat } from '../common';
2
+ export declare const firstDayOfPreviousMonthAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
3
+ time: import("@activepieces/pieces-framework").ShortTextProperty<false>;
4
+ currentTime: import("@activepieces/pieces-framework").CheckboxProperty<false>;
5
+ timeFormat: import("@activepieces/pieces-framework").StaticDropdownProperty<timeFormat, true>;
6
+ timeZone: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false> | import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
7
+ }>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firstDayOfPreviousMonthAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const zod_1 = require("zod");
8
+ const pieces_common_1 = require("@activepieces/pieces-common");
9
+ exports.firstDayOfPreviousMonthAction = (0, pieces_framework_1.createAction)({
10
+ name: 'first_day_of_previous_month',
11
+ displayName: 'First Day of Previous Month',
12
+ description: 'Get the date and time of the first day of the previous month',
13
+ errorHandlingOptions: {
14
+ continueOnFailure: {
15
+ hide: true,
16
+ },
17
+ retryOnFailure: {
18
+ hide: true,
19
+ },
20
+ },
21
+ props: {
22
+ time: pieces_framework_1.Property.ShortText({
23
+ displayName: '24h Time',
24
+ description: 'The time that you would like to get the date and time of. This must be in 24h format.',
25
+ required: false,
26
+ defaultValue: '00:00',
27
+ }),
28
+ currentTime: pieces_framework_1.Property.Checkbox({
29
+ displayName: 'Use Current Time',
30
+ description: 'If checked, the current time will be used instead of the time specified above.',
31
+ required: false,
32
+ defaultValue: false,
33
+ }),
34
+ timeFormat: pieces_framework_1.Property.StaticDropdown({
35
+ displayName: 'To Time Format',
36
+ description: common_1.timeFormatDescription,
37
+ options: {
38
+ options: common_1.optionalTimeFormats,
39
+ },
40
+ required: true,
41
+ defaultValue: common_1.timeFormat.format00,
42
+ }),
43
+ timeZone: pieces_framework_1.Property.StaticDropdown({
44
+ displayName: 'Time Zone',
45
+ options: {
46
+ options: common_1.timeZoneOptions,
47
+ },
48
+ required: true,
49
+ defaultValue: 'UTC',
50
+ }),
51
+ },
52
+ run(context) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ yield pieces_common_1.propsValidation.validateZod(context.propsValue, {
55
+ time: zod_1.z.string().regex(/^\d\d:\d\d$/),
56
+ });
57
+ const outputTimeFormat = (0, common_1.getCorrectedFormat)(context.propsValue.timeFormat);
58
+ const selectedTimeZone = context.propsValue.timeZone;
59
+ const useCurrentTime = context.propsValue.currentTime;
60
+ let providedTime = context.propsValue.time;
61
+ const baseDateTime = (0, common_1.apDayjs)().tz(selectedTimeZone);
62
+ if (useCurrentTime === true) {
63
+ providedTime = `${baseDateTime.hour()}:${baseDateTime.minute()}`;
64
+ }
65
+ const [hours, minutes] = providedTime.split(':').map(Number);
66
+ // Validate inputs
67
+ if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {
68
+ throw new Error(`Invalid input \nhours: ${hours} \nminutes: ${minutes}`);
69
+ }
70
+ const firstDayOfPreviousMonth = baseDateTime
71
+ .subtract(1, 'month')
72
+ .startOf('month')
73
+ .hour(hours)
74
+ .minute(minutes)
75
+ .second(0)
76
+ .millisecond(0);
77
+ return { result: firstDayOfPreviousMonth.format(outputTimeFormat) };
78
+ });
79
+ },
80
+ });
81
+ //# sourceMappingURL=first-day-of-prior-month.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-day-of-prior-month.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/date-helper/src/lib/actions/first-day-of-prior-month.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAOmB;AACnB,6BAAwB;AACxB,+DAA8D;AAEjD,QAAA,6BAA6B,GAAG,IAAA,+BAAY,EAAC;IACxD,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,8DAA8D;IAC3E,oBAAoB,EAAE;QACpB,iBAAiB,EAAE;YACjB,IAAI,EAAE,IAAI;SACX;QACD,cAAc,EAAE;YACd,IAAI,EAAE,IAAI;SACX;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,UAAU;YACvB,WAAW,EACT,uFAAuF;YACzF,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,OAAO;SACtB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC7B,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EACT,gFAAgF;YAClF,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAClC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,8BAAqB;YAClC,OAAO,EAAE;gBACP,OAAO,EAAE,4BAAmB;aAC7B;YACD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,mBAAU,CAAC,QAAQ;SAClC,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,cAAc,CAAS;YACxC,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE;gBACP,OAAO,EAAE,wBAAe;aACzB;YACD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,+BAAe,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE;gBACpD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC;aACtC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,IAAA,2BAAkB,EAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC3E,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAkB,CAAC;YAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,WAAsB,CAAC;YACjE,IAAI,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAc,CAAC;YAErD,MAAM,YAAY,GAAG,IAAA,gBAAO,GAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;YAEpD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,YAAY,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YACnE,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE7D,kBAAkB;YAClB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,eAAe,OAAO,EAAE,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,uBAAuB,GAAG,YAAY;iBACzC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;iBACpB,OAAO,CAAC,OAAO,CAAC;iBAChB,IAAI,CAAC,KAAK,CAAC;iBACX,MAAM,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,CAAC,CAAC;iBACT,WAAW,CAAC,CAAC,CAAC,CAAC;YAElB,OAAO,EAAE,MAAM,EAAE,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtE,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { timeFormat } from '../common';
2
+ export declare const lastDayOfPreviousMonthAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
3
+ time: import("@activepieces/pieces-framework").ShortTextProperty<false>;
4
+ currentTime: import("@activepieces/pieces-framework").CheckboxProperty<false>;
5
+ timeFormat: import("@activepieces/pieces-framework").StaticDropdownProperty<timeFormat, true>;
6
+ timeZone: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false> | import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
7
+ }>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lastDayOfPreviousMonthAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const zod_1 = require("zod");
8
+ const pieces_common_1 = require("@activepieces/pieces-common");
9
+ exports.lastDayOfPreviousMonthAction = (0, pieces_framework_1.createAction)({
10
+ name: 'last_day_of_previous_month',
11
+ displayName: 'Last Day of Previous Month',
12
+ description: 'Get the date and time of the last day of the previous month',
13
+ errorHandlingOptions: {
14
+ continueOnFailure: {
15
+ hide: true,
16
+ },
17
+ retryOnFailure: {
18
+ hide: true,
19
+ },
20
+ },
21
+ props: {
22
+ time: pieces_framework_1.Property.ShortText({
23
+ displayName: '24h Time',
24
+ description: 'The time that you would like to get the date and time of. This must be in 24h format.',
25
+ required: false,
26
+ defaultValue: '00:00',
27
+ }),
28
+ currentTime: pieces_framework_1.Property.Checkbox({
29
+ displayName: 'Use Current Time',
30
+ description: 'If checked, the current time will be used instead of the time specified above.',
31
+ required: false,
32
+ defaultValue: false,
33
+ }),
34
+ timeFormat: pieces_framework_1.Property.StaticDropdown({
35
+ displayName: 'To Time Format',
36
+ description: common_1.timeFormatDescription,
37
+ options: {
38
+ options: common_1.optionalTimeFormats,
39
+ },
40
+ required: true,
41
+ defaultValue: common_1.timeFormat.format00,
42
+ }),
43
+ timeZone: pieces_framework_1.Property.StaticDropdown({
44
+ displayName: 'Time Zone',
45
+ options: {
46
+ options: common_1.timeZoneOptions,
47
+ },
48
+ required: true,
49
+ defaultValue: 'UTC',
50
+ }),
51
+ },
52
+ run(context) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ yield pieces_common_1.propsValidation.validateZod(context.propsValue, {
55
+ time: zod_1.z.string().regex(/^\d\d:\d\d$/),
56
+ });
57
+ const outputTimeFormat = (0, common_1.getCorrectedFormat)(context.propsValue.timeFormat);
58
+ const selectedTimeZone = context.propsValue.timeZone;
59
+ const useCurrentTime = context.propsValue.currentTime;
60
+ let providedTime = context.propsValue.time;
61
+ const baseDateTime = (0, common_1.apDayjs)().tz(selectedTimeZone);
62
+ if (useCurrentTime === true) {
63
+ providedTime = `${baseDateTime.hour()}:${baseDateTime.minute()}`;
64
+ }
65
+ const [hours, minutes] = providedTime.split(':').map(Number);
66
+ // Validate inputs
67
+ if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {
68
+ throw new Error(`Invalid input \nhours: ${hours} \nminutes: ${minutes}`);
69
+ }
70
+ const lastDayOfPreviousMonth = baseDateTime
71
+ .subtract(1, 'month')
72
+ .endOf('month')
73
+ .hour(hours)
74
+ .minute(minutes)
75
+ .second(0)
76
+ .millisecond(0);
77
+ return { result: lastDayOfPreviousMonth.format(outputTimeFormat) };
78
+ });
79
+ },
80
+ });
81
+ //# sourceMappingURL=last-day-of-prior-month.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"last-day-of-prior-month.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/date-helper/src/lib/actions/last-day-of-prior-month.ts"],"names":[],"mappings":"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"}