UNPKG

wechaty-puppet-padplus

Version:
47 lines 2.1 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint camelcase: 0 */ const config_1 = require("../config"); const xml_to_json_1 = require("./xml-to-json"); const PRE = 'messageSourceParser'; function messageSourceParser(messageSource) { return __awaiter(this, void 0, void 0, function* () { if (messageSource === '') { return null; } const tryXmlText = `<?xml version="1.0"?>\n${messageSource}`.replace(/^[^\n]+\n/, ''); try { const jsonPayload = yield xml_to_json_1.xmlToJson(tryXmlText); const data = jsonPayload.msgsource; const result = {}; if (data.silence) { result.silence = data.silence === '1'; } if (data.membercount) { result.memberCount = parseInt(data.membercount, 10); } if (data.img_file_name) { result.imageFileName = data.img_file_name; } if (data.atuserlist) { result.atUserList = data.atuserlist.split(','); } return result; } catch (e) { config_1.log.verbose(PRE, `parse message source failed, failed message source is: ${messageSource}`); return null; } }); } exports.messageSourceParser = messageSourceParser; //# sourceMappingURL=message-source-parser.js.map