cb10-sdk
Version:
Cybozu Office 10 SDK for Node.js
36 lines • 1.91 kB
JavaScript
;
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _a, _FolderHtmlParser_extractNumber;
Object.defineProperty(exports, "__esModule", { value: true });
const Errors_1 = require("../../common/Errors");
class FolderHtmlParser {
static getMessages(document) {
try {
const rawMessages = document.match(/(?<=MyFolderMessageView).*?(?=profileImage)/gis);
if (!rawMessages) {
return null;
}
return rawMessages.map((rawHtml) => ({
mDBID: __classPrivateFieldGet(_a, _a, "m", _FolderHtmlParser_extractNumber).call(_a, rawHtml, /mDBID=(\d+)/i),
mDID: __classPrivateFieldGet(_a, _a, "m", _FolderHtmlParser_extractNumber).call(_a, rawHtml, /mDID=(\d+)/i),
subject: rawHtml.match(/(?<=clip8x16.png" align=absmiddle>).*?(?=<\/a>)/i)?.[0] || '',
}));
}
catch (error) {
if (error instanceof Errors_1.CybozuOfficeSDKException) {
throw error;
}
throw new Errors_1.CybozuOfficeSDKException(`Failed to get messages: ${error instanceof Error ? error.message : 'Unknown error'}`);
}
}
}
_a = FolderHtmlParser, _FolderHtmlParser_extractNumber = function _FolderHtmlParser_extractNumber(html, pattern) {
const match = html.match(pattern);
return match?.[1] ? Number(match[1]) : null;
};
exports.default = FolderHtmlParser;
//# sourceMappingURL=parser.js.map