@nekutima/biome-sdk 0.2.0 → 0.3.0

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/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export type { UserWithAvatar } from "./users/user.service";
17
17
  export { FileUpload } from "./files/file-upload";
18
18
  export type { UploadResponse } from "./files/file-upload";
19
19
  export { BiomeTimezone } from "./timezone/timezone.service";
20
+ export { TimeHelper } from "./timezone/time.helper";
20
21
  export { BiomeNotifications } from "./notifications/notification.service";
21
22
  export * from "./notifications/notification.model";
22
23
  export { BiomeEcosystems } from "./ecosystem/ecosystem.service";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.parseDate = exports.isValidDate = exports.isToday = exports.isPast = exports.isFuture = exports.getStartOfDay = exports.getEndOfDay = exports.getDaysDifference = exports.getCurrentDate = exports.formatDateTime = exports.formatDate = exports.addDays = exports.isDateString = exports.isArray = exports.isEnum = exports.isBoolean = exports.isNumber = exports.validateObject = exports.isValidUrl = exports.isValidPositiveNumber = exports.isValidNumber = exports.isValidInteger = exports.isValidEmail = exports.isOneOf = exports.isNotEmpty = exports.isInRange = exports.hasMinLength = exports.hasMaxLength = exports.createValidationError = exports.ErrorCode = exports.BiomeYuri = exports.BiomeChat = exports.BiomeSearch = exports.BiomePeople = exports.BiomeOrganizations = exports.BiomeEcosystems = exports.BiomeNotifications = exports.BiomeTimezone = exports.FileUpload = exports.BiomeUsers = exports.BiomeProfiles = exports.TaskSorting = exports.BiomeTasks = exports.validateSignupData = exports.BiomeAuth = exports.SDK_CONFIG = exports.SDK_SERVICES = exports.SDK_INFO = exports.StatefulValue = exports.BiomeHttpClient = void 0;
18
- exports.BiomeSDK = exports.isValidGeneratedUsername = exports.generateUsernameSuggestions = exports.generateCreativeUsername = exports.toISOString = exports.subtractDays = void 0;
17
+ exports.isValidDate = exports.isToday = exports.isPast = exports.isFuture = exports.getStartOfDay = exports.getEndOfDay = exports.getDaysDifference = exports.getCurrentDate = exports.formatDateTime = exports.formatDate = exports.addDays = exports.isDateString = exports.isArray = exports.isEnum = exports.isBoolean = exports.isNumber = exports.validateObject = exports.isValidUrl = exports.isValidPositiveNumber = exports.isValidNumber = exports.isValidInteger = exports.isValidEmail = exports.isOneOf = exports.isNotEmpty = exports.isInRange = exports.hasMinLength = exports.hasMaxLength = exports.createValidationError = exports.ErrorCode = exports.BiomeYuri = exports.BiomeChat = exports.BiomeSearch = exports.BiomePeople = exports.BiomeOrganizations = exports.BiomeEcosystems = exports.BiomeNotifications = exports.TimeHelper = exports.BiomeTimezone = exports.FileUpload = exports.BiomeUsers = exports.BiomeProfiles = exports.TaskSorting = exports.BiomeTasks = exports.validateSignupData = exports.BiomeAuth = exports.SDK_CONFIG = exports.SDK_SERVICES = exports.SDK_INFO = exports.StatefulValue = exports.BiomeHttpClient = void 0;
18
+ exports.BiomeSDK = exports.isValidGeneratedUsername = exports.generateUsernameSuggestions = exports.generateCreativeUsername = exports.toISOString = exports.subtractDays = exports.parseDate = void 0;
19
19
  const http_client_1 = require("./core/http-client");
20
20
  Object.defineProperty(exports, "BiomeHttpClient", { enumerable: true, get: function () { return http_client_1.BiomeHttpClient; } });
21
21
  var state_manager_1 = require("./core/state-manager");
