deduplicate task parsing and masking helpers
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
import { buildClaimUrl } from '../claim-service.js'
|
||||
import { createHttpError } from '../../../utils/http.js'
|
||||
import { maskCode as maskCodeValue } from '../../../utils/masking.js'
|
||||
import { formatFenToAmount, normalizeFen } from '../../../utils/money.js'
|
||||
import {
|
||||
parseTaskContext as parseTaskContextValue,
|
||||
parseTaskState as parseTaskStateValue,
|
||||
} from '../../../utils/task-json.js'
|
||||
|
||||
export const CLAIM_TERMINAL_STATUSES = new Set(['expired', 'closed'])
|
||||
export const REDEEM_REPLACEMENT_LIMIT = 10
|
||||
@@ -178,21 +183,7 @@ export function mergeTaskContext(task, patch = {}) {
|
||||
}
|
||||
|
||||
export function parseTaskState(task) {
|
||||
const value = task?.state_json
|
||||
|
||||
if (!value) {
|
||||
return {}
|
||||
}
|
||||
|
||||
if (typeof value === 'object') {
|
||||
return value
|
||||
}
|
||||
|
||||
try {
|
||||
return JSON.parse(String(value || '{}'))
|
||||
} catch {
|
||||
return {}
|
||||
}
|
||||
return parseTaskStateValue(task)
|
||||
}
|
||||
|
||||
export function isAssistedClaimTask(task) {
|
||||
@@ -200,21 +191,7 @@ export function isAssistedClaimTask(task) {
|
||||
}
|
||||
|
||||
export function parseTaskContext(task) {
|
||||
const value = task?.context_json
|
||||
|
||||
if (!value) {
|
||||
return {}
|
||||
}
|
||||
|
||||
if (typeof value === 'object') {
|
||||
return value
|
||||
}
|
||||
|
||||
try {
|
||||
return JSON.parse(String(value || '{}'))
|
||||
} catch {
|
||||
return {}
|
||||
}
|
||||
return parseTaskContextValue(task)
|
||||
}
|
||||
|
||||
export function normalizeClaimLoginType(loginType) {
|
||||
@@ -227,15 +204,5 @@ export function isRecoverableSessionError(error) {
|
||||
}
|
||||
|
||||
export function maskCode(value) {
|
||||
const text = String(value || '').trim()
|
||||
|
||||
if (!text) {
|
||||
return ''
|
||||
}
|
||||
|
||||
if (text.length <= 8) {
|
||||
return `${text.slice(0, 2)}****${text.slice(-2)}`
|
||||
}
|
||||
|
||||
return `${text.slice(0, 4)}****${text.slice(-4)}`
|
||||
return maskCodeValue(value, { shortMask: '****' })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user