Skip to content

rafiandria23/tipe-apa

Repository files navigation

Tipe Apa

GitHub Actions Build npm Version npm Package Minimized gzipped Size npm Downloads License Security Rating Maintainability Rating Code Smells Lines of Code Coverage Technical Debt Quality Gate Status Reliability Rating Duplicated Lines (%) Vulnerabilities Bugs

Simple JavaScript data type checker.

Getting Started

Using npm

npm install tipe-apa

Using Yarn

yarn add tipe-apa

Usage

// CommonJS
const { checkType } = require('tipe-apa');

// ES6
import { checkType } from 'tipe-apa';

const checkTargets = {
  string: 'This is string!',
  number: 123,
  object: {
    a: 'a',
    b: 'b',
    c: 'c'
  },
  function: () => console.log('This is function!'),
  null: null,
  undefined: undefined,
  boolean: false,
  regexp: /thisisregexp/i,
  error: new Error('This is error!'),
  date: new Date(Date.now()),
  symbol: Symbol('This is symbol!')
};

for (const key in checkTargets) {
  console.log(checkType(checkTargets[key]));
}

/**
 * Expected Outputs:
 * 
 * { type: 'string', target: 'This is string!' }
 * { type: 'number', target: 123 }
 * { type: 'object', target: { a: 'a', b: 'b', c: 'c' } }
 * { type: 'function', target: [Function: function] }
 * { type: 'null', target: null }
 * { type: 'undefined', target: undefined }
 * { type: 'boolean', target: false }
 * { type: 'regexp', target: /thisisregexp/i }
 * {
 *   type: 'error',
 *   target: Error: This is error!
 *     at Object.<anonymous> (/home/adamrafiandri/Desktop/js-sandbox/index.js:16:10)
 *     at Module._compile (internal/modules/cjs/loader.js:1158:30)
 *     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
 *     at Module.load (internal/modules/cjs/loader.js:1002:32)
 *     at Function.Module._load (internal/modules/cjs/loader.js:901:14)
 *     at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
 *     at internal/main/run_main_module.js:18:47
 * }
 * { type: 'date', target: 2020-04-12T10:59:15.411Z }
 * { type: 'symbol', target: Symbol(This is symbol!) }
 */

Tipe Apa API

  • checkType(input: any): { type: string, target: any }
    • type
      • string
      • number
      • array
      • object
      • function
      • null
      • undefined
      • boolean
      • regexp
      • error
      • date
      • symbol
    • target
      • typeof input
  • isString(input: any): boolean
  • isNumber(input: any): boolean
  • isArray(input: any): boolean
  • isObject(input: any): boolean
  • isFunction(input: any): boolean
  • isNull(input: any): boolean
  • isUndefined(input: any): boolean
  • isBoolean(input: any): boolean
  • javascript isRegExp(input: any): boolean
  • isError(input: any): boolean
  • isDate(input: any): boolean
  • isSymbol(input: any): boolean

License

MIT