@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
package/dist/host/links.js
CHANGED
|
@@ -1,20 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { kindPath } from "@graview/core";
|
|
2
|
+
import { sectionSlug } from "@graview/core/navigate";
|
|
3
|
+
import { filterOfWhere } from "./where.js";
|
|
4
|
+
import { nowhere, placeNamed, quoted, whereOfWords } from "./links-words.js";
|
|
5
|
+
export { nowhere, placesSaid, quoted, whereOfWords } from "./links-words.js";
|
|
6
|
+
/** Every kind's list a viewer sees, by the address its list has (`/<plural>`). */
|
|
7
|
+
export function listsOf(schema, kept = new Set()) {
|
|
8
|
+
return schema.kinds.filter((kind) => !kept.has(kind)).map((kind) => ({ slug: kindPath(schema, kind).slice(1), kind }));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* WHERE A VIEW ASKED TO GO, JUDGED — by the live host and by a headless run
|
|
12
|
+
* alike: the arrival, or the sentence saying why it goes nowhere.
|
|
13
|
+
*/
|
|
14
|
+
export function judgeDestination(to, input) {
|
|
15
|
+
const placeSlugs = [...new Set(input.places.map((place) => place.as))];
|
|
16
|
+
const listSlugs = input.lists.map((list) => list.slug).filter((slug) => !placeSlugs.includes(slug));
|
|
17
|
+
/* A section is a heading's words or an element's id: some letters or digits, and not a paragraph. */
|
|
18
|
+
let section;
|
|
19
|
+
if (to.section !== undefined && to.section !== null) {
|
|
20
|
+
if (typeof to.section !== "string" || sectionSlug(to.section).length === 0 || to.section.length > 120) {
|
|
21
|
+
return { ok: false, says: `The section ${typeof to.section === "string" ? quoted(to.section) : "asked for"} names nothing on a page: a section is a heading's words or an element's id, like "shipping-soon". It goes nowhere.` };
|
|
22
|
+
}
|
|
23
|
+
section = to.section;
|
|
24
|
+
}
|
|
25
|
+
const also = section !== undefined ? { section } : {};
|
|
26
|
+
/* A record the viewer may see first, then a place by that slug. */
|
|
27
|
+
if ("record" in to && input.sees(to.record)) {
|
|
28
|
+
if (to.where !== undefined && to.where !== null)
|
|
29
|
+
return { ok: false, says: `${quoted(to.record)} is one record, and a filter narrows a list or a place: it goes nowhere. Go to { place, where } for a list narrowed.` };
|
|
30
|
+
return { ok: true, arrival: { record: to.record, ...also } };
|
|
31
|
+
}
|
|
32
|
+
const asked = "place" in to ? to.place : to.record;
|
|
33
|
+
const place = placeNamed(input.places, asked);
|
|
34
|
+
const list = place ? undefined : input.lists.find((one) => one.slug === asked || one.kind === asked);
|
|
35
|
+
if (!place && !list)
|
|
36
|
+
return { ok: false, says: `${nowhere(to, input.places.filter((one, at, all) => all.findIndex((other) => other.as === one.as) === at))}${listsSaid(listSlugs)}` };
|
|
37
|
+
const kinds = place ? [place.kind] : [list.kind];
|
|
38
|
+
let filter;
|
|
39
|
+
if (to.where !== undefined && to.where !== null) {
|
|
40
|
+
if (!input.schema)
|
|
41
|
+
return { ok: false, says: `The place ${quoted(asked)} cannot be narrowed here: it goes nowhere.` };
|
|
42
|
+
const judged = filterOfWhere(input.schema, kinds, to.where, { through: list !== undefined });
|
|
43
|
+
if (!judged.ok)
|
|
44
|
+
return { ok: false, says: `The filter on ${quoted(asked)} goes nowhere: ${judged.says}` };
|
|
45
|
+
filter = judged.filter;
|
|
46
|
+
}
|
|
47
|
+
const narrowed = filter ? { filter } : {};
|
|
48
|
+
return { ok: true, arrival: place ? { place: place.as, ...narrowed, ...also } : { list: list.kind, ...narrowed, ...also } };
|
|
49
|
+
}
|
|
50
|
+
/** The kinds' lists, as a sentence ends with them: the first eight, and how many more. */
|
|
51
|
+
const listsSaid = (slugs) => slugs.length === 0 ? "" : ` Its lists: ${slugs.slice(0, 8).map((slug) => `"${slug}"`).join(", ")}${slugs.length > 8 ? ` and ${slugs.length - 8} more` : ""}.`;
|
|
7
52
|
export function createLinks(options) {
|
|
8
53
|
const go = (to) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const ok = place === undefined || slugs.includes(place);
|
|
13
|
-
if (ok)
|
|
14
|
-
options.onNavigate?.(place === undefined ? to : { place });
|
|
54
|
+
const judged = judgeDestination(to, { sees: options.sees, places: options.places(), lists: options.lists?.() ?? [], ...(options.schema ? { schema: options.schema } : {}) });
|
|
55
|
+
if (judged.ok)
|
|
56
|
+
options.onNavigate?.(judged.arrival);
|
|
15
57
|
else
|
|
16
|
-
options.onLost?.(
|
|
17
|
-
return ok;
|
|
58
|
+
options.onLost?.(judged.says);
|
|
59
|
+
return judged.ok;
|
|
18
60
|
};
|
|
19
61
|
return {
|
|
20
62
|
link(anchor) {
|
|
@@ -35,10 +77,13 @@ export function createLinks(options) {
|
|
|
35
77
|
follow(anchor) {
|
|
36
78
|
const record = anchor.getAttribute("data-record");
|
|
37
79
|
const place = anchor.getAttribute("data-place");
|
|
80
|
+
const filter = anchor.getAttribute("data-filter");
|
|
81
|
+
const section = anchor.getAttribute("data-section");
|
|
82
|
+
const also = { ...(filter ? { where: whereOfWords(filter) } : {}), ...(section ? { section } : {}) };
|
|
38
83
|
if (record)
|
|
39
|
-
go({ record });
|
|
84
|
+
go({ record, ...also });
|
|
40
85
|
else if (place)
|
|
41
|
-
go({ place });
|
|
86
|
+
go({ place, ...also });
|
|
42
87
|
},
|
|
43
88
|
go,
|
|
44
89
|
};
|
package/dist/host/links.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/host/links.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/host/links.ts"],"names":[],"mappings":"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"}
|
package/dist/host/manifest.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AnySchema, Principal, Store } from "@graview/core";
|
|
2
2
|
import type { GuestPlace, GuestProps, GuestTheme } from "../protocol.js";
|
|
3
|
+
import type { GuestPictures } from "./pictures.js";
|
|
3
4
|
import { type GuestViewInput } from "./session.js";
|
|
4
5
|
/** An act a view may ask for, with what the host fills in for it (FR-92). */
|
|
5
6
|
export interface ManifestAct {
|
|
@@ -30,6 +31,16 @@ export interface WorkerViewManifest {
|
|
|
30
31
|
* the view. Only for `cardinality: "one"` on a kind.
|
|
31
32
|
*/
|
|
32
33
|
readonly replaces?: "page";
|
|
34
|
+
/**
|
|
35
|
+
* The pictures on the records it is handed (FR-175): `true`, or
|
|
36
|
+
* `{ width }`, the widest it draws a picture in CSS pixels (1 200 by
|
|
37
|
+
* default). Each file a record holds is then handed as a `GuestFile` —
|
|
38
|
+
* a picture with `src`, an address the host made from the bytes, made
|
|
39
|
+
* smaller where it is wider than `width`; a document by its name, type
|
|
40
|
+
* and size — never as the host's path to it. Left out, a file is handed
|
|
41
|
+
* as the record keeps it.
|
|
42
|
+
*/
|
|
43
|
+
readonly pictures?: GuestPictures;
|
|
33
44
|
}
|
|
34
45
|
/** An act of a manifest, said in full. */
|
|
35
46
|
export declare function manifestActs(manifest: WorkerViewManifest): readonly ManifestAct[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/host/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAuB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/host/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAuB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AA6B1E,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gIAAgI;IAChI,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAChF,oHAAoH;IACpH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5F,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IAClD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;CACnC;AAaD,0CAA0C;AAC1C,wBAAgB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,WAAW,EAAE,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,MAAM,EAAE,CAuBnH;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,GAAG,UAAU,CAoDnI"}
|
package/dist/host/manifest.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { plainNode, readAcross } from "./session.js";
|
|
2
|
+
/** What `pictures` asks for, said wrongly, in sentences; empty when it is sound. */
|
|
3
|
+
function picturesProblems(pictures) {
|
|
4
|
+
if (pictures === undefined || pictures === true)
|
|
5
|
+
return [];
|
|
6
|
+
if (typeof pictures !== "object" || pictures === null || Array.isArray(pictures))
|
|
7
|
+
return ['The view\'s pictures is true, or { "width": <the widest it draws a picture, in pixels> }.'];
|
|
8
|
+
const { width, ...rest } = pictures;
|
|
9
|
+
const problems = [];
|
|
10
|
+
if (Object.keys(rest).length > 0)
|
|
11
|
+
problems.push(`The view's pictures says ${Object.keys(rest).map((key) => `"${key}"`).join(", ")}: only "width" is read.`);
|
|
12
|
+
if (width !== undefined && !(Number.isInteger(width) && width >= 16 && width <= 4_096))
|
|
13
|
+
problems.push("The view's pictures width is a whole number of pixels from 16 to 4096.");
|
|
14
|
+
return problems;
|
|
15
|
+
}
|
|
2
16
|
/** An act of a manifest, said in full. */
|
|
3
17
|
export function manifestActs(manifest) {
|
|
4
18
|
return (manifest.acts ?? []).map((one) => (typeof one === "string" ? { act: one } : one));
|
|
@@ -27,6 +41,7 @@ export function checkManifest(manifest, store) {
|
|
|
27
41
|
findings.push(`The view's replaces is "${String(manifest.replaces)}": the one thing a view replaces is "page", or leave it out to draw the view above the record's own fields.`);
|
|
28
42
|
else if (manifest.replaces === "page" && (manifest.attach === "home" || manifest.cardinality !== "one"))
|
|
29
43
|
findings.push('Only a view of one record replaces its page: replaces "page" needs cardinality one on a kind.');
|
|
44
|
+
findings.push(...picturesProblems(manifest.pictures));
|
|
30
45
|
for (const kind of manifest.reads?.kinds ?? [])
|
|
31
46
|
if (!kinds.has(kind))
|
|
32
47
|
findings.push(`The view reads "${kind}", which is no kind of this app.`);
|
|
@@ -101,7 +116,8 @@ export function workerViewProps(store, principal, given) {
|
|
|
101
116
|
...(input.flagged ? { flagged: visible(input.flagged) } : {}),
|
|
102
117
|
acts,
|
|
103
118
|
...(given.theme ? { theme: given.theme } : {}),
|
|
104
|
-
|
|
119
|
+
// A link names a place by its slug, so each slug once: a picture over several kinds is one place to a view.
|
|
120
|
+
...(given.places ? { places: given.places.filter((place, at, all) => all.findIndex((other) => other.as === place.as) === at).map(({ as, title, kind }) => ({ as, title, kind })) } : {}),
|
|
105
121
|
};
|
|
106
122
|
}
|
|
107
123
|
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/host/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/host/manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/host/open-draw.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ export interface OpenDrawingOptions {
|
|
|
9
9
|
readonly origin: string;
|
|
10
10
|
/** Where an image the app holds is loaded from (JudgeContext.asset). */
|
|
11
11
|
readonly asset?: (path: string) => string | undefined;
|
|
12
|
+
/** The origins an image may be loaded from by its `https:` address (JudgeContext.imageOrigins). */
|
|
13
|
+
readonly imageOrigins?: readonly string[];
|
|
14
|
+
/** Something the view drew was refused, as it was. */
|
|
15
|
+
readonly onRefused?: (refusal: OpenRefusal) => void;
|
|
12
16
|
readonly maxNodes?: number;
|
|
13
17
|
readonly onOverBudget?: () => void;
|
|
14
18
|
/** Tell the view what the viewer did. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-draw.d.ts","sourceRoot":"","sources":["../../src/host/open-draw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUzE,mHAAmH;AACnH,eAAO,MAAM,UAAU,8VAItB,CAAC;AAMF,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;CAC5G;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1H,MAAM,WAAW,WAAW;IAC1B,+GAA+G;IAC/G,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC;IACxD,iEAAiE;IACjE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,iHAAiH;AACjH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"open-draw.d.ts","sourceRoot":"","sources":["../../src/host/open-draw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUzE,mHAAmH;AACnH,eAAO,MAAM,UAAU,8VAItB,CAAC;AAMF,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACtD,mGAAmG;IACnG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;CAC5G;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1H,MAAM,WAAW,WAAW;IAC1B,+GAA+G;IAC/G,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC;IACxD,iEAAiE;IACjE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,iHAAiH;AACjH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAoF9F"}
|
package/dist/host/open-draw.js
CHANGED
|
@@ -30,6 +30,8 @@ export function createOpenDrawing(shadow, options) {
|
|
|
30
30
|
const renderer = createOpenRenderer(into, {
|
|
31
31
|
origin: options.origin,
|
|
32
32
|
...(options.asset ? { asset: options.asset } : {}),
|
|
33
|
+
...(options.imageOrigins ? { imageOrigins: options.imageOrigins } : {}),
|
|
34
|
+
...(options.onRefused ? { onRefused: options.onRefused } : {}),
|
|
33
35
|
...(options.maxNodes !== undefined ? { maxNodes: options.maxNodes } : {}),
|
|
34
36
|
...(options.onOverBudget ? { onOverBudget: options.onOverBudget } : {}),
|
|
35
37
|
decorate: (element, name, namespace) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-draw.js","sourceRoot":"","sources":["../../src/host/open-draw.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAmB,MAAM,UAAU,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,kBAAkB,CAAC;AAEzE;;;;;;GAMG;AAEH,mHAAmH;AACnH,MAAM,CAAC,MAAM,UAAU,GAAG;;;;CAIzB,CAAC;AAEF,4GAA4G;AAC5G,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACjH,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"open-draw.js","sourceRoot":"","sources":["../../src/host/open-draw.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,8 @@ export interface OpenRefusal {
|
|
|
23
23
|
readonly element?: string;
|
|
24
24
|
readonly name?: string;
|
|
25
25
|
readonly css?: CssRefusal;
|
|
26
|
+
/** The address an image asked for and was refused, as far as 200 characters: said, so its author knows which. */
|
|
27
|
+
readonly address?: string;
|
|
26
28
|
}
|
|
27
29
|
/** An element as the host draws it, or a refusal. */
|
|
28
30
|
export declare function judgeElement(name: string, parent: OpenNamespace): {
|
|
@@ -43,7 +45,21 @@ export interface JudgeContext {
|
|
|
43
45
|
* draws only `data:` images and the page's own `blob:`.
|
|
44
46
|
*/
|
|
45
47
|
readonly asset?: (path: string) => string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* The origins an image may be loaded from by its `https:` address, as the
|
|
50
|
+
* host lists them (`https://upload.wikimedia.org`): none by default.
|
|
51
|
+
* Drawn with no referrer, so the page's own address goes nowhere.
|
|
52
|
+
*/
|
|
53
|
+
readonly imageOrigins?: readonly string[];
|
|
46
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* WHY AN IMAGE'S ADDRESS WAS NOT DRAWN, in a sentence for its author: the
|
|
57
|
+
* address, and the ways a view may show an image — where an `https:` one
|
|
58
|
+
* is on an origin the host does not list, which origins it does.
|
|
59
|
+
*/
|
|
60
|
+
export declare function imageRefusedWords(address: string, origins?: readonly string[]): string;
|
|
61
|
+
/** The origins of a host's list that are `https:` origins, as the URL parser says them; anything else in it is no origin. */
|
|
62
|
+
export declare function imageOriginsOf(listed: readonly string[] | undefined): readonly string[];
|
|
47
63
|
/**
|
|
48
64
|
* An attribute as the host draws it: its canonical name and value, `null`
|
|
49
65
|
* to draw it removed, or a refusal. A value the view sets to `null` (Remote
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-judge.d.ts","sourceRoot":"","sources":["../../src/host/open-judge.ts"],"names":[],"mappings":"AAaA,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAQhF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,CAAC;AAE3C,kDAAkD;AAClD,MAAM,MAAM,iBAAiB;AAC3B,yFAAyF;AACvF,SAAS;AACX,8GAA8G;GAC5G,WAAW;AACb,qGAAqG;GACnG,OAAO;AACT,yFAAyF;GACvF,KAAK;AACP,wGAAwG;GACtG,KAAK;AACP,wCAAwC;GACtC,OAAO;AACT,gFAAgF;GAC9E,QAAQ;AACV,2CAA2C;GACzC,QAAQ,CAAC;AAEb,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAUxL;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9E;AAUD,MAAM,WAAW,YAAY;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"open-judge.d.ts","sourceRoot":"","sources":["../../src/host/open-judge.ts"],"names":[],"mappings":"AAaA,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAQhF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,CAAC;AAE3C,kDAAkD;AAClD,MAAM,MAAM,iBAAiB;AAC3B,yFAAyF;AACvF,SAAS;AACX,8GAA8G;GAC5G,WAAW;AACb,qGAAqG;GACnG,OAAO;AACT,yFAAyF;GACvF,KAAK;AACP,wGAAwG;GACtG,KAAK;AACP,wCAAwC;GACtC,OAAO;AACT,gFAAgF;GAC9E,QAAQ;AACV,2CAA2C;GACzC,QAAQ,CAAC;AAEb,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAC1B,iHAAiH;IACjH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAUxL;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9E;AAUD,MAAM,WAAW,YAAY;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACtD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAU1F;AAED,6HAA6H;AAC7H,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CASvF;AAcD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAYzI"}
|
package/dist/host/open-judge.js
CHANGED
|
@@ -25,6 +25,48 @@ const FRAGMENT = /^#[A-Za-z_][A-Za-z0-9_.:-]*$/;
|
|
|
25
25
|
const DATA_IMAGE = /^data:image\/(png|gif|jpeg|webp|avif|bmp|svg\+xml)(;[A-Za-z0-9=._+-]+)*,/i;
|
|
26
26
|
/* An image the app itself holds, by content address: what `add_image` answers, and nothing else under the app. */
|
|
27
27
|
const APP_IMAGE = /^\/graview\/assets\/[0-9a-f]{64}\.(png|gif|jpe?g|webp|avif|svg|ico)$/;
|
|
28
|
+
/**
|
|
29
|
+
* WHY AN IMAGE'S ADDRESS WAS NOT DRAWN, in a sentence for its author: the
|
|
30
|
+
* address, and the ways a view may show an image — where an `https:` one
|
|
31
|
+
* is on an origin the host does not list, which origins it does.
|
|
32
|
+
*/
|
|
33
|
+
export function imageRefusedWords(address, origins = []) {
|
|
34
|
+
const shown = address.length > 120 ? `${address.slice(0, 119)}…` : address;
|
|
35
|
+
const web = /^https:\/\//i.test(address);
|
|
36
|
+
const listed = imageOriginsOf(origins);
|
|
37
|
+
const why = web
|
|
38
|
+
? listed.length > 0
|
|
39
|
+
? ` Its origin is not one the host lists for images (${listed.join(", ")}).`
|
|
40
|
+
: " The host lists no origin a view's images may come from."
|
|
41
|
+
: "";
|
|
42
|
+
return `The image "${shown}" was not drawn.${why} A view shows a data: image, the app's own image (/graview/assets/…), a picture on a record (pictures in its manifest), or an https: image on an origin the host lists (images.origins).`;
|
|
43
|
+
}
|
|
44
|
+
/** The origins of a host's list that are `https:` origins, as the URL parser says them; anything else in it is no origin. */
|
|
45
|
+
export function imageOriginsOf(listed) {
|
|
46
|
+
return (listed ?? []).flatMap((origin) => {
|
|
47
|
+
try {
|
|
48
|
+
const parsed = new URL(origin);
|
|
49
|
+
return parsed.protocol === "https:" && parsed.hostname !== "" && parsed.username === "" && parsed.password === "" ? [parsed.origin] : [];
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/** An image's `https:` address on an origin the host lists, as the URL parser says it; nothing where it is not one. */
|
|
57
|
+
function listedImage(value, origins) {
|
|
58
|
+
if (!origins || origins.length === 0 || !/^https:\/\//i.test(value))
|
|
59
|
+
return undefined;
|
|
60
|
+
try {
|
|
61
|
+
const parsed = new URL(value);
|
|
62
|
+
if (parsed.protocol !== "https:" || parsed.username !== "" || parsed.password !== "")
|
|
63
|
+
return undefined;
|
|
64
|
+
return imageOriginsOf(origins).includes(parsed.origin) ? parsed.href : undefined;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
28
70
|
/**
|
|
29
71
|
* An attribute as the host draws it: its canonical name and value, `null`
|
|
30
72
|
* to draw it removed, or a refusal. A value the view sets to `null` (Remote
|
|
@@ -41,7 +83,7 @@ export function judgeAttribute(namespace, element, name, value, context) {
|
|
|
41
83
|
return { name: found.name, value: null };
|
|
42
84
|
const judged = judgeValue(found.name, found.kind, value, context);
|
|
43
85
|
if ("refused" in judged)
|
|
44
|
-
return { refused: { ...judged.refused, element } };
|
|
86
|
+
return { refused: { ...judged.refused, element, ...(found.kind === "image" && judged.refused.reason === "url" ? { address: value.slice(0, 200) } : {}) } };
|
|
45
87
|
/* What the app's chrome and notices speak with stays the app's (ADR 0007: a view never uses the app's bar or notices). */
|
|
46
88
|
if (found.name === "role" && judged.value.split(/\s+/).some((role) => REFUSED_ROLES.includes(role.toLowerCase())))
|
|
47
89
|
return { refused: { reason: "value", element, name } };
|
|
@@ -70,6 +112,10 @@ function judgeValue(name, kind, value, context) {
|
|
|
70
112
|
if (address)
|
|
71
113
|
return { value: address };
|
|
72
114
|
}
|
|
115
|
+
/* An https: address on an origin the host lists for images (2026-10-15): the host chose to let the page ask it, and asks with no referrer. */
|
|
116
|
+
const listed = listedImage(value, context.imageOrigins);
|
|
117
|
+
if (listed)
|
|
118
|
+
return { value: listed };
|
|
73
119
|
return refused("url");
|
|
74
120
|
}
|
|
75
121
|
if (value.length > OPEN_MAX_ATTRIBUTE)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-judge.js","sourceRoot":"","sources":["../../src/host/open-judge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,GAEf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAmB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"open-judge.js","sourceRoot":"","sources":["../../src/host/open-judge.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export interface OpenRendererOptions extends JudgeContext {
|
|
|
10
10
|
readonly onAttribute?: (element: Element, name: string) => void;
|
|
11
11
|
/** The view set what a field holds (its `value`, `checked`, `selected`, or a textarea's text): it is no longer what the person typed. */
|
|
12
12
|
readonly onFieldSet?: (field: Element) => void;
|
|
13
|
+
/** Something the view drew was refused, as it was: the host's chance to say it. */
|
|
14
|
+
readonly onRefused?: (refusal: OpenRefusal) => void;
|
|
13
15
|
}
|
|
14
16
|
export interface OpenRenderer {
|
|
15
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-render.d.ts","sourceRoot":"","sources":["../../src/host/open-render.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA0BxI,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,uIAAuI;IACvI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IACvF,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,yIAAyI;IACzI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"open-render.d.ts","sourceRoot":"","sources":["../../src/host/open-render.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA0BxI,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,uIAAuI;IACvI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IACvF,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,yIAAyI;IACzI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,mFAAmF;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC;IACxD,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,iDAAiD;IACjD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3C,OAAO,IAAI,IAAI,CAAC;CACjB;AAkBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA2MzF"}
|
package/dist/host/open-render.js
CHANGED
|
@@ -39,6 +39,7 @@ export function createOpenRenderer(into, options) {
|
|
|
39
39
|
refused.push(refusal);
|
|
40
40
|
if (refused.length > 200)
|
|
41
41
|
refused.shift();
|
|
42
|
+
options.onRefused?.(refusal);
|
|
42
43
|
};
|
|
43
44
|
const placeholder = () => ({ dom: document.createComment(""), children: [], refused: true });
|
|
44
45
|
/** The field a node is, or is inside (an option's select, a textarea's text). */
|
|
@@ -146,6 +147,9 @@ export function createOpenRenderer(into, options) {
|
|
|
146
147
|
/* A `<nav>` drawn as a `<div>` says so, and the view's `nav` selectors are read as `[data-graview-as="nav"]` (host/css.ts). */
|
|
147
148
|
if (judged.as)
|
|
148
149
|
element.setAttribute("data-graview-as", judged.as);
|
|
150
|
+
/* An image asks with no referrer, set before its source is: an origin the host lists for images learns nothing of the page it is drawn on. */
|
|
151
|
+
if (judged.namespace === "html" && judged.name === "img")
|
|
152
|
+
element.setAttribute("referrerpolicy", "no-referrer");
|
|
149
153
|
const drawn = { dom: element, name: judged.name, namespace: judged.namespace, children: [], id, parent };
|
|
150
154
|
byId.set(id, drawn);
|
|
151
155
|
ids.set(element, id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-render.js","sourceRoot":"","sources":["../../src/host/open-render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"open-render.js","sourceRoot":"","sources":["../../src/host/open-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAA2D,MAAM,iBAAiB,CAAC;AAExI;;;;;;;;;;GAUG;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,IAAI,GAAG,CAAC,CAAC;AACf,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,OAAO,GAAG,GAAG,CAAC;AA+CpB,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5I,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEnE,MAAM,UAAU,kBAAkB,CAAC,IAAU,EAAE,OAA4B;IACzE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAa,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IAC3C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,OAAO,EAAgB,CAAC;IACxC,MAAM,IAAI,GAAU,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7F,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,MAAM,MAAM,GAAG,CAAC,OAAoB,EAAE,EAAE;QACtC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,GAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpG,iFAAiF;IACjF,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,MAAc,EAAuB,EAAE;QACpE,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,GAAc,CAAC;QACpG,IAAI,MAAM,EAAE,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,MAAM,CAAC,GAAc,CAAC;QAC7F,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAc,CAAC;QACrC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvI,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,SAAU,EAAE,KAAK,CAAC,IAAK,EAAE,IAAI,EAAG,KAAmC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1H,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACxB,0FAA0F;YAC1F,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,SAAU,EAAE,KAAK,CAAC,IAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACjF,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;gBAAE,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAK,CAAC,CAAC;QAC3G,MAAM,KAAK,GAAG,OAA+C,CAAC;QAC9D,6GAA6G;QAC7G,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1I,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;YAC3D,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,uDAAuD;QACvD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YAChD,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,MAAM,KAAK,KAAK,CAAC,KAAK;gBAAE,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YAC3D,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;YACtC,IAAI,MAAM,KAAK,KAAK,CAAC,OAAO;gBAAE,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YAC7D,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;YACvC,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ;gBAAE,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,KAAY,EAAE,EAAE;QAC9B,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,GAAY,EAAE,MAAa,EAAS,EAAE;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7B,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO;YAAE,OAAO,WAAW,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,cAAc,CAAC,MAAM,CAAC,SAAU,EAAE,MAAM,CAAC,IAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAK,EAAE,CAAC,CAAC;gBACnD,OAAO,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;YACxF,MAAM,KAAK,GAAU,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,IAAI,CAAC,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7B,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACrC,IAAI,cAAc,CAAC,MAAM,CAAC,SAAU,EAAE,MAAM,CAAC,IAAK,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,SAAU,CAAC,CAAC;QACtD,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACnH,+HAA+H;QAC/H,IAAI,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,8IAA8I;QAC9I,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAChH,MAAM,KAAK,GAAU,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAChH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAAE,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/H,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3D,6GAA6G;QAC7G,IAAI,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAAE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACpJ,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAAE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAAE,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI;oBAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3M,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,MAAe,EAAE,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAA4B,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,MAAM,CAAC,IAAI;oBAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrH,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACvC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;gBACrE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrC,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;oBAAE,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAc,CAAC,CAAC;gBAC3G,OAAO;YACT,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI;oBAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI;oBAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrD,MAAM,CAAC,GAAY,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;gBAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,KAAK;oBAAE,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI;oBAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;gBACnC,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,cAAc;oBAAE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,IAAK,EAAE,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpK,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtC,CAAC;YACD;gBACE,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,KAAK;YAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACvD,gGAAgG;gBAChG,IAAI,KAAK,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE;oBAAE,OAAO,KAAK,CAAC;gBACvD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,SAAS,CAAC,EAAE;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAK,CAAC,GAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,CAAC;QACD,OAAO;YACL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { FileValue } from "@graview/core";
|
|
2
|
+
import type { GuestFile, GuestNode, GuestProps } from "../protocol.js";
|
|
3
|
+
/** What a guest asks for: `true`, or the widest it draws a picture, in CSS pixels (1 200 by default). */
|
|
4
|
+
export type GuestPictures = true | {
|
|
5
|
+
readonly width?: number;
|
|
6
|
+
};
|
|
7
|
+
/** How many bytes of pictures a guest is handed. */
|
|
8
|
+
export interface GuestPictureLimits {
|
|
9
|
+
/** The most one picture may be, as handed (made smaller first where it can be). 1 500 000 by default. */
|
|
10
|
+
readonly pictureBytes?: number;
|
|
11
|
+
/** The most the pictures a view is handed may be together. 12 000 000 by default. */
|
|
12
|
+
readonly picturesBytes?: number;
|
|
13
|
+
}
|
|
14
|
+
/** The widest a picture is drawn, by default, in CSS pixels. */
|
|
15
|
+
export declare const PICTURE_WIDTH = 1200;
|
|
16
|
+
/** A file larger than this, as the record says it, is not fetched for a guest at all. */
|
|
17
|
+
export declare const PICTURE_FETCH_BYTES = 40000000;
|
|
18
|
+
/** Whether a file is a picture a guest is handed an address for: an image, not an SVG, which could act. */
|
|
19
|
+
export declare const isGuestPicture: (file: {
|
|
20
|
+
readonly type: string;
|
|
21
|
+
}) => boolean;
|
|
22
|
+
/** A file as a guest is handed it, before the host has its bytes: no path, and for a picture its facts. */
|
|
23
|
+
export declare function guestFileOf(file: FileValue, more?: {
|
|
24
|
+
readonly src?: string;
|
|
25
|
+
readonly left?: string;
|
|
26
|
+
}): GuestFile;
|
|
27
|
+
/**
|
|
28
|
+
* EVERY FILE ON THE RECORDS IN `props`, as `hand` makes it — a field that
|
|
29
|
+
* holds one, or a list of them — in the order a reader meets them: the
|
|
30
|
+
* view's own record, then the others. Nothing else is changed.
|
|
31
|
+
*/
|
|
32
|
+
export declare function handFiles(props: GuestProps, hand: (file: FileValue, on: GuestNode) => GuestFile): GuestProps;
|
|
33
|
+
export interface GuestPicturesOptions {
|
|
34
|
+
/** `"blob"` for a worker view, drawn in this page (a `data:` image where the page's policy refuses `blob:`); `"data"` for a frame, another origin. */
|
|
35
|
+
readonly as: "blob" | "data";
|
|
36
|
+
/** The view, as a sentence names it: its title, else its name. */
|
|
37
|
+
readonly view: string;
|
|
38
|
+
readonly pictures: GuestPictures;
|
|
39
|
+
readonly limits?: GuestPictureLimits;
|
|
40
|
+
/** A picture is ready, or was left out: push again. */
|
|
41
|
+
readonly moved: () => void;
|
|
42
|
+
/** A picture was left out, and why, said once. */
|
|
43
|
+
readonly onLeft?: (said: string) => void;
|
|
44
|
+
/** How the bytes are made smaller: to at most `width` pixels across, and `bytes` bytes. The canvas, by default. */
|
|
45
|
+
readonly shrink?: (blob: Blob, width: number, bytes: number) => Promise<Blob | undefined>;
|
|
46
|
+
}
|
|
47
|
+
export interface GuestPictureHand {
|
|
48
|
+
/** `props` with each file as the guest is handed it, starting what has not been fetched. */
|
|
49
|
+
hand(props: GuestProps): GuestProps;
|
|
50
|
+
/** Let go of every address made. */
|
|
51
|
+
dispose(): void;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* THE HOST'S PICTURES FOR ONE GUEST: fetched once each, on the page's own
|
|
55
|
+
* origin with the reader's credentials, made smaller where the view needs
|
|
56
|
+
* no more, and let go when no record handed holds them.
|
|
57
|
+
*/
|
|
58
|
+
export declare function createGuestPictures(window: Window & typeof globalThis, options: GuestPicturesOptions): GuestPictureHand;
|
|
59
|
+
//# sourceMappingURL=pictures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pictures.d.ts","sourceRoot":"","sources":["../../src/host/pictures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsBvE,yGAAyG;AACzG,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,yGAAyG;IACzG,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,qFAAqF;IACrF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,OAAQ,CAAC;AACnC,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,WAAa,CAAC;AAE9C,2GAA2G;AAC3G,eAAO,MAAM,cAAc,GAAI,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,OAAyE,CAAC;AAE3I,2GAA2G;AAC3G,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,CAWpH;AAUD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,KAAK,SAAS,GAAG,UAAU,CAW5G;AAED,MAAM,WAAW,oBAAoB;IACnC,sJAAsJ;IACtJ,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mHAAmH;IACnH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;IACpC,oCAAoC;IACpC,OAAO,IAAI,IAAI,CAAC;CACjB;AASD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,UAAU,EAAE,OAAO,EAAE,oBAAoB,GAAG,gBAAgB,CAqIvH"}
|