@weborigami/origami 0.2.12 → 0.3.0
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/package.json +4 -4
- package/src/help/help.yaml +5 -2
- package/src/tree/filter.js +1 -1
- package/src/tree/mask.js +19 -0
- package/src/tree/tree.js +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@weborigami/origami",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Web Origami language, CLI, framework, and server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"typescript": "5.8.2"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@weborigami/async-tree": "0.
|
|
21
|
-
"@weborigami/language": "0.
|
|
20
|
+
"@weborigami/async-tree": "0.3.0",
|
|
21
|
+
"@weborigami/language": "0.3.0",
|
|
22
22
|
"@weborigami/json-feed-to-rss": "1.0.0",
|
|
23
|
-
"@weborigami/types": "0.
|
|
23
|
+
"@weborigami/types": "0.3.0",
|
|
24
24
|
"exif-parser": "0.1.12",
|
|
25
25
|
"graphviz-wasm": "3.0.2",
|
|
26
26
|
"highlight.js": "11.11.1",
|
package/src/help/help.yaml
CHANGED
|
@@ -302,8 +302,8 @@ tree:
|
|
|
302
302
|
args: (tree)
|
|
303
303
|
description: The tree's [key, value] pairs
|
|
304
304
|
filter:
|
|
305
|
-
args: (source,
|
|
306
|
-
description: Filter the source tree
|
|
305
|
+
args: (source, options)
|
|
306
|
+
description: Filter the source tree
|
|
307
307
|
first:
|
|
308
308
|
args: (tree)
|
|
309
309
|
description: The first value in the tree
|
|
@@ -352,6 +352,9 @@ tree:
|
|
|
352
352
|
mapReduce:
|
|
353
353
|
args: (tree, valueFn, reduceFn)
|
|
354
354
|
description: Map values and reduce them
|
|
355
|
+
mask:
|
|
356
|
+
args: (source, mask)
|
|
357
|
+
description: Return the source tree with only the keys in the mask
|
|
355
358
|
match:
|
|
356
359
|
args: (pattern, fn, [keys])
|
|
357
360
|
description: Matches simple patterns or regular expressions
|
package/src/tree/filter.js
CHANGED
|
@@ -2,7 +2,7 @@ import { filter } from "@weborigami/async-tree";
|
|
|
2
2
|
import assertTreeIsDefined from "../common/assertTreeIsDefined.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Apply a filter to a tree
|
|
5
|
+
* Apply a filter to a tree
|
|
6
6
|
*
|
|
7
7
|
* @typedef {import("@weborigami/types").AsyncTree} AsyncTree
|
|
8
8
|
* @typedef {import("@weborigami/async-tree").Treelike} Treelike
|
package/src/tree/mask.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { mask } from "@weborigami/async-tree";
|
|
2
|
+
import assertTreeIsDefined from "../common/assertTreeIsDefined.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Apply a mask to a tree
|
|
6
|
+
*
|
|
7
|
+
* @typedef {import("@weborigami/types").AsyncTree} AsyncTree
|
|
8
|
+
* @typedef {import("@weborigami/async-tree").Treelike} Treelike
|
|
9
|
+
*
|
|
10
|
+
* @this {AsyncTree|null}
|
|
11
|
+
* @param {Treelike} sourceTreelike
|
|
12
|
+
* @param {Treelike} maskTreelike
|
|
13
|
+
*/
|
|
14
|
+
export default async function maskBuiltin(sourceTreelike, maskTreelike) {
|
|
15
|
+
assertTreeIsDefined(this, "tree:mask");
|
|
16
|
+
const result = mask(sourceTreelike, maskTreelike);
|
|
17
|
+
result.parent = this;
|
|
18
|
+
return result;
|
|
19
|
+
}
|
package/src/tree/tree.js
CHANGED
|
@@ -21,6 +21,7 @@ export { default as inners } from "./inners.js";
|
|
|
21
21
|
export { default as keys } from "./keys.js";
|
|
22
22
|
export { default as length } from "./length.js";
|
|
23
23
|
export { default as map } from "./map.js";
|
|
24
|
+
export { default as mask } from "./mask.js";
|
|
24
25
|
export { default as match } from "./match.js";
|
|
25
26
|
export { default as merge } from "./merge.js";
|
|
26
27
|
export { default as paginate } from "./paginate.js";
|