UNPKG

@modern-kit/utils

Version:
1 lines 1.98 kB
{"version":3,"file":"index.mjs","sources":["../../../src/number/clamp/index.ts"],"sourcesContent":["import { isNil } from '../../validator';\n/**\n * @description 주어진 값을 `최댓값`으로 제한합니다.\n *\n * @param {number} value - 제한할 숫자\n * @param {number} max - 최대 범위\n * @returns {number} 지정된 범위 내로 제한된 숫자\n *\n * @example\n * clamp(3, 5); // 3\n * clamp(10, 6); // 6\n */\nexport function clamp(value: number, max: number): number;\n\n/**\n * @description 주어진 값을 `최솟값`과 `최댓값` 사이로 제한합니다.\n *\n * @param {number} value - 제한할 숫자\n * @param {number} min - 최소 범위\n * @param {number} max - 최대 범위\n * @returns {number} 지정된 범위 내로 제한된 숫자\n *\n * @example\n * clamp(7, 0, 10); // 7\n * clamp(10, 0, 5); // 5\n * clamp(-5, 0, 10); // 0\n */\nexport function clamp(value: number, min: number, max: number): number;\n\n/**\n * @description 주어진 값을 `최솟값`과 `최댓값` 사이로 제한합니다.\n *\n * 최댓값이 제공되지 않은 경우, 입력값과 최솟값 중 작은 값을 반환합니다.\n *\n * @param {number} value - 제한할 숫자\n * @param {number} min - 최소 범위 (max가 제공되지 않은 경우 최대 범위)\n * @param {number} max - 최대 범위 (생략 가능)\n * @returns {number} 지정된 범위 내로 제한된 숫자\n *\n * @example\n * clamp(7, 0, 10); // 7\n * clamp(10, 0, 5); // 5\n * clamp(-5, 0, 10); // 0\n */\nexport function clamp(value: number, min: number, max?: number): number {\n if (isNil(max)) {\n return Math.min(value, min);\n }\n\n return Math.min(Math.max(value, min), max);\n}\n"],"names":[],"mappings":";;AA4CO,SAAS,KAAA,CAAM,KAAA,EAAe,GAAA,EAAa,GAAA,EAAsB;AACtE,EAAA,IAAI,KAAA,CAAM,GAAG,CAAA,EAAG;AACd,IAAA,OAAO,IAAA,CAAK,GAAA,CAAI,KAAA,EAAO,GAAG,CAAA;AAAA,EAC5B;AAEA,EAAA,OAAO,KAAK,GAAA,CAAI,IAAA,CAAK,IAAI,KAAA,EAAO,GAAG,GAAG,GAAG,CAAA;AAC3C;;;;"}