>웹 프론트엔드 >JS 튜토리얼 >Ajv-ts는 . 새로운 소식은 무엇인가요?

Ajv-ts는 . 새로운 소식은 무엇인가요?

DDD
DDD원래의
2024-09-18 21:55:03473검색

Ajv-ts got . What

Schema Validation Toolkit의 최신 릴리스 0.9인 ajv-ts는 개발자 생산성을 향상하고 더 나은 유효성 검사 정확성을 보장하는 향상된 기능을 제공합니다. 복잡한 데이터 모델을 구축하든 기본 입력만 처리하든 이러한 업데이트는 보다 강력한 기능과 예제를 통해 스키마 정의를 간소화하는 데 도움이 됩니다. 다음은 이번 릴리스에 도입된 주요 업데이트의 개요와 릴리스 0.7

의 중요한 변경 사항을 요약한 것입니다.

더 나은 명확성을 위한 스키마 예

릴리스 0.9의 주요 업데이트 중 하나는 모든 데이터 유형에 대한 스키마 예제의 도입입니다. 이 기능을 통해 개발자는 스키마 정의 내에 특정 예를 직접 포함할 수 있어 투명성과 사용 편의성이 향상됩니다. 또한 임의의 인수 길이와 함께 사용할 수도 있습니다.

  • 문자열의 경우:
// Valid examples for a string schema
const myString = s.string().examples(["hello", "world"]);
myString.schema // // {type: 'string', examples: ['hello', 'world']}
s.string().examples("hello", "world"); // OKs
  • 숫자의 경우:
// Valid examples for a number schema
const myNum1 = s.number().examples(1, 2, 3);
myNum1.schema // {type: 'number', examples: [1,2,3]}

// TypeScript error for invalid number types
// @ts-ignore fails ts, but schema still ok
const myNum2 = s.number().examples(["abc", "123"]);
myNum2.schema // {type: "number", examples: ["abc", "123"] }

이 변경 사항은 올바른 데이터 유형을 검증하는 데 도움이 되고 코드 내 문서화를 개선하여 팀이 예상되는 값을 더 쉽게 이해할 수 있게 해줍니다.

더욱 엄격한 번호 검증

이전 릴리스 0.8에 도입되어 더욱 엄격한 숫자 검증이 적용된 몇 가지 중요한 변경 사항을 강조할 수도 있습니다.

  • 형식 및 유형 적용: 이 업데이트에서는 숫자 형식에 대한 더 엄격한 규칙이 도입되었습니다. 예를 들어 정수 및 부동 소수점과 같은 특정 조합만 허용되며 잘못된 형식으로 인해 오류가 발생합니다.
s.number().format("float").int(); // Error: incompatible format and type
s.number().int().format("double"); // Error: 'double' format not allowed for integers
  • 범위 확인: 릴리스 0.8의 또 다른 기능은 자동 범위 확인 기능의 도입이었습니다. 개발자는 숫자의 최소값과 최대값을 지정할 수 있으며, 값이 범위를 벗어나면 시스템에서 오류가 발생합니다.
s.number().min(5).max(3); // Error: max cannot be smaller than min
s.number().min(1).max(10).const(15); // Error: constant is out of specified range

이러한 향상된 기능은 스키마 정의 중 논리적 오류를 방지하고 보다 일관된 데이터 검증을 보장하는 데 도움이 되었습니다.

기타 변경사항

  • GitHub을 통한 변경 세트 관리
  • pnpm 버전을 9.10.0으로 업데이트
  • 메타 메소드에 대한 메타 객체 업데이트

결론

릴리스 0.9릴리스 0.8 업데이트는 더 나은 예제, 더 엄격한 검증 및 향상된 오류를 제공하여 개발자 환경을 크게 개선합니다. 처리—특히 TypeScript 사용자의 경우. 이러한 기능을 사용하면 복잡한 프로젝트에서 스키마 정의를 더욱 직관적이고 안정적이며 쉽게 유지 관리할 수 있습니다. 검증 작업 흐름을 보다 효율적으로 만들기 위해 새로운 기능을 살펴보십시오!

행복한 스키마 정의!

프로젝트 링크: https://github.com/vitalics/ajv-ts

위 내용은 Ajv-ts는 . 새로운 소식은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.