@nekutima/biome-sdk 0.2.0 → 0.4.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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/timezone/index.d.ts +2 -0
- package/dist/timezone/index.d.ts.map +1 -0
- package/dist/timezone/index.js +6 -0
- package/dist/timezone/index.js.map +1 -0
- package/dist/timezone/time.helper.d.ts +108 -0
- package/dist/timezone/time.helper.d.ts.map +1 -0
- package/dist/timezone/time.helper.js +169 -0
- package/dist/timezone/time.helper.js.map +1 -0
- package/package.json +2 -2
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EACV,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
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.
|
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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.
|
|
3
|
+
"version": "0.4.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.
|
|
61
|
+
"luxon": "^3.7.2",
|
|
62
62
|
"reflect-metadata": "^0.2.2"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|