UNPKG

meme-generator-rs-api

Version:

API Wrapper for MemeCrafters/meme-generator-rs using @cordisjs/plugin-http

177 lines (176 loc) 5.39 kB
export interface ImageID { image_id: string; } export interface ImageIDs { image_ids: string[]; } export interface ParserFlags { short: boolean; long: boolean; short_aliases: string[]; long_aliases: string[]; } export type MemeOptionType = 'boolean' | 'integer' | 'float' | 'string'; export interface MemeOption { type: MemeOptionType; name: string; default: boolean | number | string | null; description?: string | null; parser_flags: ParserFlags; choices?: string[] | null; minimum?: number | null; maximum?: number | null; } export interface MemeParams { min_images: number; max_images: number; min_texts: number; max_texts: number; default_texts: string[]; options: MemeOption[]; } export interface MemeShortcut { pattern: string; humanized: string | null; names: string[]; texts: string[]; options: Record<string, any>; } export interface MemeInfo { key: string; params: MemeParams; keywords: string[]; shortcuts: MemeShortcut[]; tags: string[]; date_created: string; date_modified: string; } export interface UploadImageByUrlRequest { type: 'url'; url?: string; headers?: Record<string, string>; } export interface UploadImageByPathRequest { type: 'path'; path?: string; } export interface UploadImageByDataRequest { type: 'data'; data?: string; } export type UploadImageRequest = UploadImageByUrlRequest | UploadImageByPathRequest | UploadImageByDataRequest; export interface MemeImage { name: string; id: string; } export interface RenderMemeRequest { images: MemeImage[]; texts: string[]; options: Record<string, any>; } export interface MemeProperties { disabled?: boolean; hot?: boolean; new?: boolean; } export type MemeListSortBy = 'key' | 'keywords' | 'keywords_pinyin' | 'date_created' | 'date_modified'; export declare const memeListSortByVals: ["key", "keywords", "keywords_pinyin", "date_created", "date_modified"]; export interface RenderMemeListRequest { meme_properties?: Record<string, MemeProperties>; exclude_memes?: string[]; sort_by?: MemeListSortBy; sort_reverse?: boolean; text_template?: string; add_category_icon: boolean; } export type MemeStatisticsType = 'meme_count' | 'time_count'; export interface RenderStatisticsRequest { title: string; statistics_type: MemeStatisticsType; data: [string, number][]; } export declare const errorCodeDesc: { 410: string; 420: string; 510: string; 520: string; 530: string; 540: string; 550: string; 551: string; 560: string; 570: string; }; export type PossibleMemeErrorCode = keyof typeof errorCodeDesc; export declare const possibleMemeErrorCodes: PossibleMemeErrorCode[]; export interface BaseMemeErrorResponse<C extends PossibleMemeErrorCode, D extends Record<string, any> = {}> { code: C; message: string; data: D; } export interface MemeCommonErrorData { error: string; } export interface MemePathErrorData { path: string; } export interface MemeNumberMismatchData { min: number; max: number; actual: number; } export interface MemeTextErrorData { text: string; } export interface MemeFeedbackErrorData { feedback: string; } export interface RequestErrorResponse extends BaseMemeErrorResponse<410, MemeCommonErrorData> { } export interface IOErrorResponse extends BaseMemeErrorResponse<420, MemeCommonErrorData> { } export interface ImageDecodeErrorResponse extends BaseMemeErrorResponse<510, MemeCommonErrorData> { } export interface ImageEncodeErrorResponse extends BaseMemeErrorResponse<520, MemeCommonErrorData> { } export interface ImageAssetMissingErrorResponse extends BaseMemeErrorResponse<530, MemePathErrorData> { } export interface DeserializeErrorResponse extends BaseMemeErrorResponse<540, MemeCommonErrorData> { } export interface ImageNumberMismatchErrorResponse extends BaseMemeErrorResponse<550, MemeNumberMismatchData> { } export interface TextNumberMismatchErrorResponse extends BaseMemeErrorResponse<551, MemeNumberMismatchData> { } export interface TextOverLengthErrorResponse extends BaseMemeErrorResponse<560, MemeTextErrorData> { } export interface MemeFeedbackErrorResponse extends BaseMemeErrorResponse<570, MemeFeedbackErrorData> { } export type MemeErrorResponse = RequestErrorResponse | IOErrorResponse | ImageDecodeErrorResponse | ImageEncodeErrorResponse | ImageAssetMissingErrorResponse | DeserializeErrorResponse | ImageNumberMismatchErrorResponse | TextNumberMismatchErrorResponse | TextOverLengthErrorResponse | MemeFeedbackErrorResponse; export declare namespace ImgOps { interface RotateRequestExtra { degrees?: number | null; } interface ResizeRequestExtra { width?: number | null; height?: number | null; } interface CropRequestExtra { left?: number | null; top?: number | null; right?: number | null; bottom?: number | null; } interface GifMergeRequestExtra { duration?: number | null; } interface GifChangeDurationRequestExtra { duration?: number | null; } interface InspectResponse { width: number; height: number; is_multi_frame: boolean; frame_count: number | null; average_duration: number | null; } }