@staticbackend/js 1.2.0 → 1.3.0
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/backend.d.ts +9 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/backend.d.ts
CHANGED
|
@@ -5,6 +5,11 @@ export interface Payload {
|
|
|
5
5
|
channel: string;
|
|
6
6
|
token: string;
|
|
7
7
|
}
|
|
8
|
+
export interface ConvertData {
|
|
9
|
+
toPDF: boolean;
|
|
10
|
+
url: string;
|
|
11
|
+
fullpage: boolean;
|
|
12
|
+
}
|
|
8
13
|
export declare class Backend {
|
|
9
14
|
private baseURL;
|
|
10
15
|
private wsURL;
|
|
@@ -72,6 +77,10 @@ export declare class Backend {
|
|
|
72
77
|
ok: boolean;
|
|
73
78
|
content: any;
|
|
74
79
|
}>;
|
|
80
|
+
convertURLToX(token: string, data: ConvertData): Promise<{
|
|
81
|
+
ok: boolean;
|
|
82
|
+
content: any;
|
|
83
|
+
}>;
|
|
75
84
|
connectWS(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void): void;
|
|
76
85
|
sendWS(t: string, data: string, channel?: string): boolean;
|
|
77
86
|
connect(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void): void;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"oKSM":[function(require,module,exports) {
|
|
2
|
-
"use strict";var t=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(s,i){function o(t){try{c(r.next(t))}catch(e){i(e)}}function a(t){try{c(r.throw(t))}catch(e){i(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}c((r=r.apply(t,e||[])).next())})},e=this&&this.__generator||function(t,e){var n,r,s,i,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(s=2&i[0]?r.return:i[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;switch(r=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(s=(s=o.trys).length>0&&s[s.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]<s[3])){o.label=i[1];break}if(6===i[0]&&o.label<s[1]){o.label=s[1],s=i;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(i);break}s[2]&&o.ops.pop(),o.trys.pop();continue}i=e.call(t,o)}catch(a){i=[6,a],r=0}finally{n=s=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Backend=void 0;var n=function(){function n(t,e){this.baseURL="https://na1.staticbackend.com",this.wsURL="wss://na1.staticbackend.com",this.ws=null,this.wsId=null,this.wsToken=null,this.sseClient=null,this.pubKey="",this.types={ok:"ok",error:"error",init:"init",token:"token",joined:"joined",chanOut:"chan_out",dbCreated:"db_created",dbUpdated:"db_updated",dbDeleted:"db_deleted",echo:"echo",auth:"auth",join:"join",chanIn:"chan_in",presence:"presence"},this.pubKey=t,e&&("dev"==e?(this.baseURL="http://localhost:8099",this.wsURL="ws://localhost:8099"):e.length<10?(this.baseURL="https://"+e+".staticbackend.com",this.wsURL="wss://"+e+".staticbackend.com"):(this.baseURL=e,this.wsURL=e.replace("https","wss")))}return n.prototype.rawreq=function(n,r,s,i,o){return t(this,void 0,void 0,function(){var t,a,c,u;return e(this,function(e){switch(e.label){case 0:return e.trys.push([0,5,,6]),t=null,o&&(t="application/json"==n?JSON.stringify(o):o),a={"SB-PUBLIC-KEY":this.pubKey},n&&n.length&&(a["Content-Type"]=n),r&&(a.Authorization="Bearer "+r),[4,fetch(""+this.baseURL+i,{method:s,headers:a,body:t})];case 1:return c=e.sent(),null,c.status>299?[4,c.text()]:[3,3];case 2:return[2,{ok:!1,content:e.sent()}];case 3:return[4,c.json()];case 4:return[2,{ok:!0,content:e.sent()}];case 5:return u=e.sent(),console.error(u),[2,{ok:!1,content:u}];case 6:return[2]}})})},n.prototype.req=function(n,r,s,i){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.rawreq("application/json",n,r,s,i)];case 1:return[2,t.sent()]}})})},n.prototype.register=function(n,r){return t(this,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return t={email:n,password:r},[4,this.req("","POST","/register",t)];case 1:return[2,e.sent()]}})})},n.prototype.login=function(n,r){return t(this,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return t={email:n,password:r},[4,this.req("","POST","/login",t)];case 1:return[2,e.sent()]}})})},n.prototype.create=function(n,r,s){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"POST","/db/"+r,s)];case 1:return[2,t.sent()]}})})},n.prototype.list=function(n,r){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"GET","/db/"+r)];case 1:return[2,t.sent()]}})})},n.prototype.getById=function(n,r,s){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"GET","/db/"+r+"/"+s)];case 1:return[2,t.sent()]}})})},n.prototype.query=function(n,r,s){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"POST","/query/"+r,s)];case 1:return[2,t.sent()]}})})},n.prototype.update=function(n,r,s,i){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"PUT","/db/"+r+"/"+s,i)];case 1:return[2,t.sent()]}})})},n.prototype.delete=function(n,r,s){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"DELETE","/db/"+r+"/"+s)];case 1:return[2,t.sent()]}})})},n.prototype.storeFile=function(n,r){return t(this,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return t=new FormData(r),[4,this.rawreq("",n,"POST","/storage/upload",t)];case 1:return[2,e.sent()]}})})},n.prototype.resizeImage=function(n,r,s){return t(this,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return(t=new FormData(s)).append("width",r.toString()),[4,this.rawreq("",n,"POST","/extra/resizeimg",t)];case 1:return[2,e.sent()]}})})},n.prototype.connectWS=function(t,e,n){var r=this;this.ws=new WebSocket(this.wsURL+"/ws"),this.ws.onerror=function(t){console.error(t)},this.ws.onmessage=function(s){try{var i=JSON.parse(s.data);i.type==r.types.init?(r.wsId=i.data,r.send(r.types.auth,t)):i.type==r.types.token?(r.wsToken=i.data,e(i.data)):n(i)}catch(o){console.error(o)}}},n.prototype.sendWS=function(t,e,n){if(null==this.ws)return!1;var r={sid:this.wsId,token:this.wsToken,type:t,data:e,channel:n};return this.ws.send(JSON.stringify(r)),!0},n.prototype.connect=function(t,e,n){var r=this;this.sseClient=new EventSource(this.baseURL+"/sse/connect?sbpk="+this.pubKey),this.sseClient.onerror=function(t){console.error(t)},this.sseClient.onmessage=function(s){try{var i=JSON.parse(s.data);i.type==r.types.init?(r.wsId=i.data,r.wsToken=t,r.send(r.types.auth,t)):i.type==r.types.token?e(r.wsToken):n(i)}catch(o){console.error(o)}}},n.prototype.send=function(n,r,s){var i=this;if(null==this.sseClient||2==this.sseClient.readyState)return!1;var o={sid:this.wsId,token:this.wsToken,type:n,data:r,channel:s};return t(i,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(this.wsToken,"POST","/sse/msg",o)];case 1:return[2,t.sent()]}})}),!0},n}();exports.Backend=n;
|
|
2
|
+
"use strict";var t=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(s,i){function o(t){try{c(r.next(t))}catch(e){i(e)}}function a(t){try{c(r.throw(t))}catch(e){i(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}c((r=r.apply(t,e||[])).next())})},e=this&&this.__generator||function(t,e){var n,r,s,i,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(s=2&i[0]?r.return:i[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;switch(r=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(s=(s=o.trys).length>0&&s[s.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]<s[3])){o.label=i[1];break}if(6===i[0]&&o.label<s[1]){o.label=s[1],s=i;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(i);break}s[2]&&o.ops.pop(),o.trys.pop();continue}i=e.call(t,o)}catch(a){i=[6,a],r=0}finally{n=s=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Backend=void 0;var n=function(){function n(t,e){this.baseURL="https://na1.staticbackend.com",this.wsURL="wss://na1.staticbackend.com",this.ws=null,this.wsId=null,this.wsToken=null,this.sseClient=null,this.pubKey="",this.types={ok:"ok",error:"error",init:"init",token:"token",joined:"joined",chanOut:"chan_out",dbCreated:"db_created",dbUpdated:"db_updated",dbDeleted:"db_deleted",echo:"echo",auth:"auth",join:"join",chanIn:"chan_in",presence:"presence"},this.pubKey=t,e&&("dev"==e?(this.baseURL="http://localhost:8099",this.wsURL="ws://localhost:8099"):e.length<10?(this.baseURL="https://"+e+".staticbackend.com",this.wsURL="wss://"+e+".staticbackend.com"):(this.baseURL=e,this.wsURL=e.replace("https","wss")))}return n.prototype.rawreq=function(n,r,s,i,o){return t(this,void 0,void 0,function(){var t,a,c,u;return e(this,function(e){switch(e.label){case 0:return e.trys.push([0,5,,6]),t=null,o&&(t="application/json"==n?JSON.stringify(o):o),a={"SB-PUBLIC-KEY":this.pubKey},n&&n.length&&(a["Content-Type"]=n),r&&(a.Authorization="Bearer "+r),[4,fetch(""+this.baseURL+i,{method:s,headers:a,body:t})];case 1:return c=e.sent(),null,c.status>299?[4,c.text()]:[3,3];case 2:return[2,{ok:!1,content:e.sent()}];case 3:return[4,c.json()];case 4:return[2,{ok:!0,content:e.sent()}];case 5:return u=e.sent(),console.error(u),[2,{ok:!1,content:u}];case 6:return[2]}})})},n.prototype.req=function(n,r,s,i){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.rawreq("application/json",n,r,s,i)];case 1:return[2,t.sent()]}})})},n.prototype.register=function(n,r){return t(this,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return t={email:n,password:r},[4,this.req("","POST","/register",t)];case 1:return[2,e.sent()]}})})},n.prototype.login=function(n,r){return t(this,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return t={email:n,password:r},[4,this.req("","POST","/login",t)];case 1:return[2,e.sent()]}})})},n.prototype.create=function(n,r,s){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"POST","/db/"+r,s)];case 1:return[2,t.sent()]}})})},n.prototype.list=function(n,r){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"GET","/db/"+r)];case 1:return[2,t.sent()]}})})},n.prototype.getById=function(n,r,s){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"GET","/db/"+r+"/"+s)];case 1:return[2,t.sent()]}})})},n.prototype.query=function(n,r,s){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"POST","/query/"+r,s)];case 1:return[2,t.sent()]}})})},n.prototype.update=function(n,r,s,i){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"PUT","/db/"+r+"/"+s,i)];case 1:return[2,t.sent()]}})})},n.prototype.delete=function(n,r,s){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"DELETE","/db/"+r+"/"+s)];case 1:return[2,t.sent()]}})})},n.prototype.storeFile=function(n,r){return t(this,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return t=new FormData(r),[4,this.rawreq("",n,"POST","/storage/upload",t)];case 1:return[2,e.sent()]}})})},n.prototype.resizeImage=function(n,r,s){return t(this,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return(t=new FormData(s)).append("width",r.toString()),[4,this.rawreq("",n,"POST","/extra/resizeimg",t)];case 1:return[2,e.sent()]}})})},n.prototype.convertURLToX=function(n,r){return t(this,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(n,"POST","/extra/htmltox",r)];case 1:return[2,t.sent()]}})})},n.prototype.connectWS=function(t,e,n){var r=this;this.ws=new WebSocket(this.wsURL+"/ws"),this.ws.onerror=function(t){console.error(t)},this.ws.onmessage=function(s){try{var i=JSON.parse(s.data);i.type==r.types.init?(r.wsId=i.data,r.send(r.types.auth,t)):i.type==r.types.token?(r.wsToken=i.data,e(i.data)):n(i)}catch(o){console.error(o)}}},n.prototype.sendWS=function(t,e,n){if(null==this.ws)return!1;var r={sid:this.wsId,token:this.wsToken,type:t,data:e,channel:n};return this.ws.send(JSON.stringify(r)),!0},n.prototype.connect=function(t,e,n){var r=this;this.sseClient=new EventSource(this.baseURL+"/sse/connect?sbpk="+this.pubKey),this.sseClient.onerror=function(t){console.error(t)},this.sseClient.onmessage=function(s){try{var i=JSON.parse(s.data);i.type==r.types.init?(r.wsId=i.data,r.wsToken=t,r.send(r.types.auth,t)):i.type==r.types.token?e(r.wsToken):n(i)}catch(o){console.error(o)}}},n.prototype.send=function(n,r,s){var i=this;if(null==this.sseClient||2==this.sseClient.readyState)return!1;var o={sid:this.wsId,token:this.wsToken,type:n,data:r,channel:s};return t(i,void 0,void 0,function(){return e(this,function(t){switch(t.label){case 0:return[4,this.req(this.wsToken,"POST","/sse/msg",o)];case 1:return[2,t.sent()]}})}),!0},n}();exports.Backend=n;
|
|
3
3
|
},{}],"QCba":[function(require,module,exports) {
|
|
4
4
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Backend=void 0;var e=require("./backend");Object.defineProperty(exports,"Backend",{enumerable:!0,get:function(){return e.Backend}});
|
|
5
5
|
},{"./backend":"oKSM"}]},{},["QCba"], null)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["backend.ts","index.ts"],"names":[],"mappings":"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","file":"index.js","sourceRoot":"../src","sourcesContent":["export interface Payload {\n\tsid: string;\n\ttype: string;\n\tdata: string;\n\tchannel: string;\n\ttoken: string;\n}\n\nexport class Backend {\n\tprivate baseURL: string = \"https://na1.staticbackend.com\";\n\tprivate wsURL: string = \"wss://na1.staticbackend.com\";\n\tprivate ws: WebSocket = null;\n\tprivate wsId: string = null;\n\tprivate wsToken: string = null;\n\tprivate sseClient = null;\n\tprivate pubKey: string = \"\";\n\n\ttypes = {\n\t\tok: \"ok\",\n\t\terror: \"error\",\n\t\tinit: \"init\",\n\t\ttoken: \"token\",\n\t\tjoined: \"joined\",\n\t\tchanOut: \"chan_out\",\n\t\tdbCreated: \"db_created\",\n\t\tdbUpdated: \"db_updated\",\n\t\tdbDeleted: \"db_deleted\",\n\t\techo: \"echo\",\n\t\tauth: \"auth\",\n\t\tjoin: \"join\",\n\t\tchanIn: \"chan_in\",\n\t\tpresence: \"presence\"\n\t}\n\n\tconstructor(key: string, region: string) {\n\t\tthis.pubKey = key;\n\n\t\tif (region) {\n\t\t\tif (region == \"dev\") {\n\t\t\t\tthis.baseURL = \"http://localhost:8099\";\n\t\t\t\tthis.wsURL = \"ws://localhost:8099\";\n\t\t\t} else if (region.length < 10) {\n\t\t\t\tthis.baseURL = `https://${region}.staticbackend.com`;\n\t\t\t\tthis.wsURL = `wss://${region}.staticbackend.com`;\n\t\t\t} else {\n\t\t\t\t// custom base URL\n\t\t\t\tthis.baseURL = region;\n\t\t\t\tthis.wsURL = region.replace(\"https\", \"wss\");\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async rawreq(ct: string, token: string, method: string, path: string, body?: any) {\n\t\ttry {\n\t\t\tlet rawBody = null;\n\t\t\tif (body) {\n\t\t\t\trawBody = ct == \"application/json\" ? JSON.stringify(body) : body;\n\t\t\t}\n\n\t\t\tlet headers = {\n\t\t\t\t\"SB-PUBLIC-KEY\": this.pubKey\n\t\t\t};\n\n\t\t\tif (ct && ct.length) {\n\t\t\t\theaders[\"Content-Type\"] = ct;\n\t\t\t}\n\n\t\t\tif (token) {\n\t\t\t\theaders[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t}\n\n\t\t\tconst resp = await fetch(`${this.baseURL}${path}`, {\n\t\t\t\tmethod: method,\n\t\t\t\theaders: headers,\n\t\t\t\tbody: rawBody\n\t\t\t});\n\n\t\t\tvar content: any = null;\n\t\t\tif (resp.status > 299) {\n\t\t\t\tcontent = await resp.text();\n\t\t\t\treturn { ok: false, content: content };\n\t\t\t}\n\n\t\t\tcontent = await resp.json();\n\t\t\treturn { ok: true, content: content };\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t\treturn { ok: false, content: err };\n\t\t}\n\t}\n\n\tprivate async req(token: string, method: string, path: string, body?: any) {\n\t\treturn await this.rawreq(\"application/json\", token, method, path, body);\n\t}\n\n\tasync register(email: string, pw: string) {\n\t\tconst body = { email: email, password: pw };\n\t\treturn await this.req(\"\", \"POST\", \"/register\", body);\n\t}\n\n\tasync login(email: string, pw: string) {\n\t\tconst body = { email: email, password: pw };\n\t\treturn await this.req(\"\", \"POST\", \"/login\", body);\n\t}\n\n\tasync create(token: string, repo: string, doc) {\n\t\treturn await this.req(token, \"POST\", `/db/${repo}`, doc)\n\t}\n\n\tasync list(token: string, repo: string) {\n\t\treturn await this.req(token, \"GET\", `/db/${repo}`);\n\t}\n\n\tasync getById(token: string, repo: string, id: string) {\n\t\treturn await this.req(token, \"GET\", `/db/${repo}/${id}`);\n\t}\n\n\tasync query(token: string, repo: string, filters) {\n\t\treturn await this.req(token, \"POST\", `/query/${repo}`, filters);\n\t}\n\n\tasync update(token: string, repo: string, id: string, doc) {\n\t\treturn await this.req(token, \"PUT\", `/db/${repo}/${id}`, doc)\n\t}\n\n\tasync delete(token: string, repo: string, id: string) {\n\t\treturn await this.req(token, \"DELETE\", `/db/${repo}/${id}`);\n\t}\n\n\tasync storeFile(token: string, form: HTMLFormElement) {\n\t\tlet fd = new FormData(form);\n\t\treturn await this.rawreq(\"\", token, \"POST\", \"/storage/upload\", fd);\n\t}\n\n\tasync resizeImage(token: string, maxWidth: number, form: HTMLFormElement) {\n\t\tlet fd = new FormData(form);\n\t\tfd.append(\"width\", maxWidth.toString());\n\t\treturn await this.rawreq(\"\", token, \"POST\", \"/extra/resizeimg\", fd);\n\t}\n\n\tconnectWS(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void) {\n\t\tthis.ws = new WebSocket(this.wsURL + \"/ws\");\n\n\t\tthis.ws.onerror = (e) => { console.error(e); }\n\t\tthis.ws.onmessage = (e) => {\n\t\t\ttry {\n\t\t\t\tlet pl: Payload = JSON.parse(e.data);\n\t\t\t\t// for the init msg we authenticate the connection\n\t\t\t\tif (pl.type == this.types.init) {\n\t\t\t\t\tthis.wsId = pl.data;\n\t\t\t\t\tthis.send(this.types.auth, token);\n\t\t\t\t} else if (pl.type == this.types.token) {\n\t\t\t\t\tthis.wsToken = pl.data;\n\t\t\t\t\tonAuth(pl.data);\n\t\t\t\t} else {\n\t\t\t\t\tonMessage(pl);\n\t\t\t\t}\n\t\t\t} catch (ex) {\n\t\t\t\tconsole.error(ex);\n\t\t\t}\n\t\t}\n\t}\n\n\tsendWS(t: string, data: string, channel?: string): boolean {\n\t\tif (this.ws == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet pl: Payload = {\n\t\t\tsid: this.wsId,\n\t\t\ttoken: this.wsToken,\n\t\t\ttype: t,\n\t\t\tdata: data,\n\t\t\tchannel: channel\n\t\t}\n\t\tthis.ws.send(JSON.stringify(pl));\n\t\treturn true;\n\t}\n\n\tconnect(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void) {\n\t\tthis.sseClient = new EventSource(this.baseURL + `/sse/connect?sbpk=${this.pubKey}`);\n\n\n\n\t\tthis.sseClient.onerror = (e) => { console.error(e); }\n\t\tthis.sseClient.onmessage = (e) => {\n\t\t\ttry {\n\t\t\t\tlet pl: Payload = JSON.parse(e.data);\n\t\t\t\t// for the init msg we authenticate the connection\n\t\t\t\tif (pl.type == this.types.init) {\n\t\t\t\t\tthis.wsId = pl.data;\n\t\t\t\t\tthis.wsToken = token;\n\t\t\t\t\tthis.send(this.types.auth, token);\n\t\t\t\t} else if (pl.type == this.types.token) {\n\t\t\t\t\t//this.wsToken = pl.data;\n\t\t\t\t\tonAuth(this.wsToken);\n\t\t\t\t} else {\n\t\t\t\t\tonMessage(pl);\n\t\t\t\t}\n\t\t\t} catch (ex) {\n\t\t\t\tconsole.error(ex);\n\t\t\t}\n\t\t}\n\t}\n\n\tsend(t: string, data: string, channel?: string): boolean {\n\t\tif (this.sseClient == null || this.sseClient.readyState == 2) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet pl: Payload = {\n\t\t\tsid: this.wsId,\n\t\t\ttoken: this.wsToken,\n\t\t\ttype: t,\n\t\t\tdata: data,\n\t\t\tchannel: channel\n\t\t};\n\n\t\t(async () => {\n\t\t\treturn await this.req(this.wsToken, \"POST\", \"/sse/msg\", pl);\n\t\t})();\n\n\t\treturn true;\n\t}\n\n}","export { Backend } from \"./backend\";"]}
|
|
1
|
+
{"version":3,"sources":["backend.ts","index.ts"],"names":[],"mappings":"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","file":"index.js","sourceRoot":"../src","sourcesContent":["export interface Payload {\n\tsid: string;\n\ttype: string;\n\tdata: string;\n\tchannel: string;\n\ttoken: string;\n}\n\nexport interface ConvertData {\n\ttoPDF: boolean;\n\turl: string;\n\tfullpage: boolean;\n}\n\nexport class Backend {\n\tprivate baseURL: string = \"https://na1.staticbackend.com\";\n\tprivate wsURL: string = \"wss://na1.staticbackend.com\";\n\tprivate ws: WebSocket = null;\n\tprivate wsId: string = null;\n\tprivate wsToken: string = null;\n\tprivate sseClient = null;\n\tprivate pubKey: string = \"\";\n\n\ttypes = {\n\t\tok: \"ok\",\n\t\terror: \"error\",\n\t\tinit: \"init\",\n\t\ttoken: \"token\",\n\t\tjoined: \"joined\",\n\t\tchanOut: \"chan_out\",\n\t\tdbCreated: \"db_created\",\n\t\tdbUpdated: \"db_updated\",\n\t\tdbDeleted: \"db_deleted\",\n\t\techo: \"echo\",\n\t\tauth: \"auth\",\n\t\tjoin: \"join\",\n\t\tchanIn: \"chan_in\",\n\t\tpresence: \"presence\"\n\t}\n\n\tconstructor(key: string, region: string) {\n\t\tthis.pubKey = key;\n\n\t\tif (region) {\n\t\t\tif (region == \"dev\") {\n\t\t\t\tthis.baseURL = \"http://localhost:8099\";\n\t\t\t\tthis.wsURL = \"ws://localhost:8099\";\n\t\t\t} else if (region.length < 10) {\n\t\t\t\tthis.baseURL = `https://${region}.staticbackend.com`;\n\t\t\t\tthis.wsURL = `wss://${region}.staticbackend.com`;\n\t\t\t} else {\n\t\t\t\t// custom base URL\n\t\t\t\tthis.baseURL = region;\n\t\t\t\tthis.wsURL = region.replace(\"https\", \"wss\");\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async rawreq(ct: string, token: string, method: string, path: string, body?: any) {\n\t\ttry {\n\t\t\tlet rawBody = null;\n\t\t\tif (body) {\n\t\t\t\trawBody = ct == \"application/json\" ? JSON.stringify(body) : body;\n\t\t\t}\n\n\t\t\tlet headers = {\n\t\t\t\t\"SB-PUBLIC-KEY\": this.pubKey\n\t\t\t};\n\n\t\t\tif (ct && ct.length) {\n\t\t\t\theaders[\"Content-Type\"] = ct;\n\t\t\t}\n\n\t\t\tif (token) {\n\t\t\t\theaders[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t}\n\n\t\t\tconst resp = await fetch(`${this.baseURL}${path}`, {\n\t\t\t\tmethod: method,\n\t\t\t\theaders: headers,\n\t\t\t\tbody: rawBody\n\t\t\t});\n\n\t\t\tvar content: any = null;\n\t\t\tif (resp.status > 299) {\n\t\t\t\tcontent = await resp.text();\n\t\t\t\treturn { ok: false, content: content };\n\t\t\t}\n\n\t\t\tcontent = await resp.json();\n\t\t\treturn { ok: true, content: content };\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t\treturn { ok: false, content: err };\n\t\t}\n\t}\n\n\tprivate async req(token: string, method: string, path: string, body?: any) {\n\t\treturn await this.rawreq(\"application/json\", token, method, path, body);\n\t}\n\n\tasync register(email: string, pw: string) {\n\t\tconst body = { email: email, password: pw };\n\t\treturn await this.req(\"\", \"POST\", \"/register\", body);\n\t}\n\n\tasync login(email: string, pw: string) {\n\t\tconst body = { email: email, password: pw };\n\t\treturn await this.req(\"\", \"POST\", \"/login\", body);\n\t}\n\n\tasync create(token: string, repo: string, doc) {\n\t\treturn await this.req(token, \"POST\", `/db/${repo}`, doc)\n\t}\n\n\tasync list(token: string, repo: string) {\n\t\treturn await this.req(token, \"GET\", `/db/${repo}`);\n\t}\n\n\tasync getById(token: string, repo: string, id: string) {\n\t\treturn await this.req(token, \"GET\", `/db/${repo}/${id}`);\n\t}\n\n\tasync query(token: string, repo: string, filters) {\n\t\treturn await this.req(token, \"POST\", `/query/${repo}`, filters);\n\t}\n\n\tasync update(token: string, repo: string, id: string, doc) {\n\t\treturn await this.req(token, \"PUT\", `/db/${repo}/${id}`, doc)\n\t}\n\n\tasync delete(token: string, repo: string, id: string) {\n\t\treturn await this.req(token, \"DELETE\", `/db/${repo}/${id}`);\n\t}\n\n\tasync storeFile(token: string, form: HTMLFormElement) {\n\t\tlet fd = new FormData(form);\n\t\treturn await this.rawreq(\"\", token, \"POST\", \"/storage/upload\", fd);\n\t}\n\n\tasync resizeImage(token: string, maxWidth: number, form: HTMLFormElement) {\n\t\tlet fd = new FormData(form);\n\t\tfd.append(\"width\", maxWidth.toString());\n\t\treturn await this.rawreq(\"\", token, \"POST\", \"/extra/resizeimg\", fd);\n\t}\n\n\tasync convertURLToX(token: string, data: ConvertData) {\n\t\treturn await this.req(token, \"POST\", \"/extra/htmltox\", data);\n\t}\n\n\tconnectWS(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void) {\n\t\tthis.ws = new WebSocket(this.wsURL + \"/ws\");\n\n\t\tthis.ws.onerror = (e) => { console.error(e); }\n\t\tthis.ws.onmessage = (e) => {\n\t\t\ttry {\n\t\t\t\tlet pl: Payload = JSON.parse(e.data);\n\t\t\t\t// for the init msg we authenticate the connection\n\t\t\t\tif (pl.type == this.types.init) {\n\t\t\t\t\tthis.wsId = pl.data;\n\t\t\t\t\tthis.send(this.types.auth, token);\n\t\t\t\t} else if (pl.type == this.types.token) {\n\t\t\t\t\tthis.wsToken = pl.data;\n\t\t\t\t\tonAuth(pl.data);\n\t\t\t\t} else {\n\t\t\t\t\tonMessage(pl);\n\t\t\t\t}\n\t\t\t} catch (ex) {\n\t\t\t\tconsole.error(ex);\n\t\t\t}\n\t\t}\n\t}\n\n\tsendWS(t: string, data: string, channel?: string): boolean {\n\t\tif (this.ws == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet pl: Payload = {\n\t\t\tsid: this.wsId,\n\t\t\ttoken: this.wsToken,\n\t\t\ttype: t,\n\t\t\tdata: data,\n\t\t\tchannel: channel\n\t\t}\n\t\tthis.ws.send(JSON.stringify(pl));\n\t\treturn true;\n\t}\n\n\tconnect(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void) {\n\t\tthis.sseClient = new EventSource(this.baseURL + `/sse/connect?sbpk=${this.pubKey}`);\n\n\n\n\t\tthis.sseClient.onerror = (e) => { console.error(e); }\n\t\tthis.sseClient.onmessage = (e) => {\n\t\t\ttry {\n\t\t\t\tlet pl: Payload = JSON.parse(e.data);\n\t\t\t\t// for the init msg we authenticate the connection\n\t\t\t\tif (pl.type == this.types.init) {\n\t\t\t\t\tthis.wsId = pl.data;\n\t\t\t\t\tthis.wsToken = token;\n\t\t\t\t\tthis.send(this.types.auth, token);\n\t\t\t\t} else if (pl.type == this.types.token) {\n\t\t\t\t\t//this.wsToken = pl.data;\n\t\t\t\t\tonAuth(this.wsToken);\n\t\t\t\t} else {\n\t\t\t\t\tonMessage(pl);\n\t\t\t\t}\n\t\t\t} catch (ex) {\n\t\t\t\tconsole.error(ex);\n\t\t\t}\n\t\t}\n\t}\n\n\tsend(t: string, data: string, channel?: string): boolean {\n\t\tif (this.sseClient == null || this.sseClient.readyState == 2) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet pl: Payload = {\n\t\t\tsid: this.wsId,\n\t\t\ttoken: this.wsToken,\n\t\t\ttype: t,\n\t\t\tdata: data,\n\t\t\tchannel: channel\n\t\t};\n\n\t\t(async () => {\n\t\t\treturn await this.req(this.wsToken, \"POST\", \"/sse/msg\", pl);\n\t\t})();\n\n\t\treturn true;\n\t}\n\n}","export { Backend } from \"./backend\";"]}
|