@bemedev/decompose 2.0.1 → 2.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
@@ -91,6 +91,22 @@ getByKey(arr, 'users.[0].name'); // 'Alice'
91
91
  getByKey(arr, 'users.[1].name'); // 'Bob'
92
92
  ```
93
93
 
94
+ #### Typed variants
95
+
96
+ `getByKey.typed` preserves the full TypeScript type including `undefined`:
97
+
98
+ ```typescript
99
+ const val = getByKey.typed(obj, 'data.name.firstName');
100
+ // type: string | undefined
101
+ ```
102
+
103
+ `getByKey.defined` strips `undefined` from the return type (non-nullable):
104
+
105
+ ```typescript
106
+ const val = getByKey.defined(obj, 'data.name.firstName');
107
+ // type: string
108
+ ```
109
+
94
110
  ### `assignByKey`
95
111
 
96
112
  Assigns a value to a path in an object using a dot-notation key. Creates
@@ -18,6 +18,7 @@ const _getByKey = (obj, key) => {
18
18
  const getByKey = (obj, key) => _getByKey(obj, key);
19
19
  getByKey.low = getByKey;
20
20
  getByKey.typed = getByKey;
21
+ getByKey.defined = getByKey;
21
22
  getByKey.options = options => (obj, key) => {
22
23
  const decomposed = decompose.decompose.low(obj, {
23
24
  ...contexts_constants.DEFAULT_OPTIONS,
@@ -1 +1 @@
1
- {"version":3,"file":"get.cjs","sources":["../../src/contexts/get.ts"],"sourcesContent":["import { DEFAULT_OPTIONS } from './constants';\nimport { decompose } from '../decompose';\nimport type { Decompose, DecomposeOptions, Ru } from '../types.types';\n\n// #region type GetByKey_F\nexport type GetByKey_F = <\n const T extends Ru,\n const K extends keyof Decompose<T, typeof DEFAULT_OPTIONS>,\n>(\n obj: T,\n key: Extract<K, string>,\n) => Decompose<T, typeof DEFAULT_OPTIONS>[K];\n\nexport type GetByKeyOption_F = <\n const O extends DecomposeOptions = typeof DEFAULT_OPTIONS,\n>(\n val: O,\n) => <const T extends Ru, const K extends keyof Decompose<T, O>>(\n obj: T,\n key: Extract<K, string>,\n) => Decompose<T, O>[K];\n// #endregion\n\nexport interface GetByKey {\n (obj: any, key: string): any;\n low: (obj: any, key: string) => any;\n typed: GetByKey_F;\n options: GetByKeyOption_F;\n}\n\nconst _getByKey: GetByKey['low'] = (obj, key) => {\n const decomposed = decompose.low(obj, DEFAULT_OPTIONS);\n return (decomposed as any)[key];\n};\n\n/**\n * Retrieves a value from an object by a specified key.\n * @param obj The object to retrieve the value from\n * @param key The key to retrieve the value for, can be a nested key (e.g. 'a.b.c')\n * @returns The value associated with the specified key in the object\n *\n * @see {@linkcode Decompose} for more details on object decomposition.\n */\nexport const getByKey: GetByKey = (obj, key) => _getByKey(obj, key);\n\ngetByKey.low = getByKey;\ngetByKey.typed = getByKey;\ngetByKey.options = options => (obj, key) => {\n const decomposed = decompose.low(obj, {\n ...DEFAULT_OPTIONS,\n ...options,\n });\n return decomposed[key];\n};\n"],"names":["decompose","DEFAULT_OPTIONS"],"mappings":";;;;;AA8BA,MAAM,SAAS,GAAoB,CAAC,GAAG,EAAE,GAAG,KAAI;IAC9C,MAAM,UAAU,GAAGA,mBAAS,CAAC,GAAG,CAAC,GAAG,EAAEC,kCAAe,CAAC;AACtD,IAAA,OAAQ,UAAkB,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;;;;;AAOG;AACI,MAAM,QAAQ,GAAa,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG;AAElE,QAAQ,CAAC,GAAG,GAAG,QAAQ;AACvB,QAAQ,CAAC,KAAK,GAAG,QAAQ;AACzB,QAAQ,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAI;AACzC,IAAA,MAAM,UAAU,GAAGD,mBAAS,CAAC,GAAG,CAAC,GAAG,EAAE;AACpC,QAAA,GAAGC,kCAAe;AAClB,QAAA,GAAG,OAAO;AACX,KAAA,CAAC;AACF,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC;AACxB,CAAC;;;;"}
1
+ {"version":3,"file":"get.cjs","sources":["../../src/contexts/get.ts"],"sourcesContent":["import { DEFAULT_OPTIONS } from './constants';\nimport { decompose } from '../decompose';\nimport type { Decompose, DecomposeOptions, Ru } from '../types.types';\nimport type { NotUndefined } from '@bemedev/types/lib/types/commons.types';\n\n// #region type GetByKey_F\nexport type GetByKey_F = <\n const T extends Ru,\n const K extends keyof Decompose<T, typeof DEFAULT_OPTIONS>,\n>(\n obj: T,\n key: Extract<K, string>,\n) => Decompose<T, typeof DEFAULT_OPTIONS>[K];\nexport type GetByKeyDefined_F = <\n const T extends Ru,\n const K extends keyof Decompose<T, typeof DEFAULT_OPTIONS>,\n>(\n obj: T,\n key: Extract<K, string>,\n) => NotUndefined<Decompose<T, typeof DEFAULT_OPTIONS>[K]>;\n\nexport type GetByKeyOption_F = <\n const O extends DecomposeOptions = typeof DEFAULT_OPTIONS,\n>(\n val: O,\n) => <const T extends Ru, const K extends keyof Decompose<T, O>>(\n obj: T,\n key: Extract<K, string>,\n) => Decompose<T, O>[K];\n// #endregion\n\nexport interface GetByKey {\n (obj: any, key: string): any;\n low: (obj: any, key: string) => any;\n typed: GetByKey_F;\n defined: GetByKeyDefined_F;\n options: GetByKeyOption_F;\n}\n\nconst _getByKey: GetByKey['low'] = (obj, key) => {\n const decomposed = decompose.low(obj, DEFAULT_OPTIONS);\n return (decomposed as any)[key];\n};\n\n/**\n * Retrieves a value from an object by a specified key.\n * @param obj The object to retrieve the value from\n * @param key The key to retrieve the value for, can be a nested key (e.g. 'a.b.c')\n * @returns The value associated with the specified key in the object\n *\n * @see {@linkcode Decompose} for more details on object decomposition.\n */\nexport const getByKey: GetByKey = (obj, key) => _getByKey(obj, key);\n\ngetByKey.low = getByKey;\ngetByKey.typed = getByKey;\ngetByKey.defined = getByKey;\n\ngetByKey.options = options => (obj, key) => {\n const decomposed = decompose.low(obj, {\n ...DEFAULT_OPTIONS,\n ...options,\n });\n return decomposed[key];\n};\n"],"names":["decompose","DEFAULT_OPTIONS"],"mappings":";;;;;AAuCA,MAAM,SAAS,GAAoB,CAAC,GAAG,EAAE,GAAG,KAAI;IAC9C,MAAM,UAAU,GAAGA,mBAAS,CAAC,GAAG,CAAC,GAAG,EAAEC,kCAAe,CAAC;AACtD,IAAA,OAAQ,UAAkB,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;;;;;AAOG;AACI,MAAM,QAAQ,GAAa,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG;AAElE,QAAQ,CAAC,GAAG,GAAG,QAAQ;AACvB,QAAQ,CAAC,KAAK,GAAG,QAAQ;AACzB,QAAQ,CAAC,OAAO,GAAG,QAAQ;AAE3B,QAAQ,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAI;AACzC,IAAA,MAAM,UAAU,GAAGD,mBAAS,CAAC,GAAG,CAAC,GAAG,EAAE;AACpC,QAAA,GAAGC,kCAAe;AAClB,QAAA,GAAG,OAAO;AACX,KAAA,CAAC;AACF,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC;AACxB,CAAC;;;;"}
@@ -1,11 +1,14 @@
1
1
  import { DEFAULT_OPTIONS } from './constants';
2
2
  import type { Decompose, DecomposeOptions, Ru } from '../types.types';
3
+ import type { NotUndefined } from '@bemedev/types/lib/types/commons.types';
3
4
  export type GetByKey_F = <const T extends Ru, const K extends keyof Decompose<T, typeof DEFAULT_OPTIONS>>(obj: T, key: Extract<K, string>) => Decompose<T, typeof DEFAULT_OPTIONS>[K];
5
+ export type GetByKeyDefined_F = <const T extends Ru, const K extends keyof Decompose<T, typeof DEFAULT_OPTIONS>>(obj: T, key: Extract<K, string>) => NotUndefined<Decompose<T, typeof DEFAULT_OPTIONS>[K]>;
4
6
  export type GetByKeyOption_F = <const O extends DecomposeOptions = typeof DEFAULT_OPTIONS>(val: O) => <const T extends Ru, const K extends keyof Decompose<T, O>>(obj: T, key: Extract<K, string>) => Decompose<T, O>[K];
5
7
  export interface GetByKey {
6
8
  (obj: any, key: string): any;
7
9
  low: (obj: any, key: string) => any;
8
10
  typed: GetByKey_F;
11
+ defined: GetByKeyDefined_F;
9
12
  options: GetByKeyOption_F;
10
13
  }
11
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/contexts/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAGtE,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,CAAC,CAAC,SAAS,EAAE,EAClB,KAAK,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO,eAAe,CAAC,EAE1D,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KACpB,SAAS,CAAC,CAAC,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,CAAC,CAAC,SAAS,gBAAgB,GAAG,OAAO,eAAe,EAEzD,GAAG,EAAE,CAAC,KACH,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7D,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KACpB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxB,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAC7B,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IACpC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAOD;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,QAA4C,CAAC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/contexts/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAG3E,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,CAAC,CAAC,SAAS,EAAE,EAClB,KAAK,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO,eAAe,CAAC,EAE1D,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KACpB,SAAS,CAAC,CAAC,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,CAAC,CAAC,SAAS,EAAE,EAClB,KAAK,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO,eAAe,CAAC,EAE1D,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KACpB,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,CAAC,CAAC,SAAS,gBAAgB,GAAG,OAAO,eAAe,EAEzD,GAAG,EAAE,CAAC,KACH,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7D,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KACpB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxB,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAC7B,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IACpC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAOD;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,QAA4C,CAAC"}
@@ -16,6 +16,7 @@ const _getByKey = (obj, key) => {
16
16
  const getByKey = (obj, key) => _getByKey(obj, key);
17
17
  getByKey.low = getByKey;
18
18
  getByKey.typed = getByKey;
19
+ getByKey.defined = getByKey;
19
20
  getByKey.options = options => (obj, key) => {
20
21
  const decomposed = decompose.low(obj, {
21
22
  ...DEFAULT_OPTIONS,
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sources":["../../src/contexts/get.ts"],"sourcesContent":["import { DEFAULT_OPTIONS } from './constants';\nimport { decompose } from '../decompose';\nimport type { Decompose, DecomposeOptions, Ru } from '../types.types';\n\n// #region type GetByKey_F\nexport type GetByKey_F = <\n const T extends Ru,\n const K extends keyof Decompose<T, typeof DEFAULT_OPTIONS>,\n>(\n obj: T,\n key: Extract<K, string>,\n) => Decompose<T, typeof DEFAULT_OPTIONS>[K];\n\nexport type GetByKeyOption_F = <\n const O extends DecomposeOptions = typeof DEFAULT_OPTIONS,\n>(\n val: O,\n) => <const T extends Ru, const K extends keyof Decompose<T, O>>(\n obj: T,\n key: Extract<K, string>,\n) => Decompose<T, O>[K];\n// #endregion\n\nexport interface GetByKey {\n (obj: any, key: string): any;\n low: (obj: any, key: string) => any;\n typed: GetByKey_F;\n options: GetByKeyOption_F;\n}\n\nconst _getByKey: GetByKey['low'] = (obj, key) => {\n const decomposed = decompose.low(obj, DEFAULT_OPTIONS);\n return (decomposed as any)[key];\n};\n\n/**\n * Retrieves a value from an object by a specified key.\n * @param obj The object to retrieve the value from\n * @param key The key to retrieve the value for, can be a nested key (e.g. 'a.b.c')\n * @returns The value associated with the specified key in the object\n *\n * @see {@linkcode Decompose} for more details on object decomposition.\n */\nexport const getByKey: GetByKey = (obj, key) => _getByKey(obj, key);\n\ngetByKey.low = getByKey;\ngetByKey.typed = getByKey;\ngetByKey.options = options => (obj, key) => {\n const decomposed = decompose.low(obj, {\n ...DEFAULT_OPTIONS,\n ...options,\n });\n return decomposed[key];\n};\n"],"names":[],"mappings":";;;AA8BA,MAAM,SAAS,GAAoB,CAAC,GAAG,EAAE,GAAG,KAAI;IAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;AACtD,IAAA,OAAQ,UAAkB,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;;;;;AAOG;AACI,MAAM,QAAQ,GAAa,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG;AAElE,QAAQ,CAAC,GAAG,GAAG,QAAQ;AACvB,QAAQ,CAAC,KAAK,GAAG,QAAQ;AACzB,QAAQ,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAI;AACzC,IAAA,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;AACpC,QAAA,GAAG,eAAe;AAClB,QAAA,GAAG,OAAO;AACX,KAAA,CAAC;AACF,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC;AACxB,CAAC;;;;"}
1
+ {"version":3,"file":"get.js","sources":["../../src/contexts/get.ts"],"sourcesContent":["import { DEFAULT_OPTIONS } from './constants';\nimport { decompose } from '../decompose';\nimport type { Decompose, DecomposeOptions, Ru } from '../types.types';\nimport type { NotUndefined } from '@bemedev/types/lib/types/commons.types';\n\n// #region type GetByKey_F\nexport type GetByKey_F = <\n const T extends Ru,\n const K extends keyof Decompose<T, typeof DEFAULT_OPTIONS>,\n>(\n obj: T,\n key: Extract<K, string>,\n) => Decompose<T, typeof DEFAULT_OPTIONS>[K];\nexport type GetByKeyDefined_F = <\n const T extends Ru,\n const K extends keyof Decompose<T, typeof DEFAULT_OPTIONS>,\n>(\n obj: T,\n key: Extract<K, string>,\n) => NotUndefined<Decompose<T, typeof DEFAULT_OPTIONS>[K]>;\n\nexport type GetByKeyOption_F = <\n const O extends DecomposeOptions = typeof DEFAULT_OPTIONS,\n>(\n val: O,\n) => <const T extends Ru, const K extends keyof Decompose<T, O>>(\n obj: T,\n key: Extract<K, string>,\n) => Decompose<T, O>[K];\n// #endregion\n\nexport interface GetByKey {\n (obj: any, key: string): any;\n low: (obj: any, key: string) => any;\n typed: GetByKey_F;\n defined: GetByKeyDefined_F;\n options: GetByKeyOption_F;\n}\n\nconst _getByKey: GetByKey['low'] = (obj, key) => {\n const decomposed = decompose.low(obj, DEFAULT_OPTIONS);\n return (decomposed as any)[key];\n};\n\n/**\n * Retrieves a value from an object by a specified key.\n * @param obj The object to retrieve the value from\n * @param key The key to retrieve the value for, can be a nested key (e.g. 'a.b.c')\n * @returns The value associated with the specified key in the object\n *\n * @see {@linkcode Decompose} for more details on object decomposition.\n */\nexport const getByKey: GetByKey = (obj, key) => _getByKey(obj, key);\n\ngetByKey.low = getByKey;\ngetByKey.typed = getByKey;\ngetByKey.defined = getByKey;\n\ngetByKey.options = options => (obj, key) => {\n const decomposed = decompose.low(obj, {\n ...DEFAULT_OPTIONS,\n ...options,\n });\n return decomposed[key];\n};\n"],"names":[],"mappings":";;;AAuCA,MAAM,SAAS,GAAoB,CAAC,GAAG,EAAE,GAAG,KAAI;IAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;AACtD,IAAA,OAAQ,UAAkB,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;;;;;AAOG;AACI,MAAM,QAAQ,GAAa,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG;AAElE,QAAQ,CAAC,GAAG,GAAG,QAAQ;AACvB,QAAQ,CAAC,KAAK,GAAG,QAAQ;AACzB,QAAQ,CAAC,OAAO,GAAG,QAAQ;AAE3B,QAAQ,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAI;AACzC,IAAA,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;AACpC,QAAA,GAAG,eAAe;AAClB,QAAA,GAAG,OAAO;AACX,KAAA,CAAC;AACF,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC;AACxB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"flatByKey.cjs","sources":["../src/flatByKey.ts"],"sourcesContent":["import type { types } from '@bemedev/types';\nimport { DEFAULT_FLAT_OPTIONS } from './constants';\nimport type { FlatByKey, FlatOptions } from './types.types';\n\ntype Flat_F = <\n T extends types.Ru,\n omit extends types.PickKeysBy<T, object> & string,\n>(\n val: T,\n omitKey: omit,\n options?: FlatOptions,\n) => FlatByKey<T, omit, FlatOptions>;\n\ntype _Flat_F = (\n val: any,\n omitKey: string,\n options?: FlatOptions,\n path?: string,\n) => any;\n\nexport type Flat = Flat_F & {\n strict: Flat_F;\n low: _Flat_F;\n};\n\nconst _flat: _Flat_F = (val, omitKey, options, path = '') => {\n const _options = { ...DEFAULT_FLAT_OPTIONS, ...options };\n const { [omitKey]: recursives, ...rest } = val;\n\n const check = _options.children;\n\n let out: any = {};\n out[path === '' ? _options.sep : path] = check ? val : rest;\n\n if (recursives) {\n for (const key in recursives) {\n if (Object.prototype.hasOwnProperty.call(recursives, key)) {\n const element = recursives[key];\n const inner = _flat(\n element,\n omitKey,\n options,\n `${path}${_options.sep}${key}`,\n );\n out = { ...out, ...inner };\n }\n }\n }\n\n return out;\n};\n\nexport const flatByKey: Flat = (val, key, options) =>\n _flat(val, key, options);\nflatByKey.low = _flat;\nflatByKey.strict = _flat;\n"],"names":["DEFAULT_FLAT_OPTIONS"],"mappings":";;;;AAyBA,MAAM,KAAK,GAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,KAAI;IAC1D,MAAM,QAAQ,GAAG,EAAE,GAAGA,sCAAoB,EAAE,GAAG,OAAO,EAAE;AACxD,IAAA,MAAM,EAAE,CAAC,OAAO,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG;AAE9C,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ;IAE/B,IAAI,GAAG,GAAQ,EAAE;IACjB,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI;IAE3D,IAAI,UAAU,EAAE;AACd,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC5B,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;AACzD,gBAAA,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC/B,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,EACP,OAAO,EACP,OAAO,EACP,GAAG,IAAI,CAAA,EAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA,CAAE,CAC/B;gBACD,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE;YAC5B;QACF;IACF;AAEA,IAAA,OAAO,GAAG;AACZ,CAAC;MAEY,SAAS,GAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,KAC/C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO;AACzB,SAAS,CAAC,GAAG,GAAG,KAAK;AACrB,SAAS,CAAC,MAAM,GAAG,KAAK;;;;"}
1
+ {"version":3,"file":"flatByKey.cjs","sources":["../src/flatByKey.ts"],"sourcesContent":["import type { types } from '@bemedev/types';\nimport { DEFAULT_FLAT_OPTIONS } from './constants';\nimport type { FlatByKey, FlatOptions } from './types.types';\n\ntype Flat_F = <\n T extends types.Ru,\n omit extends types.PickKeysBy<T, object> & string,\n>(\n val: T,\n omitKey: omit,\n options?: FlatOptions,\n) => FlatByKey<T, omit, FlatOptions>;\n\ntype _Flat_F = (\n val: any,\n omitKey: string,\n options?: FlatOptions,\n path?: string,\n) => any;\n\nexport type Flat = _Flat_F & {\n strict: Flat_F;\n low: _Flat_F;\n};\n\nconst _flat: _Flat_F = (val, omitKey, options, path = '') => {\n const _options = { ...DEFAULT_FLAT_OPTIONS, ...options };\n const { [omitKey]: recursives, ...rest } = val;\n\n const check = _options.children;\n\n let out: any = {};\n out[path === '' ? _options.sep : path] = check ? val : rest;\n\n if (recursives) {\n for (const key in recursives) {\n if (Object.prototype.hasOwnProperty.call(recursives, key)) {\n const element = recursives[key];\n const inner = _flat(\n element,\n omitKey,\n options,\n `${path}${_options.sep}${key}`,\n );\n out = { ...out, ...inner };\n }\n }\n }\n\n return out;\n};\n\nexport const flatByKey: Flat = (val, key, options) =>\n _flat(val, key, options);\nflatByKey.low = _flat;\nflatByKey.strict = _flat;\n"],"names":["DEFAULT_FLAT_OPTIONS"],"mappings":";;;;AAyBA,MAAM,KAAK,GAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,KAAI;IAC1D,MAAM,QAAQ,GAAG,EAAE,GAAGA,sCAAoB,EAAE,GAAG,OAAO,EAAE;AACxD,IAAA,MAAM,EAAE,CAAC,OAAO,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG;AAE9C,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ;IAE/B,IAAI,GAAG,GAAQ,EAAE;IACjB,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI;IAE3D,IAAI,UAAU,EAAE;AACd,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC5B,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;AACzD,gBAAA,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC/B,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,EACP,OAAO,EACP,OAAO,EACP,GAAG,IAAI,CAAA,EAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA,CAAE,CAC/B;gBACD,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE;YAC5B;QACF;IACF;AAEA,IAAA,OAAO,GAAG;AACZ,CAAC;MAEY,SAAS,GAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,KAC/C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO;AACzB,SAAS,CAAC,GAAG,GAAG,KAAK;AACrB,SAAS,CAAC,MAAM,GAAG,KAAK;;;;"}
@@ -2,7 +2,7 @@ import type { types } from '@bemedev/types';
2
2
  import type { FlatByKey, FlatOptions } from './types.types';
3
3
  type Flat_F = <T extends types.Ru, omit extends types.PickKeysBy<T, object> & string>(val: T, omitKey: omit, options?: FlatOptions) => FlatByKey<T, omit, FlatOptions>;
4
4
  type _Flat_F = (val: any, omitKey: string, options?: FlatOptions, path?: string) => any;
5
- export type Flat = Flat_F & {
5
+ export type Flat = _Flat_F & {
6
6
  strict: Flat_F;
7
7
  low: _Flat_F;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"flatByKey.d.ts","sourceRoot":"","sources":["../src/flatByKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5D,KAAK,MAAM,GAAG,CACZ,CAAC,SAAS,KAAK,CAAC,EAAE,EAClB,IAAI,SAAS,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,EAEjD,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,IAAI,EACb,OAAO,CAAC,EAAE,WAAW,KAClB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAErC,KAAK,OAAO,GAAG,CACb,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,EACrB,IAAI,CAAC,EAAE,MAAM,KACV,GAAG,CAAC;AAET,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AA6BF,eAAO,MAAM,SAAS,EAAE,IACE,CAAC"}
1
+ {"version":3,"file":"flatByKey.d.ts","sourceRoot":"","sources":["../src/flatByKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5D,KAAK,MAAM,GAAG,CACZ,CAAC,SAAS,KAAK,CAAC,EAAE,EAClB,IAAI,SAAS,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,EAEjD,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,IAAI,EACb,OAAO,CAAC,EAAE,WAAW,KAClB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAErC,KAAK,OAAO,GAAG,CACb,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,EACrB,IAAI,CAAC,EAAE,MAAM,KACV,GAAG,CAAC;AAET,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AA6BF,eAAO,MAAM,SAAS,EAAE,IACE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"flatByKey.js","sources":["../src/flatByKey.ts"],"sourcesContent":["import type { types } from '@bemedev/types';\nimport { DEFAULT_FLAT_OPTIONS } from './constants';\nimport type { FlatByKey, FlatOptions } from './types.types';\n\ntype Flat_F = <\n T extends types.Ru,\n omit extends types.PickKeysBy<T, object> & string,\n>(\n val: T,\n omitKey: omit,\n options?: FlatOptions,\n) => FlatByKey<T, omit, FlatOptions>;\n\ntype _Flat_F = (\n val: any,\n omitKey: string,\n options?: FlatOptions,\n path?: string,\n) => any;\n\nexport type Flat = Flat_F & {\n strict: Flat_F;\n low: _Flat_F;\n};\n\nconst _flat: _Flat_F = (val, omitKey, options, path = '') => {\n const _options = { ...DEFAULT_FLAT_OPTIONS, ...options };\n const { [omitKey]: recursives, ...rest } = val;\n\n const check = _options.children;\n\n let out: any = {};\n out[path === '' ? _options.sep : path] = check ? val : rest;\n\n if (recursives) {\n for (const key in recursives) {\n if (Object.prototype.hasOwnProperty.call(recursives, key)) {\n const element = recursives[key];\n const inner = _flat(\n element,\n omitKey,\n options,\n `${path}${_options.sep}${key}`,\n );\n out = { ...out, ...inner };\n }\n }\n }\n\n return out;\n};\n\nexport const flatByKey: Flat = (val, key, options) =>\n _flat(val, key, options);\nflatByKey.low = _flat;\nflatByKey.strict = _flat;\n"],"names":[],"mappings":";;AAyBA,MAAM,KAAK,GAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,KAAI;IAC1D,MAAM,QAAQ,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAE;AACxD,IAAA,MAAM,EAAE,CAAC,OAAO,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG;AAE9C,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ;IAE/B,IAAI,GAAG,GAAQ,EAAE;IACjB,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI;IAE3D,IAAI,UAAU,EAAE;AACd,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC5B,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;AACzD,gBAAA,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC/B,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,EACP,OAAO,EACP,OAAO,EACP,GAAG,IAAI,CAAA,EAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA,CAAE,CAC/B;gBACD,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE;YAC5B;QACF;IACF;AAEA,IAAA,OAAO,GAAG;AACZ,CAAC;MAEY,SAAS,GAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,KAC/C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO;AACzB,SAAS,CAAC,GAAG,GAAG,KAAK;AACrB,SAAS,CAAC,MAAM,GAAG,KAAK;;;;"}
1
+ {"version":3,"file":"flatByKey.js","sources":["../src/flatByKey.ts"],"sourcesContent":["import type { types } from '@bemedev/types';\nimport { DEFAULT_FLAT_OPTIONS } from './constants';\nimport type { FlatByKey, FlatOptions } from './types.types';\n\ntype Flat_F = <\n T extends types.Ru,\n omit extends types.PickKeysBy<T, object> & string,\n>(\n val: T,\n omitKey: omit,\n options?: FlatOptions,\n) => FlatByKey<T, omit, FlatOptions>;\n\ntype _Flat_F = (\n val: any,\n omitKey: string,\n options?: FlatOptions,\n path?: string,\n) => any;\n\nexport type Flat = _Flat_F & {\n strict: Flat_F;\n low: _Flat_F;\n};\n\nconst _flat: _Flat_F = (val, omitKey, options, path = '') => {\n const _options = { ...DEFAULT_FLAT_OPTIONS, ...options };\n const { [omitKey]: recursives, ...rest } = val;\n\n const check = _options.children;\n\n let out: any = {};\n out[path === '' ? _options.sep : path] = check ? val : rest;\n\n if (recursives) {\n for (const key in recursives) {\n if (Object.prototype.hasOwnProperty.call(recursives, key)) {\n const element = recursives[key];\n const inner = _flat(\n element,\n omitKey,\n options,\n `${path}${_options.sep}${key}`,\n );\n out = { ...out, ...inner };\n }\n }\n }\n\n return out;\n};\n\nexport const flatByKey: Flat = (val, key, options) =>\n _flat(val, key, options);\nflatByKey.low = _flat;\nflatByKey.strict = _flat;\n"],"names":[],"mappings":";;AAyBA,MAAM,KAAK,GAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,KAAI;IAC1D,MAAM,QAAQ,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAE;AACxD,IAAA,MAAM,EAAE,CAAC,OAAO,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG;AAE9C,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ;IAE/B,IAAI,GAAG,GAAQ,EAAE;IACjB,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI;IAE3D,IAAI,UAAU,EAAE;AACd,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC5B,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;AACzD,gBAAA,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC/B,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,EACP,OAAO,EACP,OAAO,EACP,GAAG,IAAI,CAAA,EAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA,CAAE,CAC/B;gBACD,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE;YAC5B;QACF;IACF;AAEA,IAAA,OAAO,GAAG;AACZ,CAAC;MAEY,SAAS,GAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,KAC/C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO;AACzB,SAAS,CAAC,GAAG,GAAG,KAAK;AACrB,SAAS,CAAC,MAAM,GAAG,KAAK;;;;"}
@@ -1,5 +1,8 @@
1
1
  import type { types } from '@bemedev/types';
2
- import type { DEFAULT_DECOMPOSE_OPTIONS, DEFAULT_FLAT_OPTIONS } from './constants';
2
+ import type { DEFAULT_DECOMPOSE_OPTIONS, DEFAULT_FLAT_OPTIONS, SEPARATOR } from './constants';
3
+ type RemoveLast<A extends string, sep extends string> = A extends `${infer Rest}${sep}${infer Last}` ? Last extends `${string}${sep}${string}` ? `${Rest}${sep}${RemoveLast<Last, sep>}` : Rest : never;
4
+ type _GetParents<A extends string, sep extends string> = A extends sep ? never : A extends `${string}${sep}${string}` ? RemoveLast<A, sep> | GetParents<RemoveLast<A, sep>, sep> : never;
5
+ export type GetParents<A extends string, sep extends string = typeof SEPARATOR> = Exclude<_GetParents<A, sep>, ''>;
3
6
  export type StateMatching<T extends StateValue, Key = keyof T> = T extends StateValueMap ? Key extends string ? T[Key] extends StateValueMap ? `${Key}.${StateMatching<T[Key]>}` | Key : `${Key}.${T[Key] & string}` | Key : never : T;
4
7
  export type KeysMatching<T extends types.TrueObject, AddObjectKeys extends boolean = true, Key extends keyof T = keyof T> = Key extends string ? Required<T[Key]> extends types.TrueObject ? `${Key}.${KeysMatching<Required<T[Key]>, AddObjectKeys> & string}` | (AddObjectKeys extends true ? Key : never) : Key : never;
5
8
  export type EmptyObject = {};
@@ -21,20 +24,20 @@ export type SeparateUndefinedAndRequiredKeys<T> = {
21
24
  };
22
25
  type WO = 'key' | 'object' | 'both';
23
26
  type _DecomposeTupleElement<TK2, sep extends string, wo extends WO, KeyPrefix extends string> = TK2 extends types.AnyArray<infer A> ? number extends TK2['length'] ? // Dynamic array inside tuple element - use UnionToIntersection to preserve template literal keys
24
- (wo extends 'object' | 'both' ? Record<KeyPrefix, TK2> : EmptyObject) & (A extends Ru ? types.UnionToIntersection<_Decompose<A, sep, wo, `${KeyPrefix}${sep}[${number}]${sep}`>> & (wo extends 'object' | 'both' ? {
27
+ (wo extends 'object' | 'both' ? Record<KeyPrefix, TK2> : EmptyObject) & (A extends Ru ? types.UnionToIntersection<__Decompose<A, sep, wo, `${KeyPrefix}${sep}[${number}]${sep}`>> & (wo extends 'object' | 'both' ? {
25
28
  [Key in `${KeyPrefix}${sep}[${number}]`]: A;
26
29
  } : EmptyObject) : wo extends 'key' | 'both' ? {
27
30
  [Key in `${KeyPrefix}${sep}[${number}]`]: A;
28
31
  } : EmptyObject) : // Nested tuple inside tuple element
29
- _DecomposeTupleRec<TK2, sep, wo, KeyPrefix> & (wo extends 'object' | 'both' ? Record<KeyPrefix, TK2> : EmptyObject) : TK2 extends Ru ? types.UnionToIntersection<_Decompose<TK2, sep, wo, `${KeyPrefix}${sep}`>> & (wo extends 'object' | 'both' ? Record<KeyPrefix, TK2> : EmptyObject) : wo extends 'key' | 'both' ? Record<KeyPrefix, TK2> : EmptyObject;
32
+ _DecomposeTupleRec<TK2, sep, wo, KeyPrefix> & (wo extends 'object' | 'both' ? Record<KeyPrefix, TK2> : EmptyObject) : TK2 extends Ru ? types.UnionToIntersection<__Decompose<TK2, sep, wo, `${KeyPrefix}${sep}`>> & (wo extends 'object' | 'both' ? Record<KeyPrefix, TK2> : EmptyObject) : wo extends 'key' | 'both' ? Record<KeyPrefix, TK2> : EmptyObject;
30
33
  type _DecomposeTupleRec<Tk extends readonly unknown[], sep extends string, wo extends WO, Prefix extends string, I extends readonly unknown[] = []> = I['length'] extends Tk['length'] ? EmptyObject : _DecomposeTupleElement<Tk[I['length']], sep, wo, `${Prefix}${sep}[${I['length']}]`> & _DecomposeTupleRec<Tk, sep, wo, Prefix, [...I, unknown]>;
31
- type _Decompose<T, sep extends string = '.', wo extends WO = 'key', Remaining extends string = ''> = {
32
- [k in Exclude<keyof T, undefined>]: T[k] extends infer Tk ? types._UnionToIntersection2<Tk extends types.AnyArray<infer A> ? number extends Tk['length'] ? (wo extends 'object' | 'both' ? Record<`${Remaining}${k & string}`, Tk> : EmptyObject) & (A extends Ru ? types.UnionToIntersection<_Decompose<A, sep, wo, `${Remaining}${k & string}${sep}[${number}]${sep}`>> & (wo extends 'object' | 'both' ? {
34
+ type __Decompose<T, sep extends string = '.', wo extends WO = 'key', Remaining extends string = ''> = {
35
+ [k in Exclude<keyof T, undefined>]: T[k] extends infer Tk ? types._UnionToIntersection2<Tk extends types.AnyArray<infer A> ? number extends Tk['length'] ? (wo extends 'object' | 'both' ? Record<`${Remaining}${k & string}`, Tk> : EmptyObject) & (A extends Ru ? types.UnionToIntersection<__Decompose<A, sep, wo, `${Remaining}${k & string}${sep}[${number}]${sep}`>> & (wo extends 'object' | 'both' ? {
33
36
  [Key in `${Remaining}${k & string}${sep}[${number}]`]: A;
34
37
  } : EmptyObject) : wo extends 'key' | 'both' ? {
35
38
  [Key in `${Remaining}${k & string}${sep}[${number}]`]: A;
36
39
  } : EmptyObject) : // Tuple - use recursive helper that produces intersection directly
37
- _DecomposeTupleRec<Tk, sep, wo, `${Remaining}${k & string}`> & (wo extends 'object' | 'both' ? Record<`${Remaining}${k & string}`, Tk> : EmptyObject) : Tk extends Ru ? EmptyObject extends Required<Tk> ? Record<`${Remaining}${k & string}`, Tk> : _Decompose<Tk, sep, wo, `${Remaining}${k & string}${sep}`> & (wo extends 'object' | 'both' ? Record<`${Remaining}${k & string}`, Tk> : EmptyObject) : wo extends 'key' | 'both' ? Record<`${Remaining}${k & string}`, Tk> : never> : never;
40
+ _DecomposeTupleRec<Tk, sep, wo, `${Remaining}${k & string}`> & (wo extends 'object' | 'both' ? Record<`${Remaining}${k & string}`, Tk> : EmptyObject) : Tk extends Ru ? EmptyObject extends Required<Tk> ? Record<`${Remaining}${k & string}`, Tk> : __Decompose<Tk, sep, wo, `${Remaining}${k & string}${sep}`> & (wo extends 'object' | 'both' ? Record<`${Remaining}${k & string}`, Tk> : EmptyObject) : wo extends 'key' | 'both' ? Record<`${Remaining}${k & string}`, Tk> : never> : never;
38
41
  }[Exclude<keyof T, undefined>];
39
42
  export type DecomposeOptions = {
40
43
  sep?: string;
@@ -42,15 +45,21 @@ export type DecomposeOptions = {
42
45
  start?: boolean;
43
46
  };
44
47
  type DefaultDecomposeOptions = typeof DEFAULT_DECOMPOSE_OPTIONS;
45
- export type Decompose<T, O extends DecomposeOptions = DefaultDecomposeOptions, sep extends string = O['sep'] extends string ? O['sep'] : DefaultDecomposeOptions['sep']> = EmptyObject extends Required<T> ? EmptyObject : T extends types.AnyArray ? types.UnionToIntersection<_Decompose<{
48
+ type _Decompose<T, O extends DecomposeOptions = DefaultDecomposeOptions, sep extends string = O['sep'] extends string ? O['sep'] : DefaultDecomposeOptions['sep']> = EmptyObject extends Required<T> ? EmptyObject : T extends types.AnyArray ? types.UnionToIntersection<__Decompose<{
46
49
  ' ': T;
47
50
  }, sep, O['object'] extends WO ? O['object'] : DefaultDecomposeOptions['object'], O['start'] extends infer S extends boolean ? S extends true ? sep : '' : sep>> extends infer P1 ? {
48
51
  [K in keyof P1 as K extends `${sep} ${infer P}` ? P extends '' ? never : P : never]: P1[K];
49
- } : never : types.UnionToIntersection<_Decompose<T, sep, O['object'] extends WO ? O['object'] : DefaultDecomposeOptions['object'], O['start'] extends infer S extends boolean ? S extends true ? sep : '' : sep>> extends infer P ? P : never;
52
+ } : never : types.UnionToIntersection<__Decompose<T, sep, O['object'] extends WO ? O['object'] : DefaultDecomposeOptions['object'], O['start'] extends infer S extends boolean ? S extends true ? sep : '' : sep>> extends infer P ? P : never;
53
+ export type ReduceParentsKeys<T, sep extends string = '.'> = {
54
+ [K in keyof T]-?: undefined extends T[K] ? true : GetParents<K & string, sep> extends infer K2 extends keyof T ? undefined extends T[K2] ? true : false : false;
55
+ };
56
+ export type Decompose<T, O extends DecomposeOptions = DefaultDecomposeOptions, sep extends string = O['sep'] extends string ? O['sep'] : DefaultDecomposeOptions['sep']> = _Decompose<T, O> extends infer D extends _Decompose<T, O> ? ReduceParentsKeys<D, sep> extends infer RPK extends ReduceParentsKeys<D, sep> ? {
57
+ [K in keyof D]: D[K] | (RPK[K] extends true ? undefined : RPK[K] extends never ? undefined : never);
58
+ } : never : never;
50
59
  type _ExcludeFrom<S extends string, T extends string, Delimiter extends string = '.'> = Exclude<S extends `${string}${T}${infer V}` ? _ExcludeFrom<V, T, Delimiter> : S, `${string}${string}${Delimiter}${string}` | ''>;
51
60
  export type ExtractEndsFrom<S extends string, T extends string, Delimiter extends string = '.'> = Extract<S, `${string}${Delimiter}${T}${_ExcludeFrom<S, T, Delimiter>}`>;
52
61
  export type ExcludeFrom<S extends string, T extends string, Delimiter extends string = '.'> = S extends `${infer P}${Delimiter}${T}${infer V}` ? ExcludeFrom<`${P}${V}`, T, Delimiter> : S;
53
- type _FlatByKey<T, KEY extends types.PickKeysBy<T, object>, wc extends boolean = false, sep extends string = '.'> = (Decompose<T, {
62
+ type _FlatByKey<T, KEY extends types.PickKeysBy<T, object>, wc extends boolean = false, sep extends string = '.'> = (_Decompose<T, {
54
63
  sep: sep;
55
64
  object: 'object';
56
65
  }> extends infer D ? {
@@ -1 +1 @@
1
- {"version":3,"file":"types.types.d.ts","sourceRoot":"","sources":["../src/types.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.types.d.ts","sourceRoot":"","sources":["../src/types.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bemedev/decompose",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "Decompose object and so more",
5
5
  "author": {
6
6
  "email": "bri_lvi@icloud.com",