Type Alias PreciseFrame<variable, value>

PreciseFrame<variable, value>: ValueOf<{
    [K in ControlKind]: {
        data: {
            [key in variable]?: variable
        } & {
            [key in Parametrization[K]]: value
        };
        type: K;
    }
}>

By including the kind of the block as the type of the frame, we remove its parametrization on block kind yet retain precise type information about which parameter is present in the frame.

const standalone_frame: StandaloneFrame = { type: kind, data: frame };

Type Parameters

  • variable extends string
  • value