Type Alias Device<A, Criteria, Options>

Device: A["length"] extends 0
    ? Options["$notMatch"]
    : A extends readonly [infer Head, ...(infer Tail)]
        ? ArrayPlus.ElementMatch<
            Head,
            Criteria,
            TypePlusOptions.Merge<
                { $notMatch: TuplePlus.Find.Device<Tail, Criteria, Options> },
                Options,
            >,
        >
        : never

Type Parameters