TypeDraft: 패턴 일치 DSL 사용
0.2.5
(draft-dsl-match 0.2.0 사용)에서 DSL로 패턴 일치를 완벽하게 지원합니다.import { MatchDSL } from "draft-dsl-match";
type Vector1 = { x: number };
type Vector2 = { x: number; y: number };
type Vector3 = {
x: number;
y: number;
z: number;
};
type Vector = Vector1 | Vector2 | Vector3;
const vector: Vector = { x: 1 };
const result = Λ<string>("match")` ${vector as Vector}
${{ x: 1, y: 1, z: 1 }} -> ${"vector3"}
${{ x: 2, y: 1 }} -> ${"vector2"}
${{ x: 1 }} -> ${"vector1"}
`;
console.log(result); // "vector1"
Λ<string>("match")...
는 MatchDSL...
로 번역되며, ts-pattern은 패턴 일치에 대한 런타임 지원을 제공합니다.typedraft에 대한 문서는 typedraft-docs , 패턴 일치의 예: draft-dsl-match , 잘 테스트되었습니다: Test cases as examples 에서 찾을 수 있습니다.
dsl-match-demo에서 시도하십시오! 어떤 피드백이든 환영합니다.
Reference
이 문제에 관하여(TypeDraft: 패턴 일치 DSL 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mistlog/typedraft-use-pattern-match-dsl-2b4b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)