File size: 756 Bytes
cce8120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"use client";

import {useState} from "react";
import * as files from "../services/files/client";

export default function useFiles(){

const [loading,setLoading]=useState(false);

async function execute(fn,...args){
    setLoading(true);
    try{
        return await fn(...args);
    }finally{
        setLoading(false);
    }
}

return{
loading,
listFiles:(...a)=>execute(files.listFiles,...a),
readFile:(...a)=>execute(files.readFile,...a),
saveFile:(...a)=>execute(files.saveFile,...a),
createFile:(...a)=>execute(files.createFile,...a),
renameFile:(...a)=>execute(files.renameFile,...a),
deleteFile:(...a)=>execute(files.deleteFile,...a),
uploadFile:(...a)=>execute(files.uploadFile,...a),
downloadFile:(...a)=>execute(files.downloadFile,...a)
};

}