Skip to content

Keyword: is

The is keyword in Filtrera is used as an operator to match a value against a type pattern and returns a boolean indicating whether the value matches the type pattern. This reference guide provides a detailed specification of the is keyword, focusing on its syntax and usage.

The is keyword is an operator that allows you to check if a value matches a specified type pattern. It returns true if the value matches the type pattern and false otherwise. This operator is useful for performing type checks and conditional logic based on the type of a value.

Syntax

Basic Syntax

<value> is <type>
  • <value>: The value to be checked against the type pattern.
  • <type>: The type pattern to match the value against.

Example

let value = 42
let isNumber = value is number
from isNumber

In this example, isNumber will be true because value is a number.

Detailed Syntax

Checking Simple Types

You can use the is keyword to check if a value matches a simple type such as text, number, or boolean.

let value = 'Hello'
let isText = value is text
from isText

In this example, isText will be true because value is a text.

Checking Complex Types

You can also use the is keyword to check if a value matches a complex type such as records or tuples.

let person = { name = 'Alice', age = 30 }
let isPerson = person is { name: text, age: number }
from isPerson

In this example, isPerson will be true because person matches the record type with name as text and age as number.

Using Negated Types

The is keyword can be combined with negated types to check if a value does not match a specific type or value.

let value = 'Hello'
let isNonEmptyText = value is (text & not '')
from isNonEmptyText

In this example, isNonEmptyText will be true because value is a non-empty text.