zklighter-perps 1.0.281 → 1.0.282
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/.circleci/openapi_postprocess.py +65 -0
- package/models/StockBalanceSheet.ts +6 -6
- package/models/StockCashFlowStatement.ts +3 -3
- package/models/StockFinancialEarningsEvent.ts +4 -5
- package/models/StockFinancialHistoricalEarning.ts +4 -4
- package/models/StockFinancialPeriod.ts +2 -3
- package/models/StockFinancialProfile.ts +11 -16
- package/models/StockIncomeStatement.ts +7 -7
- package/models/UpcomingEarning.ts +2 -3
- package/openapi.json +47 -32
- package/package.json +1 -1
|
@@ -230,6 +230,67 @@ for defn in data["definitions"].values():
|
|
|
230
230
|
if prop.get("type") == "array" and "enum" in prop:
|
|
231
231
|
prop["items"]["enum"] = prop.pop("enum")
|
|
232
232
|
|
|
233
|
+
# goctl-swagger does not preserve Go pointer types. Restore nullability for
|
|
234
|
+
# stock-financial fields that are always present but may contain JSON null.
|
|
235
|
+
nullable_properties = {
|
|
236
|
+
"StockBalanceSheet": {
|
|
237
|
+
"cash_and_cash_equivalents",
|
|
238
|
+
"total_assets",
|
|
239
|
+
"total_liabilities",
|
|
240
|
+
"total_equity",
|
|
241
|
+
"total_debt",
|
|
242
|
+
"net_debt",
|
|
243
|
+
},
|
|
244
|
+
"StockCashFlowStatement": {
|
|
245
|
+
"operating_cash_flow",
|
|
246
|
+
"capital_expenditure",
|
|
247
|
+
"free_cash_flow",
|
|
248
|
+
},
|
|
249
|
+
"StockFinancialEarningsEvent": {
|
|
250
|
+
"eps_estimated",
|
|
251
|
+
"revenue_estimated",
|
|
252
|
+
},
|
|
253
|
+
"StockFinancialHistoricalEarning": {
|
|
254
|
+
"eps_estimated",
|
|
255
|
+
"eps_actual",
|
|
256
|
+
"revenue_estimated",
|
|
257
|
+
"revenue_actual",
|
|
258
|
+
},
|
|
259
|
+
"StockFinancialProfile": {"market_cap"},
|
|
260
|
+
"StockIncomeStatement": {
|
|
261
|
+
"revenue",
|
|
262
|
+
"gross_profit",
|
|
263
|
+
"operating_income",
|
|
264
|
+
"ebitda",
|
|
265
|
+
"net_income",
|
|
266
|
+
"eps",
|
|
267
|
+
"eps_diluted",
|
|
268
|
+
},
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
for definition_name, property_names in nullable_properties.items():
|
|
272
|
+
properties = (
|
|
273
|
+
data["definitions"].get(definition_name, {}).get("properties", {})
|
|
274
|
+
)
|
|
275
|
+
for property_name in property_names:
|
|
276
|
+
if property_name in properties:
|
|
277
|
+
properties[property_name]["x-nullable"] = True
|
|
278
|
+
|
|
279
|
+
# These fields use `omitempty` in server.api and are absent when FMP has no
|
|
280
|
+
# value. They are optional rather than nullable in the generated SDK.
|
|
281
|
+
optional_properties = {
|
|
282
|
+
"StockFinancialEarningsEvent": {"timing"},
|
|
283
|
+
"StockFinancialPeriod": {"reported_currency"},
|
|
284
|
+
"StockFinancialProfile": {
|
|
285
|
+
"currency",
|
|
286
|
+
"exchange",
|
|
287
|
+
"industry",
|
|
288
|
+
"sector",
|
|
289
|
+
"country",
|
|
290
|
+
},
|
|
291
|
+
"UpcomingEarning": {"timing"},
|
|
292
|
+
}
|
|
293
|
+
|
|
233
294
|
for path in data["definitions"]:
|
|
234
295
|
if not path.startswith("Req"):
|
|
235
296
|
required_fields = list(data["definitions"][path]["properties"].keys())
|
|
@@ -282,6 +343,10 @@ for path in data["definitions"]:
|
|
|
282
343
|
if "maker_fee" in required_fields:
|
|
283
344
|
required_fields.remove("maker_fee")
|
|
284
345
|
|
|
346
|
+
for field in optional_properties.get(path, set()):
|
|
347
|
+
if field in required_fields:
|
|
348
|
+
required_fields.remove(field)
|
|
349
|
+
|
|
285
350
|
if len(required_fields) > 0:
|
|
286
351
|
data["definitions"][path]["required"] = required_fields
|
|
287
352
|
else:
|
|
@@ -24,37 +24,37 @@ export interface StockBalanceSheet {
|
|
|
24
24
|
* @type {number}
|
|
25
25
|
* @memberof StockBalanceSheet
|
|
26
26
|
*/
|
|
27
|
-
cash_and_cash_equivalents: number;
|
|
27
|
+
cash_and_cash_equivalents: number | null;
|
|
28
28
|
/**
|
|
29
29
|
*
|
|
30
30
|
* @type {number}
|
|
31
31
|
* @memberof StockBalanceSheet
|
|
32
32
|
*/
|
|
33
|
-
total_assets: number;
|
|
33
|
+
total_assets: number | null;
|
|
34
34
|
/**
|
|
35
35
|
*
|
|
36
36
|
* @type {number}
|
|
37
37
|
* @memberof StockBalanceSheet
|
|
38
38
|
*/
|
|
39
|
-
total_liabilities: number;
|
|
39
|
+
total_liabilities: number | null;
|
|
40
40
|
/**
|
|
41
41
|
*
|
|
42
42
|
* @type {number}
|
|
43
43
|
* @memberof StockBalanceSheet
|
|
44
44
|
*/
|
|
45
|
-
total_equity: number;
|
|
45
|
+
total_equity: number | null;
|
|
46
46
|
/**
|
|
47
47
|
*
|
|
48
48
|
* @type {number}
|
|
49
49
|
* @memberof StockBalanceSheet
|
|
50
50
|
*/
|
|
51
|
-
total_debt: number;
|
|
51
|
+
total_debt: number | null;
|
|
52
52
|
/**
|
|
53
53
|
*
|
|
54
54
|
* @type {number}
|
|
55
55
|
* @memberof StockBalanceSheet
|
|
56
56
|
*/
|
|
57
|
-
net_debt: number;
|
|
57
|
+
net_debt: number | null;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
/**
|
|
@@ -24,19 +24,19 @@ export interface StockCashFlowStatement {
|
|
|
24
24
|
* @type {number}
|
|
25
25
|
* @memberof StockCashFlowStatement
|
|
26
26
|
*/
|
|
27
|
-
operating_cash_flow: number;
|
|
27
|
+
operating_cash_flow: number | null;
|
|
28
28
|
/**
|
|
29
29
|
*
|
|
30
30
|
* @type {number}
|
|
31
31
|
* @memberof StockCashFlowStatement
|
|
32
32
|
*/
|
|
33
|
-
capital_expenditure: number;
|
|
33
|
+
capital_expenditure: number | null;
|
|
34
34
|
/**
|
|
35
35
|
*
|
|
36
36
|
* @type {number}
|
|
37
37
|
* @memberof StockCashFlowStatement
|
|
38
38
|
*/
|
|
39
|
-
free_cash_flow: number;
|
|
39
|
+
free_cash_flow: number | null;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/**
|
|
@@ -30,19 +30,19 @@ export interface StockFinancialEarningsEvent {
|
|
|
30
30
|
* @type {string}
|
|
31
31
|
* @memberof StockFinancialEarningsEvent
|
|
32
32
|
*/
|
|
33
|
-
timing
|
|
33
|
+
timing?: StockFinancialEarningsEventTimingEnum;
|
|
34
34
|
/**
|
|
35
35
|
*
|
|
36
36
|
* @type {number}
|
|
37
37
|
* @memberof StockFinancialEarningsEvent
|
|
38
38
|
*/
|
|
39
|
-
eps_estimated: number;
|
|
39
|
+
eps_estimated: number | null;
|
|
40
40
|
/**
|
|
41
41
|
*
|
|
42
42
|
* @type {number}
|
|
43
43
|
* @memberof StockFinancialEarningsEvent
|
|
44
44
|
*/
|
|
45
|
-
revenue_estimated: number;
|
|
45
|
+
revenue_estimated: number | null;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
|
|
@@ -61,7 +61,6 @@ export type StockFinancialEarningsEventTimingEnum = typeof StockFinancialEarning
|
|
|
61
61
|
*/
|
|
62
62
|
export function instanceOfStockFinancialEarningsEvent(value: object): value is StockFinancialEarningsEvent {
|
|
63
63
|
if (!('date' in value) || value['date'] === undefined) return false;
|
|
64
|
-
if (!('timing' in value) || value['timing'] === undefined) return false;
|
|
65
64
|
if (!('eps_estimated' in value) || value['eps_estimated'] === undefined) return false;
|
|
66
65
|
if (!('revenue_estimated' in value) || value['revenue_estimated'] === undefined) return false;
|
|
67
66
|
return true;
|
|
@@ -78,7 +77,7 @@ export function StockFinancialEarningsEventFromJSONTyped(json: any, ignoreDiscri
|
|
|
78
77
|
return {
|
|
79
78
|
|
|
80
79
|
'date': json['date'],
|
|
81
|
-
'timing': json['timing'],
|
|
80
|
+
'timing': json['timing'] == null ? undefined : json['timing'],
|
|
82
81
|
'eps_estimated': json['eps_estimated'],
|
|
83
82
|
'revenue_estimated': json['revenue_estimated'],
|
|
84
83
|
};
|
|
@@ -30,25 +30,25 @@ export interface StockFinancialHistoricalEarning {
|
|
|
30
30
|
* @type {number}
|
|
31
31
|
* @memberof StockFinancialHistoricalEarning
|
|
32
32
|
*/
|
|
33
|
-
eps_estimated: number;
|
|
33
|
+
eps_estimated: number | null;
|
|
34
34
|
/**
|
|
35
35
|
*
|
|
36
36
|
* @type {number}
|
|
37
37
|
* @memberof StockFinancialHistoricalEarning
|
|
38
38
|
*/
|
|
39
|
-
eps_actual: number;
|
|
39
|
+
eps_actual: number | null;
|
|
40
40
|
/**
|
|
41
41
|
*
|
|
42
42
|
* @type {number}
|
|
43
43
|
* @memberof StockFinancialHistoricalEarning
|
|
44
44
|
*/
|
|
45
|
-
revenue_estimated: number;
|
|
45
|
+
revenue_estimated: number | null;
|
|
46
46
|
/**
|
|
47
47
|
*
|
|
48
48
|
* @type {number}
|
|
49
49
|
* @memberof StockFinancialHistoricalEarning
|
|
50
50
|
*/
|
|
51
|
-
revenue_actual: number;
|
|
51
|
+
revenue_actual: number | null;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -61,7 +61,7 @@ export interface StockFinancialPeriod {
|
|
|
61
61
|
* @type {string}
|
|
62
62
|
* @memberof StockFinancialPeriod
|
|
63
63
|
*/
|
|
64
|
-
reported_currency
|
|
64
|
+
reported_currency?: string;
|
|
65
65
|
/**
|
|
66
66
|
*
|
|
67
67
|
* @type {StockIncomeStatement}
|
|
@@ -89,7 +89,6 @@ export function instanceOfStockFinancialPeriod(value: object): value is StockFin
|
|
|
89
89
|
if (!('date' in value) || value['date'] === undefined) return false;
|
|
90
90
|
if (!('fiscal_year' in value) || value['fiscal_year'] === undefined) return false;
|
|
91
91
|
if (!('period' in value) || value['period'] === undefined) return false;
|
|
92
|
-
if (!('reported_currency' in value) || value['reported_currency'] === undefined) return false;
|
|
93
92
|
if (!('income' in value) || value['income'] === undefined) return false;
|
|
94
93
|
if (!('balance_sheet' in value) || value['balance_sheet'] === undefined) return false;
|
|
95
94
|
if (!('cash_flow' in value) || value['cash_flow'] === undefined) return false;
|
|
@@ -109,7 +108,7 @@ export function StockFinancialPeriodFromJSONTyped(json: any, ignoreDiscriminator
|
|
|
109
108
|
'date': json['date'],
|
|
110
109
|
'fiscal_year': json['fiscal_year'],
|
|
111
110
|
'period': json['period'],
|
|
112
|
-
'reported_currency': json['reported_currency'],
|
|
111
|
+
'reported_currency': json['reported_currency'] == null ? undefined : json['reported_currency'],
|
|
113
112
|
'income': StockIncomeStatementFromJSON(json['income']),
|
|
114
113
|
'balance_sheet': StockBalanceSheetFromJSON(json['balance_sheet']),
|
|
115
114
|
'cash_flow': StockCashFlowStatementFromJSON(json['cash_flow']),
|
|
@@ -24,48 +24,43 @@ export interface StockFinancialProfile {
|
|
|
24
24
|
* @type {string}
|
|
25
25
|
* @memberof StockFinancialProfile
|
|
26
26
|
*/
|
|
27
|
-
currency
|
|
27
|
+
currency?: string;
|
|
28
28
|
/**
|
|
29
29
|
*
|
|
30
30
|
* @type {string}
|
|
31
31
|
* @memberof StockFinancialProfile
|
|
32
32
|
*/
|
|
33
|
-
exchange
|
|
33
|
+
exchange?: string;
|
|
34
34
|
/**
|
|
35
35
|
*
|
|
36
36
|
* @type {string}
|
|
37
37
|
* @memberof StockFinancialProfile
|
|
38
38
|
*/
|
|
39
|
-
industry
|
|
39
|
+
industry?: string;
|
|
40
40
|
/**
|
|
41
41
|
*
|
|
42
42
|
* @type {string}
|
|
43
43
|
* @memberof StockFinancialProfile
|
|
44
44
|
*/
|
|
45
|
-
sector
|
|
45
|
+
sector?: string;
|
|
46
46
|
/**
|
|
47
47
|
*
|
|
48
48
|
* @type {string}
|
|
49
49
|
* @memberof StockFinancialProfile
|
|
50
50
|
*/
|
|
51
|
-
country
|
|
51
|
+
country?: string;
|
|
52
52
|
/**
|
|
53
53
|
*
|
|
54
54
|
* @type {number}
|
|
55
55
|
* @memberof StockFinancialProfile
|
|
56
56
|
*/
|
|
57
|
-
market_cap: number;
|
|
57
|
+
market_cap: number | null;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
61
|
* Check if a given object implements the StockFinancialProfile interface.
|
|
62
62
|
*/
|
|
63
63
|
export function instanceOfStockFinancialProfile(value: object): value is StockFinancialProfile {
|
|
64
|
-
if (!('currency' in value) || value['currency'] === undefined) return false;
|
|
65
|
-
if (!('exchange' in value) || value['exchange'] === undefined) return false;
|
|
66
|
-
if (!('industry' in value) || value['industry'] === undefined) return false;
|
|
67
|
-
if (!('sector' in value) || value['sector'] === undefined) return false;
|
|
68
|
-
if (!('country' in value) || value['country'] === undefined) return false;
|
|
69
64
|
if (!('market_cap' in value) || value['market_cap'] === undefined) return false;
|
|
70
65
|
return true;
|
|
71
66
|
}
|
|
@@ -80,11 +75,11 @@ export function StockFinancialProfileFromJSONTyped(json: any, ignoreDiscriminato
|
|
|
80
75
|
}
|
|
81
76
|
return {
|
|
82
77
|
|
|
83
|
-
'currency': json['currency'],
|
|
84
|
-
'exchange': json['exchange'],
|
|
85
|
-
'industry': json['industry'],
|
|
86
|
-
'sector': json['sector'],
|
|
87
|
-
'country': json['country'],
|
|
78
|
+
'currency': json['currency'] == null ? undefined : json['currency'],
|
|
79
|
+
'exchange': json['exchange'] == null ? undefined : json['exchange'],
|
|
80
|
+
'industry': json['industry'] == null ? undefined : json['industry'],
|
|
81
|
+
'sector': json['sector'] == null ? undefined : json['sector'],
|
|
82
|
+
'country': json['country'] == null ? undefined : json['country'],
|
|
88
83
|
'market_cap': json['market_cap'],
|
|
89
84
|
};
|
|
90
85
|
}
|
|
@@ -24,43 +24,43 @@ export interface StockIncomeStatement {
|
|
|
24
24
|
* @type {number}
|
|
25
25
|
* @memberof StockIncomeStatement
|
|
26
26
|
*/
|
|
27
|
-
revenue: number;
|
|
27
|
+
revenue: number | null;
|
|
28
28
|
/**
|
|
29
29
|
*
|
|
30
30
|
* @type {number}
|
|
31
31
|
* @memberof StockIncomeStatement
|
|
32
32
|
*/
|
|
33
|
-
gross_profit: number;
|
|
33
|
+
gross_profit: number | null;
|
|
34
34
|
/**
|
|
35
35
|
*
|
|
36
36
|
* @type {number}
|
|
37
37
|
* @memberof StockIncomeStatement
|
|
38
38
|
*/
|
|
39
|
-
operating_income: number;
|
|
39
|
+
operating_income: number | null;
|
|
40
40
|
/**
|
|
41
41
|
*
|
|
42
42
|
* @type {number}
|
|
43
43
|
* @memberof StockIncomeStatement
|
|
44
44
|
*/
|
|
45
|
-
ebitda: number;
|
|
45
|
+
ebitda: number | null;
|
|
46
46
|
/**
|
|
47
47
|
*
|
|
48
48
|
* @type {number}
|
|
49
49
|
* @memberof StockIncomeStatement
|
|
50
50
|
*/
|
|
51
|
-
net_income: number;
|
|
51
|
+
net_income: number | null;
|
|
52
52
|
/**
|
|
53
53
|
*
|
|
54
54
|
* @type {number}
|
|
55
55
|
* @memberof StockIncomeStatement
|
|
56
56
|
*/
|
|
57
|
-
eps: number;
|
|
57
|
+
eps: number | null;
|
|
58
58
|
/**
|
|
59
59
|
*
|
|
60
60
|
* @type {number}
|
|
61
61
|
* @memberof StockIncomeStatement
|
|
62
62
|
*/
|
|
63
|
-
eps_diluted: number;
|
|
63
|
+
eps_diluted: number | null;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
/**
|
|
@@ -36,7 +36,7 @@ export interface UpcomingEarning {
|
|
|
36
36
|
* @type {string}
|
|
37
37
|
* @memberof UpcomingEarning
|
|
38
38
|
*/
|
|
39
|
-
timing
|
|
39
|
+
timing?: UpcomingEarningTimingEnum;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
|
|
@@ -56,7 +56,6 @@ export type UpcomingEarningTimingEnum = typeof UpcomingEarningTimingEnum[keyof t
|
|
|
56
56
|
export function instanceOfUpcomingEarning(value: object): value is UpcomingEarning {
|
|
57
57
|
if (!('market_id' in value) || value['market_id'] === undefined) return false;
|
|
58
58
|
if (!('date' in value) || value['date'] === undefined) return false;
|
|
59
|
-
if (!('timing' in value) || value['timing'] === undefined) return false;
|
|
60
59
|
return true;
|
|
61
60
|
}
|
|
62
61
|
|
|
@@ -72,7 +71,7 @@ export function UpcomingEarningFromJSONTyped(json: any, ignoreDiscriminator: boo
|
|
|
72
71
|
|
|
73
72
|
'market_id': json['market_id'],
|
|
74
73
|
'date': json['date'],
|
|
75
|
-
'timing': json['timing'],
|
|
74
|
+
'timing': json['timing'] == null ? undefined : json['timing'],
|
|
76
75
|
};
|
|
77
76
|
}
|
|
78
77
|
|
package/openapi.json
CHANGED
|
@@ -14678,27 +14678,33 @@
|
|
|
14678
14678
|
"properties": {
|
|
14679
14679
|
"cash_and_cash_equivalents": {
|
|
14680
14680
|
"type": "number",
|
|
14681
|
-
"format": "double"
|
|
14681
|
+
"format": "double",
|
|
14682
|
+
"x-nullable": true
|
|
14682
14683
|
},
|
|
14683
14684
|
"total_assets": {
|
|
14684
14685
|
"type": "number",
|
|
14685
|
-
"format": "double"
|
|
14686
|
+
"format": "double",
|
|
14687
|
+
"x-nullable": true
|
|
14686
14688
|
},
|
|
14687
14689
|
"total_liabilities": {
|
|
14688
14690
|
"type": "number",
|
|
14689
|
-
"format": "double"
|
|
14691
|
+
"format": "double",
|
|
14692
|
+
"x-nullable": true
|
|
14690
14693
|
},
|
|
14691
14694
|
"total_equity": {
|
|
14692
14695
|
"type": "number",
|
|
14693
|
-
"format": "double"
|
|
14696
|
+
"format": "double",
|
|
14697
|
+
"x-nullable": true
|
|
14694
14698
|
},
|
|
14695
14699
|
"total_debt": {
|
|
14696
14700
|
"type": "number",
|
|
14697
|
-
"format": "double"
|
|
14701
|
+
"format": "double",
|
|
14702
|
+
"x-nullable": true
|
|
14698
14703
|
},
|
|
14699
14704
|
"net_debt": {
|
|
14700
14705
|
"type": "number",
|
|
14701
|
-
"format": "double"
|
|
14706
|
+
"format": "double",
|
|
14707
|
+
"x-nullable": true
|
|
14702
14708
|
}
|
|
14703
14709
|
},
|
|
14704
14710
|
"title": "StockBalanceSheet",
|
|
@@ -14716,15 +14722,18 @@
|
|
|
14716
14722
|
"properties": {
|
|
14717
14723
|
"operating_cash_flow": {
|
|
14718
14724
|
"type": "number",
|
|
14719
|
-
"format": "double"
|
|
14725
|
+
"format": "double",
|
|
14726
|
+
"x-nullable": true
|
|
14720
14727
|
},
|
|
14721
14728
|
"capital_expenditure": {
|
|
14722
14729
|
"type": "number",
|
|
14723
|
-
"format": "double"
|
|
14730
|
+
"format": "double",
|
|
14731
|
+
"x-nullable": true
|
|
14724
14732
|
},
|
|
14725
14733
|
"free_cash_flow": {
|
|
14726
14734
|
"type": "number",
|
|
14727
|
-
"format": "double"
|
|
14735
|
+
"format": "double",
|
|
14736
|
+
"x-nullable": true
|
|
14728
14737
|
}
|
|
14729
14738
|
},
|
|
14730
14739
|
"title": "StockCashFlowStatement",
|
|
@@ -14792,17 +14801,18 @@
|
|
|
14792
14801
|
},
|
|
14793
14802
|
"eps_estimated": {
|
|
14794
14803
|
"type": "number",
|
|
14795
|
-
"format": "double"
|
|
14804
|
+
"format": "double",
|
|
14805
|
+
"x-nullable": true
|
|
14796
14806
|
},
|
|
14797
14807
|
"revenue_estimated": {
|
|
14798
14808
|
"type": "number",
|
|
14799
|
-
"format": "double"
|
|
14809
|
+
"format": "double",
|
|
14810
|
+
"x-nullable": true
|
|
14800
14811
|
}
|
|
14801
14812
|
},
|
|
14802
14813
|
"title": "StockFinancialEarningsEvent",
|
|
14803
14814
|
"required": [
|
|
14804
14815
|
"date",
|
|
14805
|
-
"timing",
|
|
14806
14816
|
"eps_estimated",
|
|
14807
14817
|
"revenue_estimated"
|
|
14808
14818
|
]
|
|
@@ -14815,19 +14825,23 @@
|
|
|
14815
14825
|
},
|
|
14816
14826
|
"eps_estimated": {
|
|
14817
14827
|
"type": "number",
|
|
14818
|
-
"format": "double"
|
|
14828
|
+
"format": "double",
|
|
14829
|
+
"x-nullable": true
|
|
14819
14830
|
},
|
|
14820
14831
|
"eps_actual": {
|
|
14821
14832
|
"type": "number",
|
|
14822
|
-
"format": "double"
|
|
14833
|
+
"format": "double",
|
|
14834
|
+
"x-nullable": true
|
|
14823
14835
|
},
|
|
14824
14836
|
"revenue_estimated": {
|
|
14825
14837
|
"type": "number",
|
|
14826
|
-
"format": "double"
|
|
14838
|
+
"format": "double",
|
|
14839
|
+
"x-nullable": true
|
|
14827
14840
|
},
|
|
14828
14841
|
"revenue_actual": {
|
|
14829
14842
|
"type": "number",
|
|
14830
|
-
"format": "double"
|
|
14843
|
+
"format": "double",
|
|
14844
|
+
"x-nullable": true
|
|
14831
14845
|
}
|
|
14832
14846
|
},
|
|
14833
14847
|
"title": "StockFinancialHistoricalEarning",
|
|
@@ -14870,7 +14884,6 @@
|
|
|
14870
14884
|
"date",
|
|
14871
14885
|
"fiscal_year",
|
|
14872
14886
|
"period",
|
|
14873
|
-
"reported_currency",
|
|
14874
14887
|
"income",
|
|
14875
14888
|
"balance_sheet",
|
|
14876
14889
|
"cash_flow"
|
|
@@ -14896,16 +14909,12 @@
|
|
|
14896
14909
|
},
|
|
14897
14910
|
"market_cap": {
|
|
14898
14911
|
"type": "number",
|
|
14899
|
-
"format": "double"
|
|
14912
|
+
"format": "double",
|
|
14913
|
+
"x-nullable": true
|
|
14900
14914
|
}
|
|
14901
14915
|
},
|
|
14902
14916
|
"title": "StockFinancialProfile",
|
|
14903
14917
|
"required": [
|
|
14904
|
-
"currency",
|
|
14905
|
-
"exchange",
|
|
14906
|
-
"industry",
|
|
14907
|
-
"sector",
|
|
14908
|
-
"country",
|
|
14909
14918
|
"market_cap"
|
|
14910
14919
|
]
|
|
14911
14920
|
},
|
|
@@ -14936,31 +14945,38 @@
|
|
|
14936
14945
|
"properties": {
|
|
14937
14946
|
"revenue": {
|
|
14938
14947
|
"type": "number",
|
|
14939
|
-
"format": "double"
|
|
14948
|
+
"format": "double",
|
|
14949
|
+
"x-nullable": true
|
|
14940
14950
|
},
|
|
14941
14951
|
"gross_profit": {
|
|
14942
14952
|
"type": "number",
|
|
14943
|
-
"format": "double"
|
|
14953
|
+
"format": "double",
|
|
14954
|
+
"x-nullable": true
|
|
14944
14955
|
},
|
|
14945
14956
|
"operating_income": {
|
|
14946
14957
|
"type": "number",
|
|
14947
|
-
"format": "double"
|
|
14958
|
+
"format": "double",
|
|
14959
|
+
"x-nullable": true
|
|
14948
14960
|
},
|
|
14949
14961
|
"ebitda": {
|
|
14950
14962
|
"type": "number",
|
|
14951
|
-
"format": "double"
|
|
14963
|
+
"format": "double",
|
|
14964
|
+
"x-nullable": true
|
|
14952
14965
|
},
|
|
14953
14966
|
"net_income": {
|
|
14954
14967
|
"type": "number",
|
|
14955
|
-
"format": "double"
|
|
14968
|
+
"format": "double",
|
|
14969
|
+
"x-nullable": true
|
|
14956
14970
|
},
|
|
14957
14971
|
"eps": {
|
|
14958
14972
|
"type": "number",
|
|
14959
|
-
"format": "double"
|
|
14973
|
+
"format": "double",
|
|
14974
|
+
"x-nullable": true
|
|
14960
14975
|
},
|
|
14961
14976
|
"eps_diluted": {
|
|
14962
14977
|
"type": "number",
|
|
14963
|
-
"format": "double"
|
|
14978
|
+
"format": "double",
|
|
14979
|
+
"x-nullable": true
|
|
14964
14980
|
}
|
|
14965
14981
|
},
|
|
14966
14982
|
"title": "StockIncomeStatement",
|
|
@@ -15937,8 +15953,7 @@
|
|
|
15937
15953
|
"title": "UpcomingEarning",
|
|
15938
15954
|
"required": [
|
|
15939
15955
|
"market_id",
|
|
15940
|
-
"date"
|
|
15941
|
-
"timing"
|
|
15956
|
+
"date"
|
|
15942
15957
|
]
|
|
15943
15958
|
},
|
|
15944
15959
|
"UpcomingEarnings": {
|