@graview/guest 0.1.28 → 0.1.30
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/README.md +3 -2
- package/client.js +1 -1
- package/dist/channel.d.ts +7 -6
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +4 -5
- package/dist/channel.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/client.generated.d.ts.map +1 -1
- package/dist/client.generated.js +2 -2
- package/dist/client.generated.js.map +1 -1
- package/dist/headless/describe.d.ts +3 -2
- package/dist/headless/describe.d.ts.map +1 -1
- package/dist/headless/describe.js +4 -4
- package/dist/headless/describe.js.map +1 -1
- package/dist/headless/draw.d.ts +1 -0
- package/dist/headless/draw.d.ts.map +1 -1
- package/dist/headless/draw.js +1 -0
- package/dist/headless/draw.js.map +1 -1
- package/dist/headless/index.d.ts +9 -1
- package/dist/headless/index.d.ts.map +1 -1
- package/dist/headless/index.js +39 -5
- package/dist/headless/index.js.map +1 -1
- package/dist/headless/judge.d.ts +1 -1
- package/dist/headless/judge.d.ts.map +1 -1
- package/dist/headless/judge.js +13 -10
- package/dist/headless/judge.js.map +1 -1
- package/dist/headless/protocol.d.ts +12 -3
- package/dist/headless/protocol.d.ts.map +1 -1
- package/dist/headless/protocol.js.map +1 -1
- package/dist/headless/runtime.generated.d.ts.map +1 -1
- package/dist/headless/runtime.generated.js +1 -1
- package/dist/headless/runtime.generated.js.map +1 -1
- package/dist/headless/runtime.js +3 -1
- package/dist/headless/runtime.js.map +1 -1
- package/dist/host/arrive-at.d.ts +9 -0
- package/dist/host/arrive-at.d.ts.map +1 -0
- package/dist/host/arrive-at.js +17 -0
- package/dist/host/arrive-at.js.map +1 -0
- package/dist/host/arrive.d.ts +6 -0
- package/dist/host/arrive.d.ts.map +1 -1
- package/dist/host/arrive.js +6 -0
- package/dist/host/arrive.js.map +1 -1
- package/dist/host/frame.d.ts +23 -0
- package/dist/host/frame.d.ts.map +1 -1
- package/dist/host/frame.js +44 -1
- package/dist/host/frame.js.map +1 -1
- package/dist/host/index.d.ts +2 -5
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +0 -9
- package/dist/host/index.js.map +1 -1
- package/dist/host/links-words.d.ts +41 -0
- package/dist/host/links-words.d.ts.map +1 -0
- package/dist/host/links-words.js +56 -0
- package/dist/host/links-words.js.map +1 -0
- package/dist/host/links.d.ts +43 -9
- package/dist/host/links.d.ts.map +1 -1
- package/dist/host/links.js +61 -16
- package/dist/host/links.js.map +1 -1
- package/dist/host/manifest.d.ts +11 -0
- package/dist/host/manifest.d.ts.map +1 -1
- package/dist/host/manifest.js +17 -1
- package/dist/host/manifest.js.map +1 -1
- package/dist/host/open-draw.d.ts +4 -0
- package/dist/host/open-draw.d.ts.map +1 -1
- package/dist/host/open-draw.js +2 -0
- package/dist/host/open-draw.js.map +1 -1
- package/dist/host/open-judge.d.ts +16 -0
- package/dist/host/open-judge.d.ts.map +1 -1
- package/dist/host/open-judge.js +47 -1
- package/dist/host/open-judge.js.map +1 -1
- package/dist/host/open-render.d.ts +2 -0
- package/dist/host/open-render.d.ts.map +1 -1
- package/dist/host/open-render.js +4 -0
- package/dist/host/open-render.js.map +1 -1
- package/dist/host/pictures.d.ts +59 -0
- package/dist/host/pictures.d.ts.map +1 -0
- package/dist/host/pictures.js +230 -0
- package/dist/host/pictures.js.map +1 -0
- package/dist/host/react.d.ts +3 -0
- package/dist/host/react.d.ts.map +1 -1
- package/dist/host/react.js +30 -18
- package/dist/host/react.js.map +1 -1
- package/dist/host/session.d.ts +15 -1
- package/dist/host/session.d.ts.map +1 -1
- package/dist/host/session.js +22 -1
- package/dist/host/session.js.map +1 -1
- package/dist/host/view-runtime.generated.d.ts.map +1 -1
- package/dist/host/view-runtime.generated.js +1 -1
- package/dist/host/view-runtime.generated.js.map +1 -1
- package/dist/host/view.d.ts +22 -6
- package/dist/host/view.d.ts.map +1 -1
- package/dist/host/view.js +62 -8
- package/dist/host/view.js.map +1 -1
- package/dist/host/views.d.ts +2 -1
- package/dist/host/views.d.ts.map +1 -1
- package/dist/host/where.d.ts +30 -0
- package/dist/host/where.d.ts.map +1 -0
- package/dist/host/where.js +103 -0
- package/dist/host/where.js.map +1 -0
- package/dist/host/worker-react.d.ts +4 -0
- package/dist/host/worker-react.d.ts.map +1 -1
- package/dist/host/worker-react.js +29 -7
- package/dist/host/worker-react.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/open-kit.d.ts +8 -4
- package/dist/open-kit.d.ts.map +1 -1
- package/dist/open-kit.js +12 -7
- package/dist/open-kit.js.map +1 -1
- package/dist/protocol.d.ts +81 -3
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +16 -2
- package/dist/protocol.js.map +1 -1
- package/dist/worker/view-global.d.ts +3 -4
- package/dist/worker/view-global.d.ts.map +1 -1
- package/dist/worker/view-global.js +5 -3
- package/dist/worker/view-global.js.map +1 -1
- package/dist/worker/view.d.ts.map +1 -1
- package/dist/worker/view.js +2 -1
- package/dist/worker/view.js.map +1 -1
- package/package.json +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.generated.js","sourceRoot":"","sources":["../../src/headless/runtime.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAW,
|
|
1
|
+
{"version":3,"file":"runtime.generated.js","sourceRoot":"","sources":["../../src/headless/runtime.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAW,6tvGAA6tvG,CAAC"}
|
package/dist/headless/runtime.js
CHANGED
|
@@ -69,7 +69,9 @@ const runtime = createViewRuntime({
|
|
|
69
69
|
else if (request.type === "style")
|
|
70
70
|
transcript.css = String(request.css);
|
|
71
71
|
else if (request.type === "navigate" && "place" in request)
|
|
72
|
-
transcript.went.push({ place: String(request.place) });
|
|
72
|
+
transcript.went.push({ place: String(request.place), ...(request.where !== undefined ? { where: plain(request.where) } : {}), ...(request.section !== undefined ? { section: String(request.section) } : {}) });
|
|
73
|
+
else if (request.type === "navigate" && "to" in request)
|
|
74
|
+
transcript.went.push({ record: String(request.to), ...(request.where !== undefined ? { where: plain(request.where) } : {}), ...(request.section !== undefined ? { section: String(request.section) } : {}) });
|
|
73
75
|
},
|
|
74
76
|
act(name, args) {
|
|
75
77
|
transcript.messages += 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/headless/runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/headless/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { GoTo } from "@graview/react/provider";
|
|
2
|
+
import type { Arrival } from "./links.js";
|
|
3
|
+
/**
|
|
4
|
+
* WHERE A VIEW'S NAVIGATE ARRIVES, on whichever face draws it: a record, a
|
|
5
|
+
* place or a kind's list, through the face's own way of going (`useGoTo`),
|
|
6
|
+
* narrowed and to a section as it was judged.
|
|
7
|
+
*/
|
|
8
|
+
export declare function arriveAt(goTo: GoTo | undefined, to: Arrival): void;
|
|
9
|
+
//# sourceMappingURL=arrive-at.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrive-at.d.ts","sourceRoot":"","sources":["../../src/host/arrive-at.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAMlE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHERE A VIEW'S NAVIGATE ARRIVES, on whichever face draws it: a record, a
|
|
3
|
+
* place or a kind's list, through the face's own way of going (`useGoTo`),
|
|
4
|
+
* narrowed and to a section as it was judged.
|
|
5
|
+
*/
|
|
6
|
+
export function arriveAt(goTo, to) {
|
|
7
|
+
if (!goTo)
|
|
8
|
+
return;
|
|
9
|
+
const also = { ...("filter" in to && to.filter ? { filter: to.filter } : {}), ...(to.section ? { section: to.section } : {}) };
|
|
10
|
+
if ("record" in to)
|
|
11
|
+
goTo.record(to.record, also);
|
|
12
|
+
else if ("list" in to)
|
|
13
|
+
goTo.list(to.list, also);
|
|
14
|
+
else
|
|
15
|
+
goTo.place(to.place, also);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=arrive-at.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrive-at.js","sourceRoot":"","sources":["../../src/host/arrive-at.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAsB,EAAE,EAAW;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/H,IAAI,QAAQ,IAAI,EAAE;QAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC5C,IAAI,MAAM,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;QAC3C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/host/arrive.d.ts
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
* asked for again with a URL of its own when it did not arrive (FR-139).
|
|
4
4
|
*/
|
|
5
5
|
export declare const workerChunk: () => Promise<typeof import("./worker.js")>;
|
|
6
|
+
/**
|
|
7
|
+
* The host's half of a frame view — the frame, its session and the theme it
|
|
8
|
+
* reads — fetched when one is first drawn (FR-179), so a page that only
|
|
9
|
+
* registers a `guestView` carries none of it before a face draws one.
|
|
10
|
+
*/
|
|
11
|
+
export declare const frameChunk: () => Promise<typeof import("./frame.js")>;
|
|
6
12
|
/**
|
|
7
13
|
* Load a part, and hand it over once it is here: when it did not arrive —
|
|
8
14
|
* the network away as the view was drawn — it is asked for again when the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrive.d.ts","sourceRoot":"","sources":["../../src/host/arrive.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,WAAW,6CAA8C,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAoB/F"}
|
|
1
|
+
{"version":3,"file":"arrive.d.ts","sourceRoot":"","sources":["../../src/host/arrive.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,WAAW,6CAA8C,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,UAAU,4CAA6D,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAoB/F"}
|
package/dist/host/arrive.js
CHANGED
|
@@ -4,6 +4,12 @@ import { retryingImport } from "@graview/core/retry";
|
|
|
4
4
|
* asked for again with a URL of its own when it did not arrive (FR-139).
|
|
5
5
|
*/
|
|
6
6
|
export const workerChunk = retryingImport(() => import("./worker.js"));
|
|
7
|
+
/**
|
|
8
|
+
* The host's half of a frame view — the frame, its session and the theme it
|
|
9
|
+
* reads — fetched when one is first drawn (FR-179), so a page that only
|
|
10
|
+
* registers a `guestView` carries none of it before a face draws one.
|
|
11
|
+
*/
|
|
12
|
+
export const frameChunk = /* @__PURE__ */ retryingImport(() => import("./frame.js"));
|
|
7
13
|
/**
|
|
8
14
|
* Load a part, and hand it over once it is here: when it did not arrive —
|
|
9
15
|
* the network away as the view was drawn — it is asked for again when the
|
package/dist/host/arrive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrive.js","sourceRoot":"","sources":["../../src/host/arrive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAI,IAAsB,EAAE,IAAyB;IACjF,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,KAAK,IAAI,EAAE,CAAC,IAAI,CACd,CAAC,MAAM,EAAE,EAAE;QACT,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC,EACD,GAAG,EAAE;QACH,IAAI,CAAC,IAAI;YAAE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CACF,CAAC;IACJ,OAAO,EAAE,CAAC;IACV,OAAO,GAAG,EAAE;QACV,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"arrive.js","sourceRoot":"","sources":["../../src/host/arrive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAErF;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAI,IAAsB,EAAE,IAAyB;IACjF,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,KAAK,IAAI,EAAE,CAAC,IAAI,CACd,CAAC,MAAM,EAAE,EAAE;QACT,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC,EACD,GAAG,EAAE;QACH,IAAI,CAAC,IAAI;YAAE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CACF,CAAC;IACJ,OAAO,EAAE,CAAC;IACV,OAAO,GAAG,EAAE;QACV,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/host/frame.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import type { AnySchema, Principal, Store } from "@graview/core";
|
|
2
2
|
import { type GuestPlace, type GuestTheme } from "../protocol.js";
|
|
3
3
|
import { type GuestLimits, type GuestReads, type GuestStats, type GuestViewInput } from "./session.js";
|
|
4
|
+
import type { GuestPictures } from "./pictures.js";
|
|
5
|
+
import type { Arrival } from "./links.js";
|
|
6
|
+
import type { GoTo } from "@graview/react/provider";
|
|
4
7
|
import { type GuestBrand } from "./theme.js";
|
|
8
|
+
export { createGuestHost, createGuestLimiter, readAcross } from "./session.js";
|
|
9
|
+
export { readTheme } from "./theme.js";
|
|
10
|
+
export { GUEST_PROTOCOL, GUEST_SANDBOX, OPAQUE_ORIGIN } from "../protocol.js";
|
|
5
11
|
export interface MountGuestViewOptions<S extends AnySchema> {
|
|
6
12
|
/** Where the guest's code is served. Where that is, and its CSP, are the host's business. */
|
|
7
13
|
readonly url: string;
|
|
@@ -32,11 +38,28 @@ export interface MountGuestViewOptions<S extends AnySchema> {
|
|
|
32
38
|
* again when it changes (`update`).
|
|
33
39
|
*/
|
|
34
40
|
readonly brand?: () => GuestBrand | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* The pictures on the records the guest is handed (FR-175): `true`, or
|
|
43
|
+
* `{ width }`, the widest it draws one in CSS pixels. Each file a record
|
|
44
|
+
* holds is then handed as a `GuestFile` — a picture with `src`, a
|
|
45
|
+
* `data:` image the host made from the bytes it fetched as the viewer
|
|
46
|
+
* (a frame is another origin, where neither the host's path nor its
|
|
47
|
+
* `blob:` loads); a document by its name, type and size. Within
|
|
48
|
+
* `limits.pictureBytes` and `limits.picturesBytes`. Left out, a file is
|
|
49
|
+
* handed as the record keeps it.
|
|
50
|
+
*/
|
|
51
|
+
readonly pictures?: GuestPictures;
|
|
35
52
|
/** The app's named places: what the guest is told of (`props.places`), and may ask to go to by slug. None by default. */
|
|
36
53
|
readonly places?: () => readonly GuestPlace[];
|
|
37
54
|
readonly onNavigate?: (id: string) => void;
|
|
38
55
|
/** The guest asked to go to one of `places`, by its slug. */
|
|
39
56
|
readonly onNavigatePlace?: (as: string) => void;
|
|
57
|
+
/** Where the guest asked to go, judged — a record, a place or a kind's list, narrowed and to a section — in place of `onNavigate` and `onNavigatePlace` (`GuestHostOptions.onArrive`). */
|
|
58
|
+
readonly onArrive?: (to: Arrival) => void;
|
|
59
|
+
/** A navigate went nowhere: the sentence saying why. */
|
|
60
|
+
readonly onLost?: (said: string) => void;
|
|
61
|
+
/** The face's own way of going (`useGoTo`), read when the guest goes: where `onArrive` is not given, the arrival is gone to by it. */
|
|
62
|
+
readonly goTo?: () => GoTo | undefined;
|
|
40
63
|
/** The guest asked for a height. By default the frame takes it. */
|
|
41
64
|
readonly onSize?: (height: number) => void;
|
|
42
65
|
readonly limits?: GuestLimits;
|
package/dist/host/frame.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/host/frame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAA8D,KAAK,UAAU,EAAE,KAAK,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAE9I,OAAO,EAAuD,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/host/frame.ts"],"names":[],"mappings":"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"}
|
package/dist/host/frame.js
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { GUEST_PROTOCOL, GUEST_SANDBOX, OPAQUE_ORIGIN, isGuestReady } from "../protocol.js";
|
|
2
2
|
import { mintNonce } from "./nonce.js";
|
|
3
3
|
import { createGuestHost, createGuestLimiter } from "./session.js";
|
|
4
|
+
import { retryingImport } from "@graview/core/retry";
|
|
5
|
+
import { untilItArrives } from "./arrive.js";
|
|
6
|
+
import { arriveAt } from "./arrive-at.js";
|
|
4
7
|
import { createGuestLogo, readTheme, themeWithBrand, watchTheme } from "./theme.js";
|
|
8
|
+
/* The pictures' host, fetched only for a frame that asks for them (FR-175): a page of frames that do not carries none of it. */
|
|
9
|
+
const picturesChunk = retryingImport(() => import("./pictures.js"));
|
|
10
|
+
/*
|
|
11
|
+
* A FRAME GUEST'S HOST: `@graview/guest/host/frame`. Mounting a frame into
|
|
12
|
+
* any element, the host without the DOM, and the theme read off the page —
|
|
13
|
+
* apart from `@graview/guest/host`, so a page that registers a `guestView`
|
|
14
|
+
* fetches this as the view is first drawn rather than up front (FR-179).
|
|
15
|
+
*/
|
|
16
|
+
export { createGuestHost, createGuestLimiter, readAcross } from "./session.js";
|
|
17
|
+
export { readTheme } from "./theme.js";
|
|
18
|
+
export { GUEST_PROTOCOL, GUEST_SANDBOX, OPAQUE_ORIGIN } from "../protocol.js";
|
|
5
19
|
/**
|
|
6
20
|
* MOUNT A GUEST VIEW: an iframe sandboxed to scripts alone, so its origin
|
|
7
21
|
* is opaque and nothing of the host's is reachable from it, and one
|
|
@@ -57,6 +71,21 @@ export function mountGuestView(element, options) {
|
|
|
57
71
|
if (session && JSON.stringify(theme()) !== pushed)
|
|
58
72
|
push();
|
|
59
73
|
});
|
|
74
|
+
/*
|
|
75
|
+
* The pictures on what it is handed (FR-175), where its host asks:
|
|
76
|
+
* `data:` images, pushed again as each is ready. A guest that says it is
|
|
77
|
+
* ready before their host has arrived is answered once it has, so it is
|
|
78
|
+
* never handed a record's path to a file.
|
|
79
|
+
*/
|
|
80
|
+
let pictures;
|
|
81
|
+
let waiting = false;
|
|
82
|
+
const stopPictures = options.pictures
|
|
83
|
+
? untilItArrives(picturesChunk, ({ createGuestPictures }) => {
|
|
84
|
+
pictures = createGuestPictures(window, { as: "data", view: `"${options.title ?? options.view}"`, pictures: options.pictures, ...(options.limits ? { limits: options.limits } : {}), moved: () => session?.push() });
|
|
85
|
+
if (waiting)
|
|
86
|
+
greet();
|
|
87
|
+
})
|
|
88
|
+
: () => { };
|
|
60
89
|
const end = () => {
|
|
61
90
|
tally();
|
|
62
91
|
session?.dispose();
|
|
@@ -77,6 +106,15 @@ export function mountGuestView(element, options) {
|
|
|
77
106
|
stats.dropped += 1;
|
|
78
107
|
return;
|
|
79
108
|
}
|
|
109
|
+
if (options.pictures && !pictures) {
|
|
110
|
+
waiting = true;
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
greet();
|
|
114
|
+
};
|
|
115
|
+
/* Answer the guest's ready: a fresh nonce and port, the one before closed. */
|
|
116
|
+
const greet = () => {
|
|
117
|
+
waiting = false;
|
|
80
118
|
end();
|
|
81
119
|
const nonce = mintNonce();
|
|
82
120
|
const channel = new MessageChannel();
|
|
@@ -89,10 +127,13 @@ export function mountGuestView(element, options) {
|
|
|
89
127
|
send: (message) => channel.port1.postMessage(message),
|
|
90
128
|
...(options.input ? { input: options.input } : {}),
|
|
91
129
|
...(options.reads ? { reads: options.reads } : {}),
|
|
130
|
+
...(pictures ? { hand: pictures.hand } : {}),
|
|
92
131
|
theme,
|
|
93
|
-
...(options.places ? { places: () => options.places().map((place) => place.as), placesShown: options.places } : {}),
|
|
132
|
+
...(options.places ? { places: () => [...new Set(options.places().map((place) => place.as))], placesShown: options.places } : {}),
|
|
94
133
|
...(options.onNavigatePlace ? { onNavigatePlace: options.onNavigatePlace } : {}),
|
|
95
134
|
...(options.onNavigate ? { onNavigate: options.onNavigate } : {}),
|
|
135
|
+
...(options.onArrive ? { onArrive: options.onArrive } : options.goTo ? { onArrive: (to) => arriveAt(options.goTo(), to) } : {}),
|
|
136
|
+
...(options.onLost ? { onLost: options.onLost } : {}),
|
|
96
137
|
onSize: options.onSize ?? ((height) => (iframe.style.height = `${height}px`)),
|
|
97
138
|
...(options.limits ? { limits: options.limits } : {}),
|
|
98
139
|
limiter,
|
|
@@ -124,6 +165,8 @@ export function mountGuestView(element, options) {
|
|
|
124
165
|
end();
|
|
125
166
|
unwatch();
|
|
126
167
|
logo.dispose();
|
|
168
|
+
stopPictures();
|
|
169
|
+
pictures?.dispose();
|
|
127
170
|
window.removeEventListener("message", onMessage);
|
|
128
171
|
iframe.remove();
|
|
129
172
|
},
|
package/dist/host/frame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/host/frame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAoD,MAAM,gBAAgB,CAAC;AAC9I,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAA2F,MAAM,cAAc,CAAC;AAC5J,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAmB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/host/frame.ts"],"names":[],"mappings":"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"}
|
package/dist/host/index.d.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
export { mountGuestView } from "./frame.js";
|
|
2
1
|
export type { GuestFrame, MountGuestViewOptions } from "./frame.js";
|
|
3
|
-
export { createGuestHost, createGuestLimiter, readAcross } from "./session.js";
|
|
4
2
|
export type { GuestHost, GuestHostOptions, GuestLimiter, GuestLimits, GuestReads, GuestStats, GuestViewInput } from "./session.js";
|
|
5
|
-
export {
|
|
3
|
+
export type { GuestPictureLimits, GuestPictures } from "./pictures.js";
|
|
6
4
|
export type { GuestBrand } from "./theme.js";
|
|
7
5
|
export type { GuestWorker, GuestWorkerFailure, GuestWorkerSource, MountGuestWorkerOptions } from "./worker.js";
|
|
8
6
|
export type { KitLinks, KitRefusal, KitRefusalReason, KitRenderer, KitRendererOptions } from "./kit.js";
|
|
9
7
|
export type { GuestKitElement, Kit, KitComponent, KitEvent, KitProperty, KitPropertyType, KitTone } from "../kit.js";
|
|
10
8
|
export { guestView } from "./react.js";
|
|
11
9
|
export type { GuestViewOptions } from "./react.js";
|
|
12
|
-
export {
|
|
13
|
-
export type { GuestPlace, GuestProps, GuestTheme } from "../protocol.js";
|
|
10
|
+
export type { GuestFile, GuestPlace, GuestProps, GuestTheme } from "../protocol.js";
|
|
14
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/host/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnI,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC/G,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACxG,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMnD,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/host/index.js
CHANGED
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
export { mountGuestView } from "./frame.js";
|
|
2
|
-
export { createGuestHost, createGuestLimiter, readAcross } from "./session.js";
|
|
3
|
-
export { readTheme } from "./theme.js";
|
|
4
1
|
export { guestView } from "./react.js";
|
|
5
|
-
/*
|
|
6
|
-
* A worker view as a place (FR-91–FR-96) — registering one, and judging
|
|
7
|
-
* what it may be handed, ask and run — is `@graview/guest/host/views`, so a
|
|
8
|
-
* page that draws only frames carries none of it.
|
|
9
|
-
*/
|
|
10
|
-
export { GUEST_PROTOCOL, GUEST_SANDBOX, OPAQUE_ORIGIN } from "../protocol.js";
|
|
11
2
|
//# sourceMappingURL=index.js.map
|
package/dist/host/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** Where a view asked to go. */
|
|
2
|
+
export type Destination = {
|
|
3
|
+
readonly record: string;
|
|
4
|
+
readonly where?: unknown;
|
|
5
|
+
readonly section?: unknown;
|
|
6
|
+
} | {
|
|
7
|
+
readonly place: string;
|
|
8
|
+
readonly where?: unknown;
|
|
9
|
+
readonly section?: unknown;
|
|
10
|
+
};
|
|
11
|
+
/** A place as a link names it and a sentence says it: its slug, and the title a reader knows it by. */
|
|
12
|
+
export interface NamedPlace {
|
|
13
|
+
readonly as: string;
|
|
14
|
+
readonly title?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* THE PLACE A VIEW NAMES — by its slug, or by its title in any case, or by
|
|
18
|
+
* the title's slug (2026-10-15): a home that links `data-place="Songs by
|
|
19
|
+
* writer"` goes where `data-place="songs-by-writer"` does.
|
|
20
|
+
*/
|
|
21
|
+
export declare function placeNamed<P extends NamedPlace>(places: readonly P[], asked: string): P | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* THE PLACES A HOST HANDS, AS A GUEST READS THEM: a guest's place (`as`),
|
|
24
|
+
* or a place as an app lists it (`placesOf`: `slug`), each with its title
|
|
25
|
+
* and kind. One with no word to go to by is passed over, rather than said
|
|
26
|
+
* as "undefined" (2026-10-15).
|
|
27
|
+
*/
|
|
28
|
+
export declare function guestPlacesOf(places: readonly unknown[]): {
|
|
29
|
+
readonly as: string;
|
|
30
|
+
readonly title: string;
|
|
31
|
+
readonly kind: string;
|
|
32
|
+
}[];
|
|
33
|
+
/** The app's places, as a sentence ends with them: each by its slug, and its title where that says more. */
|
|
34
|
+
export declare const placesSaid: (places: readonly (string | NamedPlace)[]) => string;
|
|
35
|
+
/** At most 80 characters of what a view asked for, ending "…" where it was cut: the sentence reaches the host's problems, and a view may ask for anything. */
|
|
36
|
+
export declare const quoted: (asked: string) => string;
|
|
37
|
+
/** Why a destination goes nowhere, naming where it could go. */
|
|
38
|
+
export declare const nowhere: (to: Destination, places: readonly (string | NamedPlace)[]) => string;
|
|
39
|
+
/** A link's `data-filter`, in the address's words (`stage:building,owner:user:ada`), as the `where` it says. */
|
|
40
|
+
export declare function whereOfWords(words: string): Readonly<Record<string, string>>;
|
|
41
|
+
//# sourceMappingURL=links-words.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links-words.d.ts","sourceRoot":"","sources":["../../src/host/links-words.ts"],"names":[],"mappings":"AAMA,gCAAgC;AAChC,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAErF,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAMnG;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAUlI;AAED,4GAA4G;AAC5G,eAAO,MAAM,UAAU,GAAI,QAAQ,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,WACuI,CAAC;AAE3M,8JAA8J;AAC9J,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,WAAgE,CAAC;AAErG,gEAAgE;AAChE,eAAO,MAAM,OAAO,GAAI,IAAI,WAAW,EAAE,QAAQ,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,WACkG,CAAC;AAEpL,gHAAgH;AAChH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAO5E"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* THE WORDS A LINK THAT GOES NOWHERE IS SAID IN — a file of its own, with
|
|
3
|
+
* nothing imported, because a headless run's isolate says them too and
|
|
4
|
+
* carries no schema (headless/judge.ts); the judging is `./links.ts`'s.
|
|
5
|
+
*/
|
|
6
|
+
/** A title as an address word: "Songs by writer" is `songs-by-writer`, as core's `placeSlug` makes it. */
|
|
7
|
+
const slugOf = (words) => words.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
8
|
+
/**
|
|
9
|
+
* THE PLACE A VIEW NAMES — by its slug, or by its title in any case, or by
|
|
10
|
+
* the title's slug (2026-10-15): a home that links `data-place="Songs by
|
|
11
|
+
* writer"` goes where `data-place="songs-by-writer"` does.
|
|
12
|
+
*/
|
|
13
|
+
export function placeNamed(places, asked) {
|
|
14
|
+
const bySlug = places.find((place) => place.as === asked);
|
|
15
|
+
if (bySlug)
|
|
16
|
+
return bySlug;
|
|
17
|
+
const lower = asked.trim().toLowerCase();
|
|
18
|
+
const slug = slugOf(asked);
|
|
19
|
+
return places.find((place) => place.title !== undefined && place.title.trim().toLowerCase() === lower) ?? (slug ? places.find((place) => place.as === slug || (place.title !== undefined && slugOf(place.title) === slug)) : undefined);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* THE PLACES A HOST HANDS, AS A GUEST READS THEM: a guest's place (`as`),
|
|
23
|
+
* or a place as an app lists it (`placesOf`: `slug`), each with its title
|
|
24
|
+
* and kind. One with no word to go to by is passed over, rather than said
|
|
25
|
+
* as "undefined" (2026-10-15).
|
|
26
|
+
*/
|
|
27
|
+
export function guestPlacesOf(places) {
|
|
28
|
+
const out = [];
|
|
29
|
+
for (const place of places) {
|
|
30
|
+
if (typeof place !== "object" || place === null)
|
|
31
|
+
continue;
|
|
32
|
+
const { as, slug, title, kind } = place;
|
|
33
|
+
const word = typeof as === "string" && as.length > 0 ? as : typeof slug === "string" && slug.length > 0 ? slug : undefined;
|
|
34
|
+
if (!word || out.some((one) => one.as === word))
|
|
35
|
+
continue;
|
|
36
|
+
out.push({ as: word, title: typeof title === "string" ? title : word, kind: typeof kind === "string" ? kind : "" });
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
/** The app's places, as a sentence ends with them: each by its slug, and its title where that says more. */
|
|
41
|
+
export const placesSaid = (places) => ` Its places: ${places.map((place) => (typeof place === "string" ? `"${place}"` : place.title && place.title !== place.as ? `"${place.as}" (${place.title})` : `"${place.as}"`)).join(", ") || "none"}.`;
|
|
42
|
+
/** At most 80 characters of what a view asked for, ending "…" where it was cut: the sentence reaches the host's problems, and a view may ask for anything. */
|
|
43
|
+
export const quoted = (asked) => `"${asked.length > 80 ? `${asked.slice(0, 79)}…` : asked}"`;
|
|
44
|
+
/** Why a destination goes nowhere, naming where it could go. */
|
|
45
|
+
export const nowhere = (to, places) => `${"place" in to ? `The place ${quoted(to.place)}` : `${quoted(to.record)} is no record this viewer may see and`} is no place of this app: it goes nowhere.${placesSaid(places)}`;
|
|
46
|
+
/** A link's `data-filter`, in the address's words (`stage:building,owner:user:ada`), as the `where` it says. */
|
|
47
|
+
export function whereOfWords(words) {
|
|
48
|
+
const out = {};
|
|
49
|
+
for (const part of words.split(",")) {
|
|
50
|
+
const colon = part.indexOf(":");
|
|
51
|
+
if (colon > 0)
|
|
52
|
+
out[part.slice(0, colon).trim()] = part.slice(colon + 1).trim();
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=links-words.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links-words.js","sourceRoot":"","sources":["../../src/host/links-words.ts"],"names":[],"mappings":"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"}
|
package/dist/host/links.d.ts
CHANGED
|
@@ -1,16 +1,39 @@
|
|
|
1
|
+
import { type AnySchema } from "@graview/core";
|
|
1
2
|
import type { GuestPlace } from "../protocol.js";
|
|
2
|
-
export
|
|
3
|
+
export { nowhere, placesSaid, quoted, whereOfWords } from "./links-words.js";
|
|
4
|
+
export type { Destination } from "./links-words.js";
|
|
5
|
+
import type { Destination } from "./links-words.js";
|
|
6
|
+
/** Where the host goes, judged: a record, a place, or a kind's list — narrowed and to a section, as asked. */
|
|
7
|
+
export type Arrival = {
|
|
3
8
|
readonly record: string;
|
|
9
|
+
readonly section?: string;
|
|
4
10
|
} | {
|
|
5
11
|
readonly place: string;
|
|
12
|
+
readonly filter?: string;
|
|
13
|
+
readonly section?: string;
|
|
14
|
+
} | {
|
|
15
|
+
readonly list: string;
|
|
16
|
+
readonly filter?: string;
|
|
17
|
+
readonly section?: string;
|
|
6
18
|
};
|
|
19
|
+
/** A kind's list, as a view may name it: by its plural's slug (`features`) or the kind's name. */
|
|
20
|
+
export interface GuestList {
|
|
21
|
+
readonly slug: string;
|
|
22
|
+
readonly kind: string;
|
|
23
|
+
}
|
|
24
|
+
/** Every kind's list a viewer sees, by the address its list has (`/<plural>`). */
|
|
25
|
+
export declare function listsOf(schema: AnySchema, kept?: ReadonlySet<string>): readonly GuestList[];
|
|
7
26
|
export interface LinksOptions {
|
|
8
27
|
/** Whether the viewer may see a record. */
|
|
9
28
|
readonly sees: (id: string) => boolean;
|
|
10
29
|
/** The app's named places. */
|
|
11
30
|
readonly places: () => readonly GuestPlace[];
|
|
12
|
-
/**
|
|
13
|
-
readonly
|
|
31
|
+
/** The kinds' lists the viewer may go to; none unless given. */
|
|
32
|
+
readonly lists?: () => readonly GuestList[];
|
|
33
|
+
/** The schema a filter is held to; no filter is followed without it. */
|
|
34
|
+
readonly schema?: AnySchema;
|
|
35
|
+
/** Go: the face's own way to a record, a place or a list. */
|
|
36
|
+
readonly onNavigate?: (to: Arrival) => void;
|
|
14
37
|
/** It went nowhere: the sentence saying why. */
|
|
15
38
|
readonly onLost?: (said: string) => void;
|
|
16
39
|
}
|
|
@@ -22,11 +45,22 @@ export interface Links {
|
|
|
22
45
|
/** Go somewhere: a record the viewer may see, else a place by that slug. Whether it went; where it did not, `onLost` hears why. */
|
|
23
46
|
go(to: Destination): boolean;
|
|
24
47
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
48
|
+
export interface JudgeDestinationInput {
|
|
49
|
+
readonly sees: (id: string) => boolean;
|
|
50
|
+
readonly places: readonly GuestPlace[];
|
|
51
|
+
readonly lists: readonly GuestList[];
|
|
52
|
+
readonly schema?: AnySchema;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* WHERE A VIEW ASKED TO GO, JUDGED — by the live host and by a headless run
|
|
56
|
+
* alike: the arrival, or the sentence saying why it goes nowhere.
|
|
57
|
+
*/
|
|
58
|
+
export declare function judgeDestination(to: Destination, input: JudgeDestinationInput): {
|
|
59
|
+
readonly ok: true;
|
|
60
|
+
readonly arrival: Arrival;
|
|
61
|
+
} | {
|
|
62
|
+
readonly ok: false;
|
|
63
|
+
readonly says: string;
|
|
64
|
+
};
|
|
31
65
|
export declare function createLinks(options: LinksOptions): Links;
|
|
32
66
|
//# sourceMappingURL=links.d.ts.map
|
package/dist/host/links.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/host/links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/host/links.ts"],"names":[],"mappings":"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"}
|