UNPKG

@gala-chain/launchpad-sdk

Version:

TypeScript SDK for Gala Launchpad Backend API - Production-ready DeFi token launchpad integration with wallet-based authentication, GalaChain trading, and comprehensive user operations. 100% tested (22/22 endpoints working).

83 lines 3.05 kB
/** * File Upload Zod Schemas * * Validation schemas for file uploads (images, documents). * Replaces manual FILE_UPLOAD_CONSTRAINTS with type-safe Zod schemas. */ import { z } from 'zod'; /** * Allowed image file extensions */ export declare const IMAGE_EXTENSIONS: readonly [".png", ".jpg", ".jpeg", ".gif", ".webp", ".svg"]; /** * File upload validation schema * Validates file size, type, and filename */ export declare const fileUploadSchema: z.ZodObject<{ /** File object (browser File or Node.js Buffer) */ file: z.ZodUnion<[z.ZodType<File, z.ZodTypeDef, File>, z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>]>; /** Filename with extension */ name: z.ZodString; /** File size in bytes */ size: z.ZodNumber; /** MIME type for image files */ type: z.ZodEnum<["image/png", "image/jpg", "image/jpeg", "image/gif", "image/webp", "image/svg+xml"]>; }, "strip", z.ZodTypeAny, { type: "image/png" | "image/jpg" | "image/jpeg" | "image/gif" | "image/webp" | "image/svg+xml"; name: string; file: File | Buffer<ArrayBufferLike>; size: number; }, { type: "image/png" | "image/jpg" | "image/jpeg" | "image/gif" | "image/webp" | "image/svg+xml"; name: string; file: File | Buffer<ArrayBufferLike>; size: number; }>; /** * Browser File object validation * For client-side file uploads */ export declare const browserFileSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodType<File, z.ZodTypeDef, File>, File, File>, File, File>, File, File>; /** * Node.js Buffer validation * For server-side file uploads */ export declare const bufferFileSchema: z.ZodEffects<z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>; /** * Flexible file schema - accepts both File and Buffer */ export declare const flexibleFileSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodType<File, z.ZodTypeDef, File>, File, File>, File, File>, File, File>, z.ZodEffects<z.ZodType<Buffer<ArrayBufferLike>, z.ZodTypeDef, Buffer<ArrayBufferLike>>, Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>]>; /** * Image extension schema */ export declare const imageExtensionSchema: z.ZodEnum<[".png", ".jpg", ".jpeg", ".gif", ".webp", ".svg"]>; /** * Validate filename has allowed image extension */ export declare const imageFilenameSchema: z.ZodEffects<z.ZodString, string, string>; /** * Type for file upload objects with file, name, size, and type properties */ export type FileUpload = { file: File | Buffer; name: string; size: number; type: string; }; /** * Type for browser File objects */ export type BrowserFile = File; /** * Type for Node.js Buffer objects used as files */ export type BufferFile = Buffer; /** * Type for flexible file objects (either File or Buffer) */ export type FlexibleFile = File | Buffer; /** * Type for allowed image extensions */ export type ImageExtension = z.infer<typeof imageExtensionSchema>; //# sourceMappingURL=files.d.ts.map