UNPKG

derpibooru-api

Version:

Modern TypeScript implementation of Derpibooru API with Zod validation

412 lines (411 loc) 14.1 kB
import * as z from "zod"; declare const ImageMetadataSchema: z.ZodInterface<{ width: z.ZodNumber; height: z.ZodNumber; mime_type: z.ZodString; size: z.ZodNumber; duration: z.ZodOptional<z.ZodNumber>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const ArtistLinkSchema: z.ZodInterface<{ user_id: z.ZodNumber; tag_id: z.ZodNumber; url: z.ZodURL; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const TagSchema: z.ZodInterface<{ id: z.ZodNumber; name: z.ZodString; slug: z.ZodString; description: z.ZodString; short_description: z.ZodString; spoiler_image_uri: z.ZodNullable<z.ZodString>; aliased_tag: z.ZodNullable<z.ZodString>; aliases: z.ZodArray<z.ZodString>; category: z.ZodEnum<{ error: "error"; character: "character"; "content-fanmade": "content-fanmade"; "content-official": "content-official"; oc: "oc"; origin: "origin"; rating: "rating"; species: "species"; spoiler: "spoiler"; }>; dnp_entries: z.ZodArray<z.ZodAny>; images: z.ZodNumber; implied_by_tags: z.ZodArray<z.ZodString>; implied_tags: z.ZodArray<z.ZodString>; name_in_namespace: z.ZodString; namespace: z.ZodNullable<z.ZodString>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const ImageResponseSchema: z.ZodInterface<{ id: z.ZodNumber; created_at: z.iso.ZodISODateTime; updated_at: z.iso.ZodISODateTime; first_seen_at: z.iso.ZodISODateTime; score: z.ZodNumber; comment_count: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; description: z.ZodString; uploader: z.ZodNullable<z.ZodString>; uploader_id: z.ZodNullable<z.ZodNumber>; thumbnails_generated: z.ZodBoolean; spoilered: z.ZodBoolean; tag_ids: z.ZodArray<z.ZodNumber>; tags: z.ZodArray<z.ZodString>; tag_count: z.ZodNumber; source_url: z.ZodOptional<z.ZodString>; source_urls: z.ZodOptional<z.ZodArray<z.ZodString>>; representations: z.ZodRecord<z.ZodEnum<{ full: "full"; small: "small"; thumb_tiny: "thumb_tiny"; thumb_small: "thumb_small"; thumb: "thumb"; medium: "medium"; large: "large"; tall: "tall"; mp4: "mp4"; webm: "webm"; }>, z.ZodOptional<z.ZodURL>>; intensities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>; aspect_ratio: z.ZodOptional<z.ZodNumber>; size: z.ZodOptional<z.ZodNumber>; format: z.ZodEnum<{ webm: "webm"; gif: "gif"; jpg: "jpg"; jpeg: "jpeg"; png: "png"; svg: "svg"; }>; mime_type: z.ZodEnum<{ "image/gif": "image/gif"; "image/jpeg": "image/jpeg"; "image/png": "image/png"; "image/svg+xml": "image/svg+xml"; "video/webm": "video/webm"; }>; name: z.ZodOptional<z.ZodString>; orig_sha512_hash: z.ZodNullable<z.ZodString>; sha512_hash: z.ZodOptional<z.ZodString>; orig_size: z.ZodOptional<z.ZodNumber>; processed: z.ZodOptional<z.ZodBoolean>; deletion_reason: z.ZodNullable<z.ZodString>; duplicate_of: z.ZodNullable<z.ZodNumber>; hidden_from_users: z.ZodOptional<z.ZodBoolean>; view_url: z.ZodOptional<z.ZodString>; wilson_score: z.ZodOptional<z.ZodNumber>; faves: z.ZodOptional<z.ZodNumber>; upvotes: z.ZodOptional<z.ZodNumber>; downvotes: z.ZodOptional<z.ZodNumber>; animated: z.ZodOptional<z.ZodBoolean>; duration: z.ZodOptional<z.ZodNumber>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const FilterResponseSchema: z.ZodInterface<{ id: z.ZodNumber; name: z.ZodString; description: z.ZodString; user_id: z.ZodNullable<z.ZodNumber>; user_count: z.ZodNumber; system: z.ZodBoolean; public: z.ZodBoolean; spoilered_tag_ids: z.ZodArray<z.ZodNumber>; spoilered_complex: z.ZodNullable<z.ZodString>; hidden_tag_ids: z.ZodArray<z.ZodNumber>; hidden_complex: z.ZodNullable<z.ZodString>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const UserResponseSchema: z.ZodInterface<{ id: z.ZodNumber; name: z.ZodString; slug: z.ZodString; role: z.ZodString; description: z.ZodString; avatar_url: z.ZodOptional<z.ZodURL>; created_at: z.iso.ZodISODateTime; comment_count: z.ZodNumber; uploads_count: z.ZodNumber; posts_count: z.ZodNumber; topics_count: z.ZodNumber; links: z.ZodArray<z.ZodURL>; awards: z.ZodArray<z.ZodString>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const OembedResponseSchema: z.ZodInterface<{ author_name: z.ZodString; author_url: z.ZodURL; cache_age: z.ZodLiteral<7200>; derpibooru_comments: z.ZodNumber; derpibooru_id: z.ZodNumber; derpibooru_score: z.ZodNumber; derpibooru_tags: z.ZodArray<z.ZodString>; provider_name: z.ZodLiteral<"Derpibooru">; provider_url: z.ZodLiteral<"https://derpibooru.org">; title: z.ZodString; type: z.ZodLiteral<"photo">; version: z.ZodLiteral<"1.0">; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const SearchImagesResponseSchema: z.ZodInterface<{ total: z.ZodNumber; images: z.ZodArray<z.ZodInterface<{ id: z.ZodNumber; created_at: z.iso.ZodISODateTime; updated_at: z.iso.ZodISODateTime; first_seen_at: z.iso.ZodISODateTime; score: z.ZodNumber; comment_count: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; description: z.ZodString; uploader: z.ZodNullable<z.ZodString>; uploader_id: z.ZodNullable<z.ZodNumber>; thumbnails_generated: z.ZodBoolean; spoilered: z.ZodBoolean; tag_ids: z.ZodArray<z.ZodNumber>; tags: z.ZodArray<z.ZodString>; tag_count: z.ZodNumber; source_url: z.ZodOptional<z.ZodString>; source_urls: z.ZodOptional<z.ZodArray<z.ZodString>>; representations: z.ZodRecord<z.ZodEnum<{ full: "full"; small: "small"; thumb_tiny: "thumb_tiny"; thumb_small: "thumb_small"; thumb: "thumb"; medium: "medium"; large: "large"; tall: "tall"; mp4: "mp4"; webm: "webm"; }>, z.ZodOptional<z.ZodURL>>; intensities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>; aspect_ratio: z.ZodOptional<z.ZodNumber>; size: z.ZodOptional<z.ZodNumber>; format: z.ZodEnum<{ webm: "webm"; gif: "gif"; jpg: "jpg"; jpeg: "jpeg"; png: "png"; svg: "svg"; }>; mime_type: z.ZodEnum<{ "image/gif": "image/gif"; "image/jpeg": "image/jpeg"; "image/png": "image/png"; "image/svg+xml": "image/svg+xml"; "video/webm": "video/webm"; }>; name: z.ZodOptional<z.ZodString>; orig_sha512_hash: z.ZodNullable<z.ZodString>; sha512_hash: z.ZodOptional<z.ZodString>; orig_size: z.ZodOptional<z.ZodNumber>; processed: z.ZodOptional<z.ZodBoolean>; deletion_reason: z.ZodNullable<z.ZodString>; duplicate_of: z.ZodNullable<z.ZodNumber>; hidden_from_users: z.ZodOptional<z.ZodBoolean>; view_url: z.ZodOptional<z.ZodString>; wilson_score: z.ZodOptional<z.ZodNumber>; faves: z.ZodOptional<z.ZodNumber>; upvotes: z.ZodOptional<z.ZodNumber>; downvotes: z.ZodOptional<z.ZodNumber>; animated: z.ZodOptional<z.ZodBoolean>; duration: z.ZodOptional<z.ZodNumber>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>>; interactions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const SearchTagsResponseSchema: z.ZodInterface<{ tags: z.ZodArray<z.ZodInterface<{ id: z.ZodNumber; name: z.ZodString; slug: z.ZodString; description: z.ZodString; short_description: z.ZodString; spoiler_image_uri: z.ZodNullable<z.ZodString>; aliased_tag: z.ZodNullable<z.ZodString>; aliases: z.ZodArray<z.ZodString>; category: z.ZodEnum<{ error: "error"; character: "character"; "content-fanmade": "content-fanmade"; "content-official": "content-official"; oc: "oc"; origin: "origin"; rating: "rating"; species: "species"; spoiler: "spoiler"; }>; dnp_entries: z.ZodArray<z.ZodAny>; images: z.ZodNumber; implied_by_tags: z.ZodArray<z.ZodString>; implied_tags: z.ZodArray<z.ZodString>; name_in_namespace: z.ZodString; namespace: z.ZodNullable<z.ZodString>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>>; total: z.ZodNumber; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const CommentResponseSchema: z.ZodInterface<{ id: z.ZodNumber; author: z.ZodString; avatar: z.ZodNullable<z.ZodString>; body: z.ZodString; created_at: z.iso.ZodISODateTime; edited_at: z.ZodNullable<z.iso.ZodISODateTime>; image_id: z.ZodNullable<z.ZodNumber>; user_id: z.ZodNullable<z.ZodNumber>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const PostResponseSchema: z.ZodInterface<{ author: z.ZodString; avatar: z.ZodNullable<z.ZodString>; body: z.ZodString; created_at: z.iso.ZodISODateTime; edit_reason: z.ZodNullable<z.ZodString>; edited_at: z.ZodNullable<z.iso.ZodISODateTime>; id: z.ZodNumber; updated_at: z.iso.ZodISODateTime; user_id: z.ZodNullable<z.ZodNumber>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const GalleryResponseSchema: z.ZodInterface<{ description: z.ZodString; id: z.ZodNumber; spoiler_warning: z.ZodNullable<z.ZodString>; thumbnail_id: z.ZodNullable<z.ZodNumber>; title: z.ZodString; user: z.ZodString; user_id: z.ZodNumber; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const SearchCommentsResponseSchema: z.ZodInterface<{ total: z.ZodNumber; comments: z.ZodArray<z.ZodInterface<{ id: z.ZodNumber; author: z.ZodString; avatar: z.ZodNullable<z.ZodString>; body: z.ZodString; created_at: z.iso.ZodISODateTime; edited_at: z.ZodNullable<z.iso.ZodISODateTime>; image_id: z.ZodNullable<z.ZodNumber>; user_id: z.ZodNullable<z.ZodNumber>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const SearchGalleriesResponseSchema: z.ZodInterface<{ total: z.ZodNumber; galleries: z.ZodArray<z.ZodInterface<{ description: z.ZodString; id: z.ZodNumber; spoiler_warning: z.ZodNullable<z.ZodString>; thumbnail_id: z.ZodNullable<z.ZodNumber>; title: z.ZodString; user: z.ZodString; user_id: z.ZodNumber; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; declare const SearchPostsResponseSchema: z.ZodInterface<{ total: z.ZodNumber; posts: z.ZodArray<z.ZodInterface<{ author: z.ZodString; avatar: z.ZodNullable<z.ZodString>; body: z.ZodString; created_at: z.iso.ZodISODateTime; edit_reason: z.ZodNullable<z.ZodString>; edited_at: z.ZodNullable<z.iso.ZodISODateTime>; id: z.ZodNumber; updated_at: z.iso.ZodISODateTime; user_id: z.ZodNullable<z.ZodNumber>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>>; }, { optional: never; defaulted: never; extra: Record<string, unknown>; }>; type ImageMetadata = z.infer<typeof ImageMetadataSchema>; type ArtistLink = z.infer<typeof ArtistLinkSchema>; type Tag = z.infer<typeof TagSchema>; type ImageResponse = z.infer<typeof ImageResponseSchema>; type FilterResponse = z.infer<typeof FilterResponseSchema>; type UserResponse = z.infer<typeof UserResponseSchema>; type OembedResponse = z.infer<typeof OembedResponseSchema>; type SearchImagesResponse = z.infer<typeof SearchImagesResponseSchema>; type SearchTagsResponse = z.infer<typeof SearchTagsResponseSchema>; type CommentResponse = z.infer<typeof CommentResponseSchema>; type PostResponse = z.infer<typeof PostResponseSchema>; type GalleryResponse = z.infer<typeof GalleryResponseSchema>; type SearchCommentsResponse = z.infer<typeof SearchCommentsResponseSchema>; type SearchGalleriesResponse = z.infer<typeof SearchGalleriesResponseSchema>; type SearchPostsResponse = z.infer<typeof SearchPostsResponseSchema>; export { ImageMetadataSchema, ArtistLinkSchema, TagSchema, ImageResponseSchema, FilterResponseSchema, UserResponseSchema, OembedResponseSchema, SearchImagesResponseSchema, SearchTagsResponseSchema, CommentResponseSchema, PostResponseSchema, GalleryResponseSchema, SearchCommentsResponseSchema, SearchGalleriesResponseSchema, SearchPostsResponseSchema, type ImageMetadata, type ArtistLink, type Tag, type ImageResponse, type FilterResponse, type UserResponse, type OembedResponse, type SearchImagesResponse, type SearchTagsResponse, type CommentResponse, type PostResponse, type GalleryResponse, type SearchCommentsResponse, type SearchGalleriesResponse, type SearchPostsResponse, };