Convert an unknown type to a string, boolean, or number (integer, or float)
$ npm install --save astype
import as from 'astype';
as.number('1'); // 1
as.integer('55.1'); // 55
as.boolean(0); // false
as.string(true); // "true"
number(...)
(aliases:double()
,float()
)- allows decimal places (1.1)
integer(...)
- truncates decimal places (1.1 => 1)
boolean(...)
(aliases:bool()
)string(...)
Options can be used to modify the behavior of the conversions.
These can be set in two ways:
- Global will affect the behavior anytime that function is used
- Query will affect the behavior in that instance
Setting a global option will modify the behavior anytime a function is called.
This allows simplier syntax when using the same rules.
as.setGlobal({
number: { ... },
boolean: { ... },
string: { ... }
});
You can also unset global options as well.
Passing an empty object or null will unset all options under that key.
as.unsetGlobal({
number: { ... },
boolean: { ... },
string: { ... }
})
You can also pass through options in the conversion.
This will change the behavior in this instance, but will not change any globally set options.
these take presidence over any global options.
as.number(..., { ... })
as.number(null, { allowNull: false }); // 0
-
allowNull (default:
true
)- If
true
: conversion can return the valuenull
- If
false
: conversion will return0
ifnull
- If
-
allowUndefined (default:
true
)- If
true
: conversion can return the valueundefined
- If
false
: conversion will return0
ifundefined
- If
-
allowNaN (default:
true
)- If
true
: conversion can return the valueNaN
- If
false
: conversion will return0
ifNaN
- If
-
allowInfinity (default:
true
)- If
true
: conversion can return the valueInfinity
- If
false
: conversion will return0
ifInfinity
- If
-
allowFindInString (default:
true
)- If
true
: conversion can will pick out numbers from a string
(eg: 'abc123!' => 123) - If
false
: conversion will returnNaN
if allowNaN istrue
, otherwise0
- If
-
allowDecimals (default:
true
)- If
true
: will allow decimal places in numbers (eg: '1.9' => 1.9) - If
false
: will truncate decimal places (eg: '1.9' => 1)
- If
-
allowNull (default:
true
)- If
true
: conversion can return the valuenull
- If
false
: conversion will return0
ifnull
- If
-
allowUndefined (default:
true
)- If
true
: conversion can return the valueundefined
- If
false
: conversion will return0
ifundefined
- If
-
parseString (default:
true
)- If
true
: will parse the strings"true"
and"false"
totrue
andfalse
respectively - If
false
: will parse the string to a boolean (Boolean("string")
)
- If
-
convertNumbers (default:
true
)- If
true
: if the input is a number (or string that is a number), it will parse as a number first, then convert to a boolean
(eg: '1' => 1 => true) - If
false
: will parse the string to a boolean (Boolean(1)
)
- If
-
allowNull (default:
true
)- If
true
: conversion can return the valuenull
- If
false
: conversion will return0
ifnull
- If
-
allowUndefined (default:
true
)- If
true
: conversion can return the valueundefined
- If
false
: conversion will return0
ifundefined
- If
MIT © Tyler Stewart