@weborigami/async-tree 0.5.4 → 0.5.5
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.ts +16 -6
- package/package.json +2 -2
- package/shared.js +20 -30
- package/src/Tree.js +62 -513
- package/src/constants.js +2 -0
- package/src/drivers/BrowserFileTree.js +9 -10
- package/src/drivers/DeepMapTree.js +3 -3
- package/src/drivers/DeepObjectTree.js +4 -5
- package/src/drivers/DeferredTree.js +2 -2
- package/src/drivers/FileTree.js +11 -33
- package/src/drivers/FunctionTree.js +1 -1
- package/src/drivers/MapTree.js +6 -6
- package/src/drivers/ObjectTree.js +4 -3
- package/src/drivers/SetTree.js +1 -1
- package/src/drivers/SiteTree.js +1 -1
- package/src/drivers/constantTree.js +1 -1
- package/src/extension.js +5 -3
- package/src/jsonKeys.js +5 -7
- package/src/operations/addNextPrevious.js +10 -9
- package/src/operations/assign.js +40 -0
- package/src/operations/cache.js +18 -12
- package/src/operations/cachedKeyFunctions.js +15 -4
- package/src/operations/clear.js +20 -0
- package/src/operations/concat.js +17 -0
- package/src/operations/deepMap.js +25 -0
- package/src/operations/deepMerge.js +11 -25
- package/src/operations/deepReverse.js +6 -7
- package/src/operations/deepTake.js +6 -7
- package/src/operations/deepText.js +4 -4
- package/src/operations/deepValuesIterator.js +8 -6
- package/src/operations/defineds.js +32 -0
- package/src/operations/delete.js +20 -0
- package/src/operations/entries.js +16 -0
- package/src/operations/extensionKeyFunctions.js +1 -1
- package/src/operations/filter.js +7 -8
- package/src/operations/first.js +18 -0
- package/src/operations/forEach.js +20 -0
- package/src/operations/from.js +77 -0
- package/src/operations/fromFn.js +26 -0
- package/src/operations/globKeys.js +8 -8
- package/src/operations/group.js +9 -7
- package/src/operations/has.js +16 -0
- package/src/operations/indent.js +4 -2
- package/src/operations/inners.js +29 -0
- package/src/operations/invokeFunctions.js +5 -4
- package/src/operations/isAsyncMutableTree.js +15 -0
- package/src/operations/isAsyncTree.js +21 -0
- package/src/operations/isTraversable.js +15 -0
- package/src/operations/isTreelike.js +33 -0
- package/src/operations/json.js +4 -3
- package/src/operations/keys.js +14 -0
- package/src/operations/length.js +15 -0
- package/src/operations/map.js +151 -95
- package/src/operations/mapExtension.js +27 -0
- package/src/operations/mapReduce.js +44 -0
- package/src/operations/mask.js +18 -16
- package/src/operations/match.js +74 -0
- package/src/operations/merge.js +22 -20
- package/src/operations/paginate.js +3 -5
- package/src/operations/parent.js +13 -0
- package/src/operations/paths.js +51 -0
- package/src/operations/plain.js +34 -0
- package/src/operations/regExpKeys.js +4 -5
- package/src/operations/remove.js +14 -0
- package/src/operations/reverse.js +4 -6
- package/src/operations/root.js +17 -0
- package/src/operations/scope.js +4 -6
- package/src/operations/setDeep.js +50 -0
- package/src/operations/shuffle.js +46 -0
- package/src/operations/sort.js +19 -12
- package/src/operations/take.js +3 -5
- package/src/operations/text.js +3 -3
- package/src/operations/toFunction.js +14 -0
- package/src/operations/traverse.js +25 -0
- package/src/operations/traverseOrThrow.js +64 -0
- package/src/operations/traversePath.js +16 -0
- package/src/operations/values.js +15 -0
- package/src/operations/withKeys.js +33 -0
- package/src/utilities/TypedArray.js +2 -0
- package/src/utilities/box.js +20 -0
- package/src/utilities/castArraylike.js +38 -0
- package/src/utilities/getParent.js +33 -0
- package/src/utilities/getRealmObjectPrototype.js +19 -0
- package/src/utilities/getTreeArgument.js +43 -0
- package/src/utilities/isPacked.js +20 -0
- package/src/utilities/isPlainObject.js +29 -0
- package/src/utilities/isPrimitive.js +13 -0
- package/src/utilities/isStringlike.js +25 -0
- package/src/utilities/isUnpackable.js +13 -0
- package/src/utilities/keysFromPath.js +34 -0
- package/src/utilities/naturalOrder.js +9 -0
- package/src/utilities/pathFromKeys.js +18 -0
- package/src/utilities/setParent.js +38 -0
- package/src/utilities/toFunction.js +41 -0
- package/src/utilities/toPlainValue.js +95 -0
- package/src/utilities/toString.js +37 -0
- package/test/drivers/ExplorableSiteTree.test.js +1 -1
- package/test/drivers/FileTree.test.js +1 -1
- package/test/drivers/calendarTree.test.js +1 -1
- package/test/jsonKeys.test.js +1 -1
- package/test/operations/assign.test.js +54 -0
- package/test/operations/cache.test.js +1 -1
- package/test/operations/cachedKeyFunctions.test.js +16 -16
- package/test/operations/clear.test.js +34 -0
- package/test/operations/deepMap.test.js +29 -0
- package/test/operations/deepMerge.test.js +2 -6
- package/test/operations/deepReverse.test.js +1 -1
- package/test/operations/defineds.test.js +25 -0
- package/test/operations/delete.test.js +20 -0
- package/test/operations/entries.test.js +18 -0
- package/test/operations/extensionKeyFunctions.test.js +10 -10
- package/test/operations/first.test.js +15 -0
- package/test/operations/fixtures/README.md +1 -0
- package/test/operations/forEach.test.js +22 -0
- package/test/operations/from.test.js +67 -0
- package/test/operations/globKeys.test.js +3 -3
- package/test/operations/has.test.js +15 -0
- package/test/operations/inners.test.js +30 -0
- package/test/operations/invokeFunctions.test.js +1 -1
- package/test/operations/isAsyncMutableTree.test.js +17 -0
- package/test/operations/isAsyncTree.test.js +26 -0
- package/test/operations/isTreelike.test.js +13 -0
- package/test/operations/keys.test.js +15 -0
- package/test/operations/length.test.js +15 -0
- package/test/operations/map.test.js +61 -42
- package/test/operations/mapExtension.test.js +0 -0
- package/test/operations/mapReduce.test.js +23 -0
- package/test/operations/mask.test.js +1 -1
- package/test/operations/match.test.js +33 -0
- package/test/operations/merge.test.js +23 -9
- package/test/operations/parent.test.js +15 -0
- package/test/operations/paths.test.js +40 -0
- package/test/operations/plain.test.js +69 -0
- package/test/operations/reverse.test.js +1 -1
- package/test/operations/scope.test.js +1 -1
- package/test/operations/setDeep.test.js +53 -0
- package/test/operations/shuffle.test.js +18 -0
- package/test/operations/sort.test.js +3 -3
- package/test/operations/toFunction.test.js +16 -0
- package/test/operations/traverse.test.js +43 -0
- package/test/operations/traversePath.test.js +16 -0
- package/test/operations/values.test.js +18 -0
- package/test/operations/withKeys.test.js +21 -0
- package/test/utilities/box.test.js +26 -0
- package/test/utilities/getRealmObjectPrototype.test.js +11 -0
- package/test/utilities/isPlainObject.test.js +13 -0
- package/test/utilities/keysFromPath.test.js +14 -0
- package/test/utilities/naturalOrder.test.js +11 -0
- package/test/utilities/pathFromKeys.test.js +12 -0
- package/test/utilities/setParent.test.js +34 -0
- package/test/utilities/toFunction.test.js +34 -0
- package/test/utilities/toPlainValue.test.js +27 -0
- package/test/utilities/toString.test.js +22 -0
- package/src/Tree.d.ts +0 -24
- package/src/utilities.d.ts +0 -21
- package/src/utilities.js +0 -443
- package/test/Tree.test.js +0 -407
- package/test/utilities.test.js +0 -141
package/index.ts
CHANGED
|
@@ -2,6 +2,8 @@ import type { AsyncTree } from "@weborigami/types";
|
|
|
2
2
|
|
|
3
3
|
export * from "./main.js";
|
|
4
4
|
|
|
5
|
+
export type Invocable = Function | Treelike | Unpackable;
|
|
6
|
+
|
|
5
7
|
export type KeyFn = (key: any, innerTree: AsyncTree) => any;
|
|
6
8
|
|
|
7
9
|
/**
|
|
@@ -30,7 +32,7 @@ export type PlainObject = {
|
|
|
30
32
|
|
|
31
33
|
export type ReduceFn = (values: any[], keys: any[], tree: AsyncTree) => Promise<any>;
|
|
32
34
|
|
|
33
|
-
export type
|
|
35
|
+
export type Stringlike = string | HasString;
|
|
34
36
|
|
|
35
37
|
export type NativeTreelike =
|
|
36
38
|
any[] |
|
|
@@ -42,15 +44,23 @@ export type NativeTreelike =
|
|
|
42
44
|
|
|
43
45
|
export type Treelike =
|
|
44
46
|
NativeTreelike |
|
|
45
|
-
Unpackable
|
|
47
|
+
Unpackable;
|
|
46
48
|
|
|
47
49
|
export type TreeMapOptions = {
|
|
48
50
|
deep?: boolean;
|
|
49
51
|
description?: string;
|
|
50
52
|
extension?: string;
|
|
51
|
-
needsSourceValue?: boolean;
|
|
52
53
|
inverseKey?: KeyFn;
|
|
53
|
-
key?:
|
|
54
|
+
key?: ValueKeyFn;
|
|
55
|
+
keyNeedsSourceValue?: boolean;
|
|
56
|
+
value?: ValueKeyFn;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export type TreeMapExtensionOptions = {
|
|
60
|
+
deep?: boolean;
|
|
61
|
+
description?: string;
|
|
62
|
+
extension?: string;
|
|
63
|
+
needsSourceValue?: boolean;
|
|
54
64
|
value?: ValueKeyFn;
|
|
55
65
|
};
|
|
56
66
|
|
|
@@ -67,8 +77,8 @@ export type TypedArray =
|
|
|
67
77
|
Uint16Array |
|
|
68
78
|
Uint32Array;
|
|
69
79
|
|
|
70
|
-
export type Unpackable
|
|
71
|
-
unpack(): Promise<
|
|
80
|
+
export type Unpackable = {
|
|
81
|
+
unpack(): Promise<any>
|
|
72
82
|
};
|
|
73
83
|
|
|
74
84
|
/**
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@weborigami/async-tree",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.5",
|
|
4
4
|
"description": "Asynchronous tree drivers based on standard JavaScript classes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./main.js",
|
|
7
7
|
"browser": "./browser.js",
|
|
8
8
|
"types": "./index.ts",
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@weborigami/types": "0.5.
|
|
10
|
+
"@weborigami/types": "0.5.5"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@types/node": "24.3.0",
|
package/shared.js
CHANGED
|
@@ -1,43 +1,33 @@
|
|
|
1
1
|
// Exports for both Node.js and browser
|
|
2
2
|
|
|
3
|
-
export { default as
|
|
4
|
-
export { default as
|
|
3
|
+
export { default as calendar } from "./src/drivers/calendarTree.js";
|
|
4
|
+
export { default as constant } from "./src/drivers/constantTree.js";
|
|
5
5
|
export { default as DeepMapTree } from "./src/drivers/DeepMapTree.js";
|
|
6
|
+
export { default as DeepObjectTree } from "./src/drivers/DeepObjectTree.js";
|
|
6
7
|
export { default as DeferredTree } from "./src/drivers/DeferredTree.js";
|
|
7
8
|
export { default as ExplorableSiteTree } from "./src/drivers/ExplorableSiteTree.js";
|
|
8
9
|
export { default as FunctionTree } from "./src/drivers/FunctionTree.js";
|
|
9
10
|
export { default as MapTree } from "./src/drivers/MapTree.js";
|
|
11
|
+
export { default as ObjectTree } from "./src/drivers/ObjectTree.js";
|
|
10
12
|
export { default as SetTree } from "./src/drivers/SetTree.js";
|
|
11
13
|
export { default as SiteTree } from "./src/drivers/SiteTree.js";
|
|
12
|
-
export { DeepObjectTree, ObjectTree, Tree } from "./src/internal.js";
|
|
13
14
|
export * as jsonKeys from "./src/jsonKeys.js";
|
|
14
|
-
export { default as addNextPrevious } from "./src/operations/addNextPrevious.js";
|
|
15
|
-
export { default as cache } from "./src/operations/cache.js";
|
|
16
|
-
export { default as cachedKeyFunctions } from "./src/operations/cachedKeyFunctions.js";
|
|
17
|
-
export { default as deepMerge } from "./src/operations/deepMerge.js";
|
|
18
|
-
export { default as deepReverse } from "./src/operations/deepReverse.js";
|
|
19
|
-
export { default as deepTake } from "./src/operations/deepTake.js";
|
|
20
|
-
export { default as deepText } from "./src/operations/deepText.js";
|
|
21
|
-
export { default as deepValues } from "./src/operations/deepValues.js";
|
|
22
|
-
export { default as deepValuesIterator } from "./src/operations/deepValuesIterator.js";
|
|
23
|
-
export { default as extensionKeyFunctions } from "./src/operations/extensionKeyFunctions.js";
|
|
24
|
-
export { default as filter } from "./src/operations/filter.js";
|
|
25
|
-
export { default as globKeys } from "./src/operations/globKeys.js";
|
|
26
|
-
export { default as group } from "./src/operations/group.js";
|
|
27
|
-
export { default as indent } from "./src/operations/indent.js";
|
|
28
|
-
export { default as invokeFunctions } from "./src/operations/invokeFunctions.js";
|
|
29
|
-
export { default as json } from "./src/operations/json.js";
|
|
30
|
-
export { default as map } from "./src/operations/map.js";
|
|
31
|
-
export { default as mask } from "./src/operations/mask.js";
|
|
32
|
-
export { default as merge } from "./src/operations/merge.js";
|
|
33
|
-
export { default as paginate } from "./src/operations/paginate.js";
|
|
34
|
-
export { default as parseExtensions } from "./src/operations/parseExtensions.js";
|
|
35
|
-
export { default as reverse } from "./src/operations/reverse.js";
|
|
36
|
-
export { default as scope } from "./src/operations/scope.js";
|
|
37
|
-
export { default as sort } from "./src/operations/sort.js";
|
|
38
|
-
export { default as take } from "./src/operations/take.js";
|
|
39
|
-
export { default as text } from "./src/operations/text.js";
|
|
40
15
|
export * as symbols from "./src/symbols.js";
|
|
41
16
|
export * as trailingSlash from "./src/trailingSlash.js";
|
|
42
17
|
export { default as TraverseError } from "./src/TraverseError.js";
|
|
43
|
-
export * from "./src/
|
|
18
|
+
export * as Tree from "./src/Tree.js";
|
|
19
|
+
export { default as box } from "./src/utilities/box.js";
|
|
20
|
+
export { default as castArraylike } from "./src/utilities/castArraylike.js";
|
|
21
|
+
export { default as getParent } from "./src/utilities/getParent.js";
|
|
22
|
+
export { default as getRealmObjectPrototype } from "./src/utilities/getRealmObjectPrototype.js";
|
|
23
|
+
export { default as getTreeArgument } from "./src/utilities/getTreeArgument.js";
|
|
24
|
+
export { default as isPacked } from "./src/utilities/isPacked.js";
|
|
25
|
+
export { default as isPlainObject } from "./src/utilities/isPlainObject.js";
|
|
26
|
+
export { default as isStringlike } from "./src/utilities/isStringlike.js";
|
|
27
|
+
export { default as isUnpackable } from "./src/utilities/isUnpackable.js";
|
|
28
|
+
export { default as keysFromPath } from "./src/utilities/keysFromPath.js";
|
|
29
|
+
export { default as naturalOrder } from "./src/utilities/naturalOrder.js";
|
|
30
|
+
export { default as pathFromKeys } from "./src/utilities/pathFromKeys.js";
|
|
31
|
+
export { default as setParent } from "./src/utilities/setParent.js";
|
|
32
|
+
export { default as toPlainValue } from "./src/utilities/toPlainValue.js";
|
|
33
|
+
export { default as toString } from "./src/utilities/toString.js";
|