@chirper/node 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +1 -1
- package/package.json +1 -1
- package/src/api/Chirp.ts +17 -0
- package/src/api/Chirper.ts +27 -0
- package/src/api/Follow.ts +13 -0
- package/src/index.ts +6 -0
package/dist/bundle.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var V=Object.create;var S=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var k=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports),X=(s,t)=>{for(var e in t)S(s,e,{get:t[e],enumerable:!0})},J=(s,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of z(t))!W.call(s,o)&&o!==e&&S(s,o,{get:()=>t[o],enumerable:!(i=Y(t,o))||i.enumerable});return s};var U=(s,t,e)=>(e=s!=null?V(Q(s)):{},J(t||!s||!s.__esModule?S(e,"default",{value:s,enumerable:!0}):e,s)),Z=s=>J(S({},"__esModule",{value:!0}),s);var B=k((rt,E)=>{var C=(()=>{var s=Object.defineProperty,t=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,o=(w,f,p)=>f in w?s(w,f,{enumerable:!0,configurable:!0,writable:!0,value:p}):w[f]=p,a=(w,f)=>{for(var p in f||(f={}))e.call(f,p)&&o(w,p,f[p]);if(t)for(var p of t(f))i.call(f,p)&&o(w,p,f[p]);return w},h=w=>s(w,"__esModule",{value:!0}),v=(w,f)=>{h(w);for(var p in f)s(w,p,{get:f[p],enumerable:!0})},n={};v(n,{DEFAULT_UUID_LENGTH:()=>y,default:()=>b});var $="4.4.4",y=6,c={dictionary:"alphanum",shuffle:!0,debug:!1,length:y},m=class extends Function{constructor(w={}){super(),this.dictIndex=0,this.dictRange=[],this.lowerBound=0,this.upperBound=0,this.dictLength=0,this._digit_first_ascii=48,this._digit_last_ascii=58,this._alpha_lower_first_ascii=97,this._alpha_lower_last_ascii=123,this._hex_last_ascii=103,this._alpha_upper_first_ascii=65,this._alpha_upper_last_ascii=91,this._number_dict_ranges={digits:[this._digit_first_ascii,this._digit_last_ascii]},this._alpha_dict_ranges={lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]},this._alpha_lower_dict_ranges={lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii]},this._alpha_upper_dict_ranges={upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]},this._alphanum_dict_ranges={digits:[this._digit_first_ascii,this._digit_last_ascii],lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]},this._alphanum_lower_dict_ranges={digits:[this._digit_first_ascii,this._digit_last_ascii],lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii]},this._alphanum_upper_dict_ranges={digits:[this._digit_first_ascii,this._digit_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]},this._hex_dict_ranges={decDigits:[this._digit_first_ascii,this._digit_last_ascii],alphaDigits:[this._alpha_lower_first_ascii,this._hex_last_ascii]},this.log=(...r)=>{let l=[...r];if(l[0]=`[short-unique-id] ${r[0]}`,this.debug===!0&&typeof console<"u"&&console!==null)return console.log(...l)},this.setDictionary=(r,l)=>{let u;if(r&&Array.isArray(r)&&r.length>1)u=r;else{u=[];let d;this.dictIndex=d=0;let x=`_${r}_dict_ranges`,N=this[x];Object.keys(N).forEach(G=>{let H=G;for(this.dictRange=N[H],this.lowerBound=this.dictRange[0],this.upperBound=this.dictRange[1],this.dictIndex=d=this.lowerBound;this.lowerBound<=this.upperBound?d<this.upperBound:d>this.upperBound;this.dictIndex=this.lowerBound<=this.upperBound?d+=1:d-=1)u.push(String.fromCharCode(this.dictIndex))})}l&&(u=u.sort(()=>Math.random()-.5)),this.dict=u,this.dictLength=this.dict.length,this.counter=0},this.seq=()=>this.sequentialUUID(),this.sequentialUUID=()=>{let r,l,u="";r=this.counter;do l=r%this.dictLength,r=Math.trunc(r/this.dictLength),u+=this.dict[l];while(r!==0);return this.counter+=1,u},this.randomUUID=(r=this.uuidLength||y)=>{let l,u,d;if(r===null||typeof r>"u"||r<1)throw new Error("Invalid UUID Length Provided");let x=r>=0;for(l="",d=0;d<r;d+=1)u=parseInt((Math.random()*this.dictLength).toFixed(0),10)%this.dictLength,l+=this.dict[u];return l},this.availableUUIDs=(r=this.uuidLength)=>parseFloat(Math.pow([...new Set(this.dict)].length,r).toFixed(0)),this.approxMaxBeforeCollision=(r=this.availableUUIDs(this.uuidLength))=>parseFloat(Math.sqrt(Math.PI/2*r).toFixed(20)),this.collisionProbability=(r=this.availableUUIDs(this.uuidLength),l=this.uuidLength)=>parseFloat((this.approxMaxBeforeCollision(r)/this.availableUUIDs(l)).toFixed(20)),this.uniqueness=(r=this.availableUUIDs(this.uuidLength))=>{let l=parseFloat((1-this.approxMaxBeforeCollision(r)/r).toFixed(20));return l>1?1:l<0?0:l},this.getVersion=()=>this.version,this.stamp=r=>{if(typeof r!="number"||r<10)throw new Error("Param finalLength must be number greater than 10");let l=Math.floor(+new Date/1e3).toString(16),u=r-9,d=Math.round(Math.random()*(u>15?15:u)),x=this.randomUUID(u);return`${x.substr(0,d)}${l}${x.substr(d)}${d.toString(16)}`},this.parseStamp=r=>{if(r.length<10)throw new Error("Stamp length invalid");let l=parseInt(r.substr(r.length-1,1),16);return new Date(parseInt(r.substr(l,8),16)*1e3)};let f=a(a({},c),w);this.counter=0,this.debug=!1,this.dict=[],this.version=$;let{dictionary:p,shuffle:j,length:K}=f;return this.uuidLength=K,this.setDictionary(p,j),this.debug=f.debug,this.log(this.dict),this.log(`Generator instantiated with Dictionary Size ${this.dictLength}`),new Proxy(this,{apply:(r,l,u)=>this.randomUUID(...u)})}},b=m;return b.default=m,n})();typeof E<"u"&&(E.exports=C.default),typeof window<"u"&&(C=C.default)});var T=k((ht,P)=>{"use strict";var tt=Object.prototype.hasOwnProperty,g="~";function O(){}Object.create&&(O.prototype=Object.create(null),new O().__proto__||(g=!1));function et(s,t,e){this.fn=s,this.context=t,this.once=e||!1}function F(s,t,e,i,o){if(typeof e!="function")throw new TypeError("The listener must be a function");var a=new et(e,i||s,o),h=g?g+t:t;return s._events[h]?s._events[h].fn?s._events[h]=[s._events[h],a]:s._events[h].push(a):(s._events[h]=a,s._eventsCount++),s}function I(s,t){--s._eventsCount===0?s._events=new O:delete s._events[t]}function _(){this._events=new O,this._eventsCount=0}_.prototype.eventNames=function(){var t=[],e,i;if(this._eventsCount===0)return t;for(i in e=this._events)tt.call(e,i)&&t.push(g?i.slice(1):i);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};_.prototype.listeners=function(t){var e=g?g+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,a=i.length,h=new Array(a);o<a;o++)h[o]=i[o].fn;return h};_.prototype.listenerCount=function(t){var e=g?g+t:t,i=this._events[e];return i?i.fn?1:i.length:0};_.prototype.emit=function(t,e,i,o,a,h){var v=g?g+t:t;if(!this._events[v])return!1;var n=this._events[v],$=arguments.length,y,c;if(n.fn){switch(n.once&&this.removeListener(t,n.fn,void 0,!0),$){case 1:return n.fn.call(n.context),!0;case 2:return n.fn.call(n.context,e),!0;case 3:return n.fn.call(n.context,e,i),!0;case 4:return n.fn.call(n.context,e,i,o),!0;case 5:return n.fn.call(n.context,e,i,o,a),!0;case 6:return n.fn.call(n.context,e,i,o,a,h),!0}for(c=1,y=new Array($-1);c<$;c++)y[c-1]=arguments[c];n.fn.apply(n.context,y)}else{var m=n.length,b;for(c=0;c<m;c++)switch(n[c].once&&this.removeListener(t,n[c].fn,void 0,!0),$){case 1:n[c].fn.call(n[c].context);break;case 2:n[c].fn.call(n[c].context,e);break;case 3:n[c].fn.call(n[c].context,e,i);break;case 4:n[c].fn.call(n[c].context,e,i,o);break;default:if(!y)for(b=1,y=new Array($-1);b<$;b++)y[b-1]=arguments[b];n[c].fn.apply(n[c].context,y)}}return!0};_.prototype.on=function(t,e,i){return F(this,t,e,i,!1)};_.prototype.once=function(t,e,i){return F(this,t,e,i,!0)};_.prototype.removeListener=function(t,e,i,o){var a=g?g+t:t;if(!this._events[a])return this;if(!e)return I(this,a),this;var h=this._events[a];if(h.fn)h.fn===e&&(!o||h.once)&&(!i||h.context===i)&&I(this,a);else{for(var v=0,n=[],$=h.length;v<$;v++)(h[v].fn!==e||o&&!h[v].once||i&&h[v].context!==i)&&n.push(h[v]);n.length?this._events[a]=n.length===1?n[0]:n:I(this,a)}return this};_.prototype.removeAllListeners=function(t){var e;return t?(e=g?g+t:t,this._events[e]&&I(this,e)):(this._events=new O,this._eventsCount=0),this};_.prototype.off=_.prototype.removeListener;_.prototype.addListener=_.prototype.on;_.prefixed=g;_.EventEmitter=_;typeof P<"u"&&(P.exports=_)});var st={};X(st,{default:()=>L});module.exports=Z(st);var q=U(B()),R=U(require("socket.io-client"));var D=U(T(),1);var A=s=>({prompt:t=>s.post("/:account/ai",t),image:t=>s.post("/:account/ai/image",t)});var M=s=>({get:(t,e=null,i=null)=>s.get(`/:account/stat/${t}`,{from:e,to:i})});var it=new q.default({length:10}),L=class{constructor({url:t,version:e}){this.key=null;this.url=null;this.cache={};this.events=new D.default;this.call=null;this.socket=null;this.account=null;this.version="v1";this.loading=!0;this.authing=null;this.authKey=null;this.shareKey=null;this.customer=null;this.presences={};this.connecting=null;this.options={path:"/ws",cors:!0,agent:!0,reconnect:!0,transports:["websocket"],withCredentials:!0};t&&(this.url=t),e&&(this.version=e),this.build=this.build.bind(this),this.fetch=this.fetch.bind(this),this.wsFetch=this.wsFetch.bind(this),this.on=this.on.bind(this),this.off=this.off.bind(this),this.emit=this.emit.bind(this),this.once=this.once.bind(this),this.addListener=this.events.addListener.bind(this.events),this.removeListener=this.events.removeListener.bind(this.events),this.get=this.get.bind(this),this.put=this.put.bind(this),this.post=this.post.bind(this),this.patch=this.patch.bind(this),this.delete=this.delete.bind(this),this.AI=A(this),this.Stat=M(this),this.build()}build(){if(this.__resolveConnecting=null,this.connecting=new Promise(e=>{this.__resolveConnecting=e}),!this.url)return;let t=R.default.connect(`${this.url}`,this.options);t.on("connect",async()=>{this.authing||(this.authing=this.auth(this.authKey,this.shareKey),await this.authing,this.authing=null,this.__resolveConnecting())}),t.on("disconnect",()=>{this.connecting=new Promise(e=>{this.__resolveConnecting=e})}),this.socket=t}async auth(){this.loading=!0,this.events.emit("loading",!0);let t=await this.get("/auth",{key:this.key},!1,!1);t?.user&&(this.user=t.user,this.events.emit("user",t.user)),this.loading=!1,this.events.emit("loading",!1),typeof window<"u"&&(window.chirper=this)}async fetch(t,e,i={},o=!1){if(["patch","put","delete","post"].includes(t.toLowerCase())&&(o=!1),o&&this.cache[`${t}${e}${JSON.stringify(i)}`])return this.cache[`${t}${e}${JSON.stringify(i)}`];delete this.cache[`${t}${e}${JSON.stringify(i)}`],console.time(`[chirper] [fetch] ${t}:${e} ${JSON.stringify(i)}`);let a;try{a=await(await fetch(`${this.url}${e}${`${t}`.toLowerCase()==="get"?`?${new URLSearchParams(i)}`:""}`,{body:`${t}`.toLowerCase()!=="get"?JSON.stringify(i):void 0,headers:{"Content-Type":"application/json",Authentication:this.key?`Bearer ${this.key}`:void 0},credentials:"include"})).json()}catch(h){throw console.timeEnd(`[chirper] [fetch] ${t}:${e} ${JSON.stringify(i)}`),h}if(console.timeEnd(`[chirper] [fetch] ${t}:${e} ${JSON.stringify(i)}`),!a?.success)throw new Error(a.message);return o&&(this.cache[`${t}${e}${JSON.stringify(i)}`]=a,this.cache[`${t}${e}${JSON.stringify(i)}`].then(()=>{typeof o=="number"?setTimeout(()=>{delete this.cache[`${t}${e}${JSON.stringify(i)}`]},o):delete this.cache[`${t}${e}${JSON.stringify(i)}`]})),a.result}async wsFetch(t,e,i={},o=!1,a=!0){if(a&&await this.connecting,a&&await this.authing,a&&!this.account&&e.includes(":account")&&await new Promise(n=>{this.events.once("account",n)}),this.account&&(e=e.replace(":account",this.account?.id)),["patch","put","delete","post"].includes(t.toLowerCase())&&(o=!1),o&&this.cache[`${t}${e}${JSON.stringify(i)}`])return this.cache[`${t}${e}${JSON.stringify(i)}`];delete this.cache[`${t}${e}${JSON.stringify(i)}`];let h=it();console.time(`[chirper] [${h}] ${t}:${e} ${JSON.stringify(i)}`);let v=new Promise((n,$)=>{this.socket.once(h,({success:y,result:c,message:m})=>{if(console.timeEnd(`[chirper] [${h}] ${t}:${e} ${JSON.stringify(i)}`),y)return n(c);$(m)})});return o&&(this.cache[`${t}${e}${JSON.stringify(i)}`]=v,this.cache[`${t}${e}${JSON.stringify(i)}`].then(()=>{typeof o=="number"?setTimeout(()=>{delete this.cache[`${t}${e}${JSON.stringify(i)}`]},o):delete this.cache[`${t}${e}${JSON.stringify(i)}`]})),this.socket.emit("call",h,t.toUpperCase(),e,i),v}on(...t){this.socket.on(...t)}off(...t){this.socket.off(...t)}emit(...t){this.socket.emit(...t)}once(...t){this.socket.once(...t)}get(t,e,...i){return this.wsFetch("GET",`/${this.version}${t}`,e,...i)}put(t,e,...i){return this.wsFetch("PUT",`/${this.version}${t}`,e,...i)}post(t,e,...i){return this.wsFetch("POST",`/${this.version}${t}`,e,...i)}patch(t,e,...i){return this.wsFetch("PATCH",`/${this.version}${t}`,e,...i)}delete(t,e,...i){return this.wsFetch("DELETE",`/${this.version}${t}`,e,...i)}};
|
1
|
+
var Q=Object.create;var S=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,tt=Object.prototype.hasOwnProperty;var F=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports),et=(s,t)=>{for(var e in t)S(s,e,{get:t[e],enumerable:!0})},k=(s,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of X(t))!tt.call(s,n)&&n!==e&&S(s,n,{get:()=>t[n],enumerable:!(i=W(t,n))||i.enumerable});return s};var L=(s,t,e)=>(e=s!=null?Q(Z(s)):{},k(t||!s||!s.__esModule?S(e,"default",{value:s,enumerable:!0}):e,s)),it=s=>k(S({},"__esModule",{value:!0}),s);var J=F((lt,E)=>{var U=(()=>{var s=Object.defineProperty,t=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,n=(y,_,g)=>_ in y?s(y,_,{enumerable:!0,configurable:!0,writable:!0,value:g}):y[_]=g,l=(y,_)=>{for(var g in _||(_={}))e.call(_,g)&&n(y,g,_[g]);if(t)for(var g of t(_))i.call(_,g)&&n(y,g,_[g]);return y},h=y=>s(y,"__esModule",{value:!0}),u=(y,_)=>{h(y);for(var g in _)s(y,g,{get:_[g],enumerable:!0})},r={};u(r,{DEFAULT_UUID_LENGTH:()=>d,default:()=>m});var $="4.4.4",d=6,a={dictionary:"alphanum",shuffle:!0,debug:!1,length:d},b=class extends Function{constructor(y={}){super(),this.dictIndex=0,this.dictRange=[],this.lowerBound=0,this.upperBound=0,this.dictLength=0,this._digit_first_ascii=48,this._digit_last_ascii=58,this._alpha_lower_first_ascii=97,this._alpha_lower_last_ascii=123,this._hex_last_ascii=103,this._alpha_upper_first_ascii=65,this._alpha_upper_last_ascii=91,this._number_dict_ranges={digits:[this._digit_first_ascii,this._digit_last_ascii]},this._alpha_dict_ranges={lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]},this._alpha_lower_dict_ranges={lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii]},this._alpha_upper_dict_ranges={upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]},this._alphanum_dict_ranges={digits:[this._digit_first_ascii,this._digit_last_ascii],lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]},this._alphanum_lower_dict_ranges={digits:[this._digit_first_ascii,this._digit_last_ascii],lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii]},this._alphanum_upper_dict_ranges={digits:[this._digit_first_ascii,this._digit_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]},this._hex_dict_ranges={decDigits:[this._digit_first_ascii,this._digit_last_ascii],alphaDigits:[this._alpha_lower_first_ascii,this._hex_last_ascii]},this.log=(...o)=>{let c=[...o];if(c[0]=`[short-unique-id] ${o[0]}`,this.debug===!0&&typeof console<"u"&&console!==null)return console.log(...c)},this.setDictionary=(o,c)=>{let f;if(o&&Array.isArray(o)&&o.length>1)f=o;else{f=[];let v;this.dictIndex=v=0;let x=`_${o}_dict_ranges`,N=this[x];Object.keys(N).forEach(Y=>{let z=Y;for(this.dictRange=N[z],this.lowerBound=this.dictRange[0],this.upperBound=this.dictRange[1],this.dictIndex=v=this.lowerBound;this.lowerBound<=this.upperBound?v<this.upperBound:v>this.upperBound;this.dictIndex=this.lowerBound<=this.upperBound?v+=1:v-=1)f.push(String.fromCharCode(this.dictIndex))})}c&&(f=f.sort(()=>Math.random()-.5)),this.dict=f,this.dictLength=this.dict.length,this.counter=0},this.seq=()=>this.sequentialUUID(),this.sequentialUUID=()=>{let o,c,f="";o=this.counter;do c=o%this.dictLength,o=Math.trunc(o/this.dictLength),f+=this.dict[c];while(o!==0);return this.counter+=1,f},this.randomUUID=(o=this.uuidLength||d)=>{let c,f,v;if(o===null||typeof o>"u"||o<1)throw new Error("Invalid UUID Length Provided");let x=o>=0;for(c="",v=0;v<o;v+=1)f=parseInt((Math.random()*this.dictLength).toFixed(0),10)%this.dictLength,c+=this.dict[f];return c},this.availableUUIDs=(o=this.uuidLength)=>parseFloat(Math.pow([...new Set(this.dict)].length,o).toFixed(0)),this.approxMaxBeforeCollision=(o=this.availableUUIDs(this.uuidLength))=>parseFloat(Math.sqrt(Math.PI/2*o).toFixed(20)),this.collisionProbability=(o=this.availableUUIDs(this.uuidLength),c=this.uuidLength)=>parseFloat((this.approxMaxBeforeCollision(o)/this.availableUUIDs(c)).toFixed(20)),this.uniqueness=(o=this.availableUUIDs(this.uuidLength))=>{let c=parseFloat((1-this.approxMaxBeforeCollision(o)/o).toFixed(20));return c>1?1:c<0?0:c},this.getVersion=()=>this.version,this.stamp=o=>{if(typeof o!="number"||o<10)throw new Error("Param finalLength must be number greater than 10");let c=Math.floor(+new Date/1e3).toString(16),f=o-9,v=Math.round(Math.random()*(f>15?15:f)),x=this.randomUUID(f);return`${x.substr(0,v)}${c}${x.substr(v)}${v.toString(16)}`},this.parseStamp=o=>{if(o.length<10)throw new Error("Stamp length invalid");let c=parseInt(o.substr(o.length-1,1),16);return new Date(parseInt(o.substr(c,8),16)*1e3)};let _=l(l({},a),y);this.counter=0,this.debug=!1,this.dict=[],this.version=$;let{dictionary:g,shuffle:H,length:V}=_;return this.uuidLength=V,this.setDictionary(g,H),this.debug=_.debug,this.log(this.dict),this.log(`Generator instantiated with Dictionary Size ${this.dictLength}`),new Proxy(this,{apply:(o,c,f)=>this.randomUUID(...f)})}},m=b;return m.default=b,r})();typeof E<"u"&&(E.exports=U.default),typeof window<"u"&&(U=U.default)});var T=F((ct,P)=>{"use strict";var st=Object.prototype.hasOwnProperty,w="~";function O(){}Object.create&&(O.prototype=Object.create(null),new O().__proto__||(w=!1));function rt(s,t,e){this.fn=s,this.context=t,this.once=e||!1}function B(s,t,e,i,n){if(typeof e!="function")throw new TypeError("The listener must be a function");var l=new rt(e,i||s,n),h=w?w+t:t;return s._events[h]?s._events[h].fn?s._events[h]=[s._events[h],l]:s._events[h].push(l):(s._events[h]=l,s._eventsCount++),s}function I(s,t){--s._eventsCount===0?s._events=new O:delete s._events[t]}function p(){this._events=new O,this._eventsCount=0}p.prototype.eventNames=function(){var t=[],e,i;if(this._eventsCount===0)return t;for(i in e=this._events)st.call(e,i)&&t.push(w?i.slice(1):i);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};p.prototype.listeners=function(t){var e=w?w+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,l=i.length,h=new Array(l);n<l;n++)h[n]=i[n].fn;return h};p.prototype.listenerCount=function(t){var e=w?w+t:t,i=this._events[e];return i?i.fn?1:i.length:0};p.prototype.emit=function(t,e,i,n,l,h){var u=w?w+t:t;if(!this._events[u])return!1;var r=this._events[u],$=arguments.length,d,a;if(r.fn){switch(r.once&&this.removeListener(t,r.fn,void 0,!0),$){case 1:return r.fn.call(r.context),!0;case 2:return r.fn.call(r.context,e),!0;case 3:return r.fn.call(r.context,e,i),!0;case 4:return r.fn.call(r.context,e,i,n),!0;case 5:return r.fn.call(r.context,e,i,n,l),!0;case 6:return r.fn.call(r.context,e,i,n,l,h),!0}for(a=1,d=new Array($-1);a<$;a++)d[a-1]=arguments[a];r.fn.apply(r.context,d)}else{var b=r.length,m;for(a=0;a<b;a++)switch(r[a].once&&this.removeListener(t,r[a].fn,void 0,!0),$){case 1:r[a].fn.call(r[a].context);break;case 2:r[a].fn.call(r[a].context,e);break;case 3:r[a].fn.call(r[a].context,e,i);break;case 4:r[a].fn.call(r[a].context,e,i,n);break;default:if(!d)for(m=1,d=new Array($-1);m<$;m++)d[m-1]=arguments[m];r[a].fn.apply(r[a].context,d)}}return!0};p.prototype.on=function(t,e,i){return B(this,t,e,i,!1)};p.prototype.once=function(t,e,i){return B(this,t,e,i,!0)};p.prototype.removeListener=function(t,e,i,n){var l=w?w+t:t;if(!this._events[l])return this;if(!e)return I(this,l),this;var h=this._events[l];if(h.fn)h.fn===e&&(!n||h.once)&&(!i||h.context===i)&&I(this,l);else{for(var u=0,r=[],$=h.length;u<$;u++)(h[u].fn!==e||n&&!h[u].once||i&&h[u].context!==i)&&r.push(h[u]);r.length?this._events[l]=r.length===1?r[0]:r:I(this,l)}return this};p.prototype.removeAllListeners=function(t){var e;return t?(e=w?w+t:t,this._events[e]&&I(this,e)):(this._events=new O,this._eventsCount=0),this};p.prototype.off=p.prototype.removeListener;p.prototype.addListener=p.prototype.on;p.prefixed=w;p.EventEmitter=p;typeof P<"u"&&(P.exports=p)});var ot={};et(ot,{default:()=>C});module.exports=it(ot);var K=L(J()),G=L(require("socket.io-client"));var D=L(T(),1);var A=s=>({prompt:t=>s.post("/:account/ai",t),image:t=>s.post("/:account/ai/image",t)});var M=s=>({get:(t,e=null,i=null)=>s.get(`/:account/stat/${t}`,{from:e,to:i})});var q=s=>({get:t=>s.get(`/chirp/${t}`),list:({user:t,query:e,following:i,parent:n,username:l,skip:h,limit:u,search:r,contact:$,sort:d,filter:a,page:b}={})=>s.get("/chirp",{user:t,parent:n,following:i,query:e,username:l,skip:h,limit:u,search:r,contact:$,sort:d,filter:a,page:b}),delete:t=>s.delete(`/chirp/${t}`)});var R=s=>({get:t=>s.get(`/follow/${t}`),toggle:t=>s.post(`/follow/${t?.id||t}`)});var j=s=>({get:t=>s.get(`/chirper/${t}`),list:({user:t,skip:e,limit:i,search:n,contact:l,sort:h,filter:u,page:r}={})=>s.get("/chirper",{user:t,skip:e,limit:i,search:n,contact:l,sort:h,filter:u,page:r}),create:t=>s.post("/chirper",t),update:(t,e)=>s.patch(`/chirper/${t.id}`,e?{updates:e}:t),delete:t=>s.delete(`/chirper/${t}`)});var nt=new K.default({length:10}),C=class{constructor({url:t,version:e}){this.key=null;this.url=null;this.cache={};this.events=new D.default;this.call=null;this.socket=null;this.account=null;this.version="v1";this.loading=!0;this.authing=null;this.authKey=null;this.shareKey=null;this.customer=null;this.presences={};this.connecting=null;this.options={path:"/ws",cors:!0,agent:!0,reconnect:!0,transports:["websocket"],withCredentials:!0};t&&(this.url=t),e&&(this.version=e),this.build=this.build.bind(this),this.fetch=this.fetch.bind(this),this.wsFetch=this.wsFetch.bind(this),this.on=this.on.bind(this),this.off=this.off.bind(this),this.emit=this.emit.bind(this),this.once=this.once.bind(this),this.addListener=this.events.addListener.bind(this.events),this.removeListener=this.events.removeListener.bind(this.events),this.get=this.get.bind(this),this.put=this.put.bind(this),this.post=this.post.bind(this),this.patch=this.patch.bind(this),this.delete=this.delete.bind(this),this.AI=A(this),this.Stat=M(this),this.Chirp=q(this),this.Follow=R(this),this.Chirper=j(this),this.build()}build(){if(this.__resolveConnecting=null,this.connecting=new Promise(e=>{this.__resolveConnecting=e}),!this.url)return;let t=G.default.connect(`${this.url}`,this.options);t.on("connect",async()=>{this.authing||(this.authing=this.auth(this.authKey,this.shareKey),await this.authing,this.authing=null,this.__resolveConnecting())}),t.on("disconnect",()=>{this.connecting=new Promise(e=>{this.__resolveConnecting=e})}),this.socket=t}async auth(){this.loading=!0,this.events.emit("loading",!0);let t=await this.get("/auth",{key:this.key},!1,!1);t?.user&&(this.user=t.user,this.events.emit("user",t.user)),this.loading=!1,this.events.emit("loading",!1),typeof window<"u"&&(window.chirper=this)}async fetch(t,e,i={},n=!1){if(["patch","put","delete","post"].includes(t.toLowerCase())&&(n=!1),n&&this.cache[`${t}${e}${JSON.stringify(i)}`])return this.cache[`${t}${e}${JSON.stringify(i)}`];delete this.cache[`${t}${e}${JSON.stringify(i)}`],console.time(`[chirper] [fetch] ${t}:${e} ${JSON.stringify(i)}`);let l;try{l=await(await fetch(`${this.url}${e}${`${t}`.toLowerCase()==="get"?`?${new URLSearchParams(i)}`:""}`,{body:`${t}`.toLowerCase()!=="get"?JSON.stringify(i):void 0,headers:{"Content-Type":"application/json",Authentication:this.key?`Bearer ${this.key}`:void 0},credentials:"include"})).json()}catch(h){throw console.timeEnd(`[chirper] [fetch] ${t}:${e} ${JSON.stringify(i)}`),h}if(console.timeEnd(`[chirper] [fetch] ${t}:${e} ${JSON.stringify(i)}`),!l?.success)throw new Error(l.message);return n&&(this.cache[`${t}${e}${JSON.stringify(i)}`]=l,this.cache[`${t}${e}${JSON.stringify(i)}`].then(()=>{typeof n=="number"?setTimeout(()=>{delete this.cache[`${t}${e}${JSON.stringify(i)}`]},n):delete this.cache[`${t}${e}${JSON.stringify(i)}`]})),l.result}async wsFetch(t,e,i={},n=!1,l=!0){if(l&&await this.connecting,l&&await this.authing,l&&!this.account&&e.includes(":account")&&await new Promise(r=>{this.events.once("account",r)}),this.account&&(e=e.replace(":account",this.account?.id)),["patch","put","delete","post"].includes(t.toLowerCase())&&(n=!1),n&&this.cache[`${t}${e}${JSON.stringify(i)}`])return this.cache[`${t}${e}${JSON.stringify(i)}`];delete this.cache[`${t}${e}${JSON.stringify(i)}`];let h=nt();console.time(`[chirper] [${h}] ${t}:${e} ${JSON.stringify(i)}`);let u=new Promise((r,$)=>{this.socket.once(h,({success:d,result:a,message:b})=>{if(console.timeEnd(`[chirper] [${h}] ${t}:${e} ${JSON.stringify(i)}`),d)return r(a);$(b)})});return n&&(this.cache[`${t}${e}${JSON.stringify(i)}`]=u,this.cache[`${t}${e}${JSON.stringify(i)}`].then(()=>{typeof n=="number"?setTimeout(()=>{delete this.cache[`${t}${e}${JSON.stringify(i)}`]},n):delete this.cache[`${t}${e}${JSON.stringify(i)}`]})),this.socket.emit("call",h,t.toUpperCase(),e,i),u}on(...t){this.socket.on(...t)}off(...t){this.socket.off(...t)}emit(...t){this.socket.emit(...t)}once(...t){this.socket.once(...t)}get(t,e,...i){return this.wsFetch("GET",`/${this.version}${t}`,e,...i)}put(t,e,...i){return this.wsFetch("PUT",`/${this.version}${t}`,e,...i)}post(t,e,...i){return this.wsFetch("POST",`/${this.version}${t}`,e,...i)}patch(t,e,...i){return this.wsFetch("PATCH",`/${this.version}${t}`,e,...i)}delete(t,e,...i){return this.wsFetch("DELETE",`/${this.version}${t}`,e,...i)}};
|
package/package.json
CHANGED
package/src/api/Chirp.ts
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
/**
|
3
|
+
* chirp api
|
4
|
+
*/
|
5
|
+
export default (api) => ({
|
6
|
+
get : (id) => {
|
7
|
+
return api.get(`/chirp/${id}`);
|
8
|
+
},
|
9
|
+
list : ({ user, query, following, parent, username, skip, limit, search, contact, sort, filter, page } = {}) => {
|
10
|
+
// return done
|
11
|
+
return api.get(`/chirp`, { user, parent, following, query, username, skip, limit, search, contact, sort, filter, page });
|
12
|
+
},
|
13
|
+
delete : (id) => {
|
14
|
+
// return patch
|
15
|
+
return api.delete(`/chirp/${id}`);
|
16
|
+
}
|
17
|
+
});
|
@@ -0,0 +1,27 @@
|
|
1
|
+
|
2
|
+
/**
|
3
|
+
* chirper api
|
4
|
+
*/
|
5
|
+
export default (api) => ({
|
6
|
+
get : (id) => {
|
7
|
+
return api.get(`/chirper/${id}`);
|
8
|
+
},
|
9
|
+
list : ({ user, skip, limit, search, contact, sort, filter, page } = {}) => {
|
10
|
+
// return done
|
11
|
+
return api.get(`/chirper`, { user, skip, limit, search, contact, sort, filter, page });
|
12
|
+
},
|
13
|
+
create : (item) => {
|
14
|
+
// return patch
|
15
|
+
return api.post(`/chirper`, item);
|
16
|
+
},
|
17
|
+
update : (item, updates) => {
|
18
|
+
// return patch
|
19
|
+
return api.patch(`/chirper/${item.id}`, updates ? {
|
20
|
+
updates,
|
21
|
+
} : item);
|
22
|
+
},
|
23
|
+
delete : (id) => {
|
24
|
+
// return patch
|
25
|
+
return api.delete(`/chirper/${id}`);
|
26
|
+
}
|
27
|
+
});
|
package/src/index.ts
CHANGED
@@ -10,6 +10,9 @@ const uid = new shortid({ length : 10 });
|
|
10
10
|
// local apis
|
11
11
|
import AI from './api/AI';
|
12
12
|
import Stat from './api/Stat';
|
13
|
+
import Chirp from './api/Chirp';
|
14
|
+
import Follow from './api/Follow';
|
15
|
+
import Chirper from './api/Chirper';
|
13
16
|
|
14
17
|
// socket context
|
15
18
|
export default class chirperNode {
|
@@ -80,6 +83,9 @@ export default class chirperNode {
|
|
80
83
|
// api
|
81
84
|
this.AI = AI(this);
|
82
85
|
this.Stat = Stat(this);
|
86
|
+
this.Chirp = Chirp(this);
|
87
|
+
this.Follow = Follow(this);
|
88
|
+
this.Chirper = Chirper(this);
|
83
89
|
|
84
90
|
// build
|
85
91
|
this.build();
|