@croct/sdk 0.17.3 → 0.17.4
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/constants.d.ts +2 -2
- package/constants.js +1 -1
- package/contentFetcher.js +3 -8
- package/contentFetcher.js.map +1 -1
- package/evaluator.js +6 -3
- package/evaluator.js.map +1 -1
- package/package.json +1 -1
- package/src/contentFetcher.ts +5 -9
- package/src/evaluator.ts +59 -56
package/constants.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const BASE_ENDPOINT_URL = "https://api.croct.io";
|
|
2
2
|
export declare const MAX_QUERY_LENGTH: number;
|
|
3
|
-
export declare const VERSION = "0.17.
|
|
4
|
-
export declare const CLIENT_LIBRARY = "Croct SDK JS v0.17.
|
|
3
|
+
export declare const VERSION = "0.17.4";
|
|
4
|
+
export declare const CLIENT_LIBRARY = "Croct SDK JS v0.17.4";
|
package/constants.js
CHANGED
|
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CLIENT_LIBRARY = exports.VERSION = exports.MAX_QUERY_LENGTH = exports.BASE_ENDPOINT_URL = void 0;
|
|
4
4
|
exports.BASE_ENDPOINT_URL = 'https://api.croct.io';
|
|
5
5
|
exports.MAX_QUERY_LENGTH = 500;
|
|
6
|
-
exports.VERSION = '0.17.
|
|
6
|
+
exports.VERSION = '0.17.4';
|
|
7
7
|
exports.CLIENT_LIBRARY = `Croct SDK JS v${exports.VERSION}`;
|
|
8
8
|
//# sourceMappingURL=constants.js.map
|
package/contentFetcher.js
CHANGED
|
@@ -46,14 +46,13 @@ class ContentFetcher {
|
|
|
46
46
|
if (options.static === true && this.configuration.apiKey === undefined) {
|
|
47
47
|
throw new Error('The API key must be provided to fetch static content.');
|
|
48
48
|
}
|
|
49
|
-
// Types for Browser and Node environment
|
|
50
|
-
let timeoutReference;
|
|
51
49
|
return new Promise((resolve, reject) => {
|
|
52
50
|
var _a;
|
|
53
51
|
const abortController = new AbortController();
|
|
54
52
|
const timeout = (_a = options.timeout) !== null && _a !== void 0 ? _a : this.configuration.defaultTimeout;
|
|
53
|
+
let timer;
|
|
55
54
|
if (timeout !== undefined) {
|
|
56
|
-
|
|
55
|
+
timer = setTimeout(() => {
|
|
57
56
|
const response = {
|
|
58
57
|
title: `Content could not be loaded in time for slot '${slotId}'.`,
|
|
59
58
|
type: ContentErrorType.TIMEOUT,
|
|
@@ -66,6 +65,7 @@ class ContentFetcher {
|
|
|
66
65
|
}, timeout);
|
|
67
66
|
}
|
|
68
67
|
this.load(slotId, abortController.signal, options)
|
|
68
|
+
.finally(() => clearTimeout(timer))
|
|
69
69
|
.then(response => {
|
|
70
70
|
const region = response.headers.get('X-Croct-Region');
|
|
71
71
|
const timing = response.headers.get('X-Croct-Timing');
|
|
@@ -95,11 +95,6 @@ class ContentFetcher {
|
|
|
95
95
|
}));
|
|
96
96
|
}
|
|
97
97
|
});
|
|
98
|
-
})
|
|
99
|
-
.finally(() => {
|
|
100
|
-
// Once the fetch completes, regardless of outcome, cancel the timeout
|
|
101
|
-
// to avoid logging an error that didn't happen.
|
|
102
|
-
clearTimeout(timeoutReference);
|
|
103
98
|
});
|
|
104
99
|
}
|
|
105
100
|
load(slotId, signal, options) {
|
package/contentFetcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentFetcher.js","sourceRoot":"","sources":["src/contentFetcher.ts"],"names":[],"mappings":";;;AAGA,2CAA8D;AAC9D,mCAAsC;AACtC,uCAA6C;AAE7C,iCAA4B;AAS5B,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,sEAAkD,CAAA;IAClD,wFAAoE,CAAA;AACxE,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAUD,MAAa,YAAsD,SAAQ,KAAK;IAG5E,YAAmB,QAAW;QAC1B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACJ;AAVD,oCAUC;AAmDD,MAAa,cAAc;IASvB,YAAmB,aAA4B;;QAC3C,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,EAAC,eAAe,EAAC,GAAG,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,aAAa,CAAC,MAAM,KAAK,QAAQ;YACnD,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE;YACtC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;QAE3B,iEAAiE;QACjE,MAAM,YAAY,GAAG,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,6BAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;cACzE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;cAChD,MAAM,CAAC;QAEb,IAAI,CAAC,eAAe,GAAG,GAAG,YAAY,UAAU,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,GAAG,YAAY,iBAAiB,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,MAAA,aAAa,CAAC,MAAM,mCAAI,IAAI,oBAAU,EAAE,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG;YACjB,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,aAAa,CAAC,cAAc;YAC5C,sBAAsB,EAAE,aAAa,CAAC,sBAAsB;SAC/D,CAAC;IACN,CAAC;IAEM,KAAK,CAAuB,MAAc,EAAE,UAAwB,EAAE;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;
|
|
1
|
+
{"version":3,"file":"contentFetcher.js","sourceRoot":"","sources":["src/contentFetcher.ts"],"names":[],"mappings":"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"}
|
package/evaluator.js
CHANGED
|
@@ -79,6 +79,7 @@ class Evaluator {
|
|
|
79
79
|
var _a;
|
|
80
80
|
const abortController = new AbortController();
|
|
81
81
|
const timeout = (_a = options.timeout) !== null && _a !== void 0 ? _a : this.configuration.defaultTimeout;
|
|
82
|
+
let timer;
|
|
82
83
|
if (timeout !== undefined) {
|
|
83
84
|
setTimeout(() => {
|
|
84
85
|
const response = {
|
|
@@ -92,8 +93,9 @@ class Evaluator {
|
|
|
92
93
|
reject(new EvaluationError(response));
|
|
93
94
|
}, timeout);
|
|
94
95
|
}
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
this.fetch(payload, abortController.signal, options)
|
|
97
|
+
.finally(() => clearTimeout(timer))
|
|
98
|
+
.then(response => {
|
|
97
99
|
const region = response.headers.get('X-Croct-Region');
|
|
98
100
|
const timing = response.headers.get('X-Croct-Timing');
|
|
99
101
|
this.logger.debug(`Evaluation of the query "${reference}" processed by region ${region} in ${timing}.`);
|
|
@@ -121,7 +123,8 @@ class Evaluator {
|
|
|
121
123
|
}
|
|
122
124
|
throw error;
|
|
123
125
|
});
|
|
124
|
-
})
|
|
126
|
+
})
|
|
127
|
+
.catch(error => {
|
|
125
128
|
if (!abortController.signal.aborted) {
|
|
126
129
|
reject(new EvaluationError({
|
|
127
130
|
title: (0, error_1.formatMessage)(error),
|
package/evaluator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["src/evaluator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["src/evaluator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/contentFetcher.ts
CHANGED
|
@@ -128,15 +128,15 @@ export class ContentFetcher {
|
|
|
128
128
|
throw new Error('The API key must be provided to fetch static content.');
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
// Types for Browser and Node environment
|
|
132
|
-
let timeoutReference: number | NodeJS.Timeout | undefined;
|
|
133
131
|
|
|
134
132
|
return new Promise<FetchResponse<P>>((resolve, reject) => {
|
|
135
133
|
const abortController = new AbortController();
|
|
136
134
|
const timeout = options.timeout ?? this.configuration.defaultTimeout;
|
|
137
135
|
|
|
136
|
+
let timer: number | NodeJS.Timeout | undefined;
|
|
137
|
+
|
|
138
138
|
if (timeout !== undefined) {
|
|
139
|
-
|
|
139
|
+
timer = setTimeout(
|
|
140
140
|
() => {
|
|
141
141
|
const response: ErrorResponse = {
|
|
142
142
|
title: `Content could not be loaded in time for slot '${slotId}'.`,
|
|
@@ -156,6 +156,7 @@ export class ContentFetcher {
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
this.load(slotId, abortController.signal, options)
|
|
159
|
+
.finally(() => clearTimeout(timer))
|
|
159
160
|
.then(response => {
|
|
160
161
|
const region = response.headers.get('X-Croct-Region');
|
|
161
162
|
const timing = response.headers.get('X-Croct-Timing');
|
|
@@ -192,12 +193,7 @@ export class ContentFetcher {
|
|
|
192
193
|
);
|
|
193
194
|
}
|
|
194
195
|
});
|
|
195
|
-
})
|
|
196
|
-
.finally(() => {
|
|
197
|
-
// Once the fetch completes, regardless of outcome, cancel the timeout
|
|
198
|
-
// to avoid logging an error that didn't happen.
|
|
199
|
-
clearTimeout(timeoutReference);
|
|
200
|
-
});
|
|
196
|
+
});
|
|
201
197
|
}
|
|
202
198
|
|
|
203
199
|
private load(slotId: string, signal: AbortSignal, options: FetchOptions): Promise<Response> {
|
package/src/evaluator.ts
CHANGED
|
@@ -167,6 +167,8 @@ export class Evaluator {
|
|
|
167
167
|
const abortController = new AbortController();
|
|
168
168
|
const timeout = options.timeout ?? this.configuration.defaultTimeout;
|
|
169
169
|
|
|
170
|
+
let timer: number | NodeJS.Timeout | undefined;
|
|
171
|
+
|
|
170
172
|
if (timeout !== undefined) {
|
|
171
173
|
setTimeout(
|
|
172
174
|
() => {
|
|
@@ -187,63 +189,64 @@ export class Evaluator {
|
|
|
187
189
|
);
|
|
188
190
|
}
|
|
189
191
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
);
|
|
200
|
-
|
|
201
|
-
return response.json()
|
|
202
|
-
.then(body => {
|
|
203
|
-
if (response.ok) {
|
|
204
|
-
return resolve(body);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
this.logHelp(response.status);
|
|
208
|
-
|
|
209
|
-
const problem: ErrorResponse = body;
|
|
210
|
-
|
|
211
|
-
switch (problem.type) {
|
|
212
|
-
case EvaluationErrorType.INVALID_QUERY:
|
|
213
|
-
case EvaluationErrorType.EVALUATION_FAILED:
|
|
214
|
-
case EvaluationErrorType.TOO_COMPLEX_QUERY:
|
|
215
|
-
reject(new QueryError(problem as QueryErrorResponse));
|
|
216
|
-
|
|
217
|
-
break;
|
|
218
|
-
|
|
219
|
-
default:
|
|
220
|
-
reject(new EvaluationError(problem));
|
|
221
|
-
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
})
|
|
225
|
-
.catch(error => {
|
|
226
|
-
if (!response.ok) {
|
|
227
|
-
throw new Error(`Error ${response.status} - ${response.statusText}`);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
throw error;
|
|
231
|
-
});
|
|
232
|
-
},
|
|
233
|
-
).catch(
|
|
234
|
-
error => {
|
|
235
|
-
if (!abortController.signal.aborted) {
|
|
236
|
-
reject(
|
|
237
|
-
new EvaluationError({
|
|
238
|
-
title: formatMessage(error),
|
|
239
|
-
type: EvaluationErrorType.UNEXPECTED_ERROR,
|
|
240
|
-
detail: 'Please try again or contact Croct support if the error persists.',
|
|
241
|
-
status: 500, // Internal Server Error
|
|
242
|
-
}),
|
|
192
|
+
this.fetch(payload, abortController.signal, options)
|
|
193
|
+
.finally(() => clearTimeout(timer))
|
|
194
|
+
.then(
|
|
195
|
+
response => {
|
|
196
|
+
const region = response.headers.get('X-Croct-Region');
|
|
197
|
+
const timing = response.headers.get('X-Croct-Timing');
|
|
198
|
+
|
|
199
|
+
this.logger.debug(
|
|
200
|
+
`Evaluation of the query "${reference}" processed by region ${region} in ${timing}.`,
|
|
243
201
|
);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
202
|
+
|
|
203
|
+
return response.json()
|
|
204
|
+
.then(body => {
|
|
205
|
+
if (response.ok) {
|
|
206
|
+
return resolve(body);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
this.logHelp(response.status);
|
|
210
|
+
|
|
211
|
+
const problem: ErrorResponse = body;
|
|
212
|
+
|
|
213
|
+
switch (problem.type) {
|
|
214
|
+
case EvaluationErrorType.INVALID_QUERY:
|
|
215
|
+
case EvaluationErrorType.EVALUATION_FAILED:
|
|
216
|
+
case EvaluationErrorType.TOO_COMPLEX_QUERY:
|
|
217
|
+
reject(new QueryError(problem as QueryErrorResponse));
|
|
218
|
+
|
|
219
|
+
break;
|
|
220
|
+
|
|
221
|
+
default:
|
|
222
|
+
reject(new EvaluationError(problem));
|
|
223
|
+
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
})
|
|
227
|
+
.catch(error => {
|
|
228
|
+
if (!response.ok) {
|
|
229
|
+
throw new Error(`Error ${response.status} - ${response.statusText}`);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
throw error;
|
|
233
|
+
});
|
|
234
|
+
},
|
|
235
|
+
)
|
|
236
|
+
.catch(
|
|
237
|
+
error => {
|
|
238
|
+
if (!abortController.signal.aborted) {
|
|
239
|
+
reject(
|
|
240
|
+
new EvaluationError({
|
|
241
|
+
title: formatMessage(error),
|
|
242
|
+
type: EvaluationErrorType.UNEXPECTED_ERROR,
|
|
243
|
+
detail: 'Please try again or contact Croct support if the error persists.',
|
|
244
|
+
status: 500, // Internal Server Error
|
|
245
|
+
}),
|
|
246
|
+
);
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
);
|
|
247
250
|
});
|
|
248
251
|
}
|
|
249
252
|
|