UNPKG

twitter-api-client

Version:
103 lines (102 loc) 6.15 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var utils_1 = require("../base/utils"); var TrendsClient = /** @class */ (function () { function TrendsClient(transport) { if (!transport) { throw Error('Transport class needs to be provided.'); } this.transport = transport; } /** * Returns the locations that Twitter has trending topic information for.The response is an array of "locations" that encode the location's WOEID and some other human-readable information such as a canonical name and country the location belongs in.A WOEID is a Yahoo! Where On Earth ID. * * @link https://developer.twitter.com/en/docs/trends/locations-with-trending-topics/api-reference/get-trends-available */ TrendsClient.prototype.trendsAvailable = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.transport.doGetRequest('https://api.twitter.com/1.1/trends/available.json')]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Returns the locations that Twitter has trending topic information for, closest to a specified location.The response is an array of "locations" that encode the location's WOEID and some other human-readable information such as a canonical name and country the location belongs in.A WOEID is a Yahoo! Where On Earth ID. * * @link https://developer.twitter.com/en/docs/trends/locations-with-trending-topics/api-reference/get-trends-closest * @param parameters */ TrendsClient.prototype.trendsClosest = function (parameters) { return __awaiter(this, void 0, void 0, function () { var params; return __generator(this, function (_a) { switch (_a.label) { case 0: params = utils_1.createParams(parameters); return [4 /*yield*/, this.transport.doGetRequest('https://api.twitter.com/1.1/trends/closest.json' + params)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Returns the top 50 trending topics for a specific WOEID, if trending information is available for it.The response is an array of trend objects that encode the name of the trending topic, the query parameter that can be used to search for the topic on Twitter Search, and the Twitter Search URL.This information is cached for 5 minutes. Requesting more frequently than that will not return any more data, and will count against rate limit usage.The tweet_volume for the last 24 hours is also returned for many trends if this is available. * * @link https://developer.twitter.com/en/docs/trends/trends-for-location/api-reference/get-trends-place * @param parameters */ TrendsClient.prototype.trendsPlace = function (parameters) { return __awaiter(this, void 0, void 0, function () { var params; return __generator(this, function (_a) { switch (_a.label) { case 0: params = utils_1.createParams(parameters); return [4 /*yield*/, this.transport.doGetRequest('https://api.twitter.com/1.1/trends/place.json' + params)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; return TrendsClient; }()); exports.default = TrendsClient;