@giveback007/util-lib 2.1.3 → 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
@@ -1,7 +1,10 @@
1
1
  import { Temporal } from '@js-temporal/polyfill';
2
2
  import { AnyDate, MsTime, num, str, TimeArr, TimeObj } from '.';
3
+ /** A promise that waits `ms` amount of milliseconds to execute */
4
+ export declare const wait: (ms: number) => Promise<void>;
5
+ /** Resolves after a given msEpoch passes. `msEpoch - Date.now()` */
6
+ export declare const waitUntil: (msEpoch: number) => Promise<void>;
3
7
  export declare const msTime: MsTime;
4
- export declare const weekTuple: readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
5
8
  /**
6
9
  * Converts Date to time of day.
7
10
  * Good for use in logging.
@@ -35,6 +38,7 @@ export declare const time: {
35
38
  /** fnc(n) -> add min to now */
36
39
  readonly min: (n: num) => number;
37
40
  };
41
+ /** Convert ms into: */
38
42
  readonly msTo: {
39
43
  /** fnc(n) -> from ms to num of seconds */
40
44
  readonly sec: (ms: num) => number;
@@ -51,15 +55,142 @@ export declare const time: {
51
55
  };
52
56
  export declare const humanizedTime: (date: AnyDate) => string | null;
53
57
  /** A Date substitute, to make working with time easier and more versatile */
54
- export declare function getTime(t: TimeArr | num | str, timeZone?: str): {
58
+ export declare function getTime(t?: Temporal.ZonedDateTime | TimeArr | num | str | 'now',
59
+ /** For a list of available timeZone values run:
60
+ * `Intl.supportedValuesOf('timeZone');` */
61
+ timeZone?: str): {
55
62
  zonedTemporal: Temporal.ZonedDateTime;
56
63
  date: Date;
57
64
  tzOffsetMin: number;
58
65
  localISO: string;
59
- timeObj: TimeObj;
66
+ obj: TimeObj;
60
67
  isoStr: string;
61
68
  timeZone: string;
62
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
+ };
63
194
  };
64
195
  export declare const timeObj: (dt: Date | Temporal.ZonedDateTime) => TimeObj;
65
196
  export declare function parseDate(d: AnyDate): Date | null;
package/dist/time.js CHANGED
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.timeObj = exports.humanizedTime = exports.time = exports.weekTuple = exports.msTime = 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;
7
7
  const polyfill_1 = require("@js-temporal/polyfill");
8
8
  const _1 = require(".");
9
+ /** A promise that waits `ms` amount of milliseconds to execute */
10
+ const wait = (ms) => new Promise((res) => setTimeout(() => res(), ms));
11
+ exports.wait = wait;
12
+ /** Resolves after a given msEpoch passes. `msEpoch - Date.now()` */
13
+ const waitUntil = (msEpoch) => new Promise(res => setTimeout(res, msEpoch - Date.now()));
14
+ exports.waitUntil = waitUntil;
9
15
  exports.msTime = {
10
16
  s: 1000,
11
17
  m: 60000,
@@ -13,7 +19,6 @@ exports.msTime = {
13
19
  d: 86400000,
14
20
  w: 604800000,
15
21
  };
16
- exports.weekTuple = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
17
22
  /**
18
23
  * Converts Date to time of day.
19
24
  * Good for use in logging.
@@ -53,6 +58,7 @@ exports.time = {
53
58
  /** fnc(n) -> add min to now */
54
59
  min: (n) => Date.now() + n * exports.msTime.m,
55
60
  },
61
+ /** Convert ms into: */
56
62
  msTo: {
57
63
  /** fnc(n) -> from ms to num of seconds */
58
64
  sec: (ms) => ms / exports.msTime.s,
@@ -95,10 +101,16 @@ const humanizedTime = (date) => {
95
101
  }
96
102
  };
97
103
  exports.humanizedTime = humanizedTime;
98
- // Intl.supportedValuesOf('timeZone');
99
104
  /** A Date substitute, to make working with time easier and more versatile */
100
- function getTime(t, timeZone) {
101
- timeZone = timeZone || Intl.DateTimeFormat().resolvedOptions().timeZone;
105
+ function getTime(t,
106
+ /** For a list of available timeZone values run:
107
+ * `Intl.supportedValuesOf('timeZone');` */
108
+ timeZone) {
109
+ if (t === undefined || t === 'now')
110
+ t = Date.now();
111
+ if (!timeZone)
112
+ timeZone = t instanceof polyfill_1.Temporal.ZonedDateTime ?
113
+ t.timeZoneId : Intl.DateTimeFormat().resolvedOptions().timeZone;
102
114
  let zonedTemporal;
103
115
  let date;
104
116
  let isoStr;
@@ -110,6 +122,9 @@ function getTime(t, timeZone) {
110
122
  else if ((0, _1.isType)(t, 'string')) {
111
123
  zonedTemporal = polyfill_1.Temporal.ZonedDateTime.from(t + `[${timeZone}]`);
112
124
  }
125
+ else if (t instanceof polyfill_1.Temporal.ZonedDateTime) {
126
+ zonedTemporal = t.withTimeZone(timeZone);
127
+ }
113
128
  else {
114
129
  zonedTemporal = polyfill_1.Temporal.ZonedDateTime.from({
115
130
  year: t[0],
@@ -128,10 +143,35 @@ function getTime(t, timeZone) {
128
143
  date,
129
144
  tzOffsetMin: zonedTemporal.offsetNanoseconds / 60_000_000_000,
130
145
  localISO: zonedTemporal.toJSON(),
131
- timeObj: (0, exports.timeObj)(zonedTemporal),
146
+ obj: (0, exports.timeObj)(zonedTemporal),
132
147
  isoStr: isoStr || date.toISOString(),
133
148
  timeZone: timeZone,
134
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
+ }
135
175
  };
136
176
  }
137
177
  const timeObj = (dt) => dt instanceof Date ? ({
@@ -142,7 +182,7 @@ const timeObj = (dt) => dt instanceof Date ? ({
142
182
  min: dt.getMinutes(),
143
183
  sec: dt.getSeconds(),
144
184
  ms: dt.getMilliseconds(),
145
- wDay: exports.weekTuple[dt.getDay()]
185
+ wDay: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][dt.getDay()]
146
186
  }) : ({
147
187
  y: dt.year,
148
188
  m: dt.month,
@@ -151,7 +191,7 @@ const timeObj = (dt) => dt instanceof Date ? ({
151
191
  min: dt.minute,
152
192
  sec: dt.second,
153
193
  ms: dt.millisecond,
154
- wDay: exports.weekTuple[dt.dayOfWeek - 1]
194
+ wDay: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'][dt.dayOfWeek - 1]
155
195
  });
156
196
  exports.timeObj = timeObj;
157
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.1.3",
3
+ "version": "2.3.1",
4
4
  "description": "Utility library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,19 @@
1
+ export type Immutable<T> = {
2
+ readonly [K in keyof T]: Immutable<T[K]>;
3
+ };
4
+
5
+ export type Action<T extends string, D = undefined> =
6
+ Readonly<D extends undefined ? {type: T} : { type: T; data: D; }>;
7
+
8
+ export type stateSubFct<S> = (s: S, prev: S | null) => any;
9
+
10
+ export type actSubFct<
11
+ A extends Action<any, any>,
12
+ S = any
13
+ > = (a: A, s: S) => any;
14
+
15
+ export type lsOptions<P> = {
16
+ id: string;
17
+ useKeys?: P[];
18
+ ignoreKeys?: P[];
19
+ };
package/src/@types.ts CHANGED
@@ -5,8 +5,9 @@ export type StrKeys<T> = Extract<keyof T, string>;
5
5
 
6
6
  export type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
7
7
 
8
- export type Optional<T, K extends keyof T = keyof T> =
9
- { [P in K]?: T[P] };
8
+ export type Optional<
9
+ T, K extends keyof T = keyof T
10
+ > = { [P in K]?: T[P] };
10
11
 
11
12
  export type ResolvedValue<T> =
12
13
  T extends Promise <infer U> ? U : any;
@@ -62,9 +63,13 @@ export type MsTime = {
62
63
  * type Y => "k1" | "k3"
63
64
  * ```
64
65
  */
65
- export type KeysOfValueType<O, T> = { [I in keyof O]: O[I] extends T ? I : never }[keyof O];
66
+ export type KeysOfValueType<O, T> = {
67
+ [I in keyof O]: O[I] extends T ? I : never
68
+ }[keyof O];
66
69
 
67
- export type AwaitReturn<T extends AnyFnc<any | Promise<any>>> = Awaited<ReturnType<T>>;
70
+ export type AwaitReturn<
71
+ T extends AnyFnc<any | Promise<any>>
72
+ > = Awaited<ReturnType<T>>;
68
73
 
69
74
  export type num = number;
70
75
  export type str = string;
@@ -72,7 +77,14 @@ export type bol = boolean;
72
77
 
73
78
  export type AnyFnc<T = any> = (...args: any[]) => T;
74
79
 
75
- export type DayOfWeek = 'Sun' | 'Mon' | 'Tue' | 'Wed' | 'Thu' | 'Fri' | 'Sat';
80
+ export type DayOfWeek =
81
+ | 'Sun'
82
+ | 'Mon'
83
+ | 'Tue'
84
+ | 'Wed'
85
+ | 'Thu'
86
+ | 'Fri'
87
+ | 'Sat';
76
88
 
77
89
  export type TimeObj = {
78
90
  y: num;
@@ -85,18 +97,16 @@ export type TimeObj = {
85
97
  wDay: DayOfWeek;
86
98
  };
87
99
 
88
- export type PartialTimeObj = {
89
- y: num;
90
- m?: num;
91
- d?: num;
92
- h?: num;
93
- min?: num;
94
- sec?: num;
95
- ms?: num;
96
- };
97
-
98
- export type TimeArr = [y: num, m?: num, d?: num, h?: num, min?: num, sec?: num, ms?: num];
99
-
100
- export type AnyDate = string | number | Date | TimeObj | PartialTimeObj | TimeArr;
100
+ export type TimeArr = [
101
+ y: num,
102
+ m?: num,
103
+ d?: num,
104
+ h?: num,
105
+ min?: num,
106
+ sec?: num,
107
+ ms?: num
108
+ ];
109
+
110
+ export type AnyDate = string | number | Date | TimeObj | TimeArr;
101
111
 
102
112
  export type Dict<T> = { [id: string]: T };
package/src/general.ts CHANGED
@@ -39,10 +39,6 @@ export const interval = (
39
39
  };
40
40
  }
41
41
 
42
- /** A promise that waits `ms` amount of milliseconds to execute */
43
- export const wait = (ms: number): Promise<void> =>
44
- new Promise((res) => setTimeout(() => res(), ms));
45
-
46
42
  const usubAllFunct = (x: any, unsubName = 'unsubscribe') =>
47
43
  isType(x, 'object')
48
44
  &&
package/src/index.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  export * from './@types';
2
+ export * from './@state.types'
2
3
  export * from './array';
3
4
  export * from './clone';
4
5
  export * from './equality';
5
6
  export * from './general';
7
+ export * from './http';
6
8
  export * from './iterate';
7
9
  export * from './number';
8
10
  export * from './object';
11
+ export * from './state-manager';
9
12
  export * from './string';
10
13
  export * from './test';
11
- export * from './time';
12
- export * from './http';
14
+ export * from './time';
package/src/number.ts CHANGED
@@ -26,17 +26,8 @@ export const average = (nArr: number[]) =>
26
26
  * decPlaces(1.1276, 2) //=> 1.13
27
27
  * ```
28
28
  */
29
- export const decPlace = (n: number, places: number) =>
30
- parseFloat(n.toFixed(places));
31
-
32
- /**
33
- * @example
34
- * ```js
35
- * numberWithCommas(1000000) //=> '1,000,000'
36
- * ```
37
- */
38
- export const numberWithCommas = (n: number | string) =>
39
- n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
29
+ export const numFixed = (n: number, fractionDigits: number) =>
30
+ parseFloat(n.toFixed(fractionDigits));
40
31
 
41
32
  /**
42
33
  * Takes a number || number[] and min & max, will generate a