@ogygia/core 0.12.2 → 0.13.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/dist/LateIsland.svelte +3 -2
- package/dist/LateIslandAwait.svelte +6 -2
- package/dist/Region.svelte +22 -33
- package/dist/boundary.d.ts +0 -2
- package/dist/boundary.js +8 -6
- package/dist/compiler/debarrel/barrel.d.ts +15 -8
- package/dist/compiler/debarrel/barrel.js +92 -45
- package/dist/compiler/debarrel/plugin.js +41 -17
- package/dist/compiler/dev/dev-hmr.d.ts +3 -0
- package/dist/compiler/dev/dev-hmr.js +3 -0
- package/dist/compiler/driver.js +11 -4
- package/dist/compiler/flags.js +21 -7
- package/dist/compiler/fouc-css.js +5 -1
- package/dist/compiler/kit.js +5 -1
- package/dist/compiler/link/build-output.js +12 -3
- package/dist/compiler/macros/bake.js +18 -4
- package/dist/compiler/macros/dollar.js +6 -1
- package/dist/compiler/macros/source.js +6 -1
- package/dist/compiler/macros/store.js +10 -2
- package/dist/compiler/macros/wire.js +6 -1
- package/dist/compiler/parse/scan.js +10 -3
- package/dist/compiler/region/transform.js +188 -74
- package/dist/context-bridge.js +13 -5
- package/dist/context.d.ts +9 -0
- package/dist/context.js +30 -1
- package/dist/document.d.ts +1 -1
- package/dist/document.js +7 -1
- package/dist/early-holes-head.d.ts +5 -0
- package/dist/early-holes-head.js +20 -0
- package/dist/early-holes.d.ts +34 -0
- package/dist/early-holes.js +51 -0
- package/dist/entry-hydrate.js +9 -12
- package/dist/events/bus.js +7 -2
- package/dist/events/schema.d.ts +2 -2
- package/dist/fn-transport.js +4 -3
- package/dist/hooks.js +94 -163
- package/dist/insights/page-assets.js +11 -3
- package/dist/insights/page-insights.d.ts +0 -2
- package/dist/insights/page-insights.js +14 -10
- package/dist/insights/session-insights.js +2 -2
- package/dist/internal-instruments.d.ts +3 -1
- package/dist/internal-instruments.js +3 -1
- package/dist/internal-server.d.ts +3 -2
- package/dist/internal-server.js +3 -2
- package/dist/internal.d.ts +1 -2
- package/dist/internal.js +1 -2
- package/dist/keep-fallback.d.ts +0 -2
- package/dist/keep-fallback.js +4 -5
- package/dist/live-transport.js +3 -2
- package/dist/messages/build.d.ts +585 -0
- package/dist/messages/build.js +800 -0
- package/dist/messages/core.d.ts +464 -0
- package/dist/messages/core.js +843 -0
- package/dist/messages/define.d.ts +62 -0
- package/dist/messages/define.js +49 -0
- package/dist/messages/index.d.ts +6 -0
- package/dist/messages/index.js +6 -0
- package/dist/messages/island.d.ts +4 -0
- package/dist/messages/island.js +34 -0
- package/dist/messages/lazy.d.ts +3 -0
- package/dist/messages/lazy.js +22 -0
- package/dist/messages/prose.d.ts +15 -0
- package/dist/messages/prose.js +43 -0
- package/dist/messages/server.d.ts +142 -0
- package/dist/messages/server.js +246 -0
- package/dist/nested.d.ts +3 -0
- package/dist/nested.js +8 -1
- package/dist/plugin/css.js +14 -13
- package/dist/plugin/facts.d.ts +2 -0
- package/dist/plugin/facts.js +10 -6
- package/dist/plugin/hooks.d.ts +7 -17
- package/dist/plugin/hooks.js +32 -4
- package/dist/plugin/index.d.ts +9 -2
- package/dist/plugin/request-scope.d.ts +20 -0
- package/dist/plugin/request-scope.js +149 -0
- package/dist/plugin/server.d.ts +20 -2
- package/dist/plugin/server.js +98 -28
- package/dist/plugin/testing.d.ts +6 -0
- package/dist/plugin/testing.js +14 -2
- package/dist/policies.d.ts +21 -0
- package/dist/policies.js +66 -0
- package/dist/preference.js +6 -1
- package/dist/preload.js +6 -9
- package/dist/ref-watch.d.ts +0 -10
- package/dist/ref-watch.js +14 -1
- package/dist/ref.js +17 -5
- package/dist/region-snippet.js +9 -3
- package/dist/region.js +2 -1
- package/dist/report-thrown.d.ts +9 -0
- package/dist/report-thrown.js +15 -0
- package/dist/rules.d.ts +17 -0
- package/dist/rules.js +57 -0
- package/dist/runtime/beacon.d.ts +0 -4
- package/dist/runtime/beacon.js +58 -43
- package/dist/runtime/boot-link.js +19 -2
- package/dist/runtime/client-hooks.js +2 -1
- package/dist/runtime/concurrency.d.ts +16 -5
- package/dist/runtime/concurrency.js +123 -7
- package/dist/runtime/core.d.ts +3 -1
- package/dist/runtime/core.js +718 -384
- package/dist/runtime/devalue-lane.d.ts +13 -0
- package/dist/runtime/devalue-lane.js +49 -0
- package/dist/runtime/disclose-version.d.ts +1 -0
- package/dist/runtime/disclose-version.js +14 -0
- package/dist/runtime/early-holes.d.ts +4 -0
- package/dist/runtime/early-holes.js +40 -0
- package/dist/runtime/entry-locations.js +40 -49
- package/dist/runtime/foreign-props.d.ts +0 -7
- package/dist/runtime/foreign-props.js +2 -1
- package/dist/runtime/form-continuity.d.ts +2 -2
- package/dist/runtime/form-continuity.js +30 -8
- package/dist/runtime/frame-nav.d.ts +7 -1
- package/dist/runtime/frame-nav.js +84 -18
- package/dist/runtime/frame-store.d.ts +25 -16
- package/dist/runtime/frame-store.js +124 -98
- package/dist/runtime/frames.js +8 -4
- package/dist/runtime/hole-facts.js +6 -7
- package/dist/runtime/hole-fetch.d.ts +17 -0
- package/dist/runtime/hole-fetch.js +47 -0
- package/dist/runtime/hydrate-core.d.ts +4 -4
- package/dist/runtime/hydrate-core.js +80 -64
- package/dist/runtime/import-again.d.ts +33 -0
- package/dist/runtime/import-again.js +217 -0
- package/dist/runtime/interaction-replay.d.ts +5 -3
- package/dist/runtime/interaction-replay.js +6 -6
- package/dist/runtime/interaction.d.ts +14 -3
- package/dist/runtime/interaction.js +46 -23
- package/dist/runtime/kit-page-thread.svelte.d.ts +2 -1
- package/dist/runtime/kit-page-thread.svelte.js +44 -20
- package/dist/runtime/lakes.d.ts +1 -1
- package/dist/runtime/lakes.js +18 -5
- package/dist/runtime/live.d.ts +1 -2
- package/dist/runtime/live.js +6 -8
- package/dist/runtime/load-scheduler.d.ts +29 -18
- package/dist/runtime/load-scheduler.js +236 -136
- package/dist/runtime/nav-handle.js +25 -6
- package/dist/runtime/navigation.d.ts +24 -0
- package/dist/runtime/navigation.js +24 -0
- package/dist/runtime/ownership.d.ts +1 -1
- package/dist/runtime/page-defer.js +3 -3
- package/dist/runtime/parse-html.d.ts +15 -4
- package/dist/runtime/parse-html.js +24 -5
- package/dist/runtime/pushable-props.svelte.d.ts +21 -0
- package/dist/runtime/pushable-props.svelte.js +37 -0
- package/dist/runtime/region-endpoint-url.js +4 -6
- package/dist/runtime/region-machines.d.ts +111 -0
- package/dist/runtime/region-machines.js +97 -0
- package/dist/runtime/region-sheets.d.ts +31 -0
- package/dist/runtime/region-sheets.js +49 -0
- package/dist/runtime/restore-report.d.ts +1 -0
- package/dist/runtime/restore-report.js +36 -0
- package/dist/runtime/restore.d.ts +5 -2
- package/dist/runtime/restore.js +33 -14
- package/dist/runtime/router-nav.d.ts +32 -12
- package/dist/runtime/router-nav.js +320 -228
- package/dist/runtime/router.d.ts +83 -19
- package/dist/runtime/router.js +297 -129
- package/dist/runtime/rules.d.ts +35 -0
- package/dist/runtime/rules.js +137 -0
- package/dist/runtime/schedule.d.ts +6 -3
- package/dist/runtime/schedule.js +172 -57
- package/dist/runtime/seeds.d.ts +5 -1
- package/dist/runtime/seeds.js +11 -5
- package/dist/runtime/session.d.ts +46 -7
- package/dist/runtime/session.js +78 -10
- package/dist/runtime/slots.d.ts +53 -20
- package/dist/runtime/slots.js +2 -3
- package/dist/runtime/soft-refresh.d.ts +16 -0
- package/dist/runtime/soft-refresh.js +14 -0
- package/dist/runtime/svelte-warnings.d.ts +4 -10
- package/dist/runtime/svelte-warnings.js +7 -4
- package/dist/runtime/wire-classes.js +21 -8
- package/dist/runtime/wire-format.js +6 -3
- package/dist/script.js +8 -7
- package/dist/seed-ref-reviver.d.ts +0 -9
- package/dist/seed-ref-reviver.js +2 -1
- package/dist/seed-refs.d.ts +46 -36
- package/dist/seed-refs.js +131 -92
- package/dist/server/document-tail.d.ts +6 -0
- package/dist/server/document-tail.js +7 -1
- package/dist/server/early-holes-csp.d.ts +14 -0
- package/dist/server/early-holes-csp.js +73 -0
- package/dist/server/page-facts.d.ts +4 -1
- package/dist/server/page-facts.js +4 -1
- package/dist/server/page-seed.d.ts +2 -2
- package/dist/server/page-seed.js +104 -11
- package/dist/server/page-stream.d.ts +14 -1
- package/dist/server/page-stream.js +119 -2
- package/dist/server/personal-response.d.ts +0 -5
- package/dist/server/personal-response.js +6 -2
- package/dist/server/props-wire.js +5 -1
- package/dist/server/region-endpoint.js +10 -2
- package/dist/server/render-cache.d.ts +24 -20
- package/dist/server/render-cache.js +99 -40
- package/dist/server/render-page.js +46 -15
- package/dist/server/request-stats.d.ts +10 -8
- package/dist/server/request-stats.js +20 -12
- package/dist/server/rules.d.ts +11 -0
- package/dist/server/rules.js +64 -0
- package/dist/server/signing-key.js +31 -18
- package/dist/server/stream-regions.d.ts +14 -1
- package/dist/server/stream-regions.js +38 -2
- package/dist/shared-state.js +5 -1
- package/dist/shims/app-navigation.js +3 -2
- package/dist/shims/page-store.svelte.js +16 -2
- package/dist/source.js +7 -2
- package/dist/store-transport.js +12 -5
- package/dist/transport.js +3 -2
- package/dist/vite/index.js +83 -74
- package/dist/vite/kit-dirs.js +7 -1
- package/dist/vite/options.d.ts +2 -1
- package/dist/vite/options.js +11 -20
- package/dist/vite/package-files.js +13 -3
- package/dist/vite/paths.d.ts +2 -0
- package/dist/vite/paths.js +4 -4
- package/dist/vite/plugin-api.d.ts +6 -5
- package/dist/vite/plugin-api.js +42 -14
- package/dist/vite/style-preprocess.js +10 -3
- package/package.json +8 -1
- package/dist/KeepHost.svelte +0 -19
- package/dist/KeepHost.svelte.d.ts +0 -10
- package/dist/LiveHost.svelte +0 -19
- package/dist/LiveHost.svelte.d.ts +0 -10
- package/dist/NestedProvider.svelte +0 -13
- package/dist/NestedProvider.svelte.d.ts +0 -8
- package/dist/runtime/page-cache.d.ts +0 -23
- package/dist/runtime/page-cache.js +0 -74
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ogygia/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "The core of ogygia (SSR islands for SvelteKit): apps install `ogygia`, plugins build on this",
|
|
5
5
|
"homepage": "https://ogygiajs.dev",
|
|
6
6
|
"bugs": {
|
|
@@ -58,6 +58,11 @@
|
|
|
58
58
|
"svelte": "./dist/internal-instruments.js",
|
|
59
59
|
"default": "./dist/internal-instruments.js"
|
|
60
60
|
},
|
|
61
|
+
"./internal/messages": {
|
|
62
|
+
"types": "./dist/messages/index.d.ts",
|
|
63
|
+
"svelte": "./dist/messages/index.js",
|
|
64
|
+
"default": "./dist/messages/index.js"
|
|
65
|
+
},
|
|
61
66
|
"./internal/register": {
|
|
62
67
|
"types": "./dist/internal-register.d.ts",
|
|
63
68
|
"svelte": "./dist/internal-register.js",
|
|
@@ -134,6 +139,7 @@
|
|
|
134
139
|
"access": "public"
|
|
135
140
|
},
|
|
136
141
|
"dependencies": {
|
|
142
|
+
"@ogygia/machine": "^0.13.0",
|
|
137
143
|
"devalue": "^5.9.3",
|
|
138
144
|
"esm-env": "^1.2.2",
|
|
139
145
|
"estree-walker": "^3.0.3",
|
|
@@ -141,6 +147,7 @@
|
|
|
141
147
|
"tinyglobby": "^0.2.17"
|
|
142
148
|
},
|
|
143
149
|
"devDependencies": {
|
|
150
|
+
"@ogygia/config": "0.0.0",
|
|
144
151
|
"@ogygia/tsdown-plugin-svelte": "1.1.1",
|
|
145
152
|
"@sveltejs/kit": "^2.70.2",
|
|
146
153
|
"@sveltejs/vite-plugin-svelte": "^7.2.0",
|
package/dist/KeepHost.svelte
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<script>// Keep-alive host for a KEPT island (`keep:`): LiveHost's props-pushable host — the "inside an
|
|
2
|
-
// island" context, `$state` props, `setProps` so the next page's props reach the relocated island —
|
|
3
|
-
// in the SSR shape of a placed island (Region.svelte's `{#if Component}<Component {...props} />{/if}`,
|
|
4
|
-
// as NestedProvider mirrors it). LiveHost has no `{#if}`: it hydrates a live region's render()
|
|
5
|
-
// output, and a kept island hydrated through it met the server's `[0` branch marker where it
|
|
6
|
-
// expected the component's own, discarding the server DOM on every load. NOT part of the public API.
|
|
7
|
-
import { setNested } from "./nested.js";
|
|
8
|
-
let { component: Component, initialProps } = $props();
|
|
9
|
-
// Seed once from the incoming prop; later pages replace it via setProps(). Intentional initial read.
|
|
10
|
-
// svelte-ignore state_referenced_locally
|
|
11
|
-
let current = $state(initialProps);
|
|
12
|
-
/** Called by the runtime when the island crosses to the next page — reactive prop push. */
|
|
13
|
-
export function setProps(next) {
|
|
14
|
-
current = next;
|
|
15
|
-
}
|
|
16
|
-
setNested();
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
{#if Component}<Component {...current} />{/if}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
type $$ComponentProps = {
|
|
3
|
-
component: SvelteComponent<Record<string, unknown>>;
|
|
4
|
-
initialProps: Record<string, unknown>;
|
|
5
|
-
};
|
|
6
|
-
declare const KeepHost: import("svelte").Component<$$ComponentProps, {
|
|
7
|
-
setProps: (next: Record<string, unknown>) => void;
|
|
8
|
-
}, "">;
|
|
9
|
-
type KeepHost = ReturnType<typeof KeepHost>;
|
|
10
|
-
export default KeepHost;
|
package/dist/LiveHost.svelte
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<script>// Keep-alive host for an INTERACTIVE live region (`query.live` yielding `region(C, props)`
|
|
2
|
-
// with a wake schedule). Like NestedProvider, it sets the "inside an island" context and renders
|
|
3
|
-
// the component with no DOM of its own (so it hydrates the server render() output cleanly). Unlike
|
|
4
|
-
// NestedProvider, its props are `$state` and it exposes `setProps` — so a live tick updates the
|
|
5
|
-
// MOUNTED component reactively instead of tearing it down and re-hydrating. Focus and local island
|
|
6
|
-
// state survive; Svelte reconciles the view. NOT part of the public API.
|
|
7
|
-
import { setNested } from "./nested.js";
|
|
8
|
-
let { component: Component, initialProps } = $props();
|
|
9
|
-
// Seed once from the incoming prop; later ticks replace it via setProps(). Intentional initial read.
|
|
10
|
-
// svelte-ignore state_referenced_locally
|
|
11
|
-
let current = $state(initialProps);
|
|
12
|
-
/** Called by the runtime on each live tick with the same component — reactive prop push. */
|
|
13
|
-
export function setProps(next) {
|
|
14
|
-
current = next;
|
|
15
|
-
}
|
|
16
|
-
setNested();
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<Component {...current} />
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
type $$ComponentProps = {
|
|
3
|
-
component: SvelteComponent<Record<string, unknown>>;
|
|
4
|
-
initialProps: Record<string, unknown>;
|
|
5
|
-
};
|
|
6
|
-
declare const LiveHost: import("svelte").Component<$$ComponentProps, {
|
|
7
|
-
setProps: (next: Record<string, unknown>) => void;
|
|
8
|
-
}, "">;
|
|
9
|
-
type LiveHost = ReturnType<typeof LiveHost>;
|
|
10
|
-
export default LiveHost;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<script>// Passthrough the runtime hydrates a top-level island into, so descendants see the
|
|
2
|
-
// "inside an island" context. Mirrors Region.svelte's island SSR shape EXACTLY
|
|
3
|
-
// (`{#if Component}<Component {...props} />{/if}`) so Svelte adopts the SSR nodes in place instead
|
|
4
|
-
// of discarding and re-creating the island root (a re-created root is class-less for a tick → a
|
|
5
|
-
// `class:`-driven `position: fixed` drops to `static` for a frame). SELF-CLOSING on purpose: any
|
|
6
|
-
// slot content here would pass an implicit `children` snippet that OVERRIDES the decoded
|
|
7
|
-
// `props.children` (the revived slot/region snippet) and desyncs hydration with an extra anchor.
|
|
8
|
-
import { setNested } from "./nested.js";
|
|
9
|
-
let { component: Component, props } = $props();
|
|
10
|
-
setNested();
|
|
11
|
-
</script>
|
|
12
|
-
|
|
13
|
-
{#if Component}<Component {...props} />{/if}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
type $$ComponentProps = {
|
|
3
|
-
component: SvelteComponent<Record<string, unknown>>;
|
|
4
|
-
props: Record<string, unknown>;
|
|
5
|
-
};
|
|
6
|
-
declare const NestedProvider: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
|
-
type NestedProvider = ReturnType<typeof NestedProvider>;
|
|
8
|
-
export default NestedProvider;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bounded SPA HTML cache: TTL + max entries + approximate byte budget.
|
|
3
|
-
* Expired entries are dropped on read/insert; overflow drops oldest by timestamp.
|
|
4
|
-
*/
|
|
5
|
-
export type PageCacheEntry = {
|
|
6
|
-
html: string;
|
|
7
|
-
t: number;
|
|
8
|
-
bytes: number;
|
|
9
|
-
};
|
|
10
|
-
export declare class PageCache {
|
|
11
|
-
#private;
|
|
12
|
-
constructor(opts?: {
|
|
13
|
-
ttlMs?: number;
|
|
14
|
-
maxEntries?: number;
|
|
15
|
-
maxBytes?: number;
|
|
16
|
-
});
|
|
17
|
-
get(href: string): string | null;
|
|
18
|
-
set(href: string, html: string): void;
|
|
19
|
-
delete(href: string): void;
|
|
20
|
-
clear(): void;
|
|
21
|
-
get size(): number;
|
|
22
|
-
get bytes(): number;
|
|
23
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
// src/runtime/page-cache.ts
|
|
2
|
-
var PageCache = class {
|
|
3
|
-
#map = /* @__PURE__ */ new Map();
|
|
4
|
-
#total_bytes = 0;
|
|
5
|
-
#ttlMs;
|
|
6
|
-
#maxEntries;
|
|
7
|
-
#maxBytes;
|
|
8
|
-
constructor(opts) {
|
|
9
|
-
this.#ttlMs = opts?.ttlMs ?? 8e3;
|
|
10
|
-
this.#maxEntries = opts?.maxEntries ?? 32;
|
|
11
|
-
this.#maxBytes = opts?.maxBytes ?? 4e6;
|
|
12
|
-
}
|
|
13
|
-
#drop(href) {
|
|
14
|
-
const e = this.#map.get(href);
|
|
15
|
-
if (!e) return;
|
|
16
|
-
this.#map.delete(href);
|
|
17
|
-
this.#total_bytes -= e.bytes;
|
|
18
|
-
}
|
|
19
|
-
#evict_expired(now) {
|
|
20
|
-
for (const [href, e] of this.#map) if (now - e.t >= this.#ttlMs) this.#drop(href);
|
|
21
|
-
}
|
|
22
|
-
#evict_overflow() {
|
|
23
|
-
while (this.#map.size > this.#maxEntries || this.#total_bytes > this.#maxBytes) {
|
|
24
|
-
let oldest_href = null;
|
|
25
|
-
let oldest_t = Infinity;
|
|
26
|
-
for (const [href, e] of this.#map) if (e.t < oldest_t) {
|
|
27
|
-
oldest_t = e.t;
|
|
28
|
-
oldest_href = href;
|
|
29
|
-
}
|
|
30
|
-
if (!oldest_href) break;
|
|
31
|
-
this.#drop(oldest_href);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
get(href) {
|
|
35
|
-
const now = Date.now();
|
|
36
|
-
const e = this.#map.get(href);
|
|
37
|
-
if (!e) return null;
|
|
38
|
-
if (now - e.t >= this.#ttlMs) {
|
|
39
|
-
this.#drop(href);
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
this.#map.delete(href);
|
|
43
|
-
e.t = now;
|
|
44
|
-
this.#map.set(href, e);
|
|
45
|
-
return e.html;
|
|
46
|
-
}
|
|
47
|
-
set(href, html) {
|
|
48
|
-
const now = Date.now();
|
|
49
|
-
this.#evict_expired(now);
|
|
50
|
-
this.#drop(href);
|
|
51
|
-
const bytes = html.length * 2;
|
|
52
|
-
this.#map.set(href, {
|
|
53
|
-
html,
|
|
54
|
-
t: now,
|
|
55
|
-
bytes
|
|
56
|
-
});
|
|
57
|
-
this.#total_bytes += bytes;
|
|
58
|
-
this.#evict_overflow();
|
|
59
|
-
}
|
|
60
|
-
delete(href) {
|
|
61
|
-
this.#drop(href);
|
|
62
|
-
}
|
|
63
|
-
clear() {
|
|
64
|
-
this.#map.clear();
|
|
65
|
-
this.#total_bytes = 0;
|
|
66
|
-
}
|
|
67
|
-
get size() {
|
|
68
|
-
return this.#map.size;
|
|
69
|
-
}
|
|
70
|
-
get bytes() {
|
|
71
|
-
return this.#total_bytes;
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
export { PageCache };
|