@gik/tools-checker

A minimal type-checker for JavaScript purists. Part of our [tools suite](https://github.com/gikmx/tools).

Stats

StarsIssuesVersionUpdatedCreatedSize
@gik/tools-checker
000.0.114 years ago4 years agoMinified + gzip package size for @gik/tools-checker in KB

Readme

@gik/tools-checker 0.0.11

A minimal type-checker for JavaScript purists. Part of our tools suite.

Contributors
Supported platforms

Table of contents

  • checker A minimal type-checker for JavaScript purists.
    • is Determine if given value really belongs to the corresponding type.
      • objectEmpty member Determine if an element is an object and has no keys
      • string member Determines if value is really a string.
      • number member Determines if value is really a number.
      • array member Determines if value is really an array.
      • function member Determines if value is really a function.
      • regexp member Determines if value is really a regexp.
      • boolean member Determines if value is really a boolean.
      • object member Determines if value is really an object.
    • props function Validates properties of given object.
  • Types ``

checker

A minimal type-checker for JavaScript purists.

Members

▲ Top


is

Determine if given value really belongs to the corresponding type.

Members

▲ Top


objectEmpty

static property of checker.is

Determine if an element is an object and has no keys

Parameters
value Object The value you need to check.
Returns

boolean - Whether the object is empty or not.

▲ Top


string

static property of checker.is

Determines if value is really a string.

Parameters
value * The value you need to check.
Returns

boolean - Wheter value is string or not.

▲ Top


number

static property of checker.is

Determines if value is really a number.

Parameters
value * The value you need to check.
Returns

boolean - Wheter value is number or not.

▲ Top


array

static property of checker.is

Determines if value is really an array.

Parameters
value * The value you need to check.
Returns

boolean - Wheter value is array or not.

▲ Top


function

static property of checker.is

Determines if value is really a function.

Parameters
value * The value you need to check.
Returns

boolean - Wheter value is function or not.

▲ Top


regexp

static property of checker.is

Determines if value is really a regexp.

Parameters
value * The value you need to check.
Returns

boolean - Wheter value is regexp or not.

▲ Top


boolean

static property of checker.is

Determines if value is really a boolean.

Parameters
value * The value you need to check.
Returns

boolean - Wheter value is boolean or not.

▲ Top


object

static property of checker.is

Determines if value is really an object.

Parameters
value * The value you need to check.
Returns

boolean - Wheter value is object or not.

▲ Top


props

static method of checker

Validates properties of given object.

Parameters
subject Object The object value whose properties will be inspected.
defmap Object An definition object map, describing each of the prop' types.
defmap.prop Object | string The name of a corresponding subject's property. If a string is used, it will be converted to: { type: <string used>, required:true }
[defmap.type] string Determines the type the prop should have, all methods on is() are asupported. Default any
[defmap.required] bool Whether the prop can be omitted.
[defmap.default] * The value to use if prop is omitted (cannot be used along required).
[defmap.map] function A function that will receive subject's prop value and expects you to return acomputed value for it
Returns

Object - The validated subject extended with default values (when applies).

Throws
  • CheckerPropParamError when invalid parameters are passed.
  • CheckerPropDefError when a type definition is invalid.
  • CheckerPropDefTypeError when a type defintiion is not supported.
  • CheckerPropReqError when a required property is not found.
  • CheckerPropTypeError when a property does not match the defintion.
Example
const subject = { a: 1, b: 'hello' z: undefined };
const result = props(subject, {
    a: { type:'number', required:true },
    b: 'string',
    c: { default: new Date() },
    d: { required: false, default: null, map: value => [value, true] },
})
// result:
// { a: 1, b: 'hello', c: '1981-06-23 10:06:08', d: [null, true], z: undefined }

▲ Top


Types

Members

▲ Top


CheckerPropParamError

static typedef of Types

A definition prop was sent, but it was invalid.

▲ Top


CheckerPropDefError

static typedef of Types

The specified type is not a supported primitive.

▲ Top


CheckerPropDefTypeError

static typedef of Types

A required property was not found in subject.

▲ Top


CheckerPropReqError

static typedef of Types

A property didn't have the correct type.

▲ Top


If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.