Une API TypeScript pour intégrer AnonTransfer dans vos applications Node.js.
- Upload de fichiers vers AnonTransfer
- Gestion de la progression d'upload
- Support des groupes de fichiers
npm installimport { AnonTransferAPI } from "./src/lib";
const api = new AnonTransferAPI();
const result = await api.uploadFile("/path/to/file.txt");
console.log("URL de téléchargement:", result.uri);import { AnonTransferAPI } from "./src/lib";
const api = new AnonTransferAPI();
const options = {
onProgress: (progress: number) => {
console.log(`Upload: ${progress}%`);
},
groupId: "custom-group-id-uuid", // Optionnel uuid v4
};
const result = await api.uploadFile("/path/to/file.txt", options);import { AnonTransferAPI } from "./src/lib";
const api = new AnonTransferAPI();
const buffer = Buffer.from("Contenu du fichier");
const result = await api.uploadFileFromBuffer(buffer, "filename.txt");src/
├── interfaces/ # Interfaces et contrats
│ └── IAnonTransferRepository.ts
├── repositories/ # Implémentations des repositories
│ └── AnonTransferRepository.ts
├── services/ # Services métier
│ ├── AuthenticationService.ts
│ ├── FileUploadService.ts
│ ├── FileInfoService.ts
│ ├── FileDeleteService.ts
│ └── UploadProgressHandler.ts
├── utils/ # Utilitaires
│ ├── EventEmitter.ts
│ └── helpers.ts
├── types/ # Types TypeScript
│ └── index.ts
├── tests/ # Tests
│ └── test.ts
├── lib.ts # API principale
├── index.ts # Point d'entrée
└── example.ts # Exemple d'utilisation
- Séparation des responsabilités : Chaque classe a une seule responsabilité
- Inversion de dépendance : Les services dépendent d'interfaces, pas d'implémentations
- Testabilité : Architecture découplée permettant le mocking facile
- Extensibilité : Facile d'ajouter de nouvelles fonctionnalités
interface UploadResult {
success: boolean;
name: string;
uri: string;
dir: string;
id: number;
groupId: string;
isPartOfGroup: boolean;
folderUri: string;
}interface UploadOptions {
onProgress?: (progress: number) => void;
groupId?: string;
chunkSize?: number;
}L'API lance des erreurs typées que vous pouvez capturer :
try {
const result = await api.uploadFile("/path/to/file.txt");
} catch (error) {
if (error instanceof Error) {
console.error("Erreur d'upload:", error.message);
}
}# Compilation
npm run build
# Tests
npm run test
# Linting
npm run lint