Files
order_site/apps/backend/src/services/admin/admin-query-utils.js
T
2026-04-09 12:24:14 +08:00

39 lines
861 B
JavaScript

export function normalizePage(rawValue) {
const parsed = Number(rawValue)
return Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : 1
}
export function normalizePageSize(rawValue) {
const parsed = Number(rawValue)
if (!Number.isFinite(parsed) || parsed <= 0) {
return 20
}
return Math.min(100, Math.floor(parsed))
}
export function normalizeDateQuery(rawValue, endOfDay = false) {
const normalized = String(rawValue || '').trim()
if (!normalized) {
return ''
}
if (/^\d{4}-\d{2}-\d{2}$/.test(normalized)) {
return endOfDay ? `${normalized}T23:59:59.999Z` : `${normalized}T00:00:00.000Z`
}
return normalized
}
export function safeParseJson(rawText) {
if (rawText && typeof rawText === 'object') {
return rawText
}
try {
return JSON.parse(String(rawText || '{}'))
} catch {
return {}
}
}