@artmate/chat
Version:
借鉴字节开源react库AntX,通过vue实现的版本
2 lines (1 loc) • 885 B
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),l=require("../artRequest/index.js");let c=0;class a{constructor(s){this.requestingMap={},this.request=(e,n)=>{const{request:r}=this.config,{onUpdate:g,onSuccess:d,onError:h}=n,t=c;c+=1,this.requestingMap[t]=!0,r==null||r(e,{onUpdate:i=>{this.requestingMap[t]&&g(i)},onSuccess:i=>{this.requestingMap[t]&&(d(i),this.finishRequest(t))},onError:i=>{this.requestingMap[t]&&(h(i),this.finishRequest(t))}})},this.config=s}finishRequest(s){delete this.requestingMap[s]}isRequesting(){return Object.keys(this.requestingMap).length>0}}function q(u){const{request:s,...e}=u,n=o.computed(()=>[new a({request:s||l.default({baseURL:e.baseURL,model:e.model,dangerouslyApiKey:e.dangerouslyApiKey}).create,...e})]);return o.unref(n)}exports.ArtAgent=a;exports.default=q;