@weborigami/origami 0.0.62 → 0.0.64-beta.1
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/exports/exports.js +0 -1
- package/package.json +4 -4
- package/src/builtins/@keysJson.js +10 -3
- package/src/builtins/@sitemap.js +2 -2
- package/src/server/server.js +1 -0
- package/src/builtins/@paths.js +0 -30
package/exports/exports.js
CHANGED
|
@@ -68,7 +68,6 @@ export { default as package } from "../src/builtins/@package.js";
|
|
|
68
68
|
export { default as paginate } from "../src/builtins/@paginate.js";
|
|
69
69
|
export { default as paginateFn } from "../src/builtins/@paginateFn.js";
|
|
70
70
|
export { default as parent } from "../src/builtins/@parent.js";
|
|
71
|
-
export { default as paths } from "../src/builtins/@paths.js";
|
|
72
71
|
export { default as perf } from "../src/builtins/@perf.js";
|
|
73
72
|
export { default as plain } from "../src/builtins/@plain.js";
|
|
74
73
|
export { default as project } from "../src/builtins/@project.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@weborigami/origami",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.64-beta.1",
|
|
4
4
|
"description": "Web Origami language, CLI, framework, and server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"typescript": "5.5.3"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@weborigami/async-tree": "0.0.
|
|
21
|
-
"@weborigami/language": "0.0.
|
|
22
|
-
"@weborigami/types": "0.0.
|
|
20
|
+
"@weborigami/async-tree": "0.0.64-beta.1",
|
|
21
|
+
"@weborigami/language": "0.0.64-beta.1",
|
|
22
|
+
"@weborigami/types": "0.0.64-beta.1",
|
|
23
23
|
"exif-parser": "0.1.12",
|
|
24
24
|
"graphviz-wasm": "3.0.2",
|
|
25
25
|
"highlight.js": "11.9.0",
|
|
@@ -11,7 +11,13 @@ import getTreeArgument from "../misc/getTreeArgument.js";
|
|
|
11
11
|
* @param {Treelike} treelike
|
|
12
12
|
*/
|
|
13
13
|
export default async function treeKeysJson(treelike) {
|
|
14
|
-
const tree = await getTreeArgument(
|
|
14
|
+
const tree = await getTreeArgument(
|
|
15
|
+
this,
|
|
16
|
+
arguments,
|
|
17
|
+
treelike,
|
|
18
|
+
"@keysJson",
|
|
19
|
+
true
|
|
20
|
+
);
|
|
15
21
|
return transformObject(KeysJsonTransform, tree);
|
|
16
22
|
}
|
|
17
23
|
|
|
@@ -21,8 +27,9 @@ function KeysJsonTransform(Base) {
|
|
|
21
27
|
let value = await super.get(key);
|
|
22
28
|
if (value === undefined && key === ".keys.json") {
|
|
23
29
|
value = await keysJson.stringify(this);
|
|
24
|
-
} else if (Tree.
|
|
25
|
-
|
|
30
|
+
} else if (Tree.isTreelike(value)) {
|
|
31
|
+
const tree = Tree.from(value, { deep: true });
|
|
32
|
+
value = transformObject(KeysJsonTransform, tree);
|
|
26
33
|
}
|
|
27
34
|
return value;
|
|
28
35
|
}
|
package/src/builtins/@sitemap.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { Tree } from "@weborigami/async-tree";
|
|
1
2
|
import assertTreeIsDefined from "../misc/assertTreeIsDefined.js";
|
|
2
3
|
import getTreeArgument from "../misc/getTreeArgument.js";
|
|
3
4
|
import builtins from "./@builtins.js";
|
|
4
|
-
import paths from "./@paths.js";
|
|
5
5
|
import fileTypeOrigami from "./ori_handler.js";
|
|
6
6
|
|
|
7
7
|
const templateText = `(urls) => \`<?xml version="1.0" encoding="UTF-8"?>
|
|
@@ -41,7 +41,7 @@ export default async function sitemap(treelike, baseHref = "") {
|
|
|
41
41
|
},
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
const treePaths = await paths
|
|
44
|
+
const treePaths = await Tree.paths(filterTree, baseHref);
|
|
45
45
|
|
|
46
46
|
// For simplicity, we assume that HTML pages will end in .html.
|
|
47
47
|
// If the page is named index.html, we remove index.html from
|
package/src/server/server.js
CHANGED
|
@@ -14,6 +14,7 @@ async function copyResponse(constructed, response) {
|
|
|
14
14
|
response.statusCode = constructed.status;
|
|
15
15
|
response.statusMessage = constructed.statusText;
|
|
16
16
|
|
|
17
|
+
// @ts-ignore Headers has an iterator in ES2022 but tsc doesn't know that.
|
|
17
18
|
for (const [key, value] of constructed.headers) {
|
|
18
19
|
response.setHeader(key, value);
|
|
19
20
|
}
|
package/src/builtins/@paths.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Tree } from "@weborigami/async-tree";
|
|
2
|
-
import getTreeArgument from "../misc/getTreeArgument.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Return an array of paths to the values in the 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} [treelike]
|
|
12
|
-
* @param {string} [prefix]
|
|
13
|
-
*/
|
|
14
|
-
export default async function paths(treelike, prefix = "") {
|
|
15
|
-
const tree = await getTreeArgument(this, arguments, treelike, "@paths");
|
|
16
|
-
const result = [];
|
|
17
|
-
for (const key of await tree.keys()) {
|
|
18
|
-
const valuePath = prefix ? `${prefix}/${key}` : key;
|
|
19
|
-
const value = await tree.get(key);
|
|
20
|
-
if (await Tree.isAsyncTree(value)) {
|
|
21
|
-
const subPaths = await paths.call(this, value, valuePath);
|
|
22
|
-
result.push(...subPaths);
|
|
23
|
-
} else {
|
|
24
|
-
result.push(valuePath);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return result;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
paths.usage = `@paths(tree)\tReturn an array of paths to the values in the tree`;
|