Move JSDoc examples to type-checked .examples.ts files

Extract inline code examples from JSDoc comments into companion
`.examples.ts`/`.examples.tsx` files. Examples are now:

- Type-checked by wrapping them in functions
- Referenced via `{@includeCode ./file.examples.ts#regionName}` tags
- Organized using `//#region` and `//#endregion` markers

This keeps the main source files cleaner while ensuring examples
compile correctly. Updated TypeDoc config with `exampleTag: false`
to support title text on `@example` tags.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jonathan Hefner 2026-01-18 15:11:00 -06:00
commit ad04e89745

View file

@ -24,20 +24,10 @@ import {
* ## Usage
*
* **Guest UI**:
* ```typescript
* const transport = new PostMessageTransport(window.parent, window.parent);
* await app.connect(transport);
* ```
* {@includeCode ./message-transport.examples.ts#PostMessageTransport_guestUI}
*
* **Host**:
* ```typescript
* const iframe = document.getElementById('app-iframe') as HTMLIFrameElement;
* const transport = new PostMessageTransport(
* iframe.contentWindow!,
* iframe.contentWindow!
* );
* await bridge.connect(transport);
* ```
* {@includeCode ./message-transport.examples.ts#PostMessageTransport_host}
*
* @see {@link app!App.connect} for Guest UI usage
* @see {@link app-bridge!AppBridge.connect} for Host usage
@ -56,18 +46,10 @@ export class PostMessageTransport implements Transport {
* `window.parent`. For hosts, pass `iframe.contentWindow`.
*
* @example Guest UI connecting to parent
* ```typescript
* const transport = new PostMessageTransport(window.parent, window.parent);
* ```
* {@includeCode ./message-transport.examples.ts#PostMessageTransport_constructor_guestUI}
*
* @example Host connecting to iframe
* ```typescript
* const iframe = document.getElementById('app') as HTMLIFrameElement;
* const transport = new PostMessageTransport(
* iframe.contentWindow!,
* iframe.contentWindow!
* );
* ```
* {@includeCode ./message-transport.examples.ts#PostMessageTransport_constructor_host}
*/
constructor(
private eventTarget: Window = window.parent,