@vinks/astype
v0.1.3
Published
Convert unknown type to certain type
Downloads
2
Maintainers
Readme
astype
Convert an unknown type to a string, boolean, or number (integer, or float)
Installation
$ npm install --save astype
Usage
import as from 'astype';
as.number('1'); // 1
as.integer('55.1'); // 55
as.boolean(0); // false
as.string(true); // "true"
Available conversions
number(...)
(aliases:double()
,float()
)- allows decimal places (1.1)
integer(...)
- truncates decimal places (1.1 => 1)
boolean(...)
(aliases:bool()
)string(...)
Options
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
Global
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: { ... }
})
Query
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
Available Options
number
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
boolean
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
string
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
License
MIT © Tyler Stewart