code-craft-studio
Version:
A comprehensive QR code and barcode scanning/generation library for React. Works with or without Capacitor. Supports 22+ QR data types and 14+ barcode formats (EAN, UPC, Code 128, etc.), with customizable designs, analytics, and React components. Provider
50 lines (49 loc) • 1.87 kB
TypeScript
import type { PlatformAdapter, PlatformCapabilities } from '../platforms';
import type { QRCodeData, QRCodeOptions, ScanResult, BarcodeFormat, BarcodeOptions, HistoryItem, AnalyticsData, ValidationResult, ExportOptions } from '../definitions';
export interface UseCodeCraftStudioOptions {
autoInitialize?: boolean;
onError?: (error: Error) => void;
}
export interface UseCodeCraftStudioReturn {
isReady: boolean;
platform: PlatformAdapter | null;
capabilities: PlatformCapabilities | null;
isCapacitor: boolean;
isWeb: boolean;
isNative: boolean;
scanQRCode: (options?: {
formats?: string[];
}) => Promise<ScanResult>;
generateQRCode: (data: QRCodeData, options?: QRCodeOptions) => Promise<{
dataUrl: string;
}>;
validateQRData: (data: QRCodeData) => Promise<ValidationResult>;
scanBarcode: (options?: {
formats?: BarcodeFormat[];
}) => Promise<ScanResult>;
generateBarcode: (data: string, format: BarcodeFormat, options?: BarcodeOptions) => Promise<{
dataUrl: string;
}>;
validateBarcode: (data: string, format: BarcodeFormat) => Promise<ValidationResult>;
saveToHistory: (item: HistoryItem) => Promise<void>;
getHistory: (options?: {
limit?: number;
type?: string;
}) => Promise<HistoryItem[]>;
clearHistory: () => Promise<void>;
getAnalytics: () => Promise<AnalyticsData>;
exportCode: (dataUrl: string, options: ExportOptions) => Promise<{
filePath?: string;
blob?: Blob;
}>;
checkPermissions: () => Promise<{
camera?: string;
storage?: string;
}>;
requestPermissions: () => Promise<{
camera?: string;
storage?: string;
}>;
error: Error | null;
}
export declare function useCodeCraftStudio(options?: UseCodeCraftStudioOptions): UseCodeCraftStudioReturn;