UNPKG

naystack

Version:

A stack built with tight Next + Drizzle + GraphQL

88 lines (84 loc) 2.72 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/socials/threads/setters.ts var setters_exports = {}; __export(setters_exports, { createContainer: () => createContainer, createThread: () => createThread, createThreadsPost: () => createThreadsPost, publishContainer: () => publishContainer }); module.exports = __toCommonJS(setters_exports); // src/socials/threads/utils.ts function getThreadsURL(token, path, params) { return `https://graph.threads.net/v1.0/${path}?${Object.keys(params).map((key) => `${key}=${params[key]}`).join("&")}&access_token=${token}`; } function getThreadsData(token, path, params, method) { return fetch(getThreadsURL(token, path, params), { method: method || "GET" }).then((res) => res.json()); } // src/socials/threads/setters.ts function createContainer(token, text, reply_to_id) { return getThreadsData( token, "me/threads", { media_type: "TEXT", text, ...reply_to_id ? { reply_to_id } : {} }, "POST" ).then((res) => res?.id); } function publishContainer(token, creation_id) { return getThreadsData( token, "me/threads_publish", { creation_id }, "POST" ).then((res) => res?.id); } var createThreadsPost = async (token, text, reply_to_id) => { const containerID = await createContainer(token, text, reply_to_id); if (!containerID) return null; await new Promise((resolve) => setTimeout(resolve, 2e3)); return publishContainer(token, containerID); }; var createThread = async (token, threads) => { const publishedIDs = []; for (const thread of threads) { const postID = await createThreadsPost( token, thread.split("\n").join("%0A"), publishedIDs.at(-1) ); if (postID) publishedIDs.push(postID); } return publishedIDs[0]; }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { createContainer, createThread, createThreadsPost, publishContainer });