GithubHelp home page GithubHelp logo

trs / astype Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 30 KB

:inbox_tray: Convert an unknown type to a string, boolean, or number (integer, or float)

License: MIT License

JavaScript 100.00%

astype's Introduction

astype NPM version

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 value null
    • If false: conversion will return 0 if null
  • allowUndefined (default: true)

    • If true: conversion can return the value undefined
    • If false: conversion will return 0 if undefined
  • allowNaN (default: true)

    • If true: conversion can return the value NaN
    • If false: conversion will return 0 if NaN
  • allowInfinity (default: true)

    • If true: conversion can return the value Infinity
    • If false: conversion will return 0 if Infinity
  • allowFindInString (default: true)

    • If true: conversion can will pick out numbers from a string
      (eg: 'abc123!' => 123)
    • If false: conversion will return NaN if allowNaN is true, otherwise 0
  • 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)

boolean

  • allowNull (default: true)

    • If true: conversion can return the value null
    • If false: conversion will return 0 if null
  • allowUndefined (default: true)

    • If true: conversion can return the value undefined
    • If false: conversion will return 0 if undefined
  • parseString (default: true)

    • If true: will parse the strings "true" and "false" to true and false respectively
    • If false: will parse the string to a boolean (Boolean("string"))
  • 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))

string

  • allowNull (default: true)

    • If true: conversion can return the value null
    • If false: conversion will return 0 if null
  • allowUndefined (default: true)

    • If true: conversion can return the value undefined
    • If false: conversion will return 0 if undefined

License

MIT © Tyler Stewart

astype's People

Contributors

trs avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

vinks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.