sec-edgar-api 0.5.9 → 0.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -150,11 +150,11 @@ function buildReportsFromFacts(params) {
|
|
|
150
150
|
return { reportFocus: reportFocus, reportByDateRange: reportByDateRange, factsFiltered: Array.from(factByName.values()) };
|
|
151
151
|
}
|
|
152
152
|
function parseXbrl(params) {
|
|
153
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
153
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
154
154
|
var parser = new XBRLParser_1.default();
|
|
155
|
-
var xml = params.xml,
|
|
155
|
+
var xml = params.xml, _o = params.includeReport, includeReport = _o === void 0 ? true : _o, options = __rest(params, ["xml", "includeReport"]);
|
|
156
156
|
var response = parser.parse(xml, options);
|
|
157
|
-
var
|
|
157
|
+
var _p = (_b = (_a = response.instance) === null || _a === void 0 ? void 0 : _a.xbrl) !== null && _b !== void 0 ? _b : {}, _q = _p.contexts, contexts = _q === void 0 ? [] : _q, _r = _p.factElements, factElements = _r === void 0 ? [] : _r;
|
|
158
158
|
var contextById = new Map();
|
|
159
159
|
contexts.forEach(function (context) { return contextById.set(context.id, context); });
|
|
160
160
|
var cik = response.header.cik;
|
|
@@ -197,16 +197,20 @@ function parseXbrl(params) {
|
|
|
197
197
|
month: Number(response.header.fiscalYearEnd.substring(0, 2)),
|
|
198
198
|
},
|
|
199
199
|
});
|
|
200
|
-
var
|
|
200
|
+
var reportDate = (_g = response.header.reportDate) !== null && _g !== void 0 ? _g : (_j = (_h = response.instance) === null || _h === void 0 ? void 0 : _h.xbrl.factElements.find(function (f) { return f.name === 'dei:DocumentPeriodEndDate'; })) === null || _j === void 0 ? void 0 : _j.text;
|
|
201
|
+
if (!reportDate) {
|
|
202
|
+
throw new Error("Report date not found. Unable to determine fiscal year and period. accn: ".concat(accessionNumber));
|
|
203
|
+
}
|
|
204
|
+
var _s = fiscalCalculator.getFiscalYearQuarter({ dateStr: reportDate !== null && reportDate !== void 0 ? reportDate : '' }), quarter = _s.quarter, year = _s.year;
|
|
201
205
|
fiscalYear = year;
|
|
202
206
|
fiscalPeriod = (quarter === 4 ? 'FY' : "Q".concat(quarter));
|
|
203
207
|
}
|
|
204
208
|
var factsForBuilder = includeReport ? facts : [];
|
|
205
|
-
var
|
|
209
|
+
var _t = buildReportsFromFacts({
|
|
206
210
|
facts: factsForBuilder,
|
|
207
211
|
pathSeparator: '>',
|
|
208
|
-
fiscalPeriod: (
|
|
209
|
-
fiscalYear: Number((
|
|
212
|
+
fiscalPeriod: (_k = factsForBuilder.find(function (f) { return f.name === 'dei:DocumentFiscalPeriodFocus'; })) === null || _k === void 0 ? void 0 : _k.value,
|
|
213
|
+
fiscalYear: Number((_m = (_l = factsForBuilder.find(function (f) { return f.name === 'dei:DocumentFiscalYearFocus'; })) === null || _l === void 0 ? void 0 : _l.value) !== null && _m !== void 0 ? _m : 0),
|
|
210
214
|
cik: response.header.cik,
|
|
211
215
|
filing: {
|
|
212
216
|
acceptanceDateTime: response.header.acceptanceDatetime,
|
|
@@ -226,7 +230,7 @@ function parseXbrl(params) {
|
|
|
226
230
|
url: "https://www.sec.gov/Archives/edgar/data/".concat(cik, "/").concat(accessionNumberNoHyphens, "/").concat(accessionNumber, ".txt"),
|
|
227
231
|
urlPrimaryDocument: '',
|
|
228
232
|
},
|
|
229
|
-
}), factsFiltered =
|
|
233
|
+
}), factsFiltered = _t.factsFiltered, reportFocus = _t.reportFocus, reportByDateRange = _t.reportByDateRange;
|
|
230
234
|
return __assign(__assign({}, response), { fiscalYear: fiscalYear, fiscalPeriod: fiscalPeriod, facts: factsFiltered, report: factsFiltered.length > 0 ? reportFocus : null, xml: xml, periodReports: Object.values(reportByDateRange) });
|
|
231
235
|
}
|
|
232
236
|
exports.parseXbrl = parseXbrl;
|
|
@@ -239,6 +239,9 @@ var FactFiscalCalculator = /** @class */ (function () {
|
|
|
239
239
|
var _a;
|
|
240
240
|
var dateStr = params.dateStr, endDateByYearProp = params.endDateByYear, fiscalYearEnd = params.fiscalYearEnd;
|
|
241
241
|
var endDateByYear = endDateByYearProp !== null && endDateByYearProp !== void 0 ? endDateByYearProp : new Map();
|
|
242
|
+
if (!dateStr) {
|
|
243
|
+
throw new Error('No date provided, cannot determine fiscal year and quarter');
|
|
244
|
+
}
|
|
242
245
|
if (fiscalYearEnd) {
|
|
243
246
|
var month = fiscalYearEnd.month, day = fiscalYearEnd.day;
|
|
244
247
|
var year = new Date().getFullYear();
|
package/package.json
CHANGED