Skip to content

Documentation / @etherfold/browser / PortPush

Type Alias: PortPush<Name> ​

PortPush<Name> = { [Named in Name]: { kind: "push"; protocol: typeof INDEXER_PORT_PROTOCOL; push: Named; value: PortPushValue<Named> } }[Name]

Defined in: packages/browser/src/host/envelope.ts:791

A host saying something unprompted.

It carries NO correlation id, and that absence is the shape of the thing: an id correlates an answer with a question, and nobody asked.

Written as a mapped type so that the whole of it is a DISCRIMINATED UNION on push: a tab narrows a push by its name and gets the value that name carries, with no cast, and that stays true when a later task adds a second name.

Type Parameters ​

Name ​

Name extends PortPushName = PortPushName