UNPKG

sec-edgar-api

Version:

Fetch and parse SEC earnings reports and other filings. Useful for financial analysis.

39 lines (38 loc) 1.79 kB
"use strict"; 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;