fast-tree-builder 2.0.0-alpha.2 → 2.0.0-alpha.4
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/index.d.cts +6 -5
- package/index.d.mts +3 -3
- package/package.json +5 -2
package/index.d.cts
CHANGED
|
@@ -19,9 +19,9 @@ type TreeNode<TValue, TValueKey extends string | number | symbol | false, TParen
|
|
|
19
19
|
} : {});
|
|
20
20
|
type AccessorReturnType<T, P extends (keyof T) | ((item: T) => any)> = P extends ((item: T) => infer R) ? R : P extends (keyof T) ? T[P] : never;
|
|
21
21
|
type IterableKeys<T> = {
|
|
22
|
-
[K in keyof T]: T[K] extends Iterable<unknown> ? K : never;
|
|
22
|
+
[K in keyof T]: T[K] extends Iterable<unknown> & object ? K : never;
|
|
23
23
|
}[keyof T];
|
|
24
|
-
|
|
24
|
+
declare function buildTree<TInputValue extends (TIdAccessor extends (keyof TInputValue) ? object : (TNodeValueKey extends false ? object : unknown)), TIdAccessor extends (keyof TInputValue) | ((item: TInputValue) => unknown), TMappedValue extends (TNodeValueKey extends false ? object : unknown) = TInputValue, TNodeValueKey extends string | number | symbol | false = 'value', TNodeParentKey extends string | number | symbol | false = 'parent', TNodeChildrenKey extends string | number | symbol = 'children', TWithDepth extends boolean = false, TTreeNode = TreeNode<TMappedValue extends undefined ? TInputValue : TMappedValue, TNodeValueKey, TNodeParentKey, TNodeChildrenKey, TWithDepth>>(items: Iterable<TInputValue>, options: {
|
|
25
25
|
/**
|
|
26
26
|
* A string key or function used to get the item's unique identifier.
|
|
27
27
|
*/
|
|
@@ -37,7 +37,7 @@ export default function buildTree<TInputValue extends (TIdAccessor extends (keyo
|
|
|
37
37
|
*
|
|
38
38
|
* Either `parentId` or `childIds` must be provided.
|
|
39
39
|
*/
|
|
40
|
-
childIds?: IterableKeys<TInputValue> | ((item: TInputValue) => Iterable<unknown> | null | undefined);
|
|
40
|
+
childIds?: IterableKeys<TInputValue> | ((item: TInputValue) => (Iterable<unknown> & object) | null | undefined);
|
|
41
41
|
/**
|
|
42
42
|
* Maps the input item to a different value stored in the resulting tree node.
|
|
43
43
|
*/
|
|
@@ -98,7 +98,7 @@ export default function buildTree<TInputValue extends (TIdAccessor extends (keyo
|
|
|
98
98
|
validateReferences?: boolean;
|
|
99
99
|
} & ({
|
|
100
100
|
parentId?: never;
|
|
101
|
-
childIds: IterableKeys<TInputValue> | ((item: TInputValue) => unknown
|
|
101
|
+
childIds: IterableKeys<TInputValue> | ((item: TInputValue) => (Iterable<unknown> & object) | null | undefined);
|
|
102
102
|
} | {
|
|
103
103
|
parentId: (keyof TInputValue) | ((item: TInputValue) => unknown);
|
|
104
104
|
childIds?: never;
|
|
@@ -106,4 +106,5 @@ export default function buildTree<TInputValue extends (TIdAccessor extends (keyo
|
|
|
106
106
|
roots: TTreeNode[];
|
|
107
107
|
nodes: Map<AccessorReturnType<TInputValue, TIdAccessor>, TTreeNode>;
|
|
108
108
|
};
|
|
109
|
-
|
|
109
|
+
declare const _default: { default: typeof buildTree };
|
|
110
|
+
export = _default;
|
package/index.d.mts
CHANGED
|
@@ -19,7 +19,7 @@ type TreeNode<TValue, TValueKey extends string | number | symbol | false, TParen
|
|
|
19
19
|
} : {});
|
|
20
20
|
type AccessorReturnType<T, P extends (keyof T) | ((item: T) => any)> = P extends ((item: T) => infer R) ? R : P extends (keyof T) ? T[P] : never;
|
|
21
21
|
type IterableKeys<T> = {
|
|
22
|
-
[K in keyof T]: T[K] extends Iterable<unknown> ? K : never;
|
|
22
|
+
[K in keyof T]: T[K] extends Iterable<unknown> & object ? K : never;
|
|
23
23
|
}[keyof T];
|
|
24
24
|
export default function buildTree<TInputValue extends (TIdAccessor extends (keyof TInputValue) ? object : (TNodeValueKey extends false ? object : unknown)), TIdAccessor extends (keyof TInputValue) | ((item: TInputValue) => unknown), TMappedValue extends (TNodeValueKey extends false ? object : unknown) = TInputValue, TNodeValueKey extends string | number | symbol | false = 'value', TNodeParentKey extends string | number | symbol | false = 'parent', TNodeChildrenKey extends string | number | symbol = 'children', TWithDepth extends boolean = false, TTreeNode = TreeNode<TMappedValue extends undefined ? TInputValue : TMappedValue, TNodeValueKey, TNodeParentKey, TNodeChildrenKey, TWithDepth>>(items: Iterable<TInputValue>, options: {
|
|
25
25
|
/**
|
|
@@ -37,7 +37,7 @@ export default function buildTree<TInputValue extends (TIdAccessor extends (keyo
|
|
|
37
37
|
*
|
|
38
38
|
* Either `parentId` or `childIds` must be provided.
|
|
39
39
|
*/
|
|
40
|
-
childIds?: IterableKeys<TInputValue> | ((item: TInputValue) => Iterable<unknown> | null | undefined);
|
|
40
|
+
childIds?: IterableKeys<TInputValue> | ((item: TInputValue) => (Iterable<unknown> & object) | null | undefined);
|
|
41
41
|
/**
|
|
42
42
|
* Maps the input item to a different value stored in the resulting tree node.
|
|
43
43
|
*/
|
|
@@ -98,7 +98,7 @@ export default function buildTree<TInputValue extends (TIdAccessor extends (keyo
|
|
|
98
98
|
validateReferences?: boolean;
|
|
99
99
|
} & ({
|
|
100
100
|
parentId?: never;
|
|
101
|
-
childIds: IterableKeys<TInputValue> | ((item: TInputValue) => unknown
|
|
101
|
+
childIds: IterableKeys<TInputValue> | ((item: TInputValue) => (Iterable<unknown> & object) | null | undefined);
|
|
102
102
|
} | {
|
|
103
103
|
parentId: (keyof TInputValue) | ((item: TInputValue) => unknown);
|
|
104
104
|
childIds?: never;
|
package/package.json
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fast-tree-builder",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.4",
|
|
4
4
|
"description": "Easily construct highly customizable bi-directional tree structures from iterable data.",
|
|
5
5
|
"types": "./index.d.mts",
|
|
6
6
|
"module": "./index.mjs",
|
|
7
7
|
"main": "./index.cjs",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
-
"types":
|
|
10
|
+
"types": {
|
|
11
|
+
"import": "./index.d.mts",
|
|
12
|
+
"require": "./index.d.cjs"
|
|
13
|
+
},
|
|
11
14
|
"import": "./index.mjs",
|
|
12
15
|
"require": "./index.cjs"
|
|
13
16
|
}
|