yummies 3.0.0 → 3.0.2

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/README.md CHANGED
@@ -67,3 +67,16 @@ Yummies - это набор разнообразных утилит для JavaS
67
67
 
68
68
  ## [yummies/vibrate](src/vibrate.ts)
69
69
  Утилиты по работе с vibrate api
70
+
71
+ ## [yummies/utility-types](src/utils/types.ts)
72
+ TypeScript типы-утилиты, которые упрощают написание TypeScript кода.
73
+ Импортируют глобально, встраиваясь в окружающую среду
74
+ ```ts
75
+ import 'yummies/utility-types';
76
+ ```
77
+ Также можно использовать альтернативный "библиотечный" подход, когда нам нужны экспортируемые типы.
78
+ Для этого можно использовать импорт `yummies/utils/types`
79
+
80
+ ```ts
81
+ import { AnyObject } from 'yummies/utils/types';
82
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yummies",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "keywords": [],
5
5
  "author": "js2me",
6
6
  "license": "MIT",
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Extract all values from object or array
3
+ */
4
+ type ValueOf<T> = T[keyof T];
5
+ /** Converts enum keys to union */
6
+ type ExtractEnumKeys<T> = ValueOf<{
7
+ [key in keyof T]: key extends string ? key : never;
8
+ }>;
9
+ type Maybe<T> = Nullable<T> | undefined;
10
+ type Nullable<T> = T | null;
11
+ /**
12
+ * Any object with any values
13
+ */
14
+ type AnyObject = Record<string, any>;
15
+ /**
16
+ * Empty object without properties
17
+ */
18
+ type EmptyObject = Record<string, never>;
19
+ type AnyPrimitive = string | number | boolean | null | undefined;
20
+ type AnyFunction = (...args: any) => any;
21
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
22
+ type FalsyValues = undefined | null | '' | false | 0;
23
+ type MaybeFalsy<T> = Maybe<T> | FalsyValues;
24
+ type Class<T, Args extends any[] = any[]> = new (...args: Args) => T;
25
+ /**
26
+ * Все свойства будут опциональны, в любую глубину
27
+ */
28
+ type DeepPartial<T> = {
29
+ [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
30
+ };
31
+ type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
32
+ type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
33
+ type AllPropertiesOptional<T> = keyof T extends never ? true : {
34
+ [K in keyof T]-?: undefined extends T[K] ? never : K;
35
+ } extends {
36
+ [K in keyof T]: never;
37
+ } ? true : false;
38
+ type RecordEntries<T extends AnyObject> = T extends Record<infer Keys, infer Values> ? [Keys, Values][] : never;
39
+ //# sourceMappingURL=types.d.ts.map
package/utils/types.d.ts CHANGED
@@ -1,15 +1,25 @@
1
+ /**
2
+ * Extract all values from object or array
3
+ */
1
4
  export type ValueOf<T> = T[keyof T];
5
+ /** Converts enum keys to union */
2
6
  export type ExtractEnumKeys<T> = ValueOf<{
3
7
  [key in keyof T]: key extends string ? key : never;
4
8
  }>;
5
9
  export type Maybe<T> = Nullable<T> | undefined;
6
10
  export type Nullable<T> = T | null;
11
+ /**
12
+ * Any object with any values
13
+ */
7
14
  export type AnyObject = Record<string, any>;
15
+ /**
16
+ * Empty object without properties
17
+ */
8
18
  export type EmptyObject = Record<string, never>;
9
19
  export type AnyPrimitive = string | number | boolean | null | undefined;
10
20
  export type AnyFunction = (...args: any) => any;
11
21
  export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
12
- type FalsyValues = undefined | null | '' | false | 0;
22
+ export type FalsyValues = undefined | null | '' | false | 0;
13
23
  export type MaybeFalsy<T> = Maybe<T> | FalsyValues;
14
24
  export type Class<T, Args extends any[] = any[]> = new (...args: Args) => T;
15
25
  /**
@@ -26,5 +36,4 @@ export type AllPropertiesOptional<T> = keyof T extends never ? true : {
26
36
  [K in keyof T]: never;
27
37
  } ? true : false;
28
38
  export type RecordEntries<T extends AnyObject> = T extends Record<infer Keys, infer Values> ? [Keys, Values][] : never;
29
- export {};
30
39
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,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,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5C,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,KAAK,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;AAErD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AAEnD,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,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,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC"}
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,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,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,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC"}
package/utils/types.js CHANGED
@@ -1 +1,2 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  export {};