restructure
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled

This commit is contained in:
2026-03-30 16:39:18 -04:00
parent a8e07d52f0
commit c2e1622bd8
252 changed files with 4803 additions and 17165 deletions

View File

@@ -0,0 +1,61 @@
/*
* ParseResult.vala
*
* Result type for feed parsing operations
*/
public class RSSuper.ParseError : Object {
public string message { get; private set; }
public int code { get; private set; }
public ParseError(string message, int code = 0) {
this.message = message;
this.code = code;
}
}
public class RSSuper.ParseResult : Object {
private Object? _value;
private ParseError? _error;
public bool ok { get; private set; }
private Type _value_type;
private ParseResult() {}
public static ParseResult success(Object value) {
var result = new ParseResult();
result.ok = true;
result._value = value;
result._value_type = value.get_type();
return result;
}
public static ParseResult error(string message, int code = 0) {
var result = new ParseResult();
result.ok = false;
result._error = new ParseError(message, code);
return result;
}
public Object? get_value() {
return this._value;
}
public T? get_value_as<T>() {
if (!ok) {
return null;
}
if (_value is T) {
return (T)_value;
}
return null;
}
public ParseError? get_error() {
return this._error;
}
public bool is_type<T>() {
return ok && _value_type == typeof(T);
}
}