@graview/guest 0.1.29 → 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.
Files changed (102) hide show
  1. package/client.js +1 -1
  2. package/dist/channel.d.ts +7 -6
  3. package/dist/channel.d.ts.map +1 -1
  4. package/dist/channel.js +4 -5
  5. package/dist/channel.js.map +1 -1
  6. package/dist/client.generated.d.ts.map +1 -1
  7. package/dist/client.generated.js +2 -2
  8. package/dist/client.generated.js.map +1 -1
  9. package/dist/headless/describe.d.ts +3 -2
  10. package/dist/headless/describe.d.ts.map +1 -1
  11. package/dist/headless/describe.js +4 -4
  12. package/dist/headless/describe.js.map +1 -1
  13. package/dist/headless/draw.d.ts +1 -0
  14. package/dist/headless/draw.d.ts.map +1 -1
  15. package/dist/headless/draw.js +1 -0
  16. package/dist/headless/draw.js.map +1 -1
  17. package/dist/headless/index.d.ts +9 -1
  18. package/dist/headless/index.d.ts.map +1 -1
  19. package/dist/headless/index.js +35 -4
  20. package/dist/headless/index.js.map +1 -1
  21. package/dist/headless/judge.d.ts +1 -1
  22. package/dist/headless/judge.d.ts.map +1 -1
  23. package/dist/headless/judge.js +13 -10
  24. package/dist/headless/judge.js.map +1 -1
  25. package/dist/headless/protocol.d.ts +12 -3
  26. package/dist/headless/protocol.d.ts.map +1 -1
  27. package/dist/headless/protocol.js.map +1 -1
  28. package/dist/headless/runtime.generated.d.ts.map +1 -1
  29. package/dist/headless/runtime.generated.js +1 -1
  30. package/dist/headless/runtime.generated.js.map +1 -1
  31. package/dist/headless/runtime.js +3 -1
  32. package/dist/headless/runtime.js.map +1 -1
  33. package/dist/host/arrive-at.d.ts +9 -0
  34. package/dist/host/arrive-at.d.ts.map +1 -0
  35. package/dist/host/arrive-at.js +17 -0
  36. package/dist/host/arrive-at.js.map +1 -0
  37. package/dist/host/frame.d.ts +8 -0
  38. package/dist/host/frame.d.ts.map +1 -1
  39. package/dist/host/frame.js +3 -0
  40. package/dist/host/frame.js.map +1 -1
  41. package/dist/host/links-words.d.ts +41 -0
  42. package/dist/host/links-words.d.ts.map +1 -0
  43. package/dist/host/links-words.js +56 -0
  44. package/dist/host/links-words.js.map +1 -0
  45. package/dist/host/links.d.ts +43 -9
  46. package/dist/host/links.d.ts.map +1 -1
  47. package/dist/host/links.js +61 -16
  48. package/dist/host/links.js.map +1 -1
  49. package/dist/host/open-draw.d.ts +4 -0
  50. package/dist/host/open-draw.d.ts.map +1 -1
  51. package/dist/host/open-draw.js +2 -0
  52. package/dist/host/open-draw.js.map +1 -1
  53. package/dist/host/open-judge.d.ts +16 -0
  54. package/dist/host/open-judge.d.ts.map +1 -1
  55. package/dist/host/open-judge.js +47 -1
  56. package/dist/host/open-judge.js.map +1 -1
  57. package/dist/host/open-render.d.ts +2 -0
  58. package/dist/host/open-render.d.ts.map +1 -1
  59. package/dist/host/open-render.js +4 -0
  60. package/dist/host/open-render.js.map +1 -1
  61. package/dist/host/react.d.ts.map +1 -1
  62. package/dist/host/react.js +3 -2
  63. package/dist/host/react.js.map +1 -1
  64. package/dist/host/session.d.ts +11 -0
  65. package/dist/host/session.d.ts.map +1 -1
  66. package/dist/host/session.js +20 -0
  67. package/dist/host/session.js.map +1 -1
  68. package/dist/host/view-runtime.generated.d.ts.map +1 -1
  69. package/dist/host/view-runtime.generated.js +1 -1
  70. package/dist/host/view-runtime.generated.js.map +1 -1
  71. package/dist/host/view.d.ts +22 -6
  72. package/dist/host/view.d.ts.map +1 -1
  73. package/dist/host/view.js +26 -6
  74. package/dist/host/view.js.map +1 -1
  75. package/dist/host/where.d.ts +30 -0
  76. package/dist/host/where.d.ts.map +1 -0
  77. package/dist/host/where.js +103 -0
  78. package/dist/host/where.js.map +1 -0
  79. package/dist/host/worker-react.d.ts +4 -0
  80. package/dist/host/worker-react.d.ts.map +1 -1
  81. package/dist/host/worker-react.js +29 -7
  82. package/dist/host/worker-react.js.map +1 -1
  83. package/dist/index.d.ts +2 -2
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +1 -1
  86. package/dist/index.js.map +1 -1
  87. package/dist/open-kit.d.ts +8 -4
  88. package/dist/open-kit.d.ts.map +1 -1
  89. package/dist/open-kit.js +12 -7
  90. package/dist/open-kit.js.map +1 -1
  91. package/dist/protocol.d.ts +42 -3
  92. package/dist/protocol.d.ts.map +1 -1
  93. package/dist/protocol.js +10 -2
  94. package/dist/protocol.js.map +1 -1
  95. package/dist/worker/view-global.d.ts +3 -4
  96. package/dist/worker/view-global.d.ts.map +1 -1
  97. package/dist/worker/view-global.js +5 -3
  98. package/dist/worker/view-global.js.map +1 -1
  99. package/dist/worker/view.d.ts.map +1 -1
  100. package/dist/worker/view.js +2 -1
  101. package/dist/worker/view.js.map +1 -1
  102. package/package.json +3 -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,y8qGAAy8qG,CAAC"}
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"}
@@ -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"}
@@ -2,6 +2,8 @@ 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
4
  import type { GuestPictures } from "./pictures.js";
