@ethlete/query 4.4.1 → 4.5.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/esm2022/lib/directives/infinity-query.directive.mjs +1 -1
- package/esm2022/lib/infinite-query/infinity-query.mjs +6 -6
- package/esm2022/lib/infinite-query/infinity-query.types.mjs +1 -1
- package/esm2022/lib/request/request.types.mjs +1 -1
- package/esm2022/lib/request/request.util.mjs +21 -4
- package/fesm2022/ethlete-query.mjs +26 -9
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/lib/infinite-query/infinity-query.types.d.ts +5 -5
- package/lib/request/request.types.d.ts +16 -0
- package/lib/request/request.util.d.ts +2 -0
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseArguments } from '../query';
|
|
1
|
+
import { BaseArguments, WithHeaders } from '../query';
|
|
2
2
|
import { AnyQueryCreator, ConstructQuery, QueryArgsOf, QueryResponseOf } from '../query-creator';
|
|
3
3
|
import { InfinityQuery } from './infinity-query';
|
|
4
4
|
export type InfinityQueryParamLocation = 'path' | 'query' | 'body' | 'header' | 'variable';
|
|
@@ -8,10 +8,10 @@ export interface PageParamCalculatorOptions {
|
|
|
8
8
|
totalPages: number | null;
|
|
9
9
|
itemsPerPage: number;
|
|
10
10
|
}
|
|
11
|
-
export interface TotalPagesExtractorOptions<
|
|
11
|
+
export interface TotalPagesExtractorOptions<Arguments extends BaseArguments | undefined, QueryResponse> {
|
|
12
12
|
response: QueryResponse;
|
|
13
13
|
itemsPerPage: number;
|
|
14
|
-
|
|
14
|
+
args: Arguments;
|
|
15
15
|
}
|
|
16
16
|
export interface InfinityQueryConfig<QueryCreator extends AnyQueryCreator, Arguments extends BaseArguments | undefined, QueryResponse, InfinityResponse extends unknown[]> {
|
|
17
17
|
/**
|
|
@@ -21,7 +21,7 @@ export interface InfinityQueryConfig<QueryCreator extends AnyQueryCreator, Argum
|
|
|
21
21
|
/**
|
|
22
22
|
* The args that will be merged with the page arg.
|
|
23
23
|
*/
|
|
24
|
-
defaultArgs?: Arguments;
|
|
24
|
+
defaultArgs?: Arguments & WithHeaders;
|
|
25
25
|
pageParam?: {
|
|
26
26
|
/**
|
|
27
27
|
* The location where the page param is in request.
|
|
@@ -88,7 +88,7 @@ export interface InfinityQueryConfig<QueryCreator extends AnyQueryCreator, Argum
|
|
|
88
88
|
*
|
|
89
89
|
* @default "totalPages"
|
|
90
90
|
*/
|
|
91
|
-
totalPagesExtractor?: (data: TotalPagesExtractorOptions<
|
|
91
|
+
totalPagesExtractor?: (data: TotalPagesExtractorOptions<QueryArgsOf<QueryCreator> & WithHeaders, QueryResponse>) => number;
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
type OmitUndefined<T> = T extends undefined ? never : T;
|
|
@@ -107,4 +107,20 @@ export interface BuildQueryStringConfig {
|
|
|
107
107
|
* @default false
|
|
108
108
|
*/
|
|
109
109
|
writeArrayIndexes?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* A list of values that should be ignored when building the query string.
|
|
112
|
+
*
|
|
113
|
+
* Also have a look at `ignoredValuesFns`.
|
|
114
|
+
*
|
|
115
|
+
* @default [undefined, null, Infinity, -Infinity]
|
|
116
|
+
*/
|
|
117
|
+
ignoredValues?: Array<unknown>;
|
|
118
|
+
/**
|
|
119
|
+
* A list of functions that should be used to determine whether a value should be ignored when building the query string.
|
|
120
|
+
*
|
|
121
|
+
* Also have a look at `ignoredValues`.
|
|
122
|
+
*
|
|
123
|
+
* @default [isNaN, isEmptyString]
|
|
124
|
+
*/
|
|
125
|
+
ignoredValuesFns?: Array<(value: unknown) => boolean>;
|
|
110
126
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { BuildQueryStringConfig, Method, QueryParams, RequestError, RequestHeaders, RequestRetryFn } from './request.types';
|
|
2
|
+
export declare const isNaN: (value: unknown) => boolean;
|
|
3
|
+
export declare const isEmptyString: (value: unknown) => boolean;
|
|
2
4
|
export declare const isRequestError: <T = unknown>(error: unknown) => error is RequestError<T>;
|
|
3
5
|
export declare const buildRoute: (options: {
|
|
4
6
|
base: string;
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ethlete/query",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.5.0"
|
|
6
6
|
},
|
|
7
7
|
"peerDependencies": {
|
|
8
8
|
"@angular/common": "^15.2.1 || ^16.0.0",
|
|
9
9
|
"@angular/core": "^15.2.1 || ^16.0.0",
|
|
10
|
-
"@ethlete/core": "2.8.
|
|
10
|
+
"@ethlete/core": "2.8.1"
|
|
11
11
|
},
|
|
12
12
|
"module": "fesm2022/ethlete-query.mjs",
|
|
13
13
|
"typings": "index.d.ts",
|