gdelt-ts-client 1.0.0
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 +455 -0
- package/dist/client.d.ts +228 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +478 -0
- package/dist/client.js.map +1 -0
- package/dist/constants/index.d.ts +184 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +193 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/api-parameters.d.ts +201 -0
- package/dist/interfaces/api-parameters.d.ts.map +1 -0
- package/dist/interfaces/api-parameters.js +3 -0
- package/dist/interfaces/api-parameters.js.map +1 -0
- package/dist/interfaces/api-responses.d.ts +258 -0
- package/dist/interfaces/api-responses.d.ts.map +1 -0
- package/dist/interfaces/api-responses.js +6 -0
- package/dist/interfaces/api-responses.js.map +1 -0
- package/dist/types/enhanced-types.d.ts +227 -0
- package/dist/types/enhanced-types.d.ts.map +1 -0
- package/dist/types/enhanced-types.js +89 -0
- package/dist/types/enhanced-types.js.map +1 -0
- package/dist/types/query-builder.d.ts +252 -0
- package/dist/types/query-builder.d.ts.map +1 -0
- package/dist/types/query-builder.js +458 -0
- package/dist/types/query-builder.js.map +1 -0
- package/dist/types/type-guards.d.ts +110 -0
- package/dist/types/type-guards.d.ts.map +1 -0
- package/dist/types/type-guards.js +271 -0
- package/dist/types/type-guards.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/types/query-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guards and response validation for the GDELT API client
|
|
3
|
+
*/
|
|
4
|
+
import { IArticleListResponse, IImageCollageResponse, ITimelineResponse, ITimelineBreakdownResponse, IToneChartResponse, IWordCloudResponse, IGdeltApiResponse } from '../interfaces/api-responses';
|
|
5
|
+
/**
|
|
6
|
+
* Type guard to check if a response is a valid GDELT API response
|
|
7
|
+
*/
|
|
8
|
+
export declare function isGdeltApiResponse(response: unknown): response is IGdeltApiResponse;
|
|
9
|
+
/**
|
|
10
|
+
* Type guard to check if a response has the expected object structure
|
|
11
|
+
*/
|
|
12
|
+
export declare function isValidResponseObject(response: unknown): response is Record<string, unknown>;
|
|
13
|
+
/**
|
|
14
|
+
* Type guard to validate an article list response
|
|
15
|
+
*/
|
|
16
|
+
export declare function isArticleListResponse(response: unknown): response is IArticleListResponse;
|
|
17
|
+
/**
|
|
18
|
+
* Type guard to validate an image collage response
|
|
19
|
+
*/
|
|
20
|
+
export declare function isImageCollageResponse(response: unknown): response is IImageCollageResponse;
|
|
21
|
+
/**
|
|
22
|
+
* Type guard to validate a timeline response
|
|
23
|
+
*/
|
|
24
|
+
export declare function isTimelineResponse(response: unknown): response is ITimelineResponse;
|
|
25
|
+
/**
|
|
26
|
+
* Type guard to validate a timeline breakdown response
|
|
27
|
+
*/
|
|
28
|
+
export declare function isTimelineBreakdownResponse(response: unknown): response is ITimelineBreakdownResponse;
|
|
29
|
+
/**
|
|
30
|
+
* Type guard to validate a tone chart response
|
|
31
|
+
*/
|
|
32
|
+
export declare function isToneChartResponse(response: unknown): response is IToneChartResponse;
|
|
33
|
+
/**
|
|
34
|
+
* Type guard to validate a word cloud response
|
|
35
|
+
*/
|
|
36
|
+
export declare function isWordCloudResponse(response: unknown): response is IWordCloudResponse;
|
|
37
|
+
/**
|
|
38
|
+
* Type guard to check if response is a string error message
|
|
39
|
+
*/
|
|
40
|
+
export declare function isStringErrorResponse(response: unknown): response is string;
|
|
41
|
+
/**
|
|
42
|
+
* Type guard to check if response is an error object
|
|
43
|
+
*/
|
|
44
|
+
export declare function isErrorResponse(response: unknown): response is {
|
|
45
|
+
error: string;
|
|
46
|
+
code?: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Validates that a response has the minimum required properties
|
|
50
|
+
*/
|
|
51
|
+
export declare function hasMinimumResponseStructure<T extends IGdeltApiResponse>(response: unknown, requiredFields: (keyof T)[]): response is T;
|
|
52
|
+
/**
|
|
53
|
+
* Validates array properties within a response
|
|
54
|
+
*/
|
|
55
|
+
export declare function validateArrayProperty<T>(obj: unknown, propertyName: string, itemValidator?: (item: unknown) => item is T): obj is Record<string, T[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Validates numeric properties within a response
|
|
58
|
+
*/
|
|
59
|
+
export declare function validateNumericProperty(obj: unknown, propertyName: string, min?: number, max?: number): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Type guard that validates and ensures response has count property
|
|
62
|
+
*/
|
|
63
|
+
export declare function ensureResponseWithCount<T extends IGdeltApiResponse>(response: T): response is T & {
|
|
64
|
+
count: number;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Type guard that validates and ensures response has articles array
|
|
68
|
+
*/
|
|
69
|
+
export declare function ensureResponseWithArticles<T extends IGdeltApiResponse>(response: T): response is T & {
|
|
70
|
+
articles: unknown[];
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Type guard that validates and ensures response has images array
|
|
74
|
+
*/
|
|
75
|
+
export declare function ensureResponseWithImages<T extends IGdeltApiResponse>(response: T): response is T & {
|
|
76
|
+
images: unknown[];
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Comprehensive response validator that checks multiple conditions
|
|
80
|
+
*/
|
|
81
|
+
export interface ResponseValidationOptions {
|
|
82
|
+
requireStatus?: boolean;
|
|
83
|
+
requireCount?: boolean;
|
|
84
|
+
allowNull?: boolean;
|
|
85
|
+
strictArrayValidation?: boolean;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Main response validation function with configurable options
|
|
89
|
+
*/
|
|
90
|
+
export declare function validateResponse<T extends IGdeltApiResponse>(response: unknown, typeGuard: (response: unknown) => response is T, options?: ResponseValidationOptions): response is T;
|
|
91
|
+
export declare const TypeGuards: {
|
|
92
|
+
readonly isGdeltApiResponse: typeof isGdeltApiResponse;
|
|
93
|
+
readonly isValidResponseObject: typeof isValidResponseObject;
|
|
94
|
+
readonly isArticleListResponse: typeof isArticleListResponse;
|
|
95
|
+
readonly isImageCollageResponse: typeof isImageCollageResponse;
|
|
96
|
+
readonly isTimelineResponse: typeof isTimelineResponse;
|
|
97
|
+
readonly isTimelineBreakdownResponse: typeof isTimelineBreakdownResponse;
|
|
98
|
+
readonly isToneChartResponse: typeof isToneChartResponse;
|
|
99
|
+
readonly isWordCloudResponse: typeof isWordCloudResponse;
|
|
100
|
+
readonly isStringErrorResponse: typeof isStringErrorResponse;
|
|
101
|
+
readonly isErrorResponse: typeof isErrorResponse;
|
|
102
|
+
readonly hasMinimumResponseStructure: typeof hasMinimumResponseStructure;
|
|
103
|
+
readonly validateArrayProperty: typeof validateArrayProperty;
|
|
104
|
+
readonly validateNumericProperty: typeof validateNumericProperty;
|
|
105
|
+
readonly ensureResponseWithCount: typeof ensureResponseWithCount;
|
|
106
|
+
readonly ensureResponseWithArticles: typeof ensureResponseWithArticles;
|
|
107
|
+
readonly ensureResponseWithImages: typeof ensureResponseWithImages;
|
|
108
|
+
readonly validateResponse: typeof validateResponse;
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=type-guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/types/type-guards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Type guards and response validation for the GDELT API client
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TypeGuards = void 0;
|
|
7
|
+
exports.isGdeltApiResponse = isGdeltApiResponse;
|
|
8
|
+
exports.isValidResponseObject = isValidResponseObject;
|
|
9
|
+
exports.isArticleListResponse = isArticleListResponse;
|
|
10
|
+
exports.isImageCollageResponse = isImageCollageResponse;
|
|
11
|
+
exports.isTimelineResponse = isTimelineResponse;
|
|
12
|
+
exports.isTimelineBreakdownResponse = isTimelineBreakdownResponse;
|
|
13
|
+
exports.isToneChartResponse = isToneChartResponse;
|
|
14
|
+
exports.isWordCloudResponse = isWordCloudResponse;
|
|
15
|
+
exports.isStringErrorResponse = isStringErrorResponse;
|
|
16
|
+
exports.isErrorResponse = isErrorResponse;
|
|
17
|
+
exports.hasMinimumResponseStructure = hasMinimumResponseStructure;
|
|
18
|
+
exports.validateArrayProperty = validateArrayProperty;
|
|
19
|
+
exports.validateNumericProperty = validateNumericProperty;
|
|
20
|
+
exports.ensureResponseWithCount = ensureResponseWithCount;
|
|
21
|
+
exports.ensureResponseWithArticles = ensureResponseWithArticles;
|
|
22
|
+
exports.ensureResponseWithImages = ensureResponseWithImages;
|
|
23
|
+
exports.validateResponse = validateResponse;
|
|
24
|
+
// ===== BASE RESPONSE TYPE GUARDS =====
|
|
25
|
+
/**
|
|
26
|
+
* Type guard to check if a response is a valid GDELT API response
|
|
27
|
+
*/
|
|
28
|
+
function isGdeltApiResponse(response) {
|
|
29
|
+
return (typeof response === 'object' &&
|
|
30
|
+
response !== null &&
|
|
31
|
+
'status' in response &&
|
|
32
|
+
typeof response.status === 'string');
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Type guard to check if a response has the expected object structure
|
|
36
|
+
*/
|
|
37
|
+
function isValidResponseObject(response) {
|
|
38
|
+
return typeof response === 'object' && response !== null;
|
|
39
|
+
}
|
|
40
|
+
// ===== SPECIFIC RESPONSE TYPE GUARDS =====
|
|
41
|
+
/**
|
|
42
|
+
* Type guard to validate an article list response
|
|
43
|
+
*/
|
|
44
|
+
function isArticleListResponse(response) {
|
|
45
|
+
if (!isGdeltApiResponse(response)) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const articleResponse = response;
|
|
49
|
+
return ('articles' in articleResponse &&
|
|
50
|
+
Array.isArray(articleResponse.articles) &&
|
|
51
|
+
// Validate that each article has required properties
|
|
52
|
+
articleResponse.articles.every(article => article === null || (typeof article === 'object' &&
|
|
53
|
+
article !== null &&
|
|
54
|
+
'url' in article &&
|
|
55
|
+
typeof article.url === 'string')));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Type guard to validate an image collage response
|
|
59
|
+
*/
|
|
60
|
+
function isImageCollageResponse(response) {
|
|
61
|
+
if (!isGdeltApiResponse(response)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const imageResponse = response;
|
|
65
|
+
return ('images' in imageResponse &&
|
|
66
|
+
Array.isArray(imageResponse.images) &&
|
|
67
|
+
// Validate that each image has required properties
|
|
68
|
+
imageResponse.images.every(image => image === null || (typeof image === 'object' &&
|
|
69
|
+
image !== null &&
|
|
70
|
+
'url' in image &&
|
|
71
|
+
typeof image.url === 'string')));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Type guard to validate a timeline response
|
|
75
|
+
*/
|
|
76
|
+
function isTimelineResponse(response) {
|
|
77
|
+
if (!isGdeltApiResponse(response)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
const timelineResponse = response;
|
|
81
|
+
return ('timeline' in timelineResponse &&
|
|
82
|
+
Array.isArray(timelineResponse.timeline) &&
|
|
83
|
+
// Validate that each timeline point has required properties
|
|
84
|
+
timelineResponse.timeline.every(point => point === null || (typeof point === 'object' &&
|
|
85
|
+
point !== null &&
|
|
86
|
+
'date' in point &&
|
|
87
|
+
'value' in point &&
|
|
88
|
+
typeof point.date === 'string' &&
|
|
89
|
+
typeof point.value === 'number')));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Type guard to validate a timeline breakdown response
|
|
93
|
+
*/
|
|
94
|
+
function isTimelineBreakdownResponse(response) {
|
|
95
|
+
if (!isGdeltApiResponse(response)) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
const breakdownResponse = response;
|
|
99
|
+
return ('data' in breakdownResponse &&
|
|
100
|
+
Array.isArray(breakdownResponse.data) &&
|
|
101
|
+
// Validate breakdown data structure
|
|
102
|
+
breakdownResponse.data.every(item => item === null || (typeof item === 'object' &&
|
|
103
|
+
item !== null &&
|
|
104
|
+
'date' in item &&
|
|
105
|
+
typeof item.date === 'string')));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Type guard to validate a tone chart response
|
|
109
|
+
*/
|
|
110
|
+
function isToneChartResponse(response) {
|
|
111
|
+
if (!isGdeltApiResponse(response)) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
const toneResponse = response;
|
|
115
|
+
return ('tonechart' in toneResponse &&
|
|
116
|
+
Array.isArray(toneResponse.tonechart) &&
|
|
117
|
+
// Validate that each tone chart entry has required properties
|
|
118
|
+
toneResponse.tonechart.every(entry => entry === null || (typeof entry === 'object' &&
|
|
119
|
+
entry !== null &&
|
|
120
|
+
'bin' in entry &&
|
|
121
|
+
'count' in entry &&
|
|
122
|
+
typeof entry.bin === 'number' &&
|
|
123
|
+
typeof entry.count === 'number')));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Type guard to validate a word cloud response
|
|
127
|
+
*/
|
|
128
|
+
function isWordCloudResponse(response) {
|
|
129
|
+
if (!isGdeltApiResponse(response)) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
const wordCloudResponse = response;
|
|
133
|
+
return ('words' in wordCloudResponse &&
|
|
134
|
+
Array.isArray(wordCloudResponse.words) &&
|
|
135
|
+
// Validate that each word entry has required properties
|
|
136
|
+
wordCloudResponse.words.every(word => word === null || (typeof word === 'object' &&
|
|
137
|
+
word !== null &&
|
|
138
|
+
'word' in word &&
|
|
139
|
+
'count' in word &&
|
|
140
|
+
typeof word.word === 'string' &&
|
|
141
|
+
typeof word.count === 'number')));
|
|
142
|
+
}
|
|
143
|
+
// ===== ENHANCED ERROR TYPE GUARDS =====
|
|
144
|
+
/**
|
|
145
|
+
* Type guard to check if response is a string error message
|
|
146
|
+
*/
|
|
147
|
+
function isStringErrorResponse(response) {
|
|
148
|
+
return typeof response === 'string';
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Type guard to check if response is an error object
|
|
152
|
+
*/
|
|
153
|
+
function isErrorResponse(response) {
|
|
154
|
+
return (typeof response === 'object' &&
|
|
155
|
+
response !== null &&
|
|
156
|
+
'error' in response &&
|
|
157
|
+
typeof response.error === 'string');
|
|
158
|
+
}
|
|
159
|
+
// ===== VALIDATION HELPER FUNCTIONS =====
|
|
160
|
+
/**
|
|
161
|
+
* Validates that a response has the minimum required properties
|
|
162
|
+
*/
|
|
163
|
+
function hasMinimumResponseStructure(response, requiredFields) {
|
|
164
|
+
if (!isGdeltApiResponse(response)) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
return requiredFields.every(field => field in response);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Validates array properties within a response
|
|
171
|
+
*/
|
|
172
|
+
function validateArrayProperty(obj, propertyName, itemValidator) {
|
|
173
|
+
if (!isValidResponseObject(obj) || !(propertyName in obj)) {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
const property = (obj)[propertyName];
|
|
177
|
+
if (!Array.isArray(property)) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
if (itemValidator) {
|
|
181
|
+
return property.every(itemValidator);
|
|
182
|
+
}
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Validates numeric properties within a response
|
|
187
|
+
*/
|
|
188
|
+
function validateNumericProperty(obj, propertyName, min, max) {
|
|
189
|
+
if (!isValidResponseObject(obj) || !(propertyName in obj)) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
const property = (obj)[propertyName];
|
|
193
|
+
if (typeof property !== 'number' || !Number.isFinite(property)) {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
if (min !== undefined && property < min) {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
if (max !== undefined && property > max) {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
return true;
|
|
203
|
+
}
|
|
204
|
+
// ===== RESPONSE TRANSFORMATION TYPE GUARDS =====
|
|
205
|
+
/**
|
|
206
|
+
* Type guard that validates and ensures response has count property
|
|
207
|
+
*/
|
|
208
|
+
function ensureResponseWithCount(response) {
|
|
209
|
+
if ('count' in response && typeof response.count === 'number') {
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Type guard that validates and ensures response has articles array
|
|
216
|
+
*/
|
|
217
|
+
function ensureResponseWithArticles(response) {
|
|
218
|
+
return ('articles' in response &&
|
|
219
|
+
Array.isArray(response.articles));
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Type guard that validates and ensures response has images array
|
|
223
|
+
*/
|
|
224
|
+
function ensureResponseWithImages(response) {
|
|
225
|
+
return ('images' in response &&
|
|
226
|
+
Array.isArray(response.images));
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Main response validation function with configurable options
|
|
230
|
+
*/
|
|
231
|
+
function validateResponse(response, typeGuard, options = {}) {
|
|
232
|
+
const { requireStatus = true, requireCount = false } = options;
|
|
233
|
+
// Basic structure validation
|
|
234
|
+
if (!isValidResponseObject(response)) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
// Status validation
|
|
238
|
+
if (requireStatus && !('status' in response)) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
// Count validation
|
|
242
|
+
if (requireCount && !ensureResponseWithCount(response)) {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
// Apply the specific type guard
|
|
246
|
+
if (!typeGuard(response)) {
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
return true;
|
|
250
|
+
}
|
|
251
|
+
// ===== EXPORT ALL TYPE GUARDS =====
|
|
252
|
+
exports.TypeGuards = {
|
|
253
|
+
isGdeltApiResponse,
|
|
254
|
+
isValidResponseObject,
|
|
255
|
+
isArticleListResponse,
|
|
256
|
+
isImageCollageResponse,
|
|
257
|
+
isTimelineResponse,
|
|
258
|
+
isTimelineBreakdownResponse,
|
|
259
|
+
isToneChartResponse,
|
|
260
|
+
isWordCloudResponse,
|
|
261
|
+
isStringErrorResponse,
|
|
262
|
+
isErrorResponse,
|
|
263
|
+
hasMinimumResponseStructure,
|
|
264
|
+
validateArrayProperty,
|
|
265
|
+
validateNumericProperty,
|
|
266
|
+
ensureResponseWithCount,
|
|
267
|
+
ensureResponseWithArticles,
|
|
268
|
+
ensureResponseWithImages,
|
|
269
|
+
validateResponse
|
|
270
|
+
};
|
|
271
|
+
//# sourceMappingURL=type-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/types/type-guards.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gdelt-ts-client",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "TypeScript client for the GDELT API with full type support",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"clean": "rimraf dist",
|
|
13
|
+
"prebuild": "npm run clean",
|
|
14
|
+
"lint": "eslint src/**/*.ts",
|
|
15
|
+
"lint:fix": "eslint src/**/*.ts --fix",
|
|
16
|
+
"test": "jest",
|
|
17
|
+
"test:watch": "jest --watch",
|
|
18
|
+
"test:coverage": "jest --coverage",
|
|
19
|
+
"prepare": "npm run build"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"axios": "^1.10.0",
|
|
23
|
+
"gdelt-ts-client": "file:gdelt-ts-client-1.0.0.tgz"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@eslint/js": "^9.31.0",
|
|
27
|
+
"@types/jest": "^30.0.0",
|
|
28
|
+
"@typescript-eslint/eslint-plugin": "^8.37.0",
|
|
29
|
+
"@typescript-eslint/parser": "^8.37.0",
|
|
30
|
+
"eslint": "^9.31.0",
|
|
31
|
+
"globals": "^13.24.0",
|
|
32
|
+
"jest": "^30.0.4",
|
|
33
|
+
"rimraf": "^5.0.10",
|
|
34
|
+
"ts-jest": "^29.4.0",
|
|
35
|
+
"typescript": "^5.5.3"
|
|
36
|
+
},
|
|
37
|
+
"keywords": [
|
|
38
|
+
"gdelt",
|
|
39
|
+
"api",
|
|
40
|
+
"client",
|
|
41
|
+
"typescript",
|
|
42
|
+
"news",
|
|
43
|
+
"data",
|
|
44
|
+
"analytics"
|
|
45
|
+
],
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=18.0.0"
|
|
51
|
+
},
|
|
52
|
+
"private": false,
|
|
53
|
+
"license": "MIT"
|
|
54
|
+
}
|