Socket
Socket
Sign inDemoInstall

twitter-lite

Package Overview
Dependencies
9
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.9.4 to 0.10.1-0

.eslintignore

2

dist/stream.js

@@ -1,2 +0,2 @@

var t=function(t){function e(){t.call(this),this.buffer=""}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.parse=function(t){var e,r;for(this.buffer+=t.toString("utf8");(e=this.buffer.indexOf("\r\n"))>-1;)if(r=this.buffer.slice(0,e),this.buffer=this.buffer.slice(e+2),r.length>0)try{r=JSON.parse(r),this.emit(r.event||"data",r)}catch(t){t.source=r,this.emit("error",t)}else this.emit("ping")},e}(require("events"));module.exports=t;
var t=require("events");module.exports=function(t){function e(){t.call(this),this.buffer=""}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.parse=function(t){var e,r;for(this.buffer+=t.toString("utf8");(e=this.buffer.indexOf("\r\n"))>-1;)if(r=this.buffer.slice(0,e),this.buffer=this.buffer.slice(e+2),r.length>0)try{r=JSON.parse(r),this.emit(r.event||"data",r)}catch(t){t.source=r,this.emit("error",t)}else this.emit("ping")},e}(t);
//# sourceMappingURL=stream.js.map

@@ -1,2 +0,2 @@

var t=function(t){function e(){t.call(this),this.buffer=""}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.parse=function(t){var e,r;for(this.buffer+=t.toString("utf8");(e=this.buffer.indexOf("\r\n"))>-1;)if(r=this.buffer.slice(0,e),this.buffer=this.buffer.slice(e+2),r.length>0)try{r=JSON.parse(r),this.emit(r.event||"data",r)}catch(t){t.source=r,this.emit("error",t)}else this.emit("ping")},e}(require("events"));module.exports=t;
var t=require("events");module.exports=function(t){function e(){t.call(this),this.buffer=""}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.parse=function(t){var e,r;for(this.buffer+=t.toString("utf8");(e=this.buffer.indexOf("\r\n"))>-1;)if(r=this.buffer.slice(0,e),this.buffer=this.buffer.slice(e+2),r.length>0)try{r=JSON.parse(r),this.emit(r.event||"data",r)}catch(t){t.source=r,this.emit("error",t)}else this.emit("ping")},e}(t);
//# sourceMappingURL=stream.m.js.map

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){var e=function(e){function t(){e.call(this),this.buffer=""}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t,t.prototype.parse=function(e){var t,r;for(this.buffer+=e.toString("utf8");(t=this.buffer.indexOf("\r\n"))>-1;)if(r=this.buffer.slice(0,t),this.buffer=this.buffer.slice(t+2),r.length>0)try{r=JSON.parse(r),this.emit(r.event||"data",r)}catch(e){e.source=r,this.emit("error",e)}else this.emit("ping")},t}(require("events"));module.exports=e});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){var e=require("events");module.exports=function(e){function t(){e.call(this),this.buffer=""}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t,t.prototype.parse=function(e){var t,r;for(this.buffer+=e.toString("utf8");(t=this.buffer.indexOf("\r\n"))>-1;)if(r=this.buffer.slice(0,t),this.buffer=this.buffer.slice(t+2),r.length>0)try{r=JSON.parse(r),this.emit(r.event||"data",r)}catch(e){e.source=r,this.emit("error",e)}else this.emit("ping")},t}(e)});
//# sourceMappingURL=stream.umd.js.map

@@ -1,2 +0,2 @@

