Methods10
.optional / .nullable스키마가 받아들이는 값의 폭을 넓히는 래퍼. undefined를 더하는 optional, null을 더하는 nullable, 둘 다 더하는 nullish.→.parse / .safeParse스키마로 unknown 값을 검사하는 두 입구. 실패를 던질지, 값으로 돌려받을지가 갈린다.→.refine스키마가 통과시킨 값에 사용자 정의 조건을 하나 더 붙인다. 타입은 그대로 두고 규칙만 검사한다.→.default / .catch입력이 undefined일 때 값을 채우는 default, 파싱이 실패했을 때 값을 대신 돌려주는 catch. 발동 조건과 검증을 거치는지가 다르다.→.transform검증을 통과한 값을 다른 모양으로 바꾼다. 입력 타입과 출력 타입이 서로 달라질 수 있다.→Object 메서드이미 선언한 z.object 스키마를 다시 적지 않고 파생시키는 메서드들. extend·pick·omit으로 모양을 바꾸고, partial·required로 필수 여부를 바꾼다.→.pipea의 출력을 b의 입력으로 넘겨, 변환한 값을 다시 검증하는 체인을 만든다.→.brand / .readonlybrand는 구조가 같은 타입을 타입 레벨에서 서로 다르게 만들고, readonly는 파싱한 값을 얼려 수정을 막는다.→z.codecz.codec(input, output, { decode, encode })는 양방향 변환을 스키마 하나로 선언한다. decode로 input을 output으로 바꾸고, encode로 그 반대 방향까지 정의해 둔다.→z.function함수의 인자와 반환값에 스키마를 걸어 둔다. 진짜로 검사가 걸리는 함수는 .implement()로 따로 뽑아낸다.→