yummies 3.0.18 → 3.0.20
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/date-time.d.ts +2 -1
- package/date-time.d.ts.map +1 -1
- package/date-time.js +14 -5
- package/date-time.test.js +5 -5
- package/package.json +1 -1
- package/utility-types.d.ts +1 -0
- package/utils/types.d.ts +1 -0
- package/utils/types.d.ts.map +1 -1
package/date-time.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare const timeDuration: (timeInMs: number) => {
|
|
|
21
21
|
minutes: number;
|
|
22
22
|
seconds: number;
|
|
23
23
|
};
|
|
24
|
-
export declare
|
|
24
|
+
export declare function getFormatDuration(dateA: Date, dateB: Date, compact?: boolean): string;
|
|
25
|
+
export declare function getFormatDuration(ms: number, compact?: boolean): string;
|
|
25
26
|
export {};
|
|
26
27
|
//# sourceMappingURL=date-time.d.ts.map
|
package/date-time.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-time.d.ts","sourceRoot":"","sources":["../src/date-time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOrD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,iBAAiB,CAAC;AAwBzB,eAAO,MAAM,UAAU,UACd,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,aAC1B,KAAK,CAAC;IACf,MAAM,CAAC,EACH,OAAO,GACP,MAAM,GACN,OAAO,GACP,KAAK,GACL,UAAU,GACV,MAAM,GACN,OAAO,GACP,YAAY,GACZ,MAAM,GACN,YAAY,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC,WA6CH,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,MAAM;;;;;;CAwB/C,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAEtE,eAAO,MAAM,UAAU,SACf,KAAK,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,sZAqBpC,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,MAAM;;;;;CAU5C,CAAC;AASF,
|
|
1
|
+
{"version":3,"file":"date-time.d.ts","sourceRoot":"","sources":["../src/date-time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOrD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,iBAAiB,CAAC;AAwBzB,eAAO,MAAM,UAAU,UACd,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,aAC1B,KAAK,CAAC;IACf,MAAM,CAAC,EACH,OAAO,GACP,MAAM,GACN,OAAO,GACP,KAAK,GACL,UAAU,GACV,MAAM,GACN,OAAO,GACP,YAAY,GACZ,MAAM,GACN,YAAY,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC,WA6CH,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,MAAM;;;;;;CAwB/C,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAEtE,eAAO,MAAM,UAAU,SACf,KAAK,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,sZAqBpC,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,MAAM;;;;;CAU5C,CAAC;AASF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,EACX,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAAC;AACV,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC"}
|
package/date-time.js
CHANGED
|
@@ -109,10 +109,19 @@ const durationFormatLabels = {
|
|
|
109
109
|
minutes: { compact: 'мин', full: ['минута', 'минуты', 'минут'] },
|
|
110
110
|
seconds: { compact: 'сек', full: ['секунда', 'секунды', 'секунд'] },
|
|
111
111
|
};
|
|
112
|
-
export
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
export function getFormatDuration(...args) {
|
|
113
|
+
let compact = false;
|
|
114
|
+
let diff = 0;
|
|
115
|
+
if (args[0] instanceof Date) {
|
|
116
|
+
const startedDate = dayjs(args[0]);
|
|
117
|
+
const endedDate = dayjs(args[1]);
|
|
118
|
+
diff = endedDate.diff(startedDate, 'ms');
|
|
119
|
+
compact = args[2] === true;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
diff = args[0];
|
|
123
|
+
compact = args[1] === true;
|
|
124
|
+
}
|
|
116
125
|
const { days, hours, minutes, seconds } = dayTimeDuration(diff);
|
|
117
126
|
const formattedParts = [];
|
|
118
127
|
if (days) {
|
|
@@ -148,4 +157,4 @@ export const getDatesFormatDuration = (dateA, dateB, compact) => {
|
|
|
148
157
|
}
|
|
149
158
|
}
|
|
150
159
|
return formattedParts.join(' ');
|
|
151
|
-
}
|
|
160
|
+
}
|
package/date-time.test.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, test } from 'vitest';
|
|
2
|
-
import { changeDate, dayTimeDuration,
|
|
2
|
+
import { changeDate, dayTimeDuration, timeDuration, getFormatDuration, } from './date-time';
|
|
3
3
|
import { unitsToMs } from './ms';
|
|
4
4
|
describe('date-time', () => {
|
|
5
5
|
describe('dayTimeDuration', () => {
|
|
@@ -57,21 +57,21 @@ describe('date-time', () => {
|
|
|
57
57
|
});
|
|
58
58
|
});
|
|
59
59
|
});
|
|
60
|
-
describe('
|
|
60
|
+
describe('getFormatDuration', () => {
|
|
61
61
|
test('30 minutes', () => {
|
|
62
62
|
const dateA = new Date(`2025-02-10T09:53:00.000Z`);
|
|
63
63
|
const dateB = changeDate(dateA, 30, 'minutes');
|
|
64
|
-
expect(
|
|
64
|
+
expect(getFormatDuration(dateA, dateB)).toBe('30 минут');
|
|
65
65
|
});
|
|
66
66
|
test('2 hours 45 minutes 10 seconds', () => {
|
|
67
67
|
const dateA = new Date(`2025-02-10T09:53:00.000Z`);
|
|
68
68
|
const dateB = changeDate(dateA, 2, 'hours', 45, 'minutes', 10, 'seconds');
|
|
69
|
-
expect(
|
|
69
|
+
expect(getFormatDuration(dateA, dateB)).toBe('2 часа 45 минут 10 секунд');
|
|
70
70
|
});
|
|
71
71
|
test('2 hours 45 minutes 10 seconds (compact)', () => {
|
|
72
72
|
const dateA = new Date(`2025-02-10T09:53:00.000Z`);
|
|
73
73
|
const dateB = changeDate(dateA, 2, 'hours', 45, 'minutes', 10, 'seconds');
|
|
74
|
-
expect(
|
|
74
|
+
expect(getFormatDuration(dateA, dateB, true)).toBe('2 ч 45 мин 10 сек');
|
|
75
75
|
});
|
|
76
76
|
});
|
|
77
77
|
});
|
package/package.json
CHANGED
package/utility-types.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ type DeepPartial<T> = {
|
|
|
31
31
|
};
|
|
32
32
|
type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
33
33
|
type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
34
|
+
type Unpromise<T> = T extends Promise<infer TValue> ? TValue : T;
|
|
34
35
|
type AllPropertiesOptional<T> = keyof T extends never ? true : {
|
|
35
36
|
[K in keyof T]-?: undefined extends T[K] ? never : K;
|
|
36
37
|
} extends {
|
package/utils/types.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export type DeepPartial<T> = {
|
|
|
31
31
|
};
|
|
32
32
|
export type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
33
33
|
export type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
34
|
+
export type Unpromise<T> = T extends Promise<infer TValue> ? TValue : T;
|
|
34
35
|
export type AllPropertiesOptional<T> = keyof T extends never ? true : {
|
|
35
36
|
[K in keyof T]-?: undefined extends T[K] ? never : K;
|
|
36
37
|
} extends {
|
package/utils/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}
|