ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
2 lines (1 loc) • 989 B
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("../x-request/x-request.js"),c=require("vue");let a=0;class g{constructor(i){this.requestingMap=c.ref({}),this.request=(s,o,l)=>{const{request:u}=this.config,{onUpdate:q,onSuccess:h,onError:d,onStream:n}=o,e=a;a+=1,this.requestingMap.value[e]=!0,u==null||u(s,{onStream:t=>{this.requestingMap.value[e]&&(n==null||n(t))},onUpdate:t=>{this.requestingMap.value[e]&&q(t)},onSuccess:t=>{this.requestingMap.value[e]&&(h(t),this.finishRequest(e))},onError:t=>{this.requestingMap.value[e]&&(d(t),this.finishRequest(e))}},l)},this.config=i}finishRequest(i){delete this.requestingMap.value[i]}isRequesting(){return Object.keys(this.requestingMap.value).length>0}}function p(r){const{request:i,...s}=r;return[c.computed(()=>new g({request:i||f.default({baseURL:s.baseURL,model:s.model,dangerouslyApiKey:s.dangerouslyApiKey}).create,...s}))]}exports.XAgent=g;exports.default=p;
;