UNPKG

@jadl/builders

Version:
65 lines (64 loc) 2.2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.parse = exports.parseMessage = exports.parseToMessageBuilder = exports.resolveString = void 0; const Embed_1 = require("./builders/Embed"); const FileBuilder_1 = require("./builders/FileBuilder"); const MessageBuilder_1 = require("./builders/MessageBuilder"); const form_data_1 = __importDefault(require("form-data")); function resolveString(data) { if (typeof data === 'string') return data; if (Array.isArray(data)) return data.join(', '); return String(data); } exports.resolveString = resolveString; const isStringified = (val) => { return [ 'bigint', 'function', 'number', 'string', 'symbol', 'undefined' ].includes(typeof val); }; function parseToMessageBuilder(input) { let messageBuilder = input instanceof MessageBuilder_1.MessageBuilder ? input : new MessageBuilder_1.MessageBuilder(); if (input instanceof MessageBuilder_1.MessageBuilder) { } else if (input instanceof Embed_1.Embed) { messageBuilder.addEmbed(input); } else if (input instanceof FileBuilder_1.FileBuilder) { messageBuilder.addFiles(input); } else if (isStringified(input)) { messageBuilder.setMessage({ content: resolveString(input) }); } else { messageBuilder.setMessage(input); } return messageBuilder; } exports.parseToMessageBuilder = parseToMessageBuilder; function parseMessage(input) { return parseToMessageBuilder(input).render(); } exports.parseMessage = parseMessage; function parse(input) { const data = parseMessage(input); return { body: data instanceof form_data_1.default ? data : JSON.stringify(data), passThroughBody: true, headers: data instanceof form_data_1.default ? data.getHeaders() : { 'Content-Type': 'application/json' } }; } exports.parse = parse;