Skip to content

Validating a Num (Int or Double) value

import 'package:luthor/luthor.dart';
void main() {
final validator = l.number();
print(validator.validateValue(42));
print(validator.validateValue(42.0));
}
import 'package:luthor/luthor.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'number_schema.freezed.dart';
part 'number_schema.g.dart';
@luthor
@freezed
abstract class NumberSchema with _$NumberSchema {
const factory NumberSchema({
required num value,
}) = _NumberSchema;
factory NumberSchema.fromJson(Map<String, dynamic> json) =>
_$NumberSchemaFromJson(json);
}
void main() {
final result1 = $NumberSchemaValidate({'value': 42});
final result2 = $NumberSchemaValidate({'value': 42.0});
switch (result1) {
case SchemaValidationSuccess(data: final data):
print('✅ Valid: ${data.value}');
case SchemaValidationError(errors: final errors):
print('❌ Errors: $errors');
}
}