@frankhoodbs/cast-prop-to-type
v1.3.11
Published
Simple utility to convert string props to correct type
Downloads
147
Keywords
Readme
Cast Prop to Type
This utility provides a straightforward mechanism to cast various types of JavaScript properties to desired data types, such as number
, array
, boolean
, and object
. In the event of a casting error or invalid input, a custom ValidationError
is thrown to provide a meaningful error message.
Usage
import { castPropToType } from "@frankhoodbs/cast-prop-to-type";
const numValue = castPropToType("42", "number"); // Returns 42 as a number
API
castPropToType(value, type)
Cast the given value
to the specified type
.
Parameters:
- value (
any
): The value to be casted. - type (
"number" | "array" | "boolean" | "object"
): The type to which the value should be casted.
Returns:
The casted value. Throws ValidationError
if casting is not possible.
ValidationError
Custom error that is thrown when there's a validation error during the casting process. It extends the native JavaScript Error
class.
Examples
// Casting a string to a number
const num = castPropToType("42", "number"); // 42
// Casting a string to an array
const arr = castPropToType('["a", "b", "c"]', "array"); // ["a", "b", "c"]
// Casting a string to a boolean
const boolTrue = castPropToType("true", "boolean"); // true
// Casting a string to an object
const obj = castPropToType('{"key": "value"}', "object"); // { key: "value" }
Error Handling
If the utility encounters an invalid value for the desired casting type or if the type itself is invalid, a ValidationError
will be thrown:
try {
const num = castPropToType("foo", "number");
} catch (error) {
if (error instanceof ValidationError) {
console.error(error.message);
}
}