TypeAlias.ApiResult
type ApiResult<T, Extra> = readonly [T, null, Extra] | readonly [null, Error, Extra];
A tuple representing the result of an API call to the Keyban servers.
Since all Keyban hooks use the React Suspense API, there are only two possible states for the tuple: success and error.
The tuple contains the following data:
- On success:
- The data result of the API call (of type
T). nullfor the error.- An optional extra object (of type
Extra) allowing for additional interactions. - On error:
nullfor the data.- An
Errorobject representing the error. - An optional extra object (of type
Extra) allowing for additional interactions.
Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
T | - | The type of the data returned on success. |
Extra | undefined | The type of the optional extra object for additional interactions. |
Remarks
The ApiResult type is designed to simplify handling asynchronous API responses in Keyban hooks.
It adheres to the pattern [data, error, extra], where:
data: The result of the API call if successful, ornullif there was an error.error:nullif the call was successful, or anErrorobject if there was an error.extra: An optional object providing additional information or methods, defaulting toundefinedif not used.
Example Usage:
const [data, error, extra] = useKeybanSomeHook();
if (error) {
// Handle the error
console.error(error);
} else {
// Use the data
console.log(data);
// Optionally use extra interactions
extra?.someMethod();
}