@modern-kit/utils
Version:
1 lines • 2.18 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../../../src/date/isUnderAge/index.ts"],"sourcesContent":["import { getAge } from '../getAge';\n\ninterface IsUnderAgeParams {\n birthDate: string | number | Date;\n targetAge: number;\n inclusive?: boolean;\n}\n\n/**\n * @description 주어진 생년월일을 기준으로 특정 나이보다 어린지 확인합니다.\n *\n * `inclusive` 값을 기준으로 기준 나이를 포함할지 여부를 결정합니다.\n *\n * @param {IsUnderAgeParams} params - 확인하고자 하는 생년월일\n * @param {string | number| Date} params.birthDate - 확인하고자 하는 생년월일\n * @param {number} params.targetAge - 비교할 기준 나이\n * @param {boolean} params.inclusive - 기준 나이에 포함 여부\n * @returns {boolean} 대상이 기준 나이보다 어리면 true, 아니면 false\n * @throws {Error} 유효하지 않은 날짜 형식이 입력된 경우\n *\n * @example\n * // 2025년 01월 01일 기준\n * isUnderAge({ birthDate: new Date('2006-01-02'), targetAge: 19 }); // true\n * isUnderAge({ birthDate: new Date('2006-01-01'), targetAge: 19 }); // false, 정확히 만 19세\n * isUnderAge({ birthDate: new Date('2005-12-31'), targetAge: 19 }); // false\n *\n * isUnderAge({ birthDate: '2006-01-02', targetAge: 19 }); // true\n * isUnderAge({ birthDate: '2006-01-01', targetAge: 19 }); // false, 정확히 만 19세\n * isUnderAge({ birthDate: '2005-12-31', targetAge: 19 }); // false\n *\n * @example\n * // 2025년 01월 01일 기준\n * // inclusive 값을 기준으로 기준 나이를 포함할지 여부를 결정합니다.\n * isUnderAge({\n * birthDate: '2006-01-01',\n * targetAge: 19,\n * inclusive: true\n * }); // true\n */\nexport function isUnderAge({\n birthDate,\n targetAge,\n inclusive = false,\n}: IsUnderAgeParams): boolean {\n const age = getAge(birthDate);\n\n return inclusive ? age <= targetAge : age < targetAge;\n}\n"],"names":["getAge"],"mappings":";;;;;;AAuCO,SAAS,UAAA,CAAW;AAAA,EACzB,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA,GAAY;AACd,CAAA,EAA8B;AAC5B,EAAA,MAAM,GAAA,GAAMA,kBAAO,SAAS,CAAA;AAE5B,EAAA,OAAO,SAAA,GAAY,GAAA,IAAO,SAAA,GAAY,GAAA,GAAM,SAAA;AAC9C;;;;"}