Logo Xantham

ShapeInterfaces Type

`shape-interfaces`.

Union cases

Union case Description

BaseInherited name

Full Usage: BaseInherited name

Parameters:
    name : string

§4.4's heritage rule, emitted: the base is a declaration this run writes as an interface, so the derived type upcasts to it. Its members are declared again beside the `inherit` - F# admits the redeclaration - which is what keeps `Create` and the member list exact when a *second* base is not inheritable.

name : string

BaseMembersFlattened

Full Usage: BaseMembersFlattened

The undifferentiated case the three below split out of: a base with no F# name at this position at all. Its members are still flattened in, so nothing of the member set is lost - only the upcast.

BaseNotDeclaredHere name

Full Usage: BaseNotDeclaredHere name

Parameters:
    name : string

A base that names something, but not something this run declares as an interface: a `Fable.Core.JS.*` or `Browser.Types.*` binding, a referenced group's templated name, an abbreviation over a non-object type. `inherit` on a non-interface is FS0887, and this run cannot prove which of those a foreign name is, so its members are flattened.

name : string

BaseWouldCycle name

Full Usage: BaseWouldCycle name

Parameters:
    name : string

A base that reaches this declaration again through the inherit graph. TypeScript has no cyclic heritage, but two type ids can share one F# name, so the graph is checked rather than assumed: `inherit` here is FS0954, so the base stays flattened.

name : string

ConstructorObjectDeclared signatures

Full Usage: ConstructorObjectDeclared signatures

Parameters:
    signatures : int

A constructor object declared as an interface of its own (§4.4): F# has no first-class type of a class object, so `typeof Request` at a member position reads as a named declaration whose construct signatures are `[]` `Create` members and whose properties are the class's statics.

signatures : int

HybridLosesCallSignatures

Full Usage: HybridLosesCallSignatures

IntersectionFlattened operands

Full Usage: IntersectionFlattened operands

Parameters:
    operands : int

operands : int

Instance members

Instance member Description

this.IsBaseInherited

Full Usage: this.IsBaseInherited

Returns: bool
Returns: bool

this.IsBaseMembersFlattened

Full Usage: this.IsBaseMembersFlattened

Returns: bool
Returns: bool

this.IsBaseNotDeclaredHere

Full Usage: this.IsBaseNotDeclaredHere

Returns: bool
Returns: bool

this.IsBaseWouldCycle

Full Usage: this.IsBaseWouldCycle

Returns: bool
Returns: bool

this.IsConstructorObjectDeclared

Full Usage: this.IsConstructorObjectDeclared

Returns: bool
Returns: bool

this.IsHybridLosesCallSignatures

Full Usage: this.IsHybridLosesCallSignatures

Returns: bool
Returns: bool

this.IsIntersectionFlattened

Full Usage: this.IsIntersectionFlattened

Returns: bool
Returns: bool

Type something to start searching.