var e=require("crypto"),t=require("oauth-1.0a"),r=require("cross-fetch"),n=require("querystring"),s=require("./stream"),o=function(e,t){return void 0===t&&(t="1.1"),"https://"+e+".twitter.com/"+t},i={subdomain:"api",consumer_key:null,consumer_secret:null,access_token_key:null,access_token_secret:null,bearer_token:null},a=["direct_messages/events/new","direct_messages/welcome_messages/new","direct_messages/welcome_messages/rules/new"],u={"Content-Type":"application/json",Accept:"application/json"};function c(e){return e.replace(/!/g,"%21").replace(/\*/g,"%2A").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")}var h=function(r){var n,s=Object.assign({},i,r);this.authType=s.bearer_token?"App":"User",this.client=t({consumer:{key:(n={key:s.consumer_key,secret:s.consumer_secret}).key,secret:n.secret},signature_method:"HMAC-SHA1",hash_function:function(t,r){return e.createHmac("sha1",r).update(t).digest("base64")}}),this.token={key:s.access_token_key,secret:s.access_token_secret},this.url=o(s.subdomain),this.oauth=o(s.subdomain,"oauth"),this.config=s};h._handleResponse=function(e){var t=e.headers.raw();return 204===e.status?{_headers:t}:e.json().then(function(e){return e._headers=t,e})},h.prototype.getBearerToken=function(){return new Promise(function(e,t){var n;return n={Authorization:"Basic "+Buffer.from(this.config.consumer_key+":"+this.config.consumer_secret).toString("base64"),"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},r("https://api.twitter.com/oauth2/token",{method:"POST",body:"grant_type=client_credentials",headers:n}).then(h._handleResponse).then(function(r){try{return e(r)}catch(e){return t(e)}},t)}.bind(this))},h.prototype.getRequestToken=function(e){return new Promise(function(t,s){var o,i,a;return o={url:this.oauth+"/request_token",method:"POST"},i={},e&&(i={oauth_callback:e}),i&&(o.url+="?"+n.stringify(i)),a=this.client.toHeader(this.client.authorize(o,{})),r(o.url,{method:"POST",headers:Object.assign({},u,a)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}).then(function(e){try{return t(e)}catch(e){return s(e)}},s)}.bind(this))},h.prototype.getAccessToken=function(e){return new Promise(function(t,s){var o,i,a;return o={url:this.oauth+"/access_token",method:"POST"},(i={oauth_verifier:e.verifier})&&(o.url+="?"+n.stringify(i)),a=this.client.toHeader(this.client.authorize(o,{key:e.key,secret:e.secret})),r(o.url,{method:"POST",headers:Object.assign({},u,a)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}).then(function(e){try{return t(e)}catch(e){return s(e)}},s)}.bind(this))},h.prototype._makeRequest=function(e,t,r){var s={url:this.url+"/"+t+".json",method:e};r&&("POST"===e?s.data=r:s.url+="?"+n.stringify(r));return{requestData:s,headers:"User"===this.authType?this.client.toHeader(this.client.authorize(s,this.token)):{Authorization:"Bearer "+this.config.bearer_token}}},h.prototype.get=function(e,t){var n=this._makeRequest("GET",e,t);return r(n.requestData.url,{headers:n.headers}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.post=function(e,t){var s=this._makeRequest("POST",e,a.includes(e)?null:t),o=s.requestData,i=Object.assign({},u,s.headers);return a.includes(e)?t=JSON.stringify(t):(t=c(n.stringify(t)),i["Content-Type"]="application/x-www-form-urlencoded"),r(o.url,{method:"POST",headers:i,body:t}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.stream=function(e,t){var i=this;if("User"!==this.authType)throw new Error("Streams require user context authentication");var a=new s,u={url:o("stream")+"/"+e+".json",method:"POST"};t&&(u.data=t);var h=this.client.toHeader(this.client.authorize(u,this.token));return r(u.url,{method:"POST",headers:Object.assign({},h,{"Content-Type":"application/x-www-form-urlencoded"}),body:c(n.stringify(t))}).then(function(e){a.destroy=i.stream.destroy=function(){return e.body.destroy()},e.ok?a.emit("start",e):(e._headers=e.headers.raw(),a.emit("error",e)),e.body.on("data",function(e){return a.parse(e)}).on("error",function(e){return a.emit("error",e)}).on("end",function(){return a.emit("end",e)})}).catch(function(e){return a.emit("error",e)}),a},module.exports=h;
var e=require("crypto"),t=require("oauth-1.0a"),r=require("cross-fetch"),n=require("querystring"),s=require("./stream"),o=function(e,t){return void 0===t&&(t="1.1"),"https://"+e+".twitter.com/"+t},i={subdomain:"api",consumer_key:null,consumer_secret:null,access_token_key:null,access_token_secret:null,bearer_token:null,version:"1.1"},a=["direct_messages/events/new","direct_messages/welcome_messages/new","direct_messages/welcome_messages/rules/new"],u={"Content-Type":"application/json",Accept:"application/json"};function c(e){return e.replace(/!/g,"%21").replace(/\*/g,"%2A").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")}var h=function(r){var n,s=Object.assign({},i,r);this.authType=s.bearer_token?"App":"User",this.client=t({consumer:{key:(n={key:s.consumer_key,secret:s.consumer_secret}).key,secret:n.secret},signature_method:"HMAC-SHA1",hash_function:function(t,r){return e.createHmac("sha1",r).update(t).digest("base64")}}),this.token={key:s.access_token_key,secret:s.access_token_secret},this.url=o(s.subdomain,s.version),this.oauth=o(s.subdomain,"oauth"),this.config=s};h._handleResponse=function(e){var t=e.headers.raw();return 204===e.status?{_headers:t}:e.json().then(function(e){return e._headers=t,e})},h.prototype.getBearerToken=function(){try{var e={Authorization:"Basic "+Buffer.from(this.config.consumer_key+":"+this.config.consumer_secret).toString("base64"),"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"};return Promise.resolve(r("https://api.twitter.com/oauth2/token",{method:"POST",body:"grant_type=client_credentials",headers:e}).then(h._handleResponse))}catch(e){return Promise.reject(e)}},h.prototype.getRequestToken=function(e){try{var t={url:this.oauth+"/request_token",method:"POST"},s={};e&&(s={oauth_callback:e}),s&&(t.url+="?"+n.stringify(s));var o=this.client.toHeader(this.client.authorize(t,{}));return Promise.resolve(r(t.url,{method:"POST",headers:Object.assign({},u,o)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}))}catch(e){return Promise.reject(e)}},h.prototype.getAccessToken=function(e){try{var t={url:this.oauth+"/access_token",method:"POST"},s={oauth_verifier:e.verifier};s&&(t.url+="?"+n.stringify(s));var o=this.client.toHeader(this.client.authorize(t,{key:e.key,secret:e.secret}));return Promise.resolve(r(t.url,{method:"POST",headers:Object.assign({},u,o)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}))}catch(e){return Promise.reject(e)}},h.prototype._makeRequest=function(e,t,r){var s={url:this.url+"/"+t+".json",method:e};return r&&("POST"===e?s.data=r:s.url+="?"+n.stringify(r)),{requestData:s,headers:"User"===this.authType?this.client.toHeader(this.client.authorize(s,this.token)):{Authorization:"Bearer "+this.config.bearer_token}}},h.prototype.get=function(e,t){var n=this._makeRequest("GET",e,t);return r(n.requestData.url,{headers:n.headers}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.post=function(e,t){var s=this._makeRequest("POST",e,a.includes(e)?null:t),o=s.requestData,i=Object.assign({},u,s.headers);return a.includes(e)?t=JSON.stringify(t):(t=c(n.stringify(t)),i["Content-Type"]="application/x-www-form-urlencoded"),r(o.url,{method:"POST",headers:i,body:t}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.put=function(e,t,n){var s=this._makeRequest("PUT",e,t),o=s.requestData,i=Object.assign({},u,s.headers);return n=JSON.stringify(n),r(o.url,{method:"PUT",headers:i,body:n}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.stream=function(e,t){var i=this;if("User"!==this.authType)throw new Error("Streams require user context authentication");var a=new s,u={url:o("stream")+"/"+e+".json",method:"POST"};t&&(u.data=t);var h=this.client.toHeader(this.client.authorize(u,this.token));return r(u.url,{method:"POST",headers:Object.assign({},h,{"Content-Type":"application/x-www-form-urlencoded"}),body:c(n.stringify(t))}).then(function(e){a.destroy=i.stream.destroy=function(){return e.body.destroy()},e.ok?a.emit("start",e):(e._headers=e.headers.raw(),a.emit("error",e)),e.body.on("data",function(e){return a.parse(e)}).on("error",function(e){return a.emit("error",e)}).on("end",function(){return a.emit("end",e)})}).catch(function(e){return a.emit("error",e)}),a},module.exports=h;
//# sourceMappingURL=twitter.js.map

@@ -1,2 +0,2 @@

var e=require("crypto"),t=require("oauth-1.0a"),r=require("cross-fetch"),n=require("querystring"),s=require("./stream"),o=function(e,t){return void 0===t&&(t="1.1"),"https://"+e+".twitter.com/"+t},i={subdomain:"api",consumer_key:null,consumer_secret:null,access_token_key:null,access_token_secret:null,bearer_token:null},a=["direct_messages/events/new","direct_messages/welcome_messages/new","direct_messages/welcome_messages/rules/new"],u={"Content-Type":"application/json",Accept:"application/json"};function c(e){return e.replace(/!/g,"%21").replace(/\*/g,"%2A").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")}var h=function(r){var n,s=Object.assign({},i,r);this.authType=s.bearer_token?"App":"User",this.client=t({consumer:{key:(n={key:s.consumer_key,secret:s.consumer_secret}).key,secret:n.secret},signature_method:"HMAC-SHA1",hash_function:function(t,r){return e.createHmac("sha1",r).update(t).digest("base64")}}),this.token={key:s.access_token_key,secret:s.access_token_secret},this.url=o(s.subdomain),this.oauth=o(s.subdomain,"oauth"),this.config=s};h._handleResponse=function(e){var t=e.headers.raw();return 204===e.status?{_headers:t}:e.json().then(function(e){return e._headers=t,e})},h.prototype.getBearerToken=function(){return new Promise(function(e,t){var n;return n={Authorization:"Basic "+Buffer.from(this.config.consumer_key+":"+this.config.consumer_secret).toString("base64"),"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},r("https://api.twitter.com/oauth2/token",{method:"POST",body:"grant_type=client_credentials",headers:n}).then(h._handleResponse).then(function(r){try{return e(r)}catch(e){return t(e)}},t)}.bind(this))},h.prototype.getRequestToken=function(e){return new Promise(function(t,s){var o,i,a;return o={url:this.oauth+"/request_token",method:"POST"},i={},e&&(i={oauth_callback:e}),i&&(o.url+="?"+n.stringify(i)),a=this.client.toHeader(this.client.authorize(o,{})),r(o.url,{method:"POST",headers:Object.assign({},u,a)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}).then(function(e){try{return t(e)}catch(e){return s(e)}},s)}.bind(this))},h.prototype.getAccessToken=function(e){return new Promise(function(t,s){var o,i,a;return o={url:this.oauth+"/access_token",method:"POST"},(i={oauth_verifier:e.verifier})&&(o.url+="?"+n.stringify(i)),a=this.client.toHeader(this.client.authorize(o,{key:e.key,secret:e.secret})),r(o.url,{method:"POST",headers:Object.assign({},u,a)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}).then(function(e){try{return t(e)}catch(e){return s(e)}},s)}.bind(this))},h.prototype._makeRequest=function(e,t,r){var s={url:this.url+"/"+t+".json",method:e};r&&("POST"===e?s.data=r:s.url+="?"+n.stringify(r));return{requestData:s,headers:"User"===this.authType?this.client.toHeader(this.client.authorize(s,this.token)):{Authorization:"Bearer "+this.config.bearer_token}}},h.prototype.get=function(e,t){var n=this._makeRequest("GET",e,t);return r(n.requestData.url,{headers:n.headers}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.post=function(e,t){var s=this._makeRequest("POST",e,a.includes(e)?null:t),o=s.requestData,i=Object.assign({},u,s.headers);return a.includes(e)?t=JSON.stringify(t):(t=c(n.stringify(t)),i["Content-Type"]="application/x-www-form-urlencoded"),r(o.url,{method:"POST",headers:i,body:t}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.stream=function(e,t){var i=this;if("User"!==this.authType)throw new Error("Streams require user context authentication");var a=new s,u={url:o("stream")+"/"+e+".json",method:"POST"};t&&(u.data=t);var h=this.client.toHeader(this.client.authorize(u,this.token));return r(u.url,{method:"POST",headers:Object.assign({},h,{"Content-Type":"application/x-www-form-urlencoded"}),body:c(n.stringify(t))}).then(function(e){a.destroy=i.stream.destroy=function(){return e.body.destroy()},e.ok?a.emit("start",e):(e._headers=e.headers.raw(),a.emit("error",e)),e.body.on("data",function(e){return a.parse(e)}).on("error",function(e){return a.emit("error",e)}).on("end",function(){return a.emit("end",e)})}).catch(function(e){return a.emit("error",e)}),a},module.exports=h;
var e=require("crypto"),t=require("oauth-1.0a"),r=require("cross-fetch"),n=require("querystring"),s=require("./stream"),o=function(e,t){return void 0===t&&(t="1.1"),"https://"+e+".twitter.com/"+t},i={subdomain:"api",consumer_key:null,consumer_secret:null,access_token_key:null,access_token_secret:null,bearer_token:null,version:"1.1"},a=["direct_messages/events/new","direct_messages/welcome_messages/new","direct_messages/welcome_messages/rules/new"],u={"Content-Type":"application/json",Accept:"application/json"};function c(e){return e.replace(/!/g,"%21").replace(/\*/g,"%2A").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")}var h=function(r){var n,s=Object.assign({},i,r);this.authType=s.bearer_token?"App":"User",this.client=t({consumer:{key:(n={key:s.consumer_key,secret:s.consumer_secret}).key,secret:n.secret},signature_method:"HMAC-SHA1",hash_function:function(t,r){return e.createHmac("sha1",r).update(t).digest("base64")}}),this.token={key:s.access_token_key,secret:s.access_token_secret},this.url=o(s.subdomain,s.version),this.oauth=o(s.subdomain,"oauth"),this.config=s};h._handleResponse=function(e){var t=e.headers.raw();return 204===e.status?{_headers:t}:e.json().then(function(e){return e._headers=t,e})},h.prototype.getBearerToken=function(){try{var e={Authorization:"Basic "+Buffer.from(this.config.consumer_key+":"+this.config.consumer_secret).toString("base64"),"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"};return Promise.resolve(r("https://api.twitter.com/oauth2/token",{method:"POST",body:"grant_type=client_credentials",headers:e}).then(h._handleResponse))}catch(e){return Promise.reject(e)}},h.prototype.getRequestToken=function(e){try{var t={url:this.oauth+"/request_token",method:"POST"},s={};e&&(s={oauth_callback:e}),s&&(t.url+="?"+n.stringify(s));var o=this.client.toHeader(this.client.authorize(t,{}));return Promise.resolve(r(t.url,{method:"POST",headers:Object.assign({},u,o)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}))}catch(e){return Promise.reject(e)}},h.prototype.getAccessToken=function(e){try{var t={url:this.oauth+"/access_token",method:"POST"},s={oauth_verifier:e.verifier};s&&(t.url+="?"+n.stringify(s));var o=this.client.toHeader(this.client.authorize(t,{key:e.key,secret:e.secret}));return Promise.resolve(r(t.url,{method:"POST",headers:Object.assign({},u,o)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}))}catch(e){return Promise.reject(e)}},h.prototype._makeRequest=function(e,t,r){var s={url:this.url+"/"+t+".json",method:e};return r&&("POST"===e?s.data=r:s.url+="?"+n.stringify(r)),{requestData:s,headers:"User"===this.authType?this.client.toHeader(this.client.authorize(s,this.token)):{Authorization:"Bearer "+this.config.bearer_token}}},h.prototype.get=function(e,t){var n=this._makeRequest("GET",e,t);return r(n.requestData.url,{headers:n.headers}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.post=function(e,t){var s=this._makeRequest("POST",e,a.includes(e)?null:t),o=s.requestData,i=Object.assign({},u,s.headers);return a.includes(e)?t=JSON.stringify(t):(t=c(n.stringify(t)),i["Content-Type"]="application/x-www-form-urlencoded"),r(o.url,{method:"POST",headers:i,body:t}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.put=function(e,t,n){var s=this._makeRequest("PUT",e,t),o=s.requestData,i=Object.assign({},u,s.headers);return n=JSON.stringify(n),r(o.url,{method:"PUT",headers:i,body:n}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.stream=function(e,t){var i=this;if("User"!==this.authType)throw new Error("Streams require user context authentication");var a=new s,u={url:o("stream")+"/"+e+".json",method:"POST"};t&&(u.data=t);var h=this.client.toHeader(this.client.authorize(u,this.token));return r(u.url,{method:"POST",headers:Object.assign({},h,{"Content-Type":"application/x-www-form-urlencoded"}),body:c(n.stringify(t))}).then(function(e){a.destroy=i.stream.destroy=function(){return e.body.destroy()},e.ok?a.emit("start",e):(e._headers=e.headers.raw(),a.emit("error",e)),e.body.on("data",function(e){return a.parse(e)}).on("error",function(e){return a.emit("error",e)}).on("end",function(){return a.emit("end",e)})}).catch(function(e){return a.emit("error",e)}),a},module.exports=h;
//# sourceMappingURL=twitter.m.js.map

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){var e=require("crypto"),t=require("oauth-1.0a"),r=require("cross-fetch"),n=require("querystring"),o=require("./stream"),s=function(e,t){return void 0===t&&(t="1.1"),"https://"+e+".twitter.com/"+t},i={subdomain:"api",consumer_key:null,consumer_secret:null,access_token_key:null,access_token_secret:null,bearer_token:null},u=["direct_messages/events/new","direct_messages/welcome_messages/new","direct_messages/welcome_messages/rules/new"],a={"Content-Type":"application/json",Accept:"application/json"};function c(e){return e.replace(/!/g,"%21").replace(/\*/g,"%2A").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")}var h=function(r){var n,o=Object.assign({},i,r);this.authType=o.bearer_token?"App":"User",this.client=t({consumer:{key:(n={key:o.consumer_key,secret:o.consumer_secret}).key,secret:n.secret},signature_method:"HMAC-SHA1",hash_function:function(t,r){return e.createHmac("sha1",r).update(t).digest("base64")}}),this.token={key:o.access_token_key,secret:o.access_token_secret},this.url=s(o.subdomain),this.oauth=s(o.subdomain,"oauth"),this.config=o};h._handleResponse=function(e){var t=e.headers.raw();return 204===e.status?{_headers:t}:e.json().then(function(e){return e._headers=t,e})},h.prototype.getBearerToken=function(){return new Promise(function(e,t){var n;return n={Authorization:"Basic "+Buffer.from(this.config.consumer_key+":"+this.config.consumer_secret).toString("base64"),"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},r("https://api.twitter.com/oauth2/token",{method:"POST",body:"grant_type=client_credentials",headers:n}).then(h._handleResponse).then(function(r){try{return e(r)}catch(e){return t(e)}},t)}.bind(this))},h.prototype.getRequestToken=function(e){return new Promise(function(t,o){var s,i,u;return s={url:this.oauth+"/request_token",method:"POST"},i={},e&&(i={oauth_callback:e}),i&&(s.url+="?"+n.stringify(i)),u=this.client.toHeader(this.client.authorize(s,{})),r(s.url,{method:"POST",headers:Object.assign({},a,u)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}).then(function(e){try{return t(e)}catch(e){return o(e)}},o)}.bind(this))},h.prototype.getAccessToken=function(e){return new Promise(function(t,o){var s,i,u;return s={url:this.oauth+"/access_token",method:"POST"},(i={oauth_verifier:e.verifier})&&(s.url+="?"+n.stringify(i)),u=this.client.toHeader(this.client.authorize(s,{key:e.key,secret:e.secret})),r(s.url,{method:"POST",headers:Object.assign({},a,u)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}).then(function(e){try{return t(e)}catch(e){return o(e)}},o)}.bind(this))},h.prototype._makeRequest=function(e,t,r){var o={url:this.url+"/"+t+".json",method:e};r&&("POST"===e?o.data=r:o.url+="?"+n.stringify(r));return{requestData:o,headers:"User"===this.authType?this.client.toHeader(this.client.authorize(o,this.token)):{Authorization:"Bearer "+this.config.bearer_token}}},h.prototype.get=function(e,t){var n=this._makeRequest("GET",e,t);return r(n.requestData.url,{headers:n.headers}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.post=function(e,t){var o=this._makeRequest("POST",e,u.includes(e)?null:t),s=o.requestData,i=Object.assign({},a,o.headers);return u.includes(e)?t=JSON.stringify(t):(t=c(n.stringify(t)),i["Content-Type"]="application/x-www-form-urlencoded"),r(s.url,{method:"POST",headers:i,body:t}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.stream=function(e,t){var i=this;if("User"!==this.authType)throw new Error("Streams require user context authentication");var u=new o,a={url:s("stream")+"/"+e+".json",method:"POST"};t&&(a.data=t);var h=this.client.toHeader(this.client.authorize(a,this.token));return r(a.url,{method:"POST",headers:Object.assign({},h,{"Content-Type":"application/x-www-form-urlencoded"}),body:c(n.stringify(t))}).then(function(e){u.destroy=i.stream.destroy=function(){return e.body.destroy()},e.ok?u.emit("start",e):(e._headers=e.headers.raw(),u.emit("error",e)),e.body.on("data",function(e){return u.parse(e)}).on("error",function(e){return u.emit("error",e)}).on("end",function(){return u.emit("end",e)})}).catch(function(e){return u.emit("error",e)}),u},module.exports=h});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){var e=require("crypto"),t=require("oauth-1.0a"),r=require("cross-fetch"),n=require("querystring"),s=require("./stream"),o=function(e,t){return void 0===t&&(t="1.1"),"https://"+e+".twitter.com/"+t},i={subdomain:"api",consumer_key:null,consumer_secret:null,access_token_key:null,access_token_secret:null,bearer_token:null,version:"1.1"},a=["direct_messages/events/new","direct_messages/welcome_messages/new","direct_messages/welcome_messages/rules/new"],u={"Content-Type":"application/json",Accept:"application/json"};function c(e){return e.replace(/!/g,"%21").replace(/\*/g,"%2A").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")}var h=function(r){var n,s=Object.assign({},i,r);this.authType=s.bearer_token?"App":"User",this.client=t({consumer:{key:(n={key:s.consumer_key,secret:s.consumer_secret}).key,secret:n.secret},signature_method:"HMAC-SHA1",hash_function:function(t,r){return e.createHmac("sha1",r).update(t).digest("base64")}}),this.token={key:s.access_token_key,secret:s.access_token_secret},this.url=o(s.subdomain,s.version),this.oauth=o(s.subdomain,"oauth"),this.config=s};h._handleResponse=function(e){var t=e.headers.raw();return 204===e.status?{_headers:t}:e.json().then(function(e){return e._headers=t,e})},h.prototype.getBearerToken=function(){try{var e={Authorization:"Basic "+Buffer.from(this.config.consumer_key+":"+this.config.consumer_secret).toString("base64"),"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"};return Promise.resolve(r("https://api.twitter.com/oauth2/token",{method:"POST",body:"grant_type=client_credentials",headers:e}).then(h._handleResponse))}catch(e){return Promise.reject(e)}},h.prototype.getRequestToken=function(e){try{var t={url:this.oauth+"/request_token",method:"POST"},s={};e&&(s={oauth_callback:e}),s&&(t.url+="?"+n.stringify(s));var o=this.client.toHeader(this.client.authorize(t,{}));return Promise.resolve(r(t.url,{method:"POST",headers:Object.assign({},u,o)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}))}catch(e){return Promise.reject(e)}},h.prototype.getAccessToken=function(e){try{var t={url:this.oauth+"/access_token",method:"POST"},s={oauth_verifier:e.verifier};s&&(t.url+="?"+n.stringify(s));var o=this.client.toHeader(this.client.authorize(t,{key:e.key,secret:e.secret}));return Promise.resolve(r(t.url,{method:"POST",headers:Object.assign({},u,o)}).then(function(e){return e.text()}).then(function(e){return n.parse(e)}))}catch(e){return Promise.reject(e)}},h.prototype._makeRequest=function(e,t,r){var s={url:this.url+"/"+t+".json",method:e};return r&&("POST"===e?s.data=r:s.url+="?"+n.stringify(r)),{requestData:s,headers:"User"===this.authType?this.client.toHeader(this.client.authorize(s,this.token)):{Authorization:"Bearer "+this.config.bearer_token}}},h.prototype.get=function(e,t){var n=this._makeRequest("GET",e,t);return r(n.requestData.url,{headers:n.headers}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.post=function(e,t){var s=this._makeRequest("POST",e,a.includes(e)?null:t),o=s.requestData,i=Object.assign({},u,s.headers);return a.includes(e)?t=JSON.stringify(t):(t=c(n.stringify(t)),i["Content-Type"]="application/x-www-form-urlencoded"),r(o.url,{method:"POST",headers:i,body:t}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.put=function(e,t,n){var s=this._makeRequest("PUT",e,t),o=s.requestData,i=Object.assign({},u,s.headers);return n=JSON.stringify(n),r(o.url,{method:"PUT",headers:i,body:n}).then(h._handleResponse).then(function(e){return"errors"in e?Promise.reject(e):e})},h.prototype.stream=function(e,t){var i=this;if("User"!==this.authType)throw new Error("Streams require user context authentication");var a=new s,u={url:o("stream")+"/"+e+".json",method:"POST"};t&&(u.data=t);var h=this.client.toHeader(this.client.authorize(u,this.token));return r(u.url,{method:"POST",headers:Object.assign({},h,{"Content-Type":"application/x-www-form-urlencoded"}),body:c(n.stringify(t))}).then(function(e){a.destroy=i.stream.destroy=function(){return e.body.destroy()},e.ok?a.emit("start",e):(e._headers=e.headers.raw(),a.emit("error",e)),e.body.on("data",function(e){return a.parse(e)}).on("error",function(e){return a.emit("error",e)}).on("end",function(){return a.emit("end",e)})}).catch(function(e){return a.emit("error",e)}),a},module.exports=h});
//# sourceMappingURL=twitter.umd.js.map
{
"name": "twitter-lite",
"version": "0.9.4",
"version": "0.10.1-0",
"description": "Tiny, full-featured client/server REST/stream library for the Twitter API",
"source": [
"twitter.js",
"stream.js"
],
"source": "twitter.js",
"main": "dist/twitter.js",
"module": "dist/twitter.m.js",
"types": "dist/index.d.ts",
"repository": "draftbit/twitter-lite",

@@ -18,7 +16,2 @@ "homepage": "https://github.com/draftbit/twitter-lite",

"license": "MIT",
"files": [
"twitter.js",
"stream.js",
"dist"
],
"keywords": [

@@ -40,2 +33,3 @@ "twitter",

"@types/jest": "^23.3.10",
"@types/node": "^13.7.4",
"dotenv": "^6.2.0",

@@ -47,13 +41,14 @@ "eslint": "^5.15.3",

"jest": "^23.6.0",
"microbundle": "^0.4.3"
"microbundle": "^0.4.3",
"typescript": "^3.8.2"
},
"scripts": {
"lint": "eslint ./",
"prepare": "microbundle",
"prepare": "microbundle && cp index.d.ts dist/",
"test": "eslint . && jest --detectOpenHandles",
"release": "git tag $npm_package_version && git push && git push --tags && npm publish"
"release": "npm run -s prepare && npm test && git tag $npm_package_version && git push && git push --tags && npm publish"
},
"husky": {
"hooks": {
"pre-commit": "eslint ."
"pre-commit": "eslint --fix ."
}

@@ -60,0 +55,0 @@ },

@@ -7,3 +7,2 @@ # Twitter Lite

## Features

@@ -13,2 +12,3 @@

- REST and Stream support
- [Typescript support](https://github.com/draftbit/twitter-lite/blob/master/index.d.ts)
- Works both in Node and in browsers

@@ -20,3 +20,2 @@ - Rate limiting support

## Why

@@ -26,3 +25,2 @@

## Installation

@@ -38,3 +36,15 @@

Then you can include the following at the top of your code:
```es6
import Twitter from 'twitter-lite';
const client = new Twitter({
...
})
client.get(...)
client.post(...)
```
## Usage

@@ -79,3 +89,4 @@

const client = new Twitter({
subdomain: "api",
subdomain: "api", // "api" is the default (change for other subdomains)
version: "1.1", // version "1.1" is the default (change for other subdomains)
consumer_key: "abc", // from Twitter.

@@ -160,3 +171,30 @@ consumer_secret: "def", // from Twitter.

### Tweeting a thread
- [statuses/update documentation](https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update)
```es6
const client = new Twitter({
consumer_key: "xyz",
consumer_secret: "xyz",
access_token_key: "xyz",
access_token_secret: "xyz"
});
async function tweetThread(thread) {
let lastTweetID = "";
for (const status of thread) {
const tweet = await client.post("statuses/update", {
status: status,
in_reply_to_status_id: lastTweetID,
auto_populate_reply_metadata: true
});
lastTweetID = tweet.id_str;
}
}
const thread = ["First tweet", "Second tweet", "Third tweet"];
tweetThread(thread).catch(console.error);
```
## Streams

@@ -191,3 +229,3 @@

To stop a stream, call `stream.destroy()`. That might take a while though, if the stream receives a lot of traffic. Also, if you attempt to destroy a stream from an `on` handler, you *may* get an error about writing to a destroyed stream.
To stop a stream, call `stream.destroy()`. That might take a while though, if the stream receives a lot of traffic. Also, if you attempt to destroy a stream from an `on` handler, you _may_ get an error about writing to a destroyed stream.
In that case, try to [defer](https://stackoverflow.com/questions/49804108/write-after-end-stream-error/53878933#53878933) the `destroy()` call:

@@ -201,3 +239,2 @@

## Methods

@@ -217,3 +254,3 @@

const rateLimits = await app.get("statuses/show", {
const rateLimits = await client.get("statuses/show", {
id: "1016078154497048576"

@@ -250,2 +287,31 @@ });

### .put(endpoint, query_parameters, request_body)
Same return as `.get()` and `.post()`.
Use the `.put` method for actions that update state. For [example](https://developer.twitter.com/en/docs/direct-messages/welcome-messages/api-reference/update-welcome-message), to update a welcome message.
```es6
const client = new Twitter({
consumer_key: "xyz",
consumer_secret: "xyz",
access_token_key: "abc",
access_token_secret: "abc"
});
const welcomeMessageID = "abc";
await client.put(
"direct_messages/welcome_messages/update",
{
id: welcomeMessageID
},
{
message_data: {
text: "Welcome!!!"
}
}
);
```
### .getBearerToken()

@@ -299,3 +365,2 @@

## Contributing

@@ -320,6 +385,5 @@

7. Make sure all tests pass. **NOTE: tests will take over 10 minutes to finish.**
8. Commit using a [descriptive message](https://chris.beams.io/posts/git-commit/) (please squash commits into one per fix/improvement!)
9. `git push` and submit your PR!
8. Commit using a [descriptive message](https://chris.beams.io/posts/git-commit/) (please squash commits into one per fix/improvement!)
9. `git push` and submit your PR!
## Credits

@@ -338,2 +402,5 @@

- [@desmondmorris](http://github.com/desmondmorris)
- [Node Twitter Community](https://github.com/desmondmorris/node-twitter/graphs/contributors)
- [Node Twitter
Community](https://github.com/desmondmorris/node-twitter/graphs/contributors)
- [@dylanirlbeck](https://github.com/dylanirlbeck)
- [@Fdebijl](https://github.com/Fdebijl) - Typescript support

@@ -32,2 +32,3 @@ const crypto = require('crypto');

bearer_token: null,
version: '1.1',
};

@@ -74,3 +75,3 @@

this.url = getUrl(config.subdomain);
this.url = getUrl(config.subdomain, config.version);
this.oauth = getUrl(config.subdomain, 'oauth');

@@ -105,3 +106,3 @@ this.config = config;

Buffer.from(
this.config.consumer_key + ':' + this.config.consumer_secret
this.config.consumer_key + ':' + this.config.consumer_secret,
).toString('base64'),

@@ -131,3 +132,3 @@ 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',

const headers = this.client.toHeader(
this.client.authorize(requestData, {})
this.client.authorize(requestData, {}),
);

@@ -158,3 +159,3 @@

secret: options.secret,
})
}),
);

@@ -192,3 +193,3 @@

headers = this.client.toHeader(
this.client.authorize(requestData, this.token)
this.client.authorize(requestData, this.token),
);

@@ -217,3 +218,3 @@ } else {

resource,
parameters
parameters,
);

@@ -224,3 +225,3 @@

.then(results =>
'errors' in results ? Promise.reject(results) : results
'errors' in results ? Promise.reject(results) : results,
);

@@ -241,3 +242,3 @@ }

resource,
JSON_ENDPOINTS.includes(resource) ? null : body // don't sign JSON bodies; only parameters
JSON_ENDPOINTS.includes(resource) ? null : body, // don't sign JSON bodies; only parameters
);

@@ -260,3 +261,3 @@

.then(results =>
'errors' in results ? Promise.reject(results) : results
'errors' in results ? Promise.reject(results) : results,
);

@@ -266,2 +267,30 @@ }

/**
* Send a PUT request
* @param {string} resource - endpoint e.g. `direct_messages/welcome_messages/update`
* @param {object} parameters - required or optional query parameters
* @param {object} body - PUT request body
* @returns {Promise<object>} Promise resolving to the response from the Twitter API.
*/
put(resource, parameters, body) {
const { requestData, headers } = this._makeRequest(
'PUT',
resource,
parameters,
);
const putHeaders = Object.assign({}, baseHeaders, headers);
body = JSON.stringify(body);
return Fetch(requestData.url, {
method: 'PUT',
headers: putHeaders,
body,
})
.then(Twitter._handleResponse)
.then(results =>
'errors' in results ? Promise.reject(results) : results,
);
}
/**
*

@@ -287,3 +316,3 @@ * @param {string} resource - endpoint, e.g. `statuses/filter`

const headers = this.client.toHeader(
this.client.authorize(requestData, this.token)
this.client.authorize(requestData, this.token),
);

@@ -290,0 +319,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc