1.1.1 • Published 2 years ago

@teamcoder/typevalidator v1.1.1

Weekly downloads
-
License
CC-BY-NC-ND-4.0
Repository
github
Last release
2 years ago

Type Validator

This module is small but easy to use. The purpose of this module is to check if what type a variable is the typeof command has a few limitations it can tell you if a variable is one of the following: array, NaN, declared or null. Another advantage this module can validate if a source is one of multiple types in one single command.

Validation processes

The code got multiple checks to determine what type a variable is.

Compare method 1

This method checks if variable is a NaN.

Compare method 2

This method checks if variable is a array.

Compare method 3

This method checks if variable is null.

Compare method 4

This method checks if variable is declared.

Compare method 5

This method use the standard typeof command to identify a variable.

Code sample

This following code is actually how I tested that all methods correctly functioned as intended, is also provided in this module.

import { valueIsTypeOf } from '@teamcoder/typevalidator';
import { listOfTypes   } from '@teamcoder/typevalidator';

var test_undefined
var test_object = { type: "Fiat" , model: "500" , color: "white" };
var test_boolean = true;
var test_number = 14;
var test_string = "Hallo World";
var test_symbol = Symbol();
var test_function = function() { return true };
var test_array = [ 1 , 2 , 3 , 4 , 5 , 6 ];
var test_null = null;
var test_nan = Number.Nan;
var test_object = { object: true };
var test_declaired = "I'm declaired as a string";

var list_types = [ "boolean" , "number" ];

console.log( "Testing for undefined    = " + valueIsTypeOf(  test_undefined , "undefined" ) + " --> typeof = " + typeof test_undefined );
console.log( "Testing for object       = " + valueIsTypeOf(  test_object    , "object"    ) + " --> typeof = " + typeof test_object    );
console.log( "Testing for boolean      = " + valueIsTypeOf(  test_boolean   , "boolean"   ) + " --> typeof = " + typeof test_boolean   );
console.log( "Testing for number       = " + valueIsTypeOf(  test_number    , "number"    ) + " --> typeof = " + typeof test_number    );
console.log( "Testing for string       = " + valueIsTypeOf(  test_string    , "string"    ) + " --> typeof = " + typeof test_string    );
console.log( "Testing for symbol       = " + valueIsTypeOf(  test_symbol    , "symbol"    ) + " --> typeof = " + typeof test_symbol    );
console.log( "Testing for function     = " + valueIsTypeOf(  test_function  , "function"  ) + " --> typeof = " + typeof test_function  );
console.log( "Testing for array        = " + valueIsTypeOf(  test_array     , "array"     ) + " --> typeof = " + typeof test_array     );
console.log( "Testing for null         = " + valueIsTypeOf(  test_null      , "null"      ) + " --> typeof = " + typeof test_null      );
console.log( "Testing for NaN          = " + valueIsTypeOf(  test_nan       , "nan"       ) + " --> typeof = " + typeof test_nan       );
console.log( "Testing for declaired    = " + valueIsTypeOf(  test_declaired , "declaired" ) + " --> typeof = " + typeof test_declaired );
console.log( "Testing for multi-types  = " + valueIsTypeOf(  true           , list_types  ) );
console.log( "Testing for multi-types  = " + !valueIsTypeOf( "A"            , list_types  ) );
console.log( "Testing for invalid type = " + (valueIsTypeOf( true , true ) === null? true : false ) );
console.log( "" );
console.log( "List of types supported by module: " + listOfTypes() )

The results will look as follows

Testing for undefined    = true --> typeof = undefined
Testing for object       = true --> typeof = object
Testing for boolean      = true --> typeof = boolean
Testing for number       = true --> typeof = number
Testing for string       = true --> typeof = string
Testing for symbol       = true --> typeof = symbol
Testing for function     = true --> typeof = function
Testing for array        = true --> typeof = object
Testing for null         = true --> typeof = object
Testing for NaN          = true --> typeof = undefined
Testing for declaired    = true --> typeof = string
Testing for multi-types  = true
Testing for multi-types  = true
Testing for invalid type = Passed

List of types supported by module: undefined,object,boolean,number,string,symbol,function,array,null,nan,declaired

Function valueIsTypeOf(source, target)

Parameters Passed

@param  { Any            } source           The source value to be checked
@param  { String, Array  } type             The type or types to validate ( "undefined" , "boolean" , "number" , "string" ,
                                                 "symbol" , "function" , "object" , "array" , "nan" , "declared" , "null" )

Parameters Returned

@return { Boolean        }                  Validation passed or failed
@return { Null           }                  Invalid type specified in type

Function valueIsTypeOf()

Parameters Returned

@return { Array          }                  Return a array containing all types module can identify

Notes Before You Start

Very important to remember to always include the following in your main project package.json file:

"type": "module"

Without this entry in the package file you will get the following error if you try to run your project

(node:15500) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use 'node --trace-warnings ...' to show where the warning was created)
C:\Users\ ... \typevalidator\typevalidator.js:1
import { valueIsTypeOf } from '@teamcoder/typevalidator';

Version History

VersionDateRemark
1.0.008 September 2022Official first release
1.0.108 September 2022Correcting documentation
1.0.209 September 2022Fixed package.json so that npm can install on any os
1.0.310 September 2022Fixed code to be proper npm package
1.0.411 September 2022Removed Default from export function in typevalidator.js file
1.0.512 September 2022Code has been improved
1.0.612 September 2022package.json fixed
1.0.712 September 2022typevalidator.js fixed
1.1.013 September 2022Added function to return all types module can identify
1.1.114 September 2022Correcting documentation

How To Install

Run the following command in a terminal or command prompt in the folder you want to install the module to.

Dependencies:

@teamcoder/toarrayconverter

npm i @teamcoder/typevalidator

Operating Systems Tested On

Windows, Linux and RaspberryPi

License Information

TypeValidator © 2022 by Adriaan J. van Rensburg (CreepyCoderMC) is licensed under CC BY-NC-ND 4.0. To view a online copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/