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.
Files changed (84) hide show
  1. package/README.md +27 -0
  2. package/build/index.d.ts +21 -0
  3. package/build/index.js +26 -0
  4. package/build/services/FactFileReader/FactFileReader.d.ts +30 -0
  5. package/build/services/FactFileReader/FactFileReader.js +36 -0
  6. package/build/services/FactFileReader/index.d.ts +2 -0
  7. package/build/services/FactFileReader/index.js +4 -0
  8. package/build/services/ReportParser/FactIterator.d.ts +18 -0
  9. package/build/services/ReportParser/FactIterator.js +35 -0
  10. package/build/services/ReportParser/PropertyResolver.d.ts +25 -0
  11. package/build/services/ReportParser/PropertyResolver.js +44 -0
  12. package/build/services/ReportParser/ReportParser.d.ts +53 -0
  13. package/build/services/ReportParser/ReportParser.js +97 -0
  14. package/build/services/ReportParser/ReportRawParser.d.ts +34 -0
  15. package/build/services/ReportParser/ReportRawParser.js +154 -0
  16. package/build/services/ReportParser/ReportTranslatedProxy.d.ts +9 -0
  17. package/build/services/ReportParser/ReportTranslatedProxy.js +40 -0
  18. package/build/services/ReportParser/ReportWrapper.d.ts +27 -0
  19. package/build/services/ReportParser/ReportWrapper.js +89 -0
  20. package/build/services/ReportParser/index.d.ts +2 -0
  21. package/build/services/ReportParser/index.js +4 -0
  22. package/build/services/ReportParser/resolvers/helpers.d.ts +21 -0
  23. package/build/services/ReportParser/resolvers/helpers.js +49 -0
  24. package/build/services/ReportParser/resolvers/index.d.ts +31 -0
  25. package/build/services/ReportParser/resolvers/index.js +33 -0
  26. package/build/services/ReportParser/resolvers/resolve-asset-current.d.ts +2 -0
  27. package/build/services/ReportParser/resolvers/resolve-asset-current.js +20 -0
  28. package/build/services/ReportParser/resolvers/resolve-asset-non-current-ppe-gross.d.ts +2 -0
  29. package/build/services/ReportParser/resolvers/resolve-asset-non-current-ppe-gross.js +20 -0
  30. package/build/services/ReportParser/resolvers/resolve-cash-flow-capex.d.ts +5 -0
  31. package/build/services/ReportParser/resolvers/resolve-cash-flow-capex.js +37 -0
  32. package/build/services/ReportParser/resolvers/resolve-cash-flow-free.d.ts +2 -0
  33. package/build/services/ReportParser/resolvers/resolve-cash-flow-free.js +23 -0
  34. package/build/services/ReportParser/resolvers/resolve-cash-flow-operating.d.ts +2 -0
  35. package/build/services/ReportParser/resolvers/resolve-cash-flow-operating.js +39 -0
  36. package/build/services/ReportParser/resolvers/resolve-cash-flow-working-capital-non-cash.d.ts +2 -0
  37. package/build/services/ReportParser/resolvers/resolve-cash-flow-working-capital-non-cash.js +22 -0
  38. package/build/services/ReportParser/resolvers/resolve-ebit.d.ts +2 -0
  39. package/build/services/ReportParser/resolvers/resolve-ebit.js +25 -0
  40. package/build/services/ReportParser/resolvers/resolve-expense-depreciation.d.ts +2 -0
  41. package/build/services/ReportParser/resolvers/resolve-expense-depreciation.js +96 -0
  42. package/build/services/ReportParser/resolvers/resolve-expense-operating.d.ts +2 -0
  43. package/build/services/ReportParser/resolvers/resolve-expense-operating.js +22 -0
  44. package/build/services/ReportParser/resolvers/resolve-expense-total.d.ts +2 -0
  45. package/build/services/ReportParser/resolvers/resolve-expense-total.js +20 -0
  46. package/build/services/ReportParser/resolvers/resolve-fiscal-year-cumulative-properties.d.ts +5 -0
  47. package/build/services/ReportParser/resolvers/resolve-fiscal-year-cumulative-properties.js +70 -0
  48. package/build/services/ReportParser/resolvers/resolve-liability-current.d.ts +2 -0
  49. package/build/services/ReportParser/resolvers/resolve-liability-current.js +20 -0
  50. package/build/services/ReportParser/resolvers/resolve-q4-fiscal-year-matching-properties.d.ts +5 -0
  51. package/build/services/ReportParser/resolvers/resolve-q4-fiscal-year-matching-properties.js +24 -0
  52. package/build/services/ReportParser/resolvers/resolve-revenue-total.d.ts +2 -0
  53. package/build/services/ReportParser/resolvers/resolve-revenue-total.js +20 -0
  54. package/build/services/SecEdgarApi/Client.d.ts +44 -0
  55. package/build/services/SecEdgarApi/Client.js +104 -0
  56. package/build/services/SecEdgarApi/Downloader.d.ts +26 -0
  57. package/build/services/SecEdgarApi/Downloader.js +102 -0
  58. package/build/services/SecEdgarApi/FactsDownloader.d.ts +30 -0
  59. package/build/services/SecEdgarApi/FactsDownloader.js +125 -0
  60. package/build/services/SecEdgarApi/SecConnector.d.ts +47 -0
  61. package/build/services/SecEdgarApi/SecConnector.js +143 -0
  62. package/build/services/SecEdgarApi/SecEdgarApi.d.ts +92 -0
  63. package/build/services/SecEdgarApi/SecEdgarApi.js +184 -0
  64. package/build/services/SecEdgarApi/Throttler.d.ts +34 -0
  65. package/build/services/SecEdgarApi/Throttler.js +111 -0
  66. package/build/services/SecEdgarApi/Unzipper.d.ts +40 -0
  67. package/build/services/SecEdgarApi/Unzipper.js +40 -0
  68. package/build/services/SecEdgarApi/index.d.ts +3 -0
  69. package/build/services/SecEdgarApi/index.js +19 -0
  70. package/build/types/company-facts.type.d.ts +53 -0
  71. package/build/types/company-facts.type.js +2 -0
  72. package/build/types/index.d.ts +4 -0
  73. package/build/types/index.js +20 -0
  74. package/build/types/report-raw.type.d.ts +23 -0
  75. package/build/types/report-raw.type.js +2 -0
  76. package/build/types/report-translated.type.d.ts +58 -0
  77. package/build/types/report-translated.type.js +2 -0
  78. package/build/types/submission.type.d.ts +70 -0
  79. package/build/types/submission.type.js +2 -0
  80. package/build/util/cik-by-symbol.d.ts +5 -0
  81. package/build/util/cik-by-symbol.js +9632 -0
  82. package/build/util/key-translations.d.ts +7 -0
  83. package/build/util/key-translations.js +174 -0
  84. 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,3 @@
1
+ import SecEdgarApi from './SecEdgarApi';
2
+ export default SecEdgarApi;
3
+ export * from './SecEdgarApi';
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export * from './company-facts.type';
2
+ export * from './report-raw.type';
3
+ export * from './report-translated.type';
4
+ export * from './submission.type';
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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 {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CIK number by symbol from SEC website
3
+ */
4
+ declare const cikBySymbol: Record<string, number>;
5
+ export default cikBySymbol;