UNPKG

sec-edgar-api

Version:

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

54 lines (53 loc) 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Builds an array of fact records. */ var FactRecordBuilder = /** @class */ (function () { function FactRecordBuilder() { } FactRecordBuilder.prototype.createFacts = function (data, includeNamePrefix) { if (includeNamePrefix === void 0) { includeNamePrefix = true; } var facts = data.facts, cik = data.cik; var factItems = []; for (var prefix in facts) { var factByPropertyName = facts[prefix]; for (var propertyName in factByPropertyName) { var units = factByPropertyName[propertyName].units; for (var unit in units) { var factValues = units[unit]; for (var _i = 0, factValues_1 = factValues; _i < factValues_1.length; _i++) { var factValue = factValues_1[_i]; var end = factValue.end, start = factValue.start, val = factValue.val, filed = factValue.filed, accn = factValue.accn, form = factValue.form, fp = factValue.fp, frame = factValue.frame, fy = factValue.fy; var name_1 = includeNamePrefix ? "".concat(prefix, ":").concat(propertyName) : propertyName; var item = { cik: cik, end: end, filed: filed, name: name_1, unit: unit, value: val, accn: accn, }; if (start) item.start = start; if (accn) item.accn = accn; if (form) item.form = form; if (fp) item.fp = fp; if (frame) item.frame = frame; if (fy) item.fy = fy; factItems.push(item); } } } } return { facts: factItems }; }; return FactRecordBuilder; }()); exports.default = FactRecordBuilder;