@sugarcube/plugin-facebook
Version:
Fetch data from facebook for sugarcube.
39 lines (27 loc) • 1.01 kB
JavaScript
;
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_user";
const apiUsers = (envelope, {
log,
cfg
}) => {
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.`);
return (0, _dashp.flowP)([(0, _dashp.flatmapP)((0, _api.user)(fetcher)), rs => _core.envelope.concatData(rs, envelope)], queries);
};
const plugin = _core.plugin.liftManyA2([_assertions.assertAppCredentials, apiUsers]);
plugin.desc = "Fetch user.";
plugin.argv = {};
var _default = plugin;
exports.default = _default;