Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

typed-js

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

typed-js

Dynamic javascript type checker for node >= v4.0.0

  • 0.2.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
103
increased by37.33%
Maintainers
1
Weekly downloads
 
Created
Source

TYPED JS Build Status

Support

Dynamic type checker for nodejs >= v4.0.0 It support only class syntax in order to have type checking all classes must be inherited from Type class

Type Inheritance

All class members must be defined in constructor super call otherwise if you try to assign member to initialized object Type object will throw an type error. After object initialization object is prevented from extension

class User extends Type {
    constructor(name, password) {
        super({
            username: Type.STRING,
            password: Type.STRING
        });
        this.username = name;
        this.password = password;
    }
    getUserName() {
        return this.username;
    }
    setUserName(user) {
        this.username = user;
    }
}
var user = new User('Igor', 'Ivanovic');
user.getUserName(); // Igor
user.setUserName(1) // Throws type error
user.assign = 1 // Throws type error , all members must be defined at super call with proper type
// Predefined function inside of type
user.destroy(); // clear all references to initialized object

Constants

Type.OBJECT = "object";
Type.STRING = "string";
Type.ARRAY = "array";
Type.REGEX = "regexp";
Type.NUMBER = "number";
Type.BOOLEAN = "boolean";
Type.FUNCTION = "function";
Type.DATE = "date";
Type.UNDEFINED = "undefined";
Type.NULL = "null";

Type Functions

Type.isNull(value)

Check if value is nullable

Type.isNull(null); // true

Type.isObject(value)

Check if value is object

Type.isObject({}); // true
Type.isObject([]); // true

Type.isRegExp(value)

Check if value is regular expression object

Type.isRegExp({}); // false
Type.isRegExp(/abc/i); // true

Type.isDate(value)

Check if value is date object

Type.isDate({}); // false
Type.isDate(new Date); // true

Type.isFunction(value)

Check if value is function object

Type.isFunction({}); // false
Type.isFunction(function () {}); // true

Type.isArray(value)

Check if value is array object

Type.isArray({}); // false
Type.isArray([]); // true

Type.isNumber(value)

Check if value is number

Type.isNumber(1); // true
Type.isNumber(NaN); // true
Type.isNumber([]); // false

Type.isString(value)

Check if value is string

Type.isString(1); // false
Type.isString(""); // true

Type.isBoolean(value)

Check if value is boolean

Type.isBoolean(1); // false
Type.isBoolean(true); // true

Type.isUndefined(value)

Check if value is undefined

Type.isUndefined(null); // false
Type.isUndefined(undefined); // true

Type.isInitialized(value)

Check if value is initialized, null is not considered as initialized

Type.isInitialized(null); // false
Type.isInitialized(undefined); // false

Type.getType(value)

Get type of value

Type.getType(null); // null
Type.getType(undefined); // undefined
Type.getType({}); // object
Type.getType([]); // array

Type.assert(type, value)

Get type of value. Type should be valid type constant

Type.assert(Type.NULL, null); // true
Type.assert(Type.OBJECT, undefined); // false
Type.assert(Type.OBJECT, {}); // true
Type.assert(Type.ARRAY, []); // true

Keywords

FAQs

Package last updated on 29 Oct 2015

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc