createSuccessObserverResult should also take a generic error
Xample opened this issue · comments
Flavien Volken commented
Which @ngneat/query-* package(s) are relevant/releated to the feature request?
query
Description
I'm having this abstract method:
abstract getStuff$( ): ObservableQueryResult<Result, Error>;
abstract getStuff$( ): ObservableQueryResult<Result, Error>;
I would like to implement it this way :
getStuff$() {
return of(createSuccessObserverResult({ key: "value" }));
}
But I cannot because createSuccessObserverResult
has the following signature:
export declare function createSuccessObserverResult<T>(data: T): QueryObserverResult<T>;
While I would need
export declare function createSuccessObserverResult<T, Error = DefaultError>(data: T): QueryObserverResult<T, Error>;
In order to comply with my abstract method.
Proposed solution
Just expose the Error in the util @ngneat\query\lib\utils.d.ts
:
export declare function createSuccessObserverResult<T, Error = DefaultError>(data: T): QueryObserverResult<T, Error>;
export declare function createPendingObserverResult<T = unknown, Error = DefaultError>(): QueryObserverResult<T, Error>;
Alternatives considered
The workaround is to force typing the return :
createSuccessObserverResult<T>(data) as QueryObserverResult<T, Error>;
Do you want to create a pull request?
No
Flavien Volken commented
netanel-utila commented
You are welcome to create a PR
Netanel Basal commented
Fixed in #175