Type Alias AlteredElements<OriginalT, ElementT, AlterationT>

AlteredElements<OriginalT, ElementT, AlterationT>: {
    [name in keyof OriginalT]: OriginalT[name] extends infer OrigT extends ElementT
        ? AlterationT extends {
                [n in name]: {
                    optional: infer O extends boolean;
                }
            }
            ? Omit<OrigT, "optional"> & {
                optional: O;
            }
            : OrigT
        : never
}

Alterations applied to a specific element set, element or element field.

Type Parameters

  • OriginalT
  • ElementT
  • AlterationT