UNPKG

ditzzsenpai-api

Version:

Simple NPM api for your app

38 lines (37 loc) 1.09 kB
const os = require("os"), log = console.log.bind(console), changeCase = require("change-case"), htmlEntities = require("html-entities").XmlEntities, DELIMITER = ":"; var stripHTMLEntitites = function (e) { return new htmlEntities().decode(e); }, getCommonDelimiterForm = function (e, t) { var i = new RegExp(t + "\\S+", "g"), n = new RegExp(t + " ", "g"), r = e.match(i) || [], a = e.match(n) || []; return r.length > a.length ? t : t + " "; }, parseRawData = function (e) { var t = {}, i = (e = (e = stripHTMLEntitites(e)).replace(/:\s*\r\n/g, ": ")).split( "\n" ), n = getCommonDelimiterForm(e, ":"); return ( i.forEach(function (e) { if ((e = e.trim()) && e.includes(n)) { var i = e.split(":"); if (i.length >= 2) { var r = changeCase.camelCase(i[0]), a = i.splice(1).join(":").trim(); if (r in t) return void (t[r] = `${t[r]} ${a}`); t[r] = a; } } }), t ); }; module.exports = parseRawData;