sec-edgar-api
Version:
Fetch and parse SEC earnings reports and other filings. Useful for financial analysis.
39 lines (38 loc) • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var DocumentXmlSplitter = /** @class */ (function () {
function DocumentXmlSplitter() {
}
DocumentXmlSplitter.prototype.getLineTextAfter = function (documentStr, start) {
var textStart = documentStr.indexOf(start) + start.length;
return documentStr.substring(textStart, documentStr.indexOf('\n', textStart));
};
DocumentXmlSplitter.prototype.getTextBetween = function (documentStr, start, end) {
var textStart = documentStr.indexOf(start) + start.length;
return documentStr.substring(textStart, documentStr.lastIndexOf(end));
};
DocumentXmlSplitter.prototype.splitDocumentXml = function (params) {
var xml = params.xml;
var documentStrings = xml.split('<DOCUMENT>');
var headerContent = documentStrings[0];
var documents = [];
for (var i = 1; i < documentStrings.length; i++) {
var documentStr = documentStrings[i];
var type = this.getLineTextAfter(documentStr, '<TYPE>');
var sequence = this.getLineTextAfter(documentStr, '<SEQUENCE>');
var fileName = this.getLineTextAfter(documentStr, '<FILENAME>');
var description = this.getLineTextAfter(documentStr, '<DESCRIPTION>');
var content = this.getTextBetween(documentStr, '<TEXT>', '</TEXT>');
documents.push({
description: description,
fileName: fileName,
sequence: Number(sequence),
type: type,
content: content,
});
}
return { headerContent: headerContent, documents: documents };
};
return DocumentXmlSplitter;
}());
exports.default = DocumentXmlSplitter;