열거 형으로 인덱싱 된 유형에서 유추 된 유형

Lexi Reicks

무슨 뜻인지 어떻게 설명해야할지 모르겠지만 이것이 제가 가진 것입니다.

enum ContactBaseType {
  Email,
  Notification
}

interface ContactBase {
  [ContactBaseType.Email]: EmailType[];
  [ContactBaseType.Notification]: NotificationType[];
}

내가하고 싶은 것 :

function ToggleSubscription(lookup: ContactBase, type: ContactBaseType, enumType: EmailType | NotificationType) {

  // something like this, however this gives me a "EmailType | NotificationType is not assignable to never"
  const index = lookup[type].indexOf(enumType);
}

몇 가지 다른 솔루션을 시도했지만 작동하지 않는 것 같아서 뭔가 빠진 것 같습니다. 다음과 같은지도를 사용해 보았습니다.

type ContactBaseFlags = ContactBaseType.Email | ContactBaseType.Notification;
type ContactBaseMap = { [K in ContactBaseFlags]: K extends ContactBaseType.Email ? EmailType[] : NotificationType[] };

// or
type ContactBaseMap: { [K in ContactBaseFlags]: EmailType[] | NotificationType[] }

keyof 등을 사용하여 키 추출을 시도했습니다.

사탄 시간

그런 걸 해봐

function ToggleSubscription<
  B extends ContactBase & {[key in T]: Array<I>}, // <- our base object
  T extends keyof B, // <- one of its keys
  I extends B[T] extends Array<infer U> ? U : never, // <- type of a related array
