Type alias UniqueArrayInArgument<A, B>

UniqueArrayInArgument<A, B>: {
    [I in keyof A]: unknown extends {
            [J in keyof B]: J extends I
                ? never
                : B[J] extends A[I]
                    ? unknown
                    : never
        }[number]
        ? Invalid<[A[I], "요소가 중복됩니다."]>
        : A[I]
}

Type Parameters

  • A extends ReadonlyArray<any>

  • B extends ReadonlyArray<any>

Example

const asUniqueArray = <
N extends string,
A extends [] | (ReadonlyArray<N> & UniqueArrayInArgument<A, A>),
>(
a: A,
) => a;

Generated using TypeDoc