sec-edgar-api
Version:
Fetch and parse SEC earnings reports and other filings. Useful for financial analysis.
23 lines (22 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveCashFlowWorkingCapitalNonCash = void 0;
// TODO: See if this can be more accurate to improve the accuracy of cashFlowOperating
function resolveCashFlowWorkingCapitalNonCash(report) {
if (report.cashFlowWorkingCapitalNonCash !== null)
return;
// the previous report is used to calculate the change in working capital in resolveCashFlowOperating
var reportWrapperPrev = report.getReportOffset(-1, report.fiscalPeriod === 'FY' ? 'ANNUAL' : 'QUARTERLY');
var _a = report.getReportsFiscalYearByPeriod(), FY = _a.FY, Q1 = _a.Q1, Q2 = _a.Q2, Q3 = _a.Q3, Q4 = _a.Q4;
for (var _i = 0, _b = [FY, Q1, Q2, Q3, Q4, reportWrapperPrev]; _i < _b.length; _i++) {
var report_1 = _b[_i];
var _c = report_1 !== null && report_1 !== void 0 ? report_1 : {}, assetCurrent = _c.assetCurrent, assetCurrentCashEquivalents = _c.assetCurrentCashEquivalents, liabilityCurrent = _c.liabilityCurrent, liabilityCurrentDebt = _c.liabilityCurrentDebt;
var isMissingProps = !report_1 || !assetCurrent || !assetCurrentCashEquivalents || !liabilityCurrent;
if (isMissingProps || report_1.cashFlowWorkingCapitalNonCash !== null)
continue;
var assetsCurrentLessCash = assetCurrent - assetCurrentCashEquivalents;
var liabilitiesCurrentLessDebt = liabilityCurrent - (liabilityCurrentDebt !== null && liabilityCurrentDebt !== void 0 ? liabilityCurrentDebt : 0);
report_1.cashFlowWorkingCapitalNonCash = assetsCurrentLessCash - liabilitiesCurrentLessDebt;
}
}
exports.resolveCashFlowWorkingCapitalNonCash = resolveCashFlowWorkingCapitalNonCash;