Enums
This page pertains to user-defined enums, not roblox enums.
API
Type of enum
You can use the enum method to check if a value is a valid enum.
import { expect } from "@rbxts/expect";
enum Sport {
Basketball,
Football,
Soccer,
}
expect(Sport.Basketball).to.be.the.enum(Sport);
expect("Basketball").to.be.the.enum(Sport);
expect(0).to.be.the.enum(Sport);
Example Error
Expected '5' (number) to be a valid enum of '(First | Second | Third)'
Enum value
You can use an overload of the enum method to check if a value is a specific enum value.
import { expect } from "@rbxts/expect";
enum Sport {
Basketball,
Football,
Soccer,
}
expect(Sport.Basketball).to.be.the.enum(Sport, "Soccer");
Example Error
Expected 'Basketball' (enum/number) to be the enum 'Soccer'
Chaining
AnyOf
Calling anyOf after an enum call will cause
failure messages to use the enum's table keys instead of their actual value, with the type being represented as either
(enum/number)
or (enum/string)
.
import { expect } from "@rbxts/expect";
enum Sport {
Basketball,
Football,
Soccer,
}
expect("Basketball").to.be.the.enum(Sport).and.to.be.anyOf([2, 3]);
Example Error
Expected 'Basketball' (enum/number) to be any of '["Football", "Soccer"]'