UNPKG

@sugarcube/plugin-facebook

Version:
57 lines (41 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fp = require("lodash/fp"); var _dashp = require("dashp"); var _core = require("@sugarcube/core"); var _api = require("../api"); var _assertions = require("../assertions"); const querySource = "facebook_page"; const apiPages = (envelope, { log, cfg, stats }) => { const appId = (0, _fp.get)("facebook.app_id", cfg); const appSecret = (0, _fp.get)("facebook.app_secret", cfg); const queries = _core.envelope.queriesByType(querySource, envelope); const fetcher = (0, _api.fetchByAppToken)(appId, appSecret); log.debug(`Found ${(0, _fp.size)(queries)} queries.`); const queryPage = async q => { let data = []; try { data = await (0, _api.page)(fetcher, q); } catch (e) { stats.fail({ type: querySource, term: q, reason: e.message }); } return data; }; return (0, _dashp.flowP)([(0, _dashp.flatmapP)(queryPage), rs => _core.envelope.concatData(rs, envelope)], queries); }; const plugin = _core.plugin.liftManyA2([_assertions.assertAppCredentials, apiPages]); plugin.desc = "Fetch pages."; plugin.argv = {}; var _default = plugin; exports.default = _default;