Skip to content

conforms (Lodash 호환성)

조건 함수들을 가진 객체를 받아서, 다른 객체가 모든 조건을 만족하는지 확인하는 함수를 만들어요.

typescript
const checker = conforms(predicates);

레퍼런스

conforms(source)

여러 프로퍼티에 대한 조건들을 한 번에 확인할 때 conforms를 사용하세요. 이 함수는 검증 함수를 생성해서 나중에 여러 객체들을 검사할 때 유용해요.

typescript
import { conforms } from 'es-toolkit/compat';

// 조건 함수들 정의
const isPositive = n => n > 0;
const isEven = n => n % 2 === 0;
const isString = s => typeof s === 'string';

// 여러 조건을 포함한 검증 함수 생성
const validator = conforms({
  a: isPositive,
  b: isEven,
  c: isString,
});

// 객체들 검증
validator({ a: 2, b: 4, c: 'hello' }); // true (모든 조건 만족)
validator({ a: -1, b: 4, c: 'hello' }); // false (a가 양수가 아님)
validator({ a: 2, b: 3, c: 'hello' }); // false (b가 짝수가 아님)
validator({ a: 2, b: 4, c: 123 }); // false (c가 문자열이 아님)

// 배열 필터링에서 사용
const users = [
  { age: 25, score: 80, name: 'Alice' },
  { age: 17, score: 95, name: 'Bob' },
  { age: 30, score: 75, name: 'Charlie' },
];

const adultHighScorer = conforms({
  age: n => n >= 18,
  score: n => n >= 80,
});

const filteredUsers = users.filter(adultHighScorer);
// [{ age: 25, score: 80, name: 'Alice' }]

파라미터

  • source (Record<PropertyKey, (value: any) => boolean>): 프로퍼티별 조건 함수들을 가진 객체예요.

반환 값

((object: Record<PropertyKey, any>) => boolean): 주어진 객체가 모든 조건을 만족하는지 확인하는 함수를 반환해요.

MIT 라이선스에 따라 배포됩니다.