sec-edgar-api 0.0.1
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.
- package/README.md +27 -0
- package/build/index.d.ts +21 -0
- package/build/index.js +26 -0
- package/build/services/FactFileReader/FactFileReader.d.ts +30 -0
- package/build/services/FactFileReader/FactFileReader.js +36 -0
- package/build/services/FactFileReader/index.d.ts +2 -0
- package/build/services/FactFileReader/index.js +4 -0
- package/build/services/ReportParser/FactIterator.d.ts +18 -0
- package/build/services/ReportParser/FactIterator.js +35 -0
- package/build/services/ReportParser/PropertyResolver.d.ts +25 -0
- package/build/services/ReportParser/PropertyResolver.js +44 -0
- package/build/services/ReportParser/ReportParser.d.ts +53 -0
- package/build/services/ReportParser/ReportParser.js +97 -0
- package/build/services/ReportParser/ReportRawParser.d.ts +34 -0
- package/build/services/ReportParser/ReportRawParser.js +154 -0
- package/build/services/ReportParser/ReportTranslatedProxy.d.ts +9 -0
- package/build/services/ReportParser/ReportTranslatedProxy.js +40 -0
- package/build/services/ReportParser/ReportWrapper.d.ts +27 -0
- package/build/services/ReportParser/ReportWrapper.js +89 -0
- package/build/services/ReportParser/index.d.ts +2 -0
- package/build/services/ReportParser/index.js +4 -0
- package/build/services/ReportParser/resolvers/helpers.d.ts +21 -0
- package/build/services/ReportParser/resolvers/helpers.js +49 -0
- package/build/services/ReportParser/resolvers/index.d.ts +31 -0
- package/build/services/ReportParser/resolvers/index.js +33 -0
- package/build/services/ReportParser/resolvers/resolve-asset-current.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-asset-current.js +20 -0
- package/build/services/ReportParser/resolvers/resolve-asset-non-current-ppe-gross.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-asset-non-current-ppe-gross.js +20 -0
- package/build/services/ReportParser/resolvers/resolve-cash-flow-capex.d.ts +5 -0
- package/build/services/ReportParser/resolvers/resolve-cash-flow-capex.js +37 -0
- package/build/services/ReportParser/resolvers/resolve-cash-flow-free.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-cash-flow-free.js +23 -0
- package/build/services/ReportParser/resolvers/resolve-cash-flow-operating.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-cash-flow-operating.js +39 -0
- package/build/services/ReportParser/resolvers/resolve-cash-flow-working-capital-non-cash.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-cash-flow-working-capital-non-cash.js +22 -0
- package/build/services/ReportParser/resolvers/resolve-ebit.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-ebit.js +25 -0
- package/build/services/ReportParser/resolvers/resolve-expense-depreciation.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-expense-depreciation.js +96 -0
- package/build/services/ReportParser/resolvers/resolve-expense-operating.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-expense-operating.js +22 -0
- package/build/services/ReportParser/resolvers/resolve-expense-total.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-expense-total.js +20 -0
- package/build/services/ReportParser/resolvers/resolve-fiscal-year-cumulative-properties.d.ts +5 -0
- package/build/services/ReportParser/resolvers/resolve-fiscal-year-cumulative-properties.js +70 -0
- package/build/services/ReportParser/resolvers/resolve-liability-current.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-liability-current.js +20 -0
- package/build/services/ReportParser/resolvers/resolve-q4-fiscal-year-matching-properties.d.ts +5 -0
- package/build/services/ReportParser/resolvers/resolve-q4-fiscal-year-matching-properties.js +24 -0
- package/build/services/ReportParser/resolvers/resolve-revenue-total.d.ts +2 -0
- package/build/services/ReportParser/resolvers/resolve-revenue-total.js +20 -0
- package/build/services/SecEdgarApi/Client.d.ts +44 -0
- package/build/services/SecEdgarApi/Client.js +104 -0
- package/build/services/SecEdgarApi/Downloader.d.ts +26 -0
- package/build/services/SecEdgarApi/Downloader.js +102 -0
- package/build/services/SecEdgarApi/FactsDownloader.d.ts +30 -0
- package/build/services/SecEdgarApi/FactsDownloader.js +125 -0
- package/build/services/SecEdgarApi/SecConnector.d.ts +47 -0
- package/build/services/SecEdgarApi/SecConnector.js +143 -0
- package/build/services/SecEdgarApi/SecEdgarApi.d.ts +92 -0
- package/build/services/SecEdgarApi/SecEdgarApi.js +184 -0
- package/build/services/SecEdgarApi/Throttler.d.ts +34 -0
- package/build/services/SecEdgarApi/Throttler.js +111 -0
- package/build/services/SecEdgarApi/Unzipper.d.ts +40 -0
- package/build/services/SecEdgarApi/Unzipper.js +40 -0
- package/build/services/SecEdgarApi/index.d.ts +3 -0
- package/build/services/SecEdgarApi/index.js +19 -0
- package/build/types/company-facts.type.d.ts +53 -0
- package/build/types/company-facts.type.js +2 -0
- package/build/types/index.d.ts +4 -0
- package/build/types/index.js +20 -0
- package/build/types/report-raw.type.d.ts +23 -0
- package/build/types/report-raw.type.js +2 -0
- package/build/types/report-translated.type.d.ts +58 -0
- package/build/types/report-translated.type.js +2 -0
- package/build/types/submission.type.d.ts +70 -0
- package/build/types/submission.type.js +2 -0
- package/build/util/cik-by-symbol.d.ts +5 -0
- package/build/util/cik-by-symbol.js +9632 -0
- package/build/util/key-translations.d.ts +7 -0
- package/build/util/key-translations.js +174 -0
- package/package.json +41 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var fs = require("fs");
|
|
4
|
+
var _unzipper = require("unzipper");
|
|
5
|
+
var Unzipper = /** @class */ (function () {
|
|
6
|
+
function Unzipper(args) {
|
|
7
|
+
if (args === void 0) { args = { fileManager: fs, unzipper: _unzipper }; }
|
|
8
|
+
var fileManager = args.fileManager, unzipper = args.unzipper;
|
|
9
|
+
this.fileManager = fileManager;
|
|
10
|
+
this.unzipper = unzipper;
|
|
11
|
+
}
|
|
12
|
+
Unzipper.prototype.unzip = function (params) {
|
|
13
|
+
var _this = this;
|
|
14
|
+
var inputFilename = params.inputFilename, outputDirname = params.outputDirname, onChunk = params.onChunk, onError = params.onError, _a = params.deleteOriginal, deleteOriginal = _a === void 0 ? false : _a;
|
|
15
|
+
return new Promise(function (resolve, reject) {
|
|
16
|
+
var file = _this.fileManager.createReadStream(inputFilename);
|
|
17
|
+
var filesize = _this.fileManager.statSync(inputFilename).size;
|
|
18
|
+
var unzipped = _this.unzipper.Extract({ path: outputDirname });
|
|
19
|
+
var lengthCurrent = 0;
|
|
20
|
+
file.on('data', function (chunk) {
|
|
21
|
+
lengthCurrent += chunk.length;
|
|
22
|
+
var percentComplete = lengthCurrent / filesize;
|
|
23
|
+
onChunk === null || onChunk === void 0 ? void 0 : onChunk({ percentComplete: percentComplete, chunk: chunk });
|
|
24
|
+
});
|
|
25
|
+
file.pipe(unzipped);
|
|
26
|
+
file.on('end', function () {
|
|
27
|
+
if (deleteOriginal) {
|
|
28
|
+
_this.fileManager.unlinkSync(inputFilename);
|
|
29
|
+
}
|
|
30
|
+
resolve(true);
|
|
31
|
+
});
|
|
32
|
+
file.on('error', function (err) {
|
|
33
|
+
onError === null || onError === void 0 ? void 0 : onError(err);
|
|
34
|
+
reject(false);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
return Unzipper;
|
|
39
|
+
}());
|
|
40
|
+
exports.default = Unzipper;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var SecEdgarApi_1 = require("./SecEdgarApi");
|
|
18
|
+
exports.default = SecEdgarApi_1.default;
|
|
19
|
+
__exportStar(require("./SecEdgarApi"), exports);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export interface CompanyFactListData {
|
|
2
|
+
cik: number;
|
|
3
|
+
entityName: string;
|
|
4
|
+
facts: CompanyFactList;
|
|
5
|
+
}
|
|
6
|
+
export interface CompanyFactList {
|
|
7
|
+
dei: Record<string, CompanyFact>;
|
|
8
|
+
invest?: Record<string, CompanyFact>;
|
|
9
|
+
'us-gaap'?: Record<string, CompanyFact>;
|
|
10
|
+
}
|
|
11
|
+
export interface CompanyFact {
|
|
12
|
+
label: string;
|
|
13
|
+
description: string;
|
|
14
|
+
units: Record<string, FactValue[]>;
|
|
15
|
+
}
|
|
16
|
+
export interface FactValue {
|
|
17
|
+
start?: string;
|
|
18
|
+
end: string;
|
|
19
|
+
val: number;
|
|
20
|
+
accn: string;
|
|
21
|
+
fy?: number;
|
|
22
|
+
fp: string;
|
|
23
|
+
form: string;
|
|
24
|
+
filed: string;
|
|
25
|
+
frame?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface CompanyFactFrame {
|
|
28
|
+
cik: number;
|
|
29
|
+
taxonomy: string;
|
|
30
|
+
tag: string;
|
|
31
|
+
label: string;
|
|
32
|
+
description: string;
|
|
33
|
+
entityName: string;
|
|
34
|
+
units: Record<string, FactValue[]>;
|
|
35
|
+
}
|
|
36
|
+
export interface MultiCompanyFactFrameItem {
|
|
37
|
+
accn: string;
|
|
38
|
+
cik: number;
|
|
39
|
+
entityName: string;
|
|
40
|
+
loc: string;
|
|
41
|
+
end: string;
|
|
42
|
+
val: number;
|
|
43
|
+
}
|
|
44
|
+
export interface MultiCompanyFactFrame {
|
|
45
|
+
taxonomy: string;
|
|
46
|
+
tag: string;
|
|
47
|
+
ccp: string;
|
|
48
|
+
uom: string;
|
|
49
|
+
label: string;
|
|
50
|
+
description: string;
|
|
51
|
+
pts: number;
|
|
52
|
+
data: MultiCompanyFactFrameItem[];
|
|
53
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./company-facts.type"), exports);
|
|
18
|
+
__exportStar(require("./report-raw.type"), exports);
|
|
19
|
+
__exportStar(require("./report-translated.type"), exports);
|
|
20
|
+
__exportStar(require("./submission.type"), exports);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contains all keys matched from the report, along with the added keys dateEnd, dateFiled, fiscalPeriod, fiscalYear.
|
|
3
|
+
*/
|
|
4
|
+
export type ReportRaw = {
|
|
5
|
+
[key: string]: string | number | boolean;
|
|
6
|
+
dateReport: string;
|
|
7
|
+
dateFiled: string;
|
|
8
|
+
form: string;
|
|
9
|
+
isTTM: boolean;
|
|
10
|
+
frame: string;
|
|
11
|
+
taxonomy: string;
|
|
12
|
+
reportType: ReportType;
|
|
13
|
+
fiscalPeriod: FiscalPeriod;
|
|
14
|
+
fiscalYear: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* QUARTERLY = 10-Q and 10-K forms for the quarter | ANNUAL = 10-K forms for the year |
|
|
18
|
+
* 8K = all 8K form types | DOCUMENT_ENTITY_INFO = reports under key dei
|
|
19
|
+
*
|
|
20
|
+
* for dei, see https://www.sec.gov/structureddata/announcement/osd-announcement-2212-new-2022q4-taxonomies
|
|
21
|
+
*/
|
|
22
|
+
export type ReportType = 'QUARTERLY' | 'ANNUAL' | '8K' | 'DOCUMENT_ENTITY_INFO';
|
|
23
|
+
export type FiscalPeriod = 'Q1' | 'Q2' | 'Q3' | 'Q4' | 'FY';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { FiscalPeriod } from './report-raw.type';
|
|
2
|
+
export interface ReportTranslated {
|
|
3
|
+
dateReport: string;
|
|
4
|
+
dateFiled: string;
|
|
5
|
+
fiscalPeriod: FiscalPeriod;
|
|
6
|
+
fiscalYear: number;
|
|
7
|
+
form: string;
|
|
8
|
+
isTTM: boolean;
|
|
9
|
+
assetTotal: number | null;
|
|
10
|
+
assetCurrent: number | null;
|
|
11
|
+
assetCurrentCashEquivalents: number | null;
|
|
12
|
+
assetCurrentInvestments: number | null;
|
|
13
|
+
assetCurrentAccountsReceivable: number | null;
|
|
14
|
+
assetCurrentInventory: number | null;
|
|
15
|
+
assetNonCurrent: number | null;
|
|
16
|
+
assetNonCurrentPPENet: number | null;
|
|
17
|
+
assetNonCurrentPPEGross: number | null;
|
|
18
|
+
assetNonCurrentInvestments: number | null;
|
|
19
|
+
assetNonCurrentGoodwill: number | null;
|
|
20
|
+
assetNonCurrentIntangibleLessGoodwill: number | null;
|
|
21
|
+
liabilityTotal: number | null;
|
|
22
|
+
liabilityCurrent: number | null;
|
|
23
|
+
liabilityCurrentAccountsPayable: number | null;
|
|
24
|
+
liabilityCurrentDebt: number | null;
|
|
25
|
+
liabilityNonCurrent: number | null;
|
|
26
|
+
liabilityNonCurrentDebt: number | null;
|
|
27
|
+
equityTotal: number | null;
|
|
28
|
+
equityRetainedEarnings: number | null;
|
|
29
|
+
equityStockPreferred: number | null;
|
|
30
|
+
sharesOutstanding: number | null;
|
|
31
|
+
sharesOutstandingDiluted: number | null;
|
|
32
|
+
eps: number | null;
|
|
33
|
+
epsDiluted: number | null;
|
|
34
|
+
ebit: number | null;
|
|
35
|
+
ebitda: number | null;
|
|
36
|
+
profitGross: number | null;
|
|
37
|
+
revenueTotal: number | null;
|
|
38
|
+
revenueCost: number | null;
|
|
39
|
+
revenueOperating: number | null;
|
|
40
|
+
expenseTotal: number | null;
|
|
41
|
+
expenseOperating: number | null;
|
|
42
|
+
expenseResearchDevelopment: number | null;
|
|
43
|
+
expenseInterest: number | null;
|
|
44
|
+
expenseDepreciation: number | null;
|
|
45
|
+
expenseTax: number | null;
|
|
46
|
+
expenseDepreciationAccumulated: number | null;
|
|
47
|
+
expenseStockCompensation: number | null;
|
|
48
|
+
expenseNonCashOther: number | null;
|
|
49
|
+
incomeOperating: number | null;
|
|
50
|
+
incomeNet: number | null;
|
|
51
|
+
cashFlowFree: number | null;
|
|
52
|
+
cashFlowDividendsPaid: number | null;
|
|
53
|
+
cashFlowDividendsPaidPreferred: number | null;
|
|
54
|
+
cashFlowCapex: number | null;
|
|
55
|
+
cashFlowOperating: number | null;
|
|
56
|
+
cashFlowDeferredTax: number | null;
|
|
57
|
+
cashFlowWorkingCapitalNonCash: number | null;
|
|
58
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
interface Address {
|
|
2
|
+
street1: string;
|
|
3
|
+
street2: string | null;
|
|
4
|
+
city: string;
|
|
5
|
+
stateOrCountry: string;
|
|
6
|
+
zipCode: string;
|
|
7
|
+
stateOrCountryDescription: string;
|
|
8
|
+
}
|
|
9
|
+
interface AddressList {
|
|
10
|
+
mailing: Address;
|
|
11
|
+
business: Address;
|
|
12
|
+
}
|
|
13
|
+
interface FormerNameData {
|
|
14
|
+
name: string;
|
|
15
|
+
from: string;
|
|
16
|
+
to: string;
|
|
17
|
+
}
|
|
18
|
+
interface FileData {
|
|
19
|
+
name: string;
|
|
20
|
+
filingCount: number;
|
|
21
|
+
filingFrom: string;
|
|
22
|
+
filingTo: string;
|
|
23
|
+
}
|
|
24
|
+
interface FilingListDetails {
|
|
25
|
+
accessionNumber: string[];
|
|
26
|
+
filingDate: string[];
|
|
27
|
+
reportDate: string[];
|
|
28
|
+
acceptanceDateTime: string[];
|
|
29
|
+
act: string[];
|
|
30
|
+
form: string[];
|
|
31
|
+
fileNumber: string[];
|
|
32
|
+
filmNumber: string[];
|
|
33
|
+
items: string[];
|
|
34
|
+
size: number[];
|
|
35
|
+
isXBRL: number[];
|
|
36
|
+
isInlineXBRL: number[];
|
|
37
|
+
primaryDocument: string[];
|
|
38
|
+
primaryDocDescription: string[];
|
|
39
|
+
}
|
|
40
|
+
interface FilingList {
|
|
41
|
+
recent: FilingListDetails;
|
|
42
|
+
files: FileData[];
|
|
43
|
+
}
|
|
44
|
+
export interface SubmissionList {
|
|
45
|
+
cik: number;
|
|
46
|
+
entityType: string;
|
|
47
|
+
sic: string;
|
|
48
|
+
sicDescription: string;
|
|
49
|
+
/** 1 or 0 */
|
|
50
|
+
insiderTransactionForOwnerExists: number;
|
|
51
|
+
/** 1 or 0 */
|
|
52
|
+
insiderTransactionForIssuerExists: number;
|
|
53
|
+
name: string;
|
|
54
|
+
tickers: string[];
|
|
55
|
+
exchanges: string[];
|
|
56
|
+
ein: string;
|
|
57
|
+
description: string;
|
|
58
|
+
website: string;
|
|
59
|
+
investorWebsite: string;
|
|
60
|
+
category: string;
|
|
61
|
+
fiscalYearEnd: string;
|
|
62
|
+
stateOfIncorporation: string;
|
|
63
|
+
stateOfIncorporationDescription: string;
|
|
64
|
+
addresses: AddressList;
|
|
65
|
+
phone: string;
|
|
66
|
+
flags: string;
|
|
67
|
+
formerNames: FormerNameData[];
|
|
68
|
+
filings: FilingList;
|
|
69
|
+
}
|
|
70
|
+
export {};
|