@iota/validators

Collection of guards and validators, useful in IOTA development.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@iota/validators
1.0.0-beta.303 years ago5 years agoMinified + gzip package size for @iota/validators in KB

Readme

@iota/validators
Collection of guards and validators, useful in IOTA development.

Installation

Instal using npm:
npm install @iota/validators

or using yarn:
yarn add @iota/validators

API Reference

* _static_
    * [.isAddress(address)](#module_validators.isAddress)

* _inner_
    * [~isTrits(input)](#module_validators..isTrits)

    * [~isNullTrits(trits)](#module_validators..isNullTrits)

    * [~isTrytes(trytes, [length])](#module_validators..isTrytes)

    * [~isTrytesOfExactLength(trytes, length)](#module_validators..isTrytesOfExactLength)

    * [~isTrytesOfMaxLength(trytes, length)](#module_validators..isTrytesOfMaxLength)

    * [~isEmpty(hash)](#module_validators..isEmpty)

    * [~isHash(hash)](#module_validators..isHash)

    * [~isInput(address)](#module_validators..isInput)

    * [~isTag(tag)](#module_validators..isTag)

    * [~isTransfer(transfer)](#module_validators..isTransfer)

    * [~isUri(uri)](#module_validators..isUri)

    * [~validate()](#module_validators..validate)

validators.isAddress(address)

Summary: Validates the checksum of the given address.
| Param | Type | Description | | --- | --- | --- | | address | string | Address with a checksum |
This method takes an address with a checksum and validates that the checksum is correct.

Related methods

To generate a new address with a checksum, use the getNewAddress() method.
Returns: boolean - valid - Whether the checksum is valid
Example
let valid = Validator.isAddress('9FNJWLMBECSQDKHQAGDHDPXBMZFMQIMAFAUIQTDECJVGKJBKHLEBVU9TWCTPRJGYORFDSYENIQKBVSYKW9NSLGS9UW');

validators~isTrits(input)

| Param | Type | | --- | --- | | input | any |
Checks if input is an Int8Array of trit values; -1, 0, 1.

validators~isNullTrits(trits)

| Param | Type | | --- | --- | | trits | Int8Array |
Checks if trits are NULL.

validators~isTrytes(trytes, length)

| Param | Type | Default | | --- | --- | --- | | trytes | string | | | length | string \| number | "'1,'" |
Checks if input is correct trytes consisting of 9A-Z; optionally validate length

validators~isTrytesOfExactLength(trytes, length)

| Param | Type | | --- | --- | | trytes | string | | length | number |

validators~isTrytesOfMaxLength(trytes, length)

| Param | Type | | --- | --- | | trytes | string | | length | number |

validators~isEmpty(hash)

| Param | Type | | --- | --- | | hash | string |
Checks if input contains 9s only.

validators~isHash(hash)

| Param | Type | | --- | --- | | hash | string |
Checks if input is correct hash (81 trytes) or address with checksum (90 trytes)

validators~isInput(address)

| Param | Type | | --- | --- | | address | string |
Checks if input is valid input object. Address can be passed with or without checksum. It does not validate the checksum.

validators~isTag(tag)

| Param | Type | | --- | --- | | tag | string |
Checks that input is valid tag trytes.

validators~isTransfer(transfer)

| Param | Type | | --- | --- | | transfer | Transfer |
Checks if input is valid transfer object.

validators~isUri(uri)

| Param | Type | | --- | --- | | uri | string |
Checks that a given URI is valid
Valid Examples:
  • udp://[2001:db8:a0b:12f0::1]:14265
  • udp://[2001:db8:a0b:12f0::1]
  • udp://8.8.8.8:14265
  • udp://domain.com
  • udp://domain2.com:14265

validators~validate()

Throws:
  • Error error

Runs each validator in sequence, and throws on the first occurence of invalid data. Validators are passed as arguments and executed in given order. You might want place validate() in promise chains before operations that require valid inputs, taking advantage of built-in promise branching.
Example
try {
  validate([
    value, // Given value
    isTrytes, // Validator function
    'Invalid trytes' // Error message
  ])
} catch (err) {
  console.log(err.message) // 'Invalid trytes'
}