@modern-kit/utils
Version:
1 lines • 1.76 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../src/array/contains/index.ts"],"sourcesContent":["/**\n * @description 주어진 배열에 특정 값이 포함되어 있는지 확인하는 함수입니다.\n * 기본적으로 `Object.is`를 사용하여 비교를 수행하며, 사용자 정의 비교 함수(comparator)를 사용할 수 있습니다.\n *\n * @template T - 배열의 요소 타입입니다.\n * @param {T[] | readonly T[]} arr - 검색할 배열입니다. 변경 불가능한 읽기 전용 배열도 허용됩니다.\n * @param {unknown} value - 배열에서 찾고자 하는 값입니다.\n * @param {(x: any, y: any) => boolean} [comparator=Object.is] - 배열의 요소와 찾고자 하는 값을 비교할 때 사용할 사용자 정의 비교 함수입니다. 기본값은 `Object.is`입니다.\n * @returns {value is T} 주어진 값이 배열에 포함되어 있으면 `true`를, 그렇지 않으면 `false`를 반환합니다.\n *\n * @example\n * // 기본 비교 함수 사용 (Object.is)\n * const numbers = [1, 2, 3];\n *\n * contains(numbers, 2); // true\n * contains(numbers, 4); // false\n *\n * @example\n * // 사용자 정의 비교 함수 사용\n * const objects = [{ id: 1 }, { id: 2 }];\n *\n * contains(objects, { id: 2 }, (x, y) => x.id === y.id); // true\n * contains(objects, { id: 3 }, (x, y) => x.id === y.id); // false\n */\nexport function contains<T>(\n arr: T[] | readonly T[],\n value: unknown,\n comparator: (x: any, y: any) => boolean = Object.is\n): value is T {\n return arr.some((item) => comparator(item, value));\n}\n"],"names":[],"mappings":"AAwBO,SAAS,QAAA,CACd,GAAA,EACA,KAAA,EACA,UAAA,GAA0C,OAAO,EAAA,EACrC;AACZ,EAAA,OAAO,IAAI,IAAA,CAAK,CAAC,SAAS,UAAA,CAAW,IAAA,EAAM,KAAK,CAAC,CAAA;AACnD;;;;"}