import {Result, State} from 'rust/src/result' export {State} // @ts-expect-error export class WebResult extends Result { public constructor( _data: T | number, _state: State, ) { super(_data, _state) } public static ok(data: T) : WebResult { return new WebResult(data, State.OK) } public static error(code: number) : WebResult { return new WebResult(code, State.ERROR) } public as_response(error: (code: number) => V) : T | V { if (this.state() === State.OK) { // @ts-expect-error return this._data } // @ts-expect-error return error(this._data) } }