@ethlete/query 0.1.0-next.1 → 0.1.0-next.3
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/esm2020/lib/auth/bearer-auth-provider.mjs +4 -3
- package/esm2020/lib/query-form/query-form.mjs +7 -4
- package/esm2020/lib/query-form/query-form.types.mjs +1 -1
- package/esm2020/lib/query-form/query-form.utils.mjs +21 -1
- package/esm2020/lib/request/request.mjs +2 -2
- package/esm2020/lib/request/request.types.mjs +1 -1
- package/esm2020/lib/request/request.util.mjs +12 -2
- package/fesm2015/ethlete-query.mjs +43 -8
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +42 -8
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/lib/query-form/query-form.d.ts +1 -1
- package/lib/query-form/query-form.types.d.ts +7 -1
- package/lib/query-form/query-form.utils.d.ts +5 -0
- package/lib/request/request.types.d.ts +2 -0
- package/lib/request/request.util.d.ts +2 -2
- package/package.json +1 -1
|
@@ -164,13 +164,15 @@ const buildTimestampFromSeconds = (seconds) => {
|
|
|
164
164
|
}
|
|
165
165
|
return new Date(Date.now() + seconds * 1000).getTime();
|
|
166
166
|
};
|
|
167
|
-
const buildRequestError = async (error) => {
|
|
167
|
+
const buildRequestError = async (error, route, requestInit) => {
|
|
168
168
|
if (error instanceof DOMException && error.code === error.ABORT_ERR) {
|
|
169
169
|
const err = {
|
|
170
170
|
code: -1,
|
|
171
171
|
message: 'Request aborted',
|
|
172
172
|
detail: null,
|
|
173
173
|
raw: error,
|
|
174
|
+
route,
|
|
175
|
+
requestInit,
|
|
174
176
|
};
|
|
175
177
|
return err;
|
|
176
178
|
}
|
|
@@ -180,6 +182,8 @@ const buildRequestError = async (error) => {
|
|
|
180
182
|
message: 'Syntax error',
|
|
181
183
|
detail: null,
|
|
182
184
|
raw: error,
|
|
185
|
+
route,
|
|
186
|
+
requestInit,
|
|
183
187
|
};
|
|
184
188
|
return err;
|
|
185
189
|
}
|
|
@@ -189,6 +193,8 @@ const buildRequestError = async (error) => {
|
|
|
189
193
|
message: `${error.name}: ${error.message}`,
|
|
190
194
|
detail: null,
|
|
191
195
|
raw: error,
|
|
196
|
+
route,
|
|
197
|
+
requestInit,
|
|
192
198
|
};
|
|
193
199
|
return err;
|
|
194
200
|
}
|
|
@@ -206,6 +212,8 @@ const buildRequestError = async (error) => {
|
|
|
206
212
|
message: error.statusText,
|
|
207
213
|
detail,
|
|
208
214
|
raw: error,
|
|
215
|
+
route,
|
|
216
|
+
requestInit,
|
|
209
217
|
};
|
|
210
218
|
return err;
|
|
211
219
|
}
|
|
@@ -214,6 +222,8 @@ const buildRequestError = async (error) => {
|
|
|
214
222
|
message: 'Unknown error',
|
|
215
223
|
detail: null,
|
|
216
224
|
raw: error,
|
|
225
|
+
route,
|
|
226
|
+
requestInit,
|
|
217
227
|
};
|
|
218
228
|
return err;
|
|
219
229
|
};
|
|
@@ -268,7 +278,7 @@ const request = async (options) => {
|
|
|
268
278
|
return { data, expiresInTimestamp };
|
|
269
279
|
}
|
|
270
280
|
catch (error) {
|
|
271
|
-
throw await buildRequestError(error);
|
|
281
|
+
throw await buildRequestError(error, options.route, options.init);
|
|
272
282
|
}
|
|
273
283
|
};
|
|
274
284
|
|
|
@@ -345,11 +355,12 @@ class BearerAuthProvider {
|
|
|
345
355
|
route,
|
|
346
356
|
});
|
|
347
357
|
const body = bodyAdapter ? bodyAdapter(this._refreshToken) : { refreshToken: this._refreshToken };
|
|
358
|
+
const requestInit = { body: buildBody(body), method };
|
|
348
359
|
this.onRefreshInitiation$.next();
|
|
349
360
|
try {
|
|
350
361
|
const result = await request({
|
|
351
362
|
route: fullRoute,
|
|
352
|
-
init:
|
|
363
|
+
init: requestInit,
|
|
353
364
|
});
|
|
354
365
|
const tokens = responseAdapter ? responseAdapter(result.data) : result.data;
|
|
355
366
|
if (!tokens.token) {
|
|
@@ -364,7 +375,7 @@ class BearerAuthProvider {
|
|
|
364
375
|
}
|
|
365
376
|
catch (error) {
|
|
366
377
|
if (error instanceof Error) {
|
|
367
|
-
this.onRefreshFailure$.next(await buildRequestError(error));
|
|
378
|
+
this.onRefreshFailure$.next(await buildRequestError(error, fullRoute, requestInit));
|
|
368
379
|
}
|
|
369
380
|
else {
|
|
370
381
|
this.onRefreshFailure$.next(error);
|
|
@@ -1268,10 +1279,11 @@ class QueryForm {
|
|
|
1268
1279
|
const queryParams = this._activatedRoute.snapshot.queryParams;
|
|
1269
1280
|
for (const [key, field] of Object.entries(this._fields)) {
|
|
1270
1281
|
const value = queryParams[key];
|
|
1271
|
-
|
|
1282
|
+
// We only check using == because the value types can be different (e.g. "1" and 1)
|
|
1283
|
+
if (value === undefined || value == field.control.value) {
|
|
1272
1284
|
continue;
|
|
1273
1285
|
}
|
|
1274
|
-
const deserializedValue = field.data.
|
|
1286
|
+
const deserializedValue = field.data.queryParamToValueTransformFn?.(value) ?? value;
|
|
1275
1287
|
field.setValue(deserializedValue);
|
|
1276
1288
|
}
|
|
1277
1289
|
}
|
|
@@ -1321,7 +1333,9 @@ class QueryForm {
|
|
|
1321
1333
|
delete queryParams[key];
|
|
1322
1334
|
}
|
|
1323
1335
|
else {
|
|
1324
|
-
queryParams[key] =
|
|
1336
|
+
queryParams[key] = this._fields[key].data.valueToQueryParamTransformFn
|
|
1337
|
+
? this._fields[key].data.valueToQueryParamTransformFn?.(value)
|
|
1338
|
+
: value;
|
|
1325
1339
|
}
|
|
1326
1340
|
}
|
|
1327
1341
|
this._router.navigate([], {
|
|
@@ -1403,10 +1417,30 @@ const transformToDateArray = (value) => {
|
|
|
1403
1417
|
}
|
|
1404
1418
|
return null;
|
|
1405
1419
|
};
|
|
1420
|
+
const transformToSort = (value) => {
|
|
1421
|
+
if (typeof value === 'string') {
|
|
1422
|
+
const [active, direction] = value.split(':');
|
|
1423
|
+
return {
|
|
1424
|
+
active,
|
|
1425
|
+
direction: direction,
|
|
1426
|
+
};
|
|
1427
|
+
}
|
|
1428
|
+
return null;
|
|
1429
|
+
};
|
|
1430
|
+
const transformToSortQueryParam = (value) => {
|
|
1431
|
+
if (typeof value === 'string') {
|
|
1432
|
+
return value;
|
|
1433
|
+
}
|
|
1434
|
+
if (value && typeof value === 'object' && 'active' in value && 'direction' in value) {
|
|
1435
|
+
const valAsSort = value;
|
|
1436
|
+
return valAsSort.direction ? `${valAsSort.active}:${valAsSort.direction}` : null;
|
|
1437
|
+
}
|
|
1438
|
+
return null;
|
|
1439
|
+
};
|
|
1406
1440
|
|
|
1407
1441
|
/**
|
|
1408
1442
|
* Generated bundle index. Do not edit.
|
|
1409
1443
|
*/
|
|
1410
1444
|
|
|
1411
|
-
export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, Query, QueryClient, QueryDirective, QueryError, QueryField, QueryForm, QueryStore, buildBody, buildErrorMessage, buildGqlCacheKey, buildQueryArrayString, buildQueryString, buildRequestError, buildRoute, buildTimestampFromSeconds, createInfinityQueryConfig, decryptBearer, deepFreeze, def, extractExpiresInSeconds, filterFailure, filterInvalidParams, filterSuccess, gql, guessContentType, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAbortRequestError, isBasicAuthProvider, isBearerAuthProvider, isCustomHeaderAuthProvider, isFetchResponse, isGqlQueryConfig, isParamValid, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, mergeHeaders, pathParamsMissingInRouteFunctionError, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, request, shouldCacheQuery, skipPaginationPageParamCalculator, takeUntilResponse, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToString, transformToStringArray };
|
|
1445
|
+
export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, Query, QueryClient, QueryDirective, QueryError, QueryField, QueryForm, QueryStore, buildBody, buildErrorMessage, buildGqlCacheKey, buildQueryArrayString, buildQueryString, buildRequestError, buildRoute, buildTimestampFromSeconds, createInfinityQueryConfig, decryptBearer, deepFreeze, def, extractExpiresInSeconds, filterFailure, filterInvalidParams, filterSuccess, gql, guessContentType, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAbortRequestError, isBasicAuthProvider, isBearerAuthProvider, isCustomHeaderAuthProvider, isFetchResponse, isGqlQueryConfig, isParamValid, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, mergeHeaders, pathParamsMissingInRouteFunctionError, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, request, shouldCacheQuery, skipPaginationPageParamCalculator, takeUntilResponse, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
|
|
1412
1446
|
//# sourceMappingURL=ethlete-query.mjs.map
|