MCPcopy Create free account
hub / github.com/microsoft/typescript-go / getNarrowedType

Method getNarrowedType

internal/checker/flow.go:833–844  ·  view source on GitHub ↗
(t *Type, candidate *Type, assumeTrue bool, checkDerived bool)

Source from the content-addressed store, hash-verified

831}
832
833func (c *Checker) getNarrowedType(t *Type, candidate *Type, assumeTrue bool, checkDerived bool) *Type {
834 if t.flags&TypeFlagsUnion == 0 {
835 return c.getNarrowedTypeWorker(t, candidate, assumeTrue, checkDerived)
836 }
837 key := NarrowedTypeKey{t, candidate, assumeTrue, checkDerived}
838 if narrowedType, ok := c.narrowedTypes[key]; ok {
839 return narrowedType
840 }
841 narrowedType := c.getNarrowedTypeWorker(t, candidate, assumeTrue, checkDerived)
842 c.narrowedTypes[key] = narrowedType
843 return narrowedType
844}
845
846func (c *Checker) getNarrowedTypeWorker(t *Type, candidate *Type, assumeTrue bool, checkDerived bool) *Type {
847 if !assumeTrue {

Calls 1

getNarrowedTypeWorkerMethod · 0.95

Tested by

no test coverage detected