UNPKG

@sugarcube/plugin-instagram

Version:
41 lines (32 loc) 1.19 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 _instagram = require("./instagram"); const querySource = "instagram_user"; const plugin = (envelope, { log, cfg }) => { const queries = _core.envelope.queriesByType(querySource, envelope); const postCount = (0, _fp.get)("instagram.post_count", cfg); log.debug(`Found ${(0, _fp.size)(queries)} queries.`); return (0, _dashp.flow)([(0, _dashp.flatmap)(u => (0, _dashp.flow)([(0, _instagram.feed)(postCount), (0, _dashp.tap)(xs => log.info(`Fetched ${(0, _fp.size)(xs)} posts for ${u}'s feed.`))])(u)), (0, _dashp.tap)(rs => { const c = (0, _fp.size)(queries); log.info(`Fetched ${(0, _fp.size)(rs)} posts for ${c} feed${c > 1 ? "s" : ""}.`); }), _dashp.Future.map(rs => _core.envelope.concatData(rs, envelope))], queries); }; plugin.desc = "Fetches posts from an Instagram feed."; plugin.argv = { "instagram.post_count": { default: 100, nargs: 1, desc: "Number of posts to fetch." } }; var _default = plugin; exports.default = _default;