@@ -47,6 +47,8 @@ Object.defineProperty(exports, "FileUpload", { enumerable: true, get: function (
47
47
  // Timezone exports
48
48
  var timezone_service_1 = require("./timezone/timezone.service");
49
49
  Object.defineProperty(exports, "BiomeTimezone", { enumerable: true, get: function () { return timezone_service_1.BiomeTimezone; } });
50
+ var time_helper_1 = require("./timezone/time.helper");
51
+ Object.defineProperty(exports, "TimeHelper", { enumerable: true, get: function () { return time_helper_1.TimeHelper; } });
50
52
  // Notifications exports
51
53
  var notification_service_1 = require("./notifications/notification.service");
52
54
  Object.defineProperty(exports, "BiomeNotifications", { enumerable: true, get: function () { return notification_service_1.BiomeNotifications; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,oDAAqD;AAC5C,gGADA,6BAAe,OACA;AACxB,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAGtB,yBAAyB;AACzB,uCAAgE;AAAvD,oGAAA,QAAQ,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,sGAAA,UAAU,OAAA;AAG3C,yBAAyB;AACzB,oDAAgD;AAAvC,yGAAA,SAAS,OAAA;AASlB,oDAAyD;AAAhD,kHAAA,kBAAkB,OAAA;AAE3B,0BAA0B;AAC1B,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,qDAAmD;AAA1C,2GAAA,WAAW,OAAA;AAapB,6BAA6B;AAC7B,8DAA2D;AAAlD,gHAAA,aAAa,OAAA;AAEtB,0BAA0B;AAC1B,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AAGnB,sBAAsB;AACtB,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AAGnB,mBAAmB;AACnB,gEAA4D;AAAnD,iHAAA,aAAa,OAAA;AAEtB,wBAAwB;AACxB,6EAA0E;AAAjE,0HAAA,kBAAkB,OAAA;AAC3B,qEAAmD;AAEnD,oBAAoB;AACpB,mEAAgE;AAAvD,oHAAA,eAAe,OAAA;AACxB,yEAAsE;AAA7D,0HAAA,kBAAkB,OAAA;AAC3B,6DAAyD;AAAhD,6GAAA,WAAW,OAAA;AACpB,6DAAyD;AAAhD,6GAAA,WAAW,OAAA;AAEpB,eAAe;AACf,oDAAgD;AAAvC,yGAAA,SAAS,OAAA;AAelB,kBAAkB;AAClB,kDAA8C;AAArC,yGAAA,SAAS,OAAA;AAGlB,sBAAsB;AACtB,2CAAyB;AACzB,oDAAiD;AAAxC,wGAAA,SAAS,OAAA;AAElB,iCAAiC;AACjC,2DAAyC;AACzC,8DAA4C;AAC5C,0DAAwC;AACxC,sDAAoC;AAoCpC,2DAAyC;AACzC,0DAAwC;AACxC,qDAAmC;AACnC,qDAAmC;AAEnC,4DAA0C;AAC1C,yDAAuC;AACvC,+DAA6C;AAG7C,qDAAmC;AAEnC,6BAA6B;AAC7B,kDAAgC;AAChC,kDAAgC;AAChC,oDAAkC;AAClC,sDAAoC;AAEpC,sBAAsB;AACtB,2DAAyC;AAUzC,4DAA0C;AAC1C,mEAAiD;AAEjD,2BAA2B;AAC3B,2DAAyC;AAEzC,6BAA6B;AAC7B,6DAkBkC;AAjBhC,yHAAA,qBAAqB,OAAA;AACrB,gHAAA,YAAY,OAAA;AACZ,gHAAA,YAAY,OAAA;AACZ,6GAAA,SAAS,OAAA;AACT,8GAAA,UAAU,OAAA;AACV,2GAAA,OAAO,OAAA;AACP,gHAAA,YAAY,OAAA;AACZ,kHAAA,cAAc,OAAA;AACd,iHAAA,aAAa,OAAA;AACb,yHAAA,qBAAqB,OAAA;AACrB,8GAAA,UAAU,OAAA;AACV,kHAAA,cAAc,OAAA;AACd,4GAAA,QAAQ,OAAA;AACR,6GAAA,SAAS,OAAA;AACT,0GAAA,MAAM,OAAA;AACN,2GAAA,OAAO,OAAA;AACP,gHAAA,YAAY,OAAA;AAGd,iDAe4B;AAd1B,qGAAA,OAAO,OAAA;AACP,wGAAA,UAAU,OAAA;AACV,4GAAA,cAAc,OAAA;AACd,4GAAA,cAAc,OAAA;AACd,+GAAA,iBAAiB,OAAA;AACjB,yGAAA,WAAW,OAAA;AACX,2GAAA,aAAa,OAAA;AACb,sGAAA,QAAQ,OAAA;AACR,oGAAA,MAAM,OAAA;AACN,qGAAA,OAAO,OAAA;AACP,yGAAA,WAAW,OAAA;AACX,uGAAA,SAAS,OAAA;AACT,0GAAA,YAAY,OAAA;AACZ,yGAAA,WAAW,OAAA;AAGb,iEAIoC;AAHlC,8HAAA,wBAAwB,OAAA;AACxB,iIAAA,2BAA2B,OAAA;AAC3B,8HAAA,wBAAwB,OAAA;AAK1B,sDAAgD;AAChD,uDAAkD;AAClD,gEAA2D;AAC3D,uDAAkD;AAClD,qDAAiD;AACjD,kEAA4D;AAC5D,+EAA0E;AAC1E,sDAAgD;AAChD,oDAA8C;AAC9C,qEAAgE;AAChE,2EAAsE;AACtE,+DAAyD;AACzD,+DAAyD;AAEzD;;GAEG;AACH,MAAa,QAAQ;IAkBnB,YAAY,MAAmB;QAC7B,MAAM,UAAU,GAAG,IAAI,6BAAe,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI,GAAG,IAAI,wBAAS,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAU,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAa,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAU,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,wBAAU,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAa,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,yCAAkB,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,wBAAS,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,wBAAS,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,mCAAe,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,yCAAkB,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,4BAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,4BAAW,CAAC,UAAU,CAAC,CAAC;QAE1C,mCAAmC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO;YACL,UAAU,EAAE,EAAE,EAAE,+BAA+B;YAC/C,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE;gBACJ,eAAe,EAAE,KAAK;aACvB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAqBjB;QACC,MAAM,SAAS,GAAgB;YAC7B,UAAU,EAAE,MAAM,CAAC,OAAO;YAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe;gBACnC,CAAC,CAAC;oBACE,eAAe,EAAE,MAAM;iBACxB;gBACH,CAAC,CAAC,SAAS;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QAEF,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CACF;AA3FD,4BA2FC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { TimeHelper } from './time.helper';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timezone/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeHelper = void 0;
4
+ var time_helper_1 = require("./time.helper");
5
+ Object.defineProperty(exports, "TimeHelper", { enumerable: true, get: function () { return time_helper_1.TimeHelper; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/timezone/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAAlC,yGAAA,UAAU,OAAA"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Timezone-aware date utilities for consistent date handling across the platform.
3
+ *
4
+ * These utilities ensure that date comparisons respect the user's configured timezone,
5
+ * preventing issues where users in positive UTC offsets couldn't set dates to "today"
6
+ * because the date shifted to "yesterday" in UTC.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { TimeHelper } from '@nekutima/biome-sdk';
11
+ *
12
+ * // Convert to start of day in user's timezone
13
+ * const beginOfDay = TimeHelper.ensureBeginOfDay('2026-04-04', 'America/New_York');
14
+ *
15
+ * // Convert to end of day in user's timezone
16
+ * const endOfDay = TimeHelper.ensureEndOfDay('2026-04-04', 'Europe/London');
17
+ *
18
+ * // Convert date to YYYY-MM-DD string for date inputs
19
+ * const dateInputValue = TimeHelper.toDateInputValue(new Date(), 'America/New_York');
20
+ * ```
21
+ */
22
+ export declare abstract class TimeHelper {
23
+ /**
24
+ * Convert a date to start of day in a specific timezone
25
+ *
26
+ * @param moment - The date/string to convert
27
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
28
+ * @returns Date object representing start of day in the specified timezone, stored as UTC
29
+ *
30
+ * @description
31
+ * For date strings (YYYY-MM-DD), this preserves the calendar date across all timezones.
32
+ * This fixes the bug where users in positive UTC offsets couldn't set dates to "today"
33
+ * because ensureEndOfDay shifted the date to the next day in UTC.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // User in UTC+2 selects April 4
38
+ * // Returns April 4 00:00 in UTC+2, converted to UTC (April 3 22:00 UTC)
39
+ * const date = TimeHelper.ensureBeginOfDay('2026-04-04', 'Europe/Berlin');
40
+ * ```
41
+ */
42
+ static ensureBeginOfDay(moment: Date | string | null | undefined, timezoneName?: string): Date | null;
43
+ /**
44
+ * Convert a date to end of day in a specific timezone
45
+ *
46
+ * @param moment - The date/string to convert
47
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
48
+ * @returns Date object representing end of day in the specified timezone, stored as UTC
49
+ *
50
+ * @description
51
+ * For date strings (YYYY-MM-DD), this preserves the calendar date across all timezones.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * // User in UTC+2 selects April 4 for due date
56
+ * // Returns April 4 23:59:59.999 in UTC+2, converted to UTC
57
+ * const date = TimeHelper.ensureEndOfDay('2026-04-04', 'Europe/Berlin');
58
+ * ```
59
+ */
60
+ static ensureEndOfDay(moment: Date | string | null | undefined, timezoneName?: string): Date | null;
61
+ /**
62
+ * Convert a UTC date to YYYY-MM-DD string in user's timezone
63
+ *
64
+ * @param date - The UTC date to convert
65
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
66
+ * @returns YYYY-MM-DD string in the user's timezone
67
+ *
68
+ * @description
69
+ * This is useful for populating date input fields with the correct date based on the user's timezone.
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * // April 4 00:00 UTC for user in UTC+2
74
+ * // Returns "2026-04-04" (April 4 02:00 in UTC+2)
75
+ * const dateInputValue = TimeHelper.toDateInputValue(new Date('2026-04-04T00:00:00Z'), 'Europe/Berlin');
76
+ * ```
77
+ */
78
+ static toDateInputValue(date: Date | string | null | undefined, timezoneName?: string): string | null;
79
+ /**
80
+ * Get the current date/time in the user's timezone
81
+ *
82
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
83
+ * @returns Date object representing current time in the specified timezone
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * // Get current time in user's timezone for validation
88
+ * const userNow = TimeHelper.getUserNow('America/New_York');
89
+ * ```
90
+ */
91
+ static getUserNow(timezoneName?: string): Date;
92
+ /**
93
+ * Check if a date is in the past relative to the user's timezone
94
+ *
95
+ * @param date - The date to check
96
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
97
+ * @param bufferMs - Buffer in milliseconds to allow for timezone differences (default: 24 hours)
98
+ * @returns true if the date is in the past (beyond the buffer)
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * // Check if date is in the past for user in UTC+2
103
+ * const isPast = TimeHelper.isDateInPast('2026-04-03', 'Europe/Berlin');
104
+ * ```
105
+ */
106
+ static isDateInPast(date: Date | string | null | undefined, timezoneName?: string, bufferMs?: number): boolean;
107
+ }
108
+ //# sourceMappingURL=time.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.helper.d.ts","sourceRoot":"","sources":["../../src/timezone/time.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,8BAAsB,UAAU;IAC5B;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAqBrG;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAqBnG;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAYrG;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAK9C;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA4B,GAAG,OAAO;CAatI"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeHelper = void 0;
4
+ const luxon_1 = require("luxon");
5
+ /**
6
+ * Timezone-aware date utilities for consistent date handling across the platform.
7
+ *
8
+ * These utilities ensure that date comparisons respect the user's configured timezone,
9
+ * preventing issues where users in positive UTC offsets couldn't set dates to "today"
10
+ * because the date shifted to "yesterday" in UTC.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { TimeHelper } from '@nekutima/biome-sdk';
15
+ *
16
+ * // Convert to start of day in user's timezone
17
+ * const beginOfDay = TimeHelper.ensureBeginOfDay('2026-04-04', 'America/New_York');
18
+ *
19
+ * // Convert to end of day in user's timezone
20
+ * const endOfDay = TimeHelper.ensureEndOfDay('2026-04-04', 'Europe/London');
21
+ *
22
+ * // Convert date to YYYY-MM-DD string for date inputs
23
+ * const dateInputValue = TimeHelper.toDateInputValue(new Date(), 'America/New_York');
24
+ * ```
25
+ */
26
+ class TimeHelper {
27
+ /**
28
+ * Convert a date to start of day in a specific timezone
29
+ *
30
+ * @param moment - The date/string to convert
31
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
32
+ * @returns Date object representing start of day in the specified timezone, stored as UTC
33
+ *
34
+ * @description
35
+ * For date strings (YYYY-MM-DD), this preserves the calendar date across all timezones.
36
+ * This fixes the bug where users in positive UTC offsets couldn't set dates to "today"
37
+ * because ensureEndOfDay shifted the date to the next day in UTC.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * // User in UTC+2 selects April 4
42
+ * // Returns April 4 00:00 in UTC+2, converted to UTC (April 3 22:00 UTC)
43
+ * const date = TimeHelper.ensureBeginOfDay('2026-04-04', 'Europe/Berlin');
44
+ * ```
45
+ */
46
+ static ensureBeginOfDay(moment, timezoneName) {
47
+ if (!moment)
48
+ return null;
49
+ const zone = timezoneName || 'utc';
50
+ if (moment instanceof Date) {
51
+ const dateTime = luxon_1.DateTime.fromJSDate(moment, { zone }).startOf('day');
52
+ return dateTime.toJSDate();
53
+ }
54
+ let date;
55
+ if (typeof moment === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(moment)) {
56
+ const [year, month, day] = moment.split('-').map(Number);
57
+ date = luxon_1.DateTime.fromObject({ year, month, day }, { zone }).startOf('day');
58
+ }
59
+ else {
60
+ date = luxon_1.DateTime.fromISO(moment, { zone: 'utc' }).setZone(zone).startOf('day');
61
+ }
62
+ return date.toJSDate();
63
+ }
64
+ /**
65
+ * Convert a date to end of day in a specific timezone
66
+ *
67
+ * @param moment - The date/string to convert
68
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
69
+ * @returns Date object representing end of day in the specified timezone, stored as UTC
70
+ *
71
+ * @description
72
+ * For date strings (YYYY-MM-DD), this preserves the calendar date across all timezones.
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * // User in UTC+2 selects April 4 for due date
77
+ * // Returns April 4 23:59:59.999 in UTC+2, converted to UTC
78
+ * const date = TimeHelper.ensureEndOfDay('2026-04-04', 'Europe/Berlin');
79
+ * ```
80
+ */
81
+ static ensureEndOfDay(moment, timezoneName) {
82
+ if (!moment)
83
+ return null;
84
+ const zone = timezoneName || 'utc';
85
+ if (moment instanceof Date) {
86
+ const dateTime = luxon_1.DateTime.fromJSDate(moment, { zone }).endOf('day');
87
+ return dateTime.toJSDate();
88
+ }
89
+ let date;
90
+ if (typeof moment === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(moment)) {
91
+ const [year, month, day] = moment.split('-').map(Number);
92
+ date = luxon_1.DateTime.fromObject({ year, month, day }, { zone }).startOf('day');
93
+ }
94
+ else {
95
+ date = luxon_1.DateTime.fromISO(moment, { zone: 'utc' }).setZone(zone).startOf('day');
96
+ }
97
+ return date.toJSDate();
98
+ }
99
+ /**
100
+ * Convert a UTC date to YYYY-MM-DD string in user's timezone
101
+ *
102
+ * @param date - The UTC date to convert
103
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
104
+ * @returns YYYY-MM-DD string in the user's timezone
105
+ *
106
+ * @description
107
+ * This is useful for populating date input fields with the correct date based on the user's timezone.
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * // April 4 00:00 UTC for user in UTC+2
112
+ * // Returns "2026-04-04" (April 4 02:00 in UTC+2)
113
+ * const dateInputValue = TimeHelper.toDateInputValue(new Date('2026-04-04T00:00:00Z'), 'Europe/Berlin');
114
+ * ```
115
+ */
116
+ static toDateInputValue(date, timezoneName) {
117
+ if (!date)
118
+ return null;
119
+ const zone = timezoneName || 'utc';
120
+ const dateObj = typeof date === 'string' ? new Date(date) : date;
121
+ if (isNaN(dateObj.getTime()))
122
+ return null;
123
+ const dateTime = luxon_1.DateTime.fromJSDate(dateObj, { zone: 'utc' }).setZone(zone);
124
+ return dateTime.toFormat('yyyy-MM-dd');
125
+ }
126
+ /**
127
+ * Get the current date/time in the user's timezone
128
+ *
129
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
130
+ * @returns Date object representing current time in the specified timezone
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * // Get current time in user's timezone for validation
135
+ * const userNow = TimeHelper.getUserNow('America/New_York');
136
+ * ```
137
+ */
138
+ static getUserNow(timezoneName) {
139
+ const zone = timezoneName || 'utc';
140
+ return luxon_1.DateTime.now().setZone(zone).toJSDate();
141
+ }
142
+ /**
143
+ * Check if a date is in the past relative to the user's timezone
144
+ *
145
+ * @param date - The date to check
146
+ * @param timezoneName - IANA timezone name (e.g., "America/New_York"). If not provided, uses UTC.
147
+ * @param bufferMs - Buffer in milliseconds to allow for timezone differences (default: 24 hours)
148
+ * @returns true if the date is in the past (beyond the buffer)
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // Check if date is in the past for user in UTC+2
153
+ * const isPast = TimeHelper.isDateInPast('2026-04-03', 'Europe/Berlin');
154
+ * ```
155
+ */
156
+ static isDateInPast(date, timezoneName, bufferMs = 24 * 60 * 60 * 1000) {
157
+ if (!date)
158
+ return true;
159
+ const zone = timezoneName || 'utc';
160
+ const dateObj = typeof date === 'string' ? new Date(date) : date;
161
+ if (isNaN(dateObj.getTime()))
162
+ return true;
163
+ const userNow = luxon_1.DateTime.now().setZone(zone);
164
+ const checkDate = luxon_1.DateTime.fromJSDate(dateObj, { zone });
165
+ return checkDate.toMillis() < userNow.toMillis() - bufferMs;
166
+ }
167
+ }
168
+ exports.TimeHelper = TimeHelper;
169
+ //# sourceMappingURL=time.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.helper.js","sourceRoot":"","sources":["../../src/timezone/time.helper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nekutima/biome-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Pure TypeScript SDK for Biome platform integration - authentication, task management, and blockchain interactions",
5
5
  "readme": "README.md",
6
6
  "main": "dist/index.js",
@@ -58,7 +58,7 @@
58
58
  "dependencies": {
59
59
  "axios": "^1.7.9",
60
60
  "ethers": "^6.16.0",
61
- "luxon": "^3.6.1",
61
+ "luxon": "^3.7.2",
62
62
  "reflect-metadata": "^0.2.2"
63
63
  },
64
64
  "devDependencies": {