1.3.8 • Published 1 day ago

@frankhoodbs/cast-prop-to-type v1.3.8

Weekly downloads
-
License
ISC
Repository
-
Last release
1 day ago

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.

Version License

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);
  }
}
1.3.7

1 day ago

1.3.4

2 days ago

1.3.8

1 day ago

1.3.3

6 days ago

1.3.2

19 days ago

1.3.1

22 days ago

1.3.0

23 days ago

1.2.17

23 days ago

1.2.16

2 months ago

1.2.14

2 months ago

1.2.15

2 months ago

1.2.13

2 months ago

1.2.12

3 months ago

1.2.11

3 months ago

1.2.10

4 months ago

1.2.9

4 months ago

1.2.8

4 months ago

1.2.7

4 months ago

1.2.6

4 months ago

1.2.3

4 months ago

1.2.2

4 months ago

1.2.1

4 months ago

1.1.9

8 months ago

1.1.8

8 months ago

1.1.12

8 months ago

1.1.11

8 months ago

1.1.10

8 months ago

1.1.20

7 months ago

1.1.16

7 months ago

1.1.15

8 months ago

1.1.14

8 months ago

1.1.13

8 months ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago