Endo API documentation
    Preparing search index...

    Type Alias Passable<PC, E>

    Passable: void | Atom | Container<PC, E> | PC | E

    A Passable is acyclic data that can be marshalled. It must be hardened to remain stable (even if some components are proxies; see PureData restriction below), and is classified by PassStyle:

    • Atomic values have an AtomStyle (PassStyle 'undefined' | 'null' | 'boolean' | 'number' | 'bigint' | 'string' | 'byteArray' | 'symbol'). (Passable considers void to be undefined.)
    • Containers aggregate other Passables into
      • sequences as CopyArrays (PassStyle 'copyArray'), or
      • string-keyed dictionaries as CopyRecords (PassStyle 'copyRecord'), or
      • higher-level types as CopyTaggeds (PassStyle 'tagged').
    • PassableCaps (PassStyle 'remotable' | 'promise') expose local values to remote interaction.
    • As a special case to support system observability, error objects are Passable (PassStyle 'error').

    A Passable is essentially a pass-by-copy superstructure with a pass-by-reference exit point at the site of each PassableCap (which marshalling represents using 'slots').

    Type Parameters