@iota/validators

Collection of guards and validators, useful in IOTA development.

Usage no npm install needed!

<script type="module">
  import iotaValidators from 'https://cdn.skypack.dev/@iota/validators';
</script>

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

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'
}