plugin/antibrute: nicer
Massimo Melina committed
Feb 18, 2023 at 12:18 UTC
17e36657d6bb0767816f3bbcceaa6a327aa96241
2 files changed
+6
-6
plugins/antibrute/plugin.js
+1
-1
@@ -7,7 +7,7 @@ exports.config = {
7
max: { type: 'number', min: 1, defaultValue: 60, helperText: "Max seconds to delay before next login is allowed" },
8
}
9
exports.configDialog = {
10
- maxWidth: 'sm',
10
+ maxWidth: '25em',
11
}
12
13
const byIp = {}
shared/index.ts
+5
-5
@@ -9,22 +9,22 @@ export type Dict<T=any> = Record<string, T>
9
export type Falsy = false | null | undefined | '' | 0
10
type Truthy<T> = T extends false | '' | 0 | null | undefined ? never : T
11
12
+const MULTIPLIERS = ['', 'K', 'M', 'G', 'T']
13
export function formatBytes(n: number, { post='B', k=1024, digits=NaN }={}) {
14
if (isNaN(Number(n)) || n < 0)
15
return ''
15
- let x = ['', 'K', 'M', 'G', 'T']
16
let prevMul = 1
17
let mul = k
18
let i = 0
19
- while (i < x.length && n > mul) {
19
+ while (i < MULTIPLIERS.length && n > mul) {
20
prevMul = mul
21
mul *= k
22
++i
23
}
24
n /= prevMul
25
- const ns = !i || isNaN(digits) ? _.round(n, isNaN(digits) ? (n >= 100 ? 0 : 1) : digits) // _.round will avoid useless fractional zeros when `digits is unspecified or no multiplier was used
26
- : n.toFixed(digits)
27
- return ns + ' ' + (x[i]||'') + post
25
+ const nAsString = i && !isNaN(digits) ? n.toFixed(digits)
26
+ : _.round(n, isNaN(digits) ? (n >= 100 ? 0 : 1) : digits)
27
+ return nAsString + ' ' + (MULTIPLIERS[i]||'') + post
28
} // formatBytes
29
30
export function prefix(pre:string, v:string|number|undefined|null|false, post:string='') {