mirror of
https://github.com/koreanbots/core.git
synced 2025-12-15 14:10:22 +00:00
30 lines
878 B
TypeScript
30 lines
878 B
TypeScript
import { UserPemissionFlags } from '../types'
|
|
import { perms } from './Constants'
|
|
|
|
function formatNumber(num: number, digits = 1) {
|
|
const si = [
|
|
{ value: 1, symbol: '' },
|
|
{ value: 1e3, symbol: '천' },
|
|
{ value: 1e4, symbol: '만' },
|
|
{ value: 1e8, symbol: '억' },
|
|
{ value: 1e12, symbol: '조' },
|
|
{ value: 1e16, symbol: '해' },
|
|
]
|
|
const rx = /\.0+$|(\.[0-9]*[1-9])0+$/
|
|
let i
|
|
for (i = si.length - 1; i > 0; i--) {
|
|
if (num >= si[i].value) {
|
|
break
|
|
}
|
|
}
|
|
return (num / si[i].value).toFixed(digits).replace(rx, '$1') + si[i].symbol
|
|
}
|
|
|
|
function checkPerm(base: number, required: number | UserPemissionFlags) {
|
|
required = typeof required === 'number' ? required : perms[required]
|
|
if (typeof required !== 'number' && !required) throw new Error('올바르지 않은 권한입니다.')
|
|
return (base & required) === required
|
|
}
|
|
|
|
export { formatNumber, checkPerm }
|