UNPKG

@modern-kit/utils

Version:
1 lines 972 B
{"version":3,"file":"index.mjs","sources":["../../../src/array/flattenDeep/index.ts"],"sourcesContent":["import { flatten } from '../../array/flatten';\n\nexport type ExtractNestedArrayType<T> = T extends readonly (infer U)[]\n ? ExtractNestedArrayType<U>\n : T;\n\n/**\n * @description 주어진 중첩 배열의 `모든 깊이`를 `평탄화`해주는 함수입니다.\n *\n * @template T - 배열 요소의 유형입니다.\n * @param {T[] | readonly T[]} arr - 평탄화할 배열입니다.\n * @returns {ExtractNestedArrayType<T>[]} 모든 중첩된 배열이 평탄화된 새로운 배열을 반환합니다.\n *\n * @example\n * flattenDeep([1, [2, [3, [4]], 5]]);\n * // [1, 2, 3, 4, 5]\n */\nexport function flattenDeep<T>(\n arr: T[] | readonly T[]\n): ExtractNestedArrayType<T>[] {\n return flatten(arr, Infinity) as ExtractNestedArrayType<T>[];\n}\n"],"names":[],"mappings":";;AAiBO,SAAS,YACd,GAAA,EAC6B;AAC7B,EAAA,OAAO,OAAA,CAAQ,KAAK,QAAQ,CAAA;AAC9B;;;;"}