Jyro Standard Library Reference

A complete reference of all built-in functions available in the Jyro scripting language.

Immutability: Jyro follows an immutable-by-default design. Functions return new values rather than modifying their inputs in place. Your original data is never altered.

Chaining: Functions that return arrays, strings, or objects can be chained by nesting calls or using the result as input to another function. Functions that return scalars (numbers, booleans) or null are terminal and cannot be meaningfully chained.


Array Functions

Function Description Mutates Chainable
Append Adds an element to the end of an array No, returns new array Yes
Concatenate Joins two arrays into a single new array No, returns new array Yes
Distinct Removes duplicate elements, keeping first occurrence No, returns new array Yes
First Returns the first element, or null if empty No No
Flatten Recursively flattens nested arrays into a single level No, returns new array Yes
FlattenOnce Flattens nested arrays by one level only No, returns new array Yes
GroupBy Groups array elements by a field value into an object No, returns new object Yes (object)
IndexOf Returns the position of a value in an array or string No No
Insert Inserts an element at a specified index No, returns new array Yes
Last Returns the last element, or null if empty No No
Length Returns the length of a string, array, or object No No
Prepend Adds an element to the beginning of an array No, returns new array Yes
RandomChoice Selects a random element from an array No No
Range Generates an array of numbers in a range with optional step No, returns new array Yes
RemoveAt Removes the element at a specified index No, returns new array Yes
RemoveFirst Removes the first element from an array No, returns new array Yes
RemoveLast Removes the last element from an array No, returns new array Yes
Reverse Reverses the order of elements No, returns new array Yes
SelectMany Flattens a nested array field from each object No, returns new array Yes
Skip Skips the first N elements No, returns new array Yes
Slice Extracts a portion of an array by index range No, returns new array Yes
Sort Sorts elements by type group then value No, returns new array Yes
SortByField Sorts objects by a field in ascending or descending order No, returns new array Yes

DateTime Functions

Function Description Mutates Chainable
DateAdd Adds a time amount to a date No, returns new string No
DateDiff Calculates the difference between two dates in a given unit No No
DatePart Extracts a component from a date (year, month, day, etc.) No No
FormatDate Formats a date using a .NET format pattern No, returns new string No
Now Returns the current UTC date and time in ISO 8601 No No
ParseDate Parses a date string and normalizes to ISO 8601 No, returns new string No
Today Returns the current UTC date without time No No

Lambda Functions

Higher-order functions that accept inline lambda expressions as arguments.

Function Description Mutates Chainable
All Tests whether all elements satisfy a predicate No No
Find Returns the first element matching a predicate No No
Each Executes a lambda for each element (side effects only) No, returns null No
Map Transforms each element using a lambda No, returns new array Yes
Reduce Accumulates an array into a single value No No
Any Tests whether any element satisfies a predicate No No
SortBy Sorts an array using a lambda key extractor No, returns new array Yes
Where Filters an array using a lambda predicate No, returns new array Yes

Math Functions

Function Description Mutates Chainable
Abs Returns the absolute value of a number No No
Average Returns the arithmetic mean of numeric values No No
Ceiling Rounds up to the nearest integer No No
Clamp Constrains a number to a min/max range No No
Floor Rounds down to the nearest integer No No
Log Returns the logarithm with an optional base No No
Max Returns the largest numeric value in an array No No
Median Returns the median value of a numeric array No No
Min Returns the smallest numeric value in an array No No
Mode Returns the most frequently occurring value No No
Power Raises a number to a specified power No No
RandomInt Generates a cryptographically secure random integer No No
SquareRoot Returns the square root of a number No No
Sum Returns the sum of all numeric values in an array No No

Query Functions

Field-based query functions for filtering and projecting arrays of objects.

Function Description Mutates Chainable
AllByField Tests whether all objects match a field condition No No
AnyByField Tests whether any object matches a field condition No No
CountIf Counts objects matching a field condition No No
WhereByField Returns objects matching a field condition No, returns new array Yes
FindByField Returns the first object matching a field condition No No
Omit Removes specified fields from each object No, returns new array Yes
Project Extracts specified fields from each object No, returns new array Yes
Select Extracts a single field value from each object No, returns new array Yes

Schema Functions

Function Description Mutates Chainable
ValidateRequired Checks that an object contains required non-null fields No No
ValidateSchema Validates data against a JSON Schema, returning errors No, returns new array Yes

String Functions

Function Description Mutates Chainable
Contains Tests whether a string contains a substring (or array contains element) No No
EndsWith Tests whether a string ends with a suffix No No
Join Joins array elements into a string with a separator No, returns new string Yes (string)
ToLower Converts a string to lowercase No, returns new string Yes (string)
PadLeft Pads a string on the left to a specified width No, returns new string Yes (string)
PadRight Pads a string on the right to a specified width No, returns new string Yes (string)
RandomString Generates a cryptographically secure random string No, returns new string Yes (string)
RegexMatch Returns the first regex match No No
RegexMatchAll Returns all regex matches as an array No, returns new array Yes
RegexMatchDetail Returns a detailed match object with capture groups No, returns new object Yes (object)
RegexTest Tests whether a string matches a regex pattern No No
Replace Replaces all occurrences of a substring No, returns new string Yes (string)
Split Splits a string into an array using a delimiter No, returns new array Yes (array)
StartsWith Tests whether a string begins with a prefix No No
Substring Extracts a portion of a string by position and optional length No, returns new string Yes (string)
ToNumber Converts a string to a number (returns null on failure) No No
ToUpper Converts a string to uppercase No, returns new string Yes (string)
Trim Removes leading and trailing whitespace No, returns new string Yes (string)

Utility Functions

Function Description Mutates Chainable
Base64Decode Decodes a Base64 string to UTF-8 No, returns new string Yes (string)
Base64Encode Encodes a string to Base64 No, returns new string Yes (string)
Clone Creates a deep copy of a value No, returns new value Yes
Coalesce Returns the first non-null value from an array No Depends on result type
Equal Tests deep equality of two values No No
FromJson Parses a JSON string into a Jyro value No, returns new value Depends on result type
HasProperty Tests whether an object has a property (even if null) No No
Keys Returns all property names as an array No, returns new array Yes (array)
Merge Merges multiple objects into a new object No, returns new object Yes (object)
NewGuid Generates a new UUID v4 string No No
NotEqual Tests deep inequality of two values No No
ToBoolean Converts a value to boolean using Jyro truthiness rules No No
ToJson Converts a Jyro value to a JSON string No, returns new string Yes (string)
ToString Converts a value to its string representation No, returns new string Yes (string)
TypeOf Returns the type name as a string No No
Values Returns all property values as an array No, returns new array Yes (array)

Table of contents


Back to top

Copyright © Mesch Systems 2025-2026. All rights reserved.