Ts.Assert.array.sub
Import
import { Ts } from '@wollybeard/kit'
// Access via namespace
Ts.Assert.array.subimport { sub } from '@wollybeard/kit/ts'Functions
[F] noExcessAs
<$Type>(): DispatchAfterInput<State.SetExpectedType<State.SetRelator<State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>, SubNoExcessKind>, $Type>>[F] ofAs
<$Type>(): DispatchAfterInput<State.SetExpectedType<State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>, $Type>>Constants
[C] any
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetAllowAny<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>
>,
any
>
>[C] bigint
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
bigint
>
>[C] boolean
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
boolean
>
>[C] Date
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
Date
>
>[C] Error
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
Error
>
>[C] never
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetAllowNever<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>
>,
never
>
>[C] noExcess
InputExpectedAsValueNarrow<
State.SetRelator<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
SubNoExcessKind
>
>[C] null
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
null
>
>[C] number
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
number
>
>[C] of
InputExpectedAsValueNarrow<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>
>[C] RegExp
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
RegExp
>
>[C] string
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
string
>
>[C] symbol
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
symbol
>
>[C] undefined
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>,
undefined
>
>[C] unknown
InputActualAsValueNarrow<
State.SetExpectedType<
State.SetAllowUnknown<
State.SetRelator<State.AddExtractor<State.Empty, ArrayElement>, SubKind>
>,
unknown
>
>Types
[T] any
type any_<$Actual> = Kind.Apply<
SubKind,
[any, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for any. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.any<any[]>
// ✗ Fail
type _ = Assert.array.sub.any<string[]>[T] bigint
type bigint_<$Actual> = Kind.Apply<
SubKind,
[bigint, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for bigint. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.bigint<bigint[]>
// ✗ Fail
type _ = Assert.array.sub.bigint<string[]>[T] boolean
type boolean_<$Actual> = Kind.Apply<
SubKind,
[boolean, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for boolean. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.boolean<boolean[]>
// ✗ Fail
type _ = Assert.array.sub.boolean<string[]>[T] Date
type Date_<$Actual> = Kind.Apply<
SubKind,
[Date, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for Date. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.Date<Date[]>
// ✗ Fail
type _ = Assert.array.sub.Date<string[]>[T] Error
type Error_<$Actual> = Kind.Apply<
SubKind,
[Error, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for Error. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.Error<Error[]>
// ✗ Fail
type _ = Assert.array.sub.Error<string[]>[T] never
type never_<$Actual> = Kind.Apply<
SubKind,
[never, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for never. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.never<never[]>
// ✗ Fail
type _ = Assert.array.sub.never<string[]>[T] noExcess
type noExcess_<$Expected, $Actual> = Kind.Apply<
SubNoExcessKind,
[$Expected, Kind.Apply<Path.ArrayElement, [$Actual]>]
>No-excess variant of sub relation. Checks that actual has no excess properties beyond expected.
[T] null
type null_<$Actual> = Kind.Apply<
SubKind,
[null, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for null. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.null<null[]>
// ✗ Fail
type _ = Assert.array.sub.null<string[]>[T] number
type number_<$Actual> = Kind.Apply<
SubKind,
[number, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for number. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.number<number[]>
// ✗ Fail
type _ = Assert.array.sub.number<string[]>[T] of
type of_<$Expected, $Actual> = Kind.Apply<
SubKind,
[$Expected, Kind.Apply<Path.ArrayElement, [$Actual]>]
>array + sub relation matchers.
Extraction: extracts the element type from an array Relation: subtype relation (extends)
[T] RegExp
type RegExp_<$Actual> = Kind.Apply<
SubKind,
[RegExp, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for RegExp. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.RegExp<RegExp[]>
// ✗ Fail
type _ = Assert.array.sub.RegExp<string[]>[T] string
type string_<$Actual> = Kind.Apply<
SubKind,
[string, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for string. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.string<string[]>
// ✗ Fail
type _ = Assert.array.sub.string<number[]>[T] symbol
type symbol_<$Actual> = Kind.Apply<
SubKind,
[symbol, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for symbol. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.symbol<symbol[]>
// ✗ Fail
type _ = Assert.array.sub.symbol<string[]>[T] undefined
type undefined_<$Actual> = Kind.Apply<
SubKind,
[undefined, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for undefined. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.undefined<undefined[]>
// ✗ Fail
type _ = Assert.array.sub.undefined<string[]>[T] unknown
type unknown_<$Actual> = Kind.Apply<
SubKind,
[unknown, Kind.Apply<Path.ArrayElement, [$Actual]>]
>Pre-curried matcher for unknown. Extraction chain: T[] → T
Examples:
// ✓ Pass
type _ = Assert.array.sub.unknown<unknown[]>
// ✗ Fail
type _ = Assert.array.sub.unknown<string[]>