UNPKG

chen-facebook

Version:
87 lines 2.77 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments)).next()); }); }; const web_1 = require('chen/web'); const core_1 = require('chen/core'); /** * FacebookApiResponse interface */ class FacebookApiResponse extends web_1.HttpClientResponse { } exports.FacebookApiResponse = FacebookApiResponse; /** * FacebookApi class */ class FacebookApi extends web_1.HttpClient { /** * FacebookApi constructor * @param {string} version * @param {string} private token */ constructor(version, token) { super(); this.token = token; this.version = `v${core_1._.trimStart(version, 'v')}`; this.apiVersionUrl = `${FacebookApi.BASE_URL}${this.version}/`; this.setDefaults({ baseUrl: this.apiVersionUrl, json: true, qs: { access_token: this.token } }); } /** * Get version * @return {string} */ getVersion() { return this.version; } /** * Get access token * @return {string} */ getAccessToken() { return this.token; } /** * Make a GET Request * @param {string} url * @param {KeyValuePair} params * @return {Promise<FacebookApiResponse>} */ get(endpoint, params) { const _super = name => super[name]; return __awaiter(this, void 0, void 0, function* () { let res = yield _super("get").call(this, `${core_1._.trim(endpoint, '/')}`, { qs: params }); return new FacebookApiResponse(res.info, res.body); }); } /** * Make a POST Request * @param {string} url * @param {KeyValuePair} params * @return {Promise<FacebookApiResponse>} */ post(endpoint, params) { const _super = name => super[name]; return __awaiter(this, void 0, void 0, function* () { let res = yield _super("post").call(this, `${core_1._.trim(endpoint, '/')}`, { form: params }); return new FacebookApiResponse(res.info, res.body); }); } } /** * API host * @type {string} */ FacebookApi.BASE_URL = 'https://graph.facebook.com/'; exports.FacebookApi = FacebookApi; //# sourceMappingURL=api.js.map