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 CHANGED
@@ -21,6 +21,7 @@ export declare const timeDuration: (timeInMs: number) => {
21
21
  minutes: number;
22
22
  seconds: number;
23
23
  };
24
- export declare const getDatesFormatDuration: (dateA: Date, dateB: Date, compact?: boolean) => string;
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
@@ -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,eAAO,MAAM,sBAAsB,UAC1B,IAAI,SACJ,IAAI,YACD,OAAO,WAoDlB,CAAC"}
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 const getDatesFormatDuration = (dateA, dateB, compact) => {
113
- const startedDate = dayjs(dateA);
114
- const endedDate = dayjs(dateB);
115
- const diff = endedDate.diff(startedDate, 'ms');
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, getDatesFormatDuration, timeDuration, } from './date-time';
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('getDatesFormatDuration', () => {
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(getDatesFormatDuration(dateA, dateB)).toBe('30 минут');
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(getDatesFormatDuration(dateA, dateB)).toBe('2 часа 45 минут 10 секунд');
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(getDatesFormatDuration(dateA, dateB, true)).toBe('2 ч 45 мин 10 сек');
74
+ expect(getFormatDuration(dateA, dateB, true)).toBe('2 ч 45 мин 10 сек');
75
75
  });
76
76
  });
77
77
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yummies",
3
- "version": "3.0.18",
3
+ "version": "3.0.20",
4
4
  "keywords": [],
5
5
  "author": "js2me",
6
6
  "license": "MIT",
@@ -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 {
@@ -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":"AAEA;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,kCAAkC;AAClC,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,OAAO,CAAC;KACtC,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,SAAS,MAAM,GAAG,GAAG,GAAG,KAAK;CACnD,CAAC,CAAC;AAEH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAE/C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAExE,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;AAEhD,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CACnC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;AAE5D,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AAEnD,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,IAC9C,CAAC,GACD,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC;AAE5B,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACxD,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACzD,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvB,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAExE,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,GACxD,IAAI,GACJ;KACK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACrD,SAAS;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK;CAAE,GACnC,IAAI,GACJ,KAAK,CAAC;AAEZ,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,IAC3C,CAAC,SAAS,MAAM,CAAC,MAAM,IAAI,EAAE,MAAM,MAAM,CAAC,GACtC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAChB,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,MAAM,MAAM,CAAC,CAAC,GACjD,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAChB,KAAK,CAAC;AAEd,MAAM,MAAM,SAAS,CACnB,OAAO,EACP,OAAO,SAAS,MAAM,OAAO,EAC7B,OAAO,SAAS,MAAM,IACpB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GACxB,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,IAAI,GACxD;KAAG,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;CAAE,GACrC;KAAG,CAAC,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAAE,CAAC;AAEzC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,WAAW,GAClE,IAAI,GACJ,MAAM,CAAC,SAAS,KAAK,GACnB,IAAI,GACJ,KAAK,CAAC;AAEZ,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,GAC7D,IAAI,GACJ,KAAK,CAAC"}