editorial_too_long:1444 import { reactive , toRefs } from 'vue' ; import axios from 'axios' ; interface TResult < T > { result : null | T ; loadding : boolean ; error : any…

import{reactive,toRefs}from'vue';
importaxiosfrom'axios';
interfaceTResult<T> {
result:null|T;
loadding:boolean;
error:any;
}
constuseUrlLoader=<T>(url:string)=>{
constdata:TResult<T>=reactive({
result:null,
loadding:true,
error:null,
});
axios
.get(url)
.then((rawData)=>{
data.result=rawData.data;
})
.catch((e)=>{
data.error=e;
})
.finally(()=>{
data.loadding=false;
});
returntoRefs(data);
};