@giveback007/util-lib 2.2.0 → 2.3.1

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/time.d.ts CHANGED
@@ -5,7 +5,6 @@ export declare const wait: (ms: number) => Promise<void>;
5
5
  /** Resolves after a given msEpoch passes. `msEpoch - Date.now()` */
6
6
  export declare const waitUntil: (msEpoch: number) => Promise<void>;
7
7
  export declare const msTime: MsTime;
8
- export declare const weekTuple: readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
9
8
  /**
10
9
  * Converts Date to time of day.
11
10
  * Good for use in logging.
@@ -56,7 +55,7 @@ export declare const time: {
56
55
  };
57
56
  export declare const humanizedTime: (date: AnyDate) => string | null;
58
57
  /** A Date substitute, to make working with time easier and more versatile */
59
- export declare function getTime(t?: TimeArr | num | str,
58
+ export declare function getTime(t?: Temporal.ZonedDateTime | TimeArr | num | str | 'now',
60
59
  /** For a list of available timeZone values run:
61
60
  * `Intl.supportedValuesOf('timeZone');` */
62
61
  timeZone?: str): {
@@ -64,10 +63,134 @@ timeZone?: str): {
64
63
  date: Date;
65
64
  tzOffsetMin: number;
66
65
  localISO: string;
67
- timeObj: TimeObj;
66
+ obj: TimeObj;
68
67
  isoStr: string;
69
68
  timeZone: string;
70
69
  epochMs: number;
70
+ startOf: {
71
+ day: () => {
72
+ zonedTemporal: Temporal.ZonedDateTime;
73
+ date: Date;
74
+ tzOffsetMin: number;
75
+ localISO: string;
76
+ obj: TimeObj;
77
+ isoStr: string;
78
+ timeZone: string;
79
+ epochMs: number;
80
+ startOf: {
81
+ day: /*elided*/ any;
82
+ month: () => /*elided*/ any;
83
+ year: () => /*elided*/ any;
84
+ };
85
+ endOf: {
86
+ day: () => /*elided*/ any;
87
+ month: () => /*elided*/ any;
88
+ year: () => /*elided*/ any;
89
+ };
90
+ };
91
+ month: () => {
92
+ zonedTemporal: Temporal.ZonedDateTime;
93
+ date: Date;
94
+ tzOffsetMin: number;
95
+ localISO: string;
96
+ obj: TimeObj;
97
+ isoStr: string;
98
+ timeZone: string;
99
+ epochMs: number;
100
+ startOf: {
101
+ day: () => /*elided*/ any;
102
+ month: /*elided*/ any;
103
+ year: () => /*elided*/ any;
104
+ };
105
+ endOf: {
106
+ day: () => /*elided*/ any;
107
+ month: () => /*elided*/ any;
108
+ year: () => /*elided*/ any;
109
+ };
110
+ };
111
+ year: () => {
112
+ zonedTemporal: Temporal.ZonedDateTime;
113
+ date: Date;
114
+ tzOffsetMin: number;
115
+ localISO: string;
116
+ obj: TimeObj;
117
+ isoStr: string;
118
+ timeZone: string;
119
+ epochMs: number;
120
+ startOf: {
121
+ day: () => /*elided*/ any;
122
+ month: () => /*elided*/ any;
123
+ year: /*elided*/ any;
124
+ };
125
+ endOf: {
126
+ day: () => /*elided*/ any;
127
+ month: () => /*elided*/ any;
128
+ year: () => /*elided*/ any;
129
+ };
130
+ };
131
+ };
132
+ endOf: {
133
+ day: () => {
134
+ zonedTemporal: Temporal.ZonedDateTime;
135
+ date: Date;
136
+ tzOffsetMin: number;
137
+ localISO: string;
138
+ obj: TimeObj;
139
+ isoStr: string;
140
+ timeZone: string;
141
+ epochMs: number;
142
+ startOf: {
143
+ day: () => /*elided*/ any;
144
+ month: () => /*elided*/ any;
145
+ year: () => /*elided*/ any;
146
+ };
147
+ endOf: {
148
+ day: /*elided*/ any;
149
+ month: () => /*elided*/ any;
150
+ year: () => /*elided*/ any;
151
+ };
152
+ };
153
+ month: () => {
154
+ zonedTemporal: Temporal.ZonedDateTime;
155
+ date: Date;
156
+ tzOffsetMin: number;
157
+ localISO: string;
158
+ obj: TimeObj;
159
+ isoStr: string;
160
+ timeZone: string;
161
+ epochMs: number;
162
+ startOf: {
163
+ day: () => /*elided*/ any;
164
+ month: () => /*elided*/ any;
165
+ year: () => /*elided*/ any;
166
+ };
167
+ endOf: {
168
+ day: () => /*elided*/ any;
169
+ month: /*elided*/ any;
170
+ year: () => /*elided*/ any;
171
+ };
172
+ };
173
+ year: () => {
174
+ zonedTemporal: Temporal.ZonedDateTime;
175
+ date: Date;
176
+ tzOffsetMin: number;
177
+ localISO: string;
178
+ obj: TimeObj;
179
+ isoStr: string;
180
+ timeZone: string;
181
+ epochMs: number;
182
+ startOf: {
183
+ day: () => /*elided*/ any;
184
+ month: () => /*elided*/ any;
185
+ year: () => /*elided*/ any;
186
+ };
187
+ endOf: {
188
+ day: () => /*elided*/ any;
189
+ month: () => /*elided*/ any;
190
+ year: /*elided*/ any;
191
+ };
192
+ };
193
+ };
71
194
  };
72
195
  export declare const timeObj: (dt: Date | Temporal.ZonedDateTime) => TimeObj;
73
196
  export declare function parseDate(d: AnyDate): Date | null;
package/dist/time.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.timeObj = exports.humanizedTime = exports.time = exports.weekTuple = exports.msTime = exports.waitUntil = exports.wait = void 0;
3
+ exports.timeObj = exports.humanizedTime = exports.time = exports.msTime = exports.waitUntil = exports.wait = void 0;
4
4
  exports.dateTimeToString = dateTimeToString;
5
5
  exports.getTime = getTime;
6
6
  exports.parseDate = parseDate;
@@ -19,7 +19,6 @@ exports.msTime = {
19
19
  d: 86400000,
20
20
  w: 604800000,
21
21
  };
22
- exports.weekTuple = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
23
22
  /**
24
23
  * Converts Date to time of day.
25
24
  * Good for use in logging.
@@ -107,9 +106,11 @@ function getTime(t,
107
106
  /** For a list of available timeZone values run:
108
107
  * `Intl.supportedValuesOf('timeZone');` */
109
108
  timeZone) {
110
- if (t === undefined)
109
+ if (t === undefined || t === 'now')
111
110
  t = Date.now();
112
- timeZone = timeZone || Intl.DateTimeFormat().resolvedOptions().timeZone;
111
+ if (!timeZone)
112
+ timeZone = t instanceof polyfill_1.Temporal.ZonedDateTime ?
113
+ t.timeZoneId : Intl.DateTimeFormat().resolvedOptions().timeZone;
113
114
  let zonedTemporal;
114
115
  let date;
115
116
  let isoStr;
@@ -121,6 +122,9 @@ timeZone) {
121
122
  else if ((0, _1.isType)(t, 'string')) {
122
123
  zonedTemporal = polyfill_1.Temporal.ZonedDateTime.from(t + `[${timeZone}]`);
123
124
  }
125
+ else if (t instanceof polyfill_1.Temporal.ZonedDateTime) {
126
+ zonedTemporal = t.withTimeZone(timeZone);
127
+ }
124
128
  else {
125
129
  zonedTemporal = polyfill_1.Temporal.ZonedDateTime.from({
126
130
  year: t[0],
@@ -139,10 +143,35 @@ timeZone) {
139
143
  date,
140
144
  tzOffsetMin: zonedTemporal.offsetNanoseconds / 60_000_000_000,
141
145
  localISO: zonedTemporal.toJSON(),
142
- timeObj: (0, exports.timeObj)(zonedTemporal),
146
+ obj: (0, exports.timeObj)(zonedTemporal),
143
147
  isoStr: isoStr || date.toISOString(),
144
148
  timeZone: timeZone,
145
149
  epochMs: zonedTemporal.epochMilliseconds,
150
+ startOf: {
151
+ day: () => getTime(zonedTemporal.startOfDay(), timeZone),
152
+ month: () => {
153
+ const zT = zonedTemporal;
154
+ return getTime([zT.year, zT.month, 1, 0, 0, 0, 0], timeZone);
155
+ },
156
+ year: () => {
157
+ const zT = zonedTemporal;
158
+ return getTime([zT.year, 1, 1, 0, 0, 0, 0], timeZone);
159
+ }
160
+ },
161
+ endOf: {
162
+ day: () => {
163
+ const zT = zonedTemporal;
164
+ return getTime([zT.year, zT.month, zT.day, 23, 59, 59, 999], timeZone);
165
+ },
166
+ month: () => {
167
+ const zT = zonedTemporal;
168
+ return getTime([zT.year, zT.month, zT.daysInMonth, 23, 59, 59, 999], timeZone);
169
+ },
170
+ year: () => {
171
+ const zT = zonedTemporal;
172
+ return getTime([zT.year, 12, 31, 23, 59, 59, 999], timeZone);
173
+ }
174
+ }
146
175
  };
147
176
  }
148
177
  const timeObj = (dt) => dt instanceof Date ? ({
@@ -153,7 +182,7 @@ const timeObj = (dt) => dt instanceof Date ? ({
153
182
  min: dt.getMinutes(),
154
183
  sec: dt.getSeconds(),
155
184
  ms: dt.getMilliseconds(),
156
- wDay: exports.weekTuple[dt.getDay()]
185
+ wDay: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][dt.getDay()]
157
186
  }) : ({
158
187
  y: dt.year,
159
188
  m: dt.month,
@@ -162,7 +191,7 @@ const timeObj = (dt) => dt instanceof Date ? ({
162
191
  min: dt.minute,
163
192
  sec: dt.second,
164
193
  ms: dt.millisecond,
165
- wDay: exports.weekTuple[dt.dayOfWeek - 1]
194
+ wDay: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'][dt.dayOfWeek - 1]
166
195
  });
167
196
  exports.timeObj = timeObj;
168
197
  function parseDate(d) {
package/dist/time.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giveback007/util-lib",
3
- "version": "2.2.0",
3
+ "version": "2.3.1",
4
4
  "description": "Utility library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/time.ts CHANGED
@@ -17,8 +17,6 @@ export const msTime: MsTime = {
17
17
  w: 604800000,
18
18
  }
19
19
 
20
- export const weekTuple = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] as const;
21
-
22
20
  /**
23
21
  * Converts Date to time of day.
24
22
  * Good for use in logging.
@@ -108,13 +106,14 @@ export const humanizedTime = (date: AnyDate) => {
108
106
 
109
107
  /** A Date substitute, to make working with time easier and more versatile */
110
108
  export function getTime(
111
- t?: TimeArr | num | str,
109
+ t?: Temporal.ZonedDateTime | TimeArr | num | str | 'now',
112
110
  /** For a list of available timeZone values run:
113
111
  * `Intl.supportedValuesOf('timeZone');` */
114
112
  timeZone?: str
115
113
  ) {
116
- if (t === undefined) t = Date.now();
117
- timeZone = timeZone || Intl.DateTimeFormat().resolvedOptions().timeZone;
114
+ if (t === undefined || t === 'now') t = Date.now();
115
+ if (!timeZone) timeZone = t instanceof Temporal.ZonedDateTime ?
116
+ t.timeZoneId : Intl.DateTimeFormat().resolvedOptions().timeZone;
118
117
 
119
118
  let zonedTemporal: Temporal.ZonedDateTime;
120
119
  let date: Date;
@@ -126,6 +125,8 @@ export function getTime(
126
125
  zonedTemporal = Temporal.ZonedDateTime.from(isoStr + `[${timeZone}]`);
127
126
  } else if (isType(t, 'string')) {
128
127
  zonedTemporal = Temporal.ZonedDateTime.from(t + `[${timeZone}]`)
128
+ } else if (t instanceof Temporal.ZonedDateTime) {
129
+ zonedTemporal = t.withTimeZone(timeZone)
129
130
  } else {
130
131
  zonedTemporal = Temporal.ZonedDateTime.from({
131
132
  year: t[0],
@@ -146,10 +147,39 @@ export function getTime(
146
147
  date,
147
148
  tzOffsetMin: zonedTemporal.offsetNanoseconds / 60_000_000_000,
148
149
  localISO: zonedTemporal.toJSON(),
149
- timeObj: timeObj(zonedTemporal),
150
+ obj: timeObj(zonedTemporal),
150
151
  isoStr: isoStr! || date.toISOString(),
151
152
  timeZone: timeZone,
152
153
  epochMs: zonedTemporal.epochMilliseconds,
154
+ startOf: {
155
+ day: () => getTime(zonedTemporal.startOfDay(), timeZone),
156
+
157
+ month: () => {
158
+ const zT = zonedTemporal;
159
+ return getTime([zT.year, zT.month, 1, 0, 0, 0, 0], timeZone)
160
+ },
161
+
162
+ year: () => {
163
+ const zT = zonedTemporal;
164
+ return getTime([zT.year, 1, 1, 0, 0, 0, 0], timeZone)
165
+ }
166
+ },
167
+ endOf: {
168
+ day: () => {
169
+ const zT = zonedTemporal;
170
+ return getTime([zT.year, zT.month, zT.day, 23, 59, 59, 999], timeZone)
171
+ },
172
+
173
+ month: () => {
174
+ const zT = zonedTemporal;
175
+ return getTime([zT.year, zT.month, zT.daysInMonth, 23, 59, 59, 999], timeZone)
176
+ },
177
+
178
+ year: () => {
179
+ const zT = zonedTemporal;
180
+ return getTime([zT.year, 12, 31, 23, 59, 59, 999], timeZone)
181
+ }
182
+ }
153
183
  }
154
184
  }
155
185
 
@@ -161,7 +191,7 @@ export const timeObj = (dt: Date | Temporal.ZonedDateTime): TimeObj => dt instan
161
191
  min: dt.getMinutes(),
162
192
  sec: dt.getSeconds(),
163
193
  ms: dt.getMilliseconds(),
164
- wDay: weekTuple[dt.getDay()]!
194
+ wDay: (['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] as const)[dt.getDay()]!
165
195
  }) : ({
166
196
  y: dt.year,
167
197
  m: dt.month,
@@ -170,7 +200,7 @@ export const timeObj = (dt: Date | Temporal.ZonedDateTime): TimeObj => dt instan
170
200
  min: dt.minute,
171
201
  sec: dt.second,
172
202
  ms: dt.millisecond,
173
- wDay: weekTuple[dt.dayOfWeek - 1]!
203
+ wDay: (['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] as const)[dt.dayOfWeek - 1]!
174
204
  });
175
205
 
176
206
  export function parseDate(d: AnyDate) {