UNPKG

syphonx-core

Version:

SyphonX is a template-driven solution for extracting data from HTML in a highly efficient way. It combines the power of jQuery, Regular Expressions, and Javascript into a declarative template-driven format that extracts and reshapes HTML data into JSON.

35 lines 1.39 kB
import { parseBoolean, parseNumber } from "./parse.js"; export function coerce(value, type) { if (type === "number") return parseNumber(value); else if (type === "boolean") return parseBoolean(value); else return value; } export function coerceSelectValue(value, type, repeated) { if (repeated) { return value instanceof Array ? value.map(v => coerceSelectValue(v, type, false)) : [coerceSelectValue(value, type, false)]; } else if (type === "string") { return typeof value === "string" ? value : typeof value === "number" || typeof value === "boolean" ? value.toString() : null; } else if (type === "number") { return typeof value === "number" ? value : typeof value === "string" ? parseNumber(value) : null; } else if (type === "boolean") { return typeof value === "boolean" ? value : typeof value === "string" ? value.trim().length > 0 : typeof value === "number" && !isNaN(value) ? value !== 0 : null; } else { return value; } } export function isCoercibleTo(value, type) { if (type === "number" && typeof value === "string" && parseNumber(value) !== undefined) return true; else if (type === "boolean" && typeof value === "string" && parseBoolean(value) !== undefined) return true; else return false; } //# sourceMappingURL=coerce.js.map