import { isBoolean, isNumber, isString, isNull, isUndefined, isNil, isArray, isObject, isFunction, isClass, isDate, isDOM, isJson, isNavigator, isDev } from '@pim.sk/utils/is.mjs'
Primitive type checks. Return true/false.
isBoolean( true ) // → true
isBoolean( "true" ) // → false
isNumber( 42 ) // → true
isNumber( NaN ) // → true (NaN is typeof "number")
isString( "hello" ) // → true
isNull( null ) // → true
isNull( undefined ) // → false
isUndefined( undefined )// → true
isUndefined( null ) // → false
isNil( null ) // → true (null OR undefined)
isNil( undefined ) // → true
isNil( 0 ) // → false
isNull( null ) // → true
isNull( undefined ) // → false
isUndefined( undefined ) // → true
isUndefined( null ) // → false
isNil( null ) // → true
isNil( undefined ) // → true
isNil( 0 ) // → false
Returns true for arrays. Uses Array.isArray() internally.
isArray( [1, 2, 3] ) // → true
isArray( [] ) // → true
isArray( {} ) // → false
isArray( "string" ) // → false
isArray( [1, 2, 3] ) // → true
isArray( {} ) // → false
Returns true only for plain objects — { }. Returns false for arrays, class instances, null, and other types.
isObject( {} ) // → true
isObject( { a: 1 } ) // → true
isObject( [] ) // → false (array)
isObject( new MyClass() ) // → false (class instance)
isObject( null ) // → false
class MyClass {}
isObject( {} ) // → true
isObject( [] ) // → false
isObject( new MyClass() ) // → false
Returns true for function expressions and arrow functions. Uses constructor.name === "Function".
isFunction( () => {} ) // → true
isFunction( function() {} ) // → true
isFunction( class MyClass {} ) // → false (class declaration)
isFunction( {} ) // → false
isFunction( () => {} ) // → true
isFunction( function(){} ) // → true
isFunction( class Foo {} ) // → false
Returns true for instances of any named class. Excludes plain objects, arrays, and functions.
class MyClass {}
const instance = new MyClass()
isClass( instance ) // → true
isClass( new Date() ) // → true
isClass( {} ) // → false (plain object)
isClass( [] ) // → false (array)
class MyClass {}
const instance = new MyClass()
isClass( instance ) // → true
isClass( new Date() ) // → true
isClass( {} ) // → false
Validates a date string. Requires ISO 8601 format (YYYY-MM-DD). Rejects SK locale format (DD.MM.YYYY), strings with letters, and values without a dash.
isDate( "2024-01-15" ) // → true ISO format
isDate( "2024-01-15T10:30:00" ) // → true
isDate( "15.01.2024" ) // → false SK format not supported
isDate( "2024/01/15" ) // → false no dash
isDate( "hello" ) // → false
isDate( 1234567890 ) // → false not a string
isDate( "2024-01-15" ) // → true
isDate( "2024-01-15T10:30:00" ) // → true
isDate( "15.01.2024" ) // → false
Returns true if the value is a DOM Element. Uses instanceof Element.
isDOM( document.body ) // → true
isDOM( document.createElement("div") ) // → true
isDOM( {} ) // → false
isDOM( "<div>html string</div>" ) // → false
isDOM( document.body ) // → true
isDOM( document.createElement("div") ) // → true
isDOM( {} ) // → false
Checks if a string is valid JSON. With the "parse" option returns the parsed value instead of true.
isJson( '[1,2,{"a":3}]' ) // → true
isJson( '[1,2,{"a":3}]', "parse" ) // → [1, 2, { a: 3 }]
isJson( '<b>Error</b> [1,2,3]' ) // → false
isJson( 'not json' ) // → false
// typical usage — fallback to raw string if not JSON:
res = isJson(res, "parse") || res
isJson( '[1,2,{"a":3}]' ) // → true
isJson( '[1,2,{"a":3}]', "parse" ) // → [1, 2, { a: 3 }]
isJson( '<b>Error</b>' ) // → false
res = isJson(res, "parse") || res
Boolean. true if window._MINJSDEV exists and is active (dev mode). Useful for conditionally loading .min.* files.
// true — dev mode is active (window._MINJSDEV.o.show === true)
// false — dev mode missing or disabled
if( isDev ){
// load full version
} else {
// load minified version
}