![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
The easy-peasy zero-dependency JavaScript type checker that asks, "What typa input is that?" Minified packaged version is 2 entire KB.
Notice: Breaking changes in v0.3.0. New bundler, plus nll
is now nil
and noru
is now nullish
.
yarn add typa || npm install typa
yarn test
import is from 'typa' || const is = require('typa')
const hello = 'Hello!'
const goodbye = ['Goodbye!', 'Adios!', 'Au revoir!']
if (is.str(hello)) console.log(hello)
// => 'Hello!'
if (is.str(goodbye)) console.log(hello)
// => no result
Ternary operator that checks if the supplied value matches the specified type, then returns the first callback function or value if true or the second callback function or value if false.
.typa($type, $value, $fn1, $fn2)
const isStr = () => console.log('I am a string')
const aintStr = () => console.log('I am not a string')
is.typa('str', 'Am I a string?', isStr, aintStr)
// => 'I am a string'
is.typa('str', ['Am', 'I', 'a', 'string', '?'], isStr, aintStr)
// => 'I am not a string'
Returns a string or an array of strings matching the type of the supplied value.
.what($value)
is.what('This is a string')
// => 'string'
is.what(['This', 'is', 'an', 'array'])
// => ['array', 'object']
const isArray = is.arr(['text', 12])
// => true
.bad($value) — Null, undefined, empty, or an error
let isBad = is.bad(null)
// => true
isBad = is.bad(undefined)
// => true
isBad = is.bad({})
// => true
isBad = is.bad(new Error('This is an error'))
// => true
let isBool = is.bool(true)
// => true
isBool = is.bool(false)
// => true
const isDate = is.date(new Date())
// => true
.empty($value) — Empty string, array, or object
let isEmpty = is.empty('')
// => true
isEmpty = is.empty([])
// => true
isEmpty = is.empty({})
// => true
const isErr = is.err(new Error('This is an error.'))
// => true
const isFn = is.fn(() => {
console.log('Hi!')
})
// => true
const isInt = is.int(12)
// => true
.json($value, $type ['str'|'obj']) — JSON string (default) or object
let isJson = is.json('{"key": "value"}')
// => true
isJson = is.json({ key: 'value' }, 'obj')
// => true
const isNil = is.nil(null)
// => true
.nullish($value) — Null or Undefined
let isNullish = is.nullish(null)
// => true
isNullish = is.nullish(undefined)
// => true
const isNum = is.num(28.2)
// => true
const isObj = is.obj({ key: 'value' })
// => true
const myPromise = new Promise((resolve, reject) => {
try {
console.log('I make a promise to you')
resolve()
} catch (err) {
reject(err)
}
})
const isProm = is.prom(myPromise)
// => true
.regex($value) — Regular Expression
const isRegex = is.regex(new Regex(/\W/))
// => true
const isStr = is.str('text')
// => true
const isSym = is.sym(Symbol(42))
// => true
const isUndef = is.undef(undefined)
// => true
👤 Daniel Sieradski hello@self.agency
Most of the checks comprising this library were pilfered from this blog post by Webbjocke.
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!
FAQs
Super-simple, zero-dependency JavaScript type checker utility.
The npm package typa receives a total of 9 weekly downloads. As such, typa popularity was classified as not popular.
We found that typa demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.