>(lookup: B, type: T, enumType: I) {
  // works now.
  const index = lookup[type].indexOf(enumType);
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C에서 열거 형으로 인덱싱 된 문자열 배열 초기화

분류에서Dev

Typescript : 유형 매핑 된 유형은 원래 유형으로 인덱싱 할 수 없습니다.

분류에서Dev

Typescript에서 인덱싱 된 유형에 유형 인수를 전달하는 방법은 무엇입니까?

분류에서Dev

R에서 지정된 간격으로 라인 유형 변경

분류에서Dev

내 WSDL에서 0 기반 인덱스에 대해 열거 형 값 주석이 누락 된 이유

분류에서Dev

키 및 관련 값 유형을 일반에 전달하여 인덱싱 된 유형을 좁 힙니다.

분류에서Dev

템플릿 유형! = 추론 된 유형

분류에서Dev

동적으로 추가 된 속성 유형 확인

분류에서Dev

상속 된 유형에서 템플릿 인수 추론

분류에서Dev

TypeScript에서 인덱싱 가능한 유형의 배열 구분

분류에서Dev

TS가 매핑 된 유형에서 유형 인수를 자동으로 유추하도록하는 방법은 무엇입니까?

분류에서Dev

F #에서 자신 만의 정의 된 유형의 목록을 인덱싱하는 방법

분류에서Dev

유형 선언에서 정확한 현재 인덱싱 된 키를 얻을 수 있습니까?

분류에서Dev

매개 변수화 / 인덱싱 된 유형에서 catamorphism을 작동시키는 방법은 무엇입니까?

분류에서Dev

IIFE에 정의 된 유형으로 WebStorm 유형 검사

분류에서Dev

사용 된 유형 제네릭 중 하나에서 제네릭 유형 유추

분류에서Dev

vhdl의 for 루프에서 인덱스에 액세스 할 수 있습니까? 오류 : 인덱싱 된 이름 접두사 유형 natrual이 배열 유형이 아닙니다.

분류에서Dev

유도 유형 "또는"에서 X의 잘못된 제거 :

분류에서Dev

인터셉트 된 유형에 대한보기 유형 매핑에 ViewModel 추가

분류에서Dev

귀납적 데이터 유형으로 인덱싱 된 데이터 유형을 올바르게 래핑하는 방법은 무엇입니까?

분류에서Dev

전달 된 유형 Defs가있는 JSDoc으로 VSCode에서 유형 검사

분류에서Dev

공유 된 임의 유형으로 결합 된 추상 클래스에 대한 유형 주석

분류에서Dev

유형이 혼합 된 배열의 각 인덱스에 대한 요소 유형 가져 오기

분류에서Dev

열거 형 유형의 속성이 포함 된 C # 인터페이스

분류에서Dev

GHCi에서 유형 매개 변수가 적용된 유형의 인스턴스를 나열하는 방법

분류에서Dev

R에서 "문자"유형의 두 열을 기반으로 중복 된 행 제거

분류에서Dev

유형이 지정된 인덱싱 변수가 인덱싱되는 개체와 동일한 유형이 아닙니다.

분류에서Dev

래핑 된 함수에서 예상하는 유형으로 인수 변환

분류에서Dev

조건부에서 잘못된 유형으로 추론되는 기본 템플릿 인수

Related 관련 기사

  1. 1

    C에서 열거 형으로 인덱싱 된 문자열 배열 초기화

  2. 2

    Typescript : 유형 매핑 된 유형은 원래 유형으로 인덱싱 할 수 없습니다.

  3. 3

    Typescript에서 인덱싱 된 유형에 유형 인수를 전달하는 방법은 무엇입니까?

  4. 4

    R에서 지정된 간격으로 라인 유형 변경

  5. 5

    내 WSDL에서 0 기반 인덱스에 대해 열거 형 값 주석이 누락 된 이유

  6. 6

    키 및 관련 값 유형을 일반에 전달하여 인덱싱 된 유형을 좁 힙니다.

  7. 7

    템플릿 유형! = 추론 된 유형

  8. 8

    동적으로 추가 된 속성 유형 확인

  9. 9

    상속 된 유형에서 템플릿 인수 추론

  10. 10

    TypeScript에서 인덱싱 가능한 유형의 배열 구분

  11. 11

    TS가 매핑 된 유형에서 유형 인수를 자동으로 유추하도록하는 방법은 무엇입니까?

  12. 12

    F #에서 자신 만의 정의 된 유형의 목록을 인덱싱하는 방법

  13. 13

    유형 선언에서 정확한 현재 인덱싱 된 키를 얻을 수 있습니까?

  14. 14

    매개 변수화 / 인덱싱 된 유형에서 catamorphism을 작동시키는 방법은 무엇입니까?

  15. 15

    IIFE에 정의 된 유형으로 WebStorm 유형 검사

  16. 16

    사용 된 유형 제네릭 중 하나에서 제네릭 유형 유추

  17. 17

    vhdl의 for 루프에서 인덱스에 액세스 할 수 있습니까? 오류 : 인덱싱 된 이름 접두사 유형 natrual이 배열 유형이 아닙니다.

  18. 18

    유도 유형 "또는"에서 X의 잘못된 제거 :

  19. 19

    인터셉트 된 유형에 대한보기 유형 매핑에 ViewModel 추가

  20. 20

    귀납적 데이터 유형으로 인덱싱 된 데이터 유형을 올바르게 래핑하는 방법은 무엇입니까?

  21. 21

    전달 된 유형 Defs가있는 JSDoc으로 VSCode에서 유형 검사

  22. 22

    공유 된 임의 유형으로 결합 된 추상 클래스에 대한 유형 주석

  23. 23

    유형이 혼합 된 배열의 각 인덱스에 대한 요소 유형 가져 오기

  24. 24

    열거 형 유형의 속성이 포함 된 C # 인터페이스

  25. 25

    GHCi에서 유형 매개 변수가 적용된 유형의 인스턴스를 나열하는 방법

  26. 26

    R에서 "문자"유형의 두 열을 기반으로 중복 된 행 제거

  27. 27

    유형이 지정된 인덱싱 변수가 인덱싱되는 개체와 동일한 유형이 아닙니다.

  28. 28

    래핑 된 함수에서 예상하는 유형으로 인수 변환

  29. 29

    조건부에서 잘못된 유형으로 추론되는 기본 템플릿 인수

뜨겁다태그

보관