mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-10 16:58:08 +00:00
feat: enhance order handling in LighterGateway and introduce order identity normalization for improved precision and consistency
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
const TRUE_VALUES = new Set(["1", "true", "yes", "y", "on"]);
|
||||
const FALSE_VALUES = new Set(["0", "false", "no", "n", "off"]);
|
||||
|
||||
export function normalizeBooleanFlag(value: unknown): boolean | null {
|
||||
if (typeof value === "boolean") return value;
|
||||
if (typeof value === "number") {
|
||||
if (value === 1) return true;
|
||||
if (value === 0) return false;
|
||||
return null;
|
||||
}
|
||||
if (typeof value === "string") {
|
||||
const normalized = value.trim().toLowerCase();
|
||||
if (!normalized) return null;
|
||||
if (TRUE_VALUES.has(normalized)) return true;
|
||||
if (FALSE_VALUES.has(normalized)) return false;
|
||||
return null;
|
||||
}
|
||||
if (typeof value === "bigint") {
|
||||
if (value === 1n) return true;
|
||||
if (value === 0n) return false;
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
export function coerceBooleanFlag(value: unknown, fallback = false): boolean {
|
||||
const normalized = normalizeBooleanFlag(value);
|
||||
if (normalized == null) return fallback;
|
||||
return normalized;
|
||||
}
|
||||
Reference in New Issue
Block a user