5
+ import type { Arrival } from "./links.js";
6
+ import type { GoTo } from "@graview/react/provider";
5
7
  import { type GuestBrand } from "./theme.js";
6
8
  export { createGuestHost, createGuestLimiter, readAcross } from "./session.js";
7
9
  export { readTheme } from "./theme.js";
@@ -52,6 +54,12 @@ export interface MountGuestViewOptions<S extends AnySchema> {
52
54
  readonly onNavigate?: (id: string) => void;
53
55
  /** The guest asked to go to one of `places`, by its slug. */
54
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;
55
63
  /** The guest asked for a height. By default the frame takes it. */
56
64
  readonly onSize?: (height: number) => void;
57
65
  readonly limits?: GuestLimits;
@@ -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;AAG5J,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAA0D,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAWrG,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE9E,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,SAAS;IACxD,6FAA6F;IAC7F,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,iGAAiG;IACjG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,cAAc,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC;IAC9C;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,yHAAyH;IACzH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,0CAA0C;IAC1C,MAAM,IAAI,IAAI,CAAC;IACf,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,UAAU,CA+IvH"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/host/frame.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { mintNonce } from "./nonce.js";
3
3
  import { createGuestHost, createGuestLimiter } from "./session.js";
4
4
  import { retryingImport } from "@graview/core/retry";
5
5
  import { untilItArrives } from "./arrive.js";
6
+ import { arriveAt } from "./arrive-at.js";
6
7
  import { createGuestLogo, readTheme, themeWithBrand, watchTheme } from "./theme.js";
7
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. */
8
9
  const picturesChunk = retryingImport(() => import("./pictures.js"));
@@ -131,6 +132,8 @@ export function mountGuestView(element, options) {
131
132
  ...(options.places ? { places: () => [...new Set(options.places().map((place) => place.as))], placesShown: options.places } : {}),
132
133
  ...(options.onNavigatePlace ? { onNavigatePlace: options.onNavigatePlace } : {}),
133
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 } : {}),
134
137
  onSize: options.onSize ?? ((height) => (iframe.style.height = `${height}px`)),
135
138
  ...(options.limits ? { limits: options.limits } : {}),
136
139
  limiter,
@@ -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,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAmB,MAAM,YAAY,CAAC;AAErG,gIAAgI;AAChI,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAsB,OAAoB,EAAE,OAAiC;IACzG,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAY,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9C,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IACrD,iHAAiH;IACjH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IAC1B,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAEzB,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACjE,iGAAiG;IACjG,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,OAA8B,CAAC;IACnC,IAAI,IAA6B,CAAC;IAClC,IAAI,OAAO,GAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/C,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/C,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/C,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,oGAAoG;IACpG,MAAM,IAAI,GAAG,eAAe,CAAC,MAAoC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvG,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxC,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM;YAAE,IAAI,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH;;;;;OAKG;IACH,IAAI,QAAsC,CAAC;IAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ;QACnC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE;YACxD,QAAQ,GAAG,mBAAmB,CAAC,MAAoC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAS,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACnP,IAAI,OAAO;gBAAE,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC;QACJ,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEb,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,IAAI,EAAE,KAAK,EAAE,CAAC;QACd,OAAO,GAAG,SAAS,CAAC;QACpB,IAAI,GAAG,SAAS,CAAC;QACjB,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;QACxC,4FAA4F;QAC5F,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa;YAAE,OAAO;QAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YACxE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,GAAG,IAAI,CAAC;YACf,OAAO;QACT,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC,CAAC;IAEF,8EAA8E;IAC9E,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,OAAO,GAAG,KAAK,CAAC;QAChB,GAAG,EAAE,CAAC;QACN,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QACrC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,IAAI,GAAG,eAAe,CAAC;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK;YACL,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC;YAC7E,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO;SACR,CAAC,CAAC;QACH,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;QACF,MAAM,KAAK,GAAc,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACxG;;;;WAIG;QACH,MAAM,CAAC,aAAc,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO;QACL,MAAM;QACN,MAAM,EAAE,IAAI;QACZ,IAAI,KAAK;YACP,KAAK,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO;YACL,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/host/frame.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -1,16 +1,39 @@
1
+ import { type AnySchema } from "@graview/core";
1
2
  import type { GuestPlace } from "../protocol.js";
