Reads a numeric value from the source, and if not found, returns the provided defaultValue.
defaultValue
num readNum(source, key, {num defaultValue = -1.0}) { return tryReadNum(source, key) ?? defaultValue; }