mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-04-23 03:00:31 -04:00
feat(ui): revised getImageDTO utils
- Rename util to `getImageDTOSafe` - Update API to accept the same options as RTKQ's `initiate` - Add `getImageDTO`; while `getImageDTOSafe` returns null if the image is not found, the new util throws - Update usage of `getImageDTOSafe`
This commit is contained in:
committed by
Kent Keirsey
parent
674e5eb4e5
commit
1644810896
@@ -1,3 +1,4 @@
|
||||
import type { StartQueryActionCreatorOptions } from '@reduxjs/toolkit/dist/query/core/buildInitiate';
|
||||
import { getStore } from 'app/store/nanostores/store';
|
||||
import type { SerializableObject } from 'common/types';
|
||||
import type { BoardId } from 'features/gallery/store/types';
|
||||
@@ -568,25 +569,40 @@ export const {
|
||||
/**
|
||||
* Imperative RTKQ helper to fetch an ImageDTO.
|
||||
* @param image_name The name of the image to fetch
|
||||
* @param forceRefetch Whether to force a refetch of the image
|
||||
* @returns
|
||||
* @param options The options for the query. By default, the query will not subscribe to the store.
|
||||
* @returns The ImageDTO if found, otherwise null
|
||||
*/
|
||||
export const getImageDTO = async (image_name: string, forceRefetch?: boolean): Promise<ImageDTO | null> => {
|
||||
const options = {
|
||||
export const getImageDTOSafe = async (
|
||||
image_name: string,
|
||||
options?: StartQueryActionCreatorOptions
|
||||
): Promise<ImageDTO | null> => {
|
||||
const _options = {
|
||||
subscribe: false,
|
||||
forceRefetch,
|
||||
...options,
|
||||
};
|
||||
const req = getStore().dispatch(imagesApi.endpoints.getImageDTO.initiate(image_name, options));
|
||||
const req = getStore().dispatch(imagesApi.endpoints.getImageDTO.initiate(image_name, _options));
|
||||
try {
|
||||
const imageDTO = await req.unwrap();
|
||||
req.unsubscribe();
|
||||
return imageDTO;
|
||||
return await req.unwrap();
|
||||
} catch {
|
||||
req.unsubscribe();
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Imperative RTKQ helper to fetch an ImageDTO.
|
||||
* @param image_name The name of the image to fetch
|
||||
* @param options The options for the query. By default, the query will not subscribe to the store.
|
||||
* @raises Error if the image is not found or there is an error fetching the image
|
||||
*/
|
||||
export const getImageDTO = (image_name: string, options?: StartQueryActionCreatorOptions): Promise<ImageDTO> => {
|
||||
const _options = {
|
||||
subscribe: false,
|
||||
...options,
|
||||
};
|
||||
const req = getStore().dispatch(imagesApi.endpoints.getImageDTO.initiate(image_name, _options));
|
||||
return req.unwrap();
|
||||
};
|
||||
|
||||
export type UploadOptions = {
|
||||
blob: Blob;
|
||||
fileName: string;
|
||||
|
||||
Reference in New Issue
Block a user