2
- export type Destination = {
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
- /** Go: the face's own way to a record or a place. */
13
- readonly onNavigate?: (to: Destination) => void;
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
- /** The app's places, as a sentence ends with them. */
26
- export declare const placesSaid: (slugs: readonly string[]) => string;
27
- /** 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. */
28
- export declare const quoted: (asked: string) => string;
29
- /** Why a destination goes nowhere, naming where it could go. */
30
- export declare const nowhere: (to: Destination, slugs: readonly string[]) => string;
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
@@ -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;AAqBjD,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;IAC7C,qDAAqD;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IAChD,gDAAgD;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,KAAK;IACpB,+FAA+F;IAC/F,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,gDAAgD;IAChD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,mIAAmI;IACnI,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC;CAC9B;AAED,sDAAsD;AACtD,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,MAAM,EAAE,WAA6E,CAAC;AAEjI,8JAA8J;AAC9J,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,WAAgE,CAAC;AAErG,gEAAgE;AAChE,eAAO,MAAM,OAAO,GAAI,IAAI,WAAW,EAAE,OAAO,SAAS,MAAM,EAAE,WACiH,CAAC;AAEnL,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,KAAK,CA8BxD"}
1
+ {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/host/links.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,62 @@
1
- /** The app's places, as a sentence ends with them. */
2
- export const placesSaid = (slugs) => ` Its places: ${slugs.map((slug) => `"${slug}"`).join(", ") || "none"}.`;
3
- /** 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. */
4
- export const quoted = (asked) => `"${asked.length > 80 ? `${asked.slice(0, 79)}…` : asked}"`;
5
- /** Why a destination goes nowhere, naming where it could go. */
6
- export const nowhere = (to, slugs) => `${"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(slugs)}`;
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 slugs = [...new Set(options.places().map((place) => place.as))];
10
- /* A record the viewer may see first, then a place by that slug. */
11
- const place = "place" in to ? to.place : options.sees(to.record) ? undefined : to.record;
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?.(nowhere(to, slugs));
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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/host/links.ts"],"names":[],"mappings":"AA2CA,sDAAsD;AACtD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC;AAEjI,8JAA8J;AAC9J,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAErG,gEAAgE;AAChE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAe,EAAE,KAAwB,EAAE,EAAE,CACnE,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,uCAAuC,6CAA6C,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAEnL,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,MAAM,EAAE,GAAG,CAAC,EAAe,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,mEAAmE;QACnE,MAAM,KAAK,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;QACzF,MAAM,EAAE,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,EAAE;YAAE,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;;YAC9D,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,OAAO;QACL,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACrF,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;oBAAE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;oBAAE,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC;iBAAM,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,MAAM;oBAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAM;YACX,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,MAAM;gBAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;iBACtB,IAAI,KAAK;gBAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,EAAE;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/host/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA6C7E,kFAAkF;AAClF,MAAM,UAAU,OAAO,CAAC,MAAiB,EAAE,OAA4B,IAAI,GAAG,EAAE;IAC9E,OAAQ,MAAM,CAAC,KAA2B,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChJ,CAAC;AAiCD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAe,EAAE,KAA4B;IAC5E,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,qGAAqG;IACrG,IAAI,OAA2B,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACtG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,qHAAqH,EAAE,CAAC;QACpO,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,mEAAmE;IACnE,IAAI,QAAQ,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,sHAAsH,EAAE,CAAC;QACxN,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IACrG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;IACtL,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAA0B,CAAC;IAC/B,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,CAAC;QACtH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1G,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAK,CAAC,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;AAC/H,CAAC;AAED,0FAA0F;AAC1F,MAAM,SAAS,GAAG,CAAC,KAAwB,EAAE,EAAE,CAC7C,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAEhK,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,MAAM,EAAE,GAAG,CAAC,EAAe,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7K,IAAI,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;YAC/C,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC,CAAC;IACF,OAAO;QACL,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACrF,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;oBAAE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;oBAAE,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC;iBAAM,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,MAAM;oBAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAM;YACX,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACrG,IAAI,MAAM;gBAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;iBAC/B,IAAI,KAAK;gBAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,EAAE;KACH,CAAC;AACJ,CAAC"}
@@ -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,CAkF9F"}
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"}
@@ -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":"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"}
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;CACvD;AAED;;;;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"}
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"}