@zhin.js/pagemanager 2.0.9 → 2.0.10
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccessSnapshot, LayoutManifest, LayoutSlot, NavNode, PageManifest } from '@zhin.js/console-contract';
|
|
1
|
+
import type { AccessSnapshot, ConsoleTopology, LayoutManifest, LayoutSlot, NavNode, PageManifest } from '@zhin.js/console-contract';
|
|
2
2
|
import type { PluginId, RuntimeSnapshot } from '@zhin.js/plugin-runtime';
|
|
3
3
|
export type RouteMatch = {
|
|
4
4
|
readonly status: 'found';
|
|
@@ -16,6 +16,12 @@ export declare class ConsoleCatalog {
|
|
|
16
16
|
pages(): readonly Readonly<PageManifest>[];
|
|
17
17
|
match(path: string): RouteMatch;
|
|
18
18
|
navigation(): readonly Readonly<NavNode>[];
|
|
19
|
+
/**
|
|
20
|
+
* Return the complete Console view for this generation. Pages, navigation,
|
|
21
|
+
* and layout resolution all retain the same snapshot through the caller's
|
|
22
|
+
* ConsoleRuntime lease, including while a later generation is prepared.
|
|
23
|
+
*/
|
|
24
|
+
topology(): Readonly<ConsoleTopology>;
|
|
19
25
|
layouts(owner: PluginId, slot: LayoutSlot): readonly Readonly<LayoutManifest>[];
|
|
20
26
|
fallback(owner: PluginId): string | undefined;
|
|
21
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-catalog.d.ts","sourceRoot":"","sources":["../../src/plugin-runtime/console-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,
|
|
1
|
+
{"version":3,"file":"console-catalog.d.ts","sourceRoot":"","sources":["../../src/plugin-runtime/console-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGd,eAAe,EACf,cAAc,EACd,UAAU,EACV,OAAO,EACP,YAAY,EACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAa,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAMpF,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;CAAE,GACvE;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEnC,qBAAa,cAAc;;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAQ1B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,cAAc,EACtB,MAAM,GAAE,MAAM,OAAoB;IAUpC,KAAK,IAAI,SAAS,QAAQ,CAAC,YAAY,CAAC,EAAE;IAK1C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAS/B,UAAU,IAAI,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE;IAK1C;;;;OAIG;IACH,QAAQ,IAAI,QAAQ,CAAC,eAAe,CAAC;IAWrC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,QAAQ,CAAC,cAAc,CAAC,EAAE;IAM/E,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;CAkC9C"}
|
|
@@ -34,6 +34,21 @@ export class ConsoleCatalog {
|
|
|
34
34
|
this.#assertActive();
|
|
35
35
|
return buildNavigation(this.#snapshot, this.pages());
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Return the complete Console view for this generation. Pages, navigation,
|
|
39
|
+
* and layout resolution all retain the same snapshot through the caller's
|
|
40
|
+
* ConsoleRuntime lease, including while a later generation is prepared.
|
|
41
|
+
*/
|
|
42
|
+
topology() {
|
|
43
|
+
this.#assertActive();
|
|
44
|
+
const pages = this.pages();
|
|
45
|
+
return Object.freeze({
|
|
46
|
+
generation: this.generation,
|
|
47
|
+
pages,
|
|
48
|
+
navigation: buildNavigation(this.#snapshot, pages),
|
|
49
|
+
resolve: (path) => this.#resolveTopology(path),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
37
52
|
layouts(owner, slot) {
|
|
38
53
|
this.#assertActive();
|
|
39
54
|
if (!this.#snapshot.tree.has(owner))
|
|
@@ -53,6 +68,24 @@ export class ConsoleCatalog {
|
|
|
53
68
|
}
|
|
54
69
|
return undefined;
|
|
55
70
|
}
|
|
71
|
+
#resolveTopology(path) {
|
|
72
|
+
const match = this.match(path);
|
|
73
|
+
if (match.status !== 'found')
|
|
74
|
+
return Object.freeze({ status: match.status });
|
|
75
|
+
return Object.freeze({
|
|
76
|
+
status: 'found',
|
|
77
|
+
page: match.page,
|
|
78
|
+
layouts: this.#nearestLayouts(match.page.owner),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
#nearestLayouts(owner) {
|
|
82
|
+
const nav = this.#layouts?.resolve(owner, 'nav');
|
|
83
|
+
const footer = this.#layouts?.resolve(owner, 'footer');
|
|
84
|
+
return Object.freeze({
|
|
85
|
+
...(nav ? { nav } : {}),
|
|
86
|
+
...(footer ? { footer } : {}),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
56
89
|
#assertActive() {
|
|
57
90
|
if (!this.#active())
|
|
58
91
|
throw new Error('Console catalog view scope has ended');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-catalog.js","sourceRoot":"","sources":["../../src/plugin-runtime/console-catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console-catalog.js","sourceRoot":"","sources":["../../src/plugin-runtime/console-catalog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/pagemanager",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10",
|
|
4
4
|
"description": "Zhin PageManager Host runtime: entries, esbuild pipeline (no UI; contract in @zhin.js/contract)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"koa-compose": "^4.1.0",
|
|
33
33
|
"koa-static": "^5.0.0",
|
|
34
34
|
"@zhin.js/console-contract": "1.0.0",
|
|
35
|
-
"@zhin.js/contract": "1.0.
|
|
35
|
+
"@zhin.js/contract": "1.0.9",
|
|
36
36
|
"@zhin.js/layout": "1.0.4",
|
|
37
37
|
"@zhin.js/page": "1.0.4",
|
|
38
38
|
"@zhin.js/plugin-runtime": "1.1.1"
|