API reference / @evolu/common / Type
Type
Base Factories
| Function | Description |
|---|---|
| array | Array of a specific Type. |
| base | Base Type. |
| brand | Branded Type. |
| instanceOf | instanceof Type. |
| literal | Literal Type. |
| nullishOr | union(undefined, null, T) Type. |
| nullOr | union(null, T) Type. |
| object | Object Type. |
| record | Record of a key Type and value Type. |
| recursive | Recursive Type. |
| set | Set of a specific Type. |
| tuple | Tuple Type. |
| undefinedOr | union(undefined, T) Type. |
| union | Union Type. |
Base Types
| Variable | Description |
|---|---|
| BigInt | - |
| Boolean | - |
| Date | JavaScript Date. |
| Function | - |
| JsonValue | JSON-compatible value: string, FiniteNumber, boolean, null, JsonArray, or JsonObject. |
| Null | - |
| Number | - |
| String | - |
| Uint8Array | - |
| Undefined | - |
| Unknown | - |
String
| Name | Description |
|---|---|
| Base64Url | Base64Url without padding. |
| CurrencyCode | A three-letter ISO 4217 currency code (e.g., USD, EUR). |
| DateIso | ISO 8601 date-time string. |
| Id | Evolu Id: 16 bytes encoded as a 22‑character Base64Url string. |
| Int64String | Stringified Int64. |
| Json | JSON-string Type. |
| length | Exact length. |
| maxLength | Maximum length. |
| minLength | Minimum length. |
| Mnemonic | The mnemonic, also known as a "seed phrase," is a set of 12 words in a specific order chosen from a predefined list (BIP39). It provides a human-readable way to store a private key securely. The mnemonic is generated safely on the user's device using cryptographically secure random number generation, ensuring it remains private and unique. |
| NonEmptyString | - |
| NonEmptyString100 | - |
| NonEmptyString1000 | - |
| NonEmptyTrimmedString | - |
| NonEmptyTrimmedString100 | - |
| NonEmptyTrimmedString1000 | - |
| regex | String matching a regular expression. |
| SimpleName | Simple alphanumeric string for naming in file systems, URLs, and identifiers. |
| SimplePassword | Trimmed string between 8 and 64 characters, branded as SimplePassword. |
| String | - |
| String100 | - |
| String1000 | - |
| trimmed | Trimmed string. |
| TrimmedString | Trimmed string |
| TrimmedString100 | - |
| TrimmedString1000 | - |
| UrlSafeString | URL-safe string. |
| createIdFromString | Creates an Id from a string using SHA-256. |
| id | Creates a branded Id Type for a table's primary key. |
Number
| Variable | Description |
|---|---|
| between | Number within a range, inclusive. |
| finite | Finite number. |
| FiniteNumber | Finite number. |
| greaterThan | Number greater than a specified value. |
| greaterThanOrEqualTo | Number ≥ a specified value. |
| int | Integer within the safe range of JavaScript numbers. |
| Int | Integer within the safe range of JavaScript numbers. |
| Int64 | 64-bit signed integer. |
| lessThan | Number less than a specified value. |
| lessThanOrEqualTo | Number ≤ a specified value. |
| multipleOf | Number that is a multiple of a divisor. |
| negative | Negative number (< 0). |
| NegativeInt | Negative integer (< 0). |
| NegativeNumber | Negative number (< 0). |
| nonNaN | Number that is not NaN. |
| NonNaNNumber | - |
| nonNegative | Non-negative number (≥ 0). |
| NonNegativeInt | Non-negative integer (≥ 0). |
| NonNegativeNumber | Non-negative number (≥ 0). |
| nonPositive | Non-positive number (≤ 0). |
| NonPositiveInt | Non-positive integer (≤ 0). |
| NonPositiveNumber | Non-positive number (≤ 0). |
| positive | Positive number (> 0). |
| PositiveInt | Positive integer (> 0). |
| PositiveNumber | Positive number (> 0). |
Array
| Name | Description |
|---|---|
| JsonArray | JSON-compatible array of JsonValue elements. |
| length | Exact length. |
| maxLength | Maximum length. |
| minLength | Minimum length. |
| array | Array of a specific Type. |
Object
| Name | Description |
|---|---|
| JsonObject | JSON-compatible object with string keys and JsonValue values. |
| nullableToOptional | Converts each “nullable” property (a union that includes Null) into an optional property. This means consumers can omit the property entirely, or set it to null, or set it to the non-null member of the union. |
| object | Object Type. |
| omit | Create a new object Type by omitting some keys. |
| partial | Creates a partial object type where all properties are optional. |
| record | Record of a key Type and value Type. |
Utilities
| Name | Description |
|---|---|
| BrandFactory | Helper type for Type Factory that creates a branded Type. |
| InferError | Extracts the specific error type from a Type. |
| InferErrors | Extracts all error types from a Type. |
| InferInput | Extracts the input type from a Type. |
| InferName | Extracts the name from a Type. |
| InferParent | Extracts the parent type from a Type. |
| InferParentError | Extracts the parent error type from a Type. |
| InferType | Extracts the type from a Type. |
| MergeObjectTypeErrors | Merge Error and ParentError into one ObjectError so tooltips and error messages are easier to read. |
| TypeErrors | Union of all TypeErrors defined in the Type.ts file, including base type errors (e.g., StringError, NumberError), composite type errors (ArrayError, ObjectError), and optionally, user-defined extra errors. |
| TypeName | Unique identifier for a Type. |
| createBaseTypeErrorFormatter | Creates a formatter function for a base TypeError. |
| createFormatTypeError | Formats Evolu Type errors into user-friendly messages. |
| createTypeErrorFormatter | Creates a formatter function for TypeError. |
| isType | Checks if the given value is an Type. |
| typeErrorToStandardSchemaIssues | Converts an Evolu TypeError to Standard Schema V1 issues format. |
Other
| Name | Description |
|---|---|
| StandardSchemaV1 | - |
| ArrayError | - |
| ArrayType | ArrayType extends Type with an additional element property for reflection. |
| Base64UrlError | - |
| BetweenError | - |
| BigIntError | - |
| BooleanError | - |
| BrandType | Evolu Type is like a type guard that returns typed errors (via Result) instead of throwing. We either get a safely typed value or a composable typed error telling us exactly why validation failed. |
| BrandWithoutRefineError | - |
| CurrencyCodeError | - |
| DateIsoError | - |
| EvoluTypeError | - |
| FiniteError | - |
| FunctionError | - |
| GreaterThanError | - |
| GreaterThanOrEqualToError | - |
| IdError | - |
| InstanceOfError | - |
| InstanceOfType | Evolu Type is like a type guard that returns typed errors (via Result) instead of throwing. We either get a safely typed value or a composable typed error telling us exactly why validation failed. |