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

@allnulled/check-that

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@allnulled/check-that

Simple JavaScript library to make checkings in a semantic-friendly syntax.

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

@allnulled/check-that

Simple JavaScript library to make checkings in a semantic-friendly syntax.

Examples

import Check from "@allnulled/check-that";

Check.that("").isString().and.hasLengthLowerThan(1);
Check.that(true).isBoolean();
Check.that(5).isNumber();
Check.that(5).equals(5);
Check.that(undefined).isUndefined();
Check.that(5).isNotUndefined();
Check.that("").isString();
Check.that({}).isObject();
Check.that(Check).isFunction();
Check.that([]).isArray();
Check.that(5).isGreaterThan(4);
Check.that(5).isLowerThan(6);
Check.that(new Date()).isInstanceOf(Date);
Check.that(new Date()).isDate();
Check.that([5]).hasLengthGreaterThan(0);
Check.that([5]).hasLengthLowerThan(2);
Check.that(5).can(v => v === 5); // The function must return true, otherwise an error will arise
Check.that(5).cannot(v => v !== 5); // The function must return false, otherwise an error will arise
Check.that(5).throwsOn(v => {throw new Error()});
Check.that(5).doesNotThrowOn(v => undefined);

How it works

  • Check is the main class.
  • Check.that(value) is the same as new Check(value), is a static constructor.
  • The main class' constructor has the following signature:
    • Check.that(target:any, targetID:String = "?", errorID:String = "xxxxx")
  • The main class has these methods with these signatures:
    • isBoolean()
    • isString()
    • isNumber()
    • equals(value:any, valueID:String = undefined)
    • isUndefined()
    • isNotUndefined()
    • isString()
    • isObject()
    • isFunction()
    • isArray()
    • isDate()
    • isIntanceOf(clazz:Function, clazzID:String = undefined)
    • isGreaterThan(value:any, valueID:String = undefined)
    • isLowerThan(value:any, valueID:String = undefined)
    • hasLengthGreaterThan(value:any, valueID:String = undefined)
    • hasLengthLowerThan(value:any, valueID:String = undefined)
    • can(filter:Function, filterID:String = undefined)
    • cannot(filter:Function, filterID:String = undefined)
    • throwsOn(filter:Function, filterID:String = undefined)
    • doesNotThrowOn(filter:Function, filterID:String = undefined)
  • When one of these methods fails, an error is thrown.
  • When one of these methods succeeds, the Check instance itself is returned, in order to chain other checks against the same target.
  • The thrown errors have the format:
    • "Expected <{ targetID }> to { type of check expression provided by the method } { valueID when used } [ERROR:{ errorID }]"
  • Sometimes, intermediate operations fail. You can find some expression like -comparable as- on the error message when this happens.
  • Finally, you can chain checks using .and, or not using it too.

License

Do what you want with it, no license.

FAQs

Package last updated on 16 Feb 2023

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