@ethlete/query 5.40.1 → 5.41.1

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.
Files changed (107) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/fesm2022/ethlete-query.mjs +114 -138
  3. package/fesm2022/ethlete-query.mjs.map +1 -1
  4. package/index.d.ts +3591 -20
  5. package/package.json +5 -5
  6. package/lib/auth/auth-provider.types.d.ts +0 -133
  7. package/lib/auth/auth-provider.utils.d.ts +0 -9
  8. package/lib/auth/basic-auth-provider.d.ts +0 -10
  9. package/lib/auth/bearer-auth-provider.d.ts +0 -23
  10. package/lib/auth/custom-header-auth-provider.d.ts +0 -9
  11. package/lib/auth/index.d.ts +0 -5
  12. package/lib/class-validator/class-validator.types.d.ts +0 -6
  13. package/lib/class-validator/class-validator.utils.d.ts +0 -2
  14. package/lib/class-validator/index.d.ts +0 -2
  15. package/lib/devtools/components/query-devtools/index.d.ts +0 -1
  16. package/lib/devtools/components/query-devtools/query-devtools.component.d.ts +0 -151
  17. package/lib/devtools/pipes/index.d.ts +0 -1
  18. package/lib/devtools/pipes/query-short-name.pipe.d.ts +0 -8
  19. package/lib/devtools/utils/index.d.ts +0 -1
  20. package/lib/devtools/utils/query-client.utils.d.ts +0 -12
  21. package/lib/directives/index.d.ts +0 -3
  22. package/lib/directives/infinity-query-trigger.directive.d.ts +0 -15
  23. package/lib/directives/infinity-query.directive.d.ts +0 -49
  24. package/lib/directives/query.directive.d.ts +0 -64
  25. package/lib/entity/entity-store.d.ts +0 -25
  26. package/lib/entity/entity.types.d.ts +0 -25
  27. package/lib/entity/entity.utils.d.ts +0 -12
  28. package/lib/entity/index.d.ts +0 -3
  29. package/lib/experimental/auth/bearer-auth-provider-config.d.ts +0 -123
  30. package/lib/experimental/auth/bearer-auth-provider.d.ts +0 -69
  31. package/lib/experimental/auth/index.d.ts +0 -2
  32. package/lib/experimental/gql/gql-query-creator-templates.d.ts +0 -12
  33. package/lib/experimental/gql/gql-query-creator.d.ts +0 -14
  34. package/lib/experimental/gql/gql-query-execute.d.ts +0 -11
  35. package/lib/experimental/gql/gql-query.d.ts +0 -12
  36. package/lib/experimental/gql/index.d.ts +0 -4
  37. package/lib/experimental/http/http-request.d.ts +0 -119
  38. package/lib/experimental/http/index.d.ts +0 -21
  39. package/lib/experimental/http/paged-query-stack.d.ts +0 -172
  40. package/lib/experimental/http/query-client-config.d.ts +0 -45
  41. package/lib/experimental/http/query-client.d.ts +0 -10
  42. package/lib/experimental/http/query-creator-templates.d.ts +0 -24
  43. package/lib/experimental/http/query-creator.d.ts +0 -82
  44. package/lib/experimental/http/query-dependencies.d.ts +0 -26
  45. package/lib/experimental/http/query-error-response.d.ts +0 -19
  46. package/lib/experimental/http/query-errors.d.ts +0 -56
  47. package/lib/experimental/http/query-execute-utils.d.ts +0 -42
  48. package/lib/experimental/http/query-execute.d.ts +0 -25
  49. package/lib/experimental/http/query-features.d.ts +0 -121
  50. package/lib/experimental/http/query-repository.d.ts +0 -69
  51. package/lib/experimental/http/query-snapshot.d.ts +0 -10
  52. package/lib/experimental/http/query-stack.d.ts +0 -109
  53. package/lib/experimental/http/query-state.d.ts +0 -41
  54. package/lib/experimental/http/query-utils.d.ts +0 -61
  55. package/lib/experimental/http/query.d.ts +0 -75
  56. package/lib/experimental/http/secure-query-creator.d.ts +0 -7
  57. package/lib/experimental/http/secure-query-execute.d.ts +0 -7
  58. package/lib/experimental/http/secure-query.d.ts +0 -6
  59. package/lib/experimental/index.d.ts +0 -6
  60. package/lib/experimental/interop/index.d.ts +0 -2
  61. package/lib/experimental/interop/legacy-query-creator.d.ts +0 -45
  62. package/lib/experimental/interop/legacy-query.d.ts +0 -38
  63. package/lib/experimental/pipes/index.d.ts +0 -4
  64. package/lib/experimental/pipes/parse-http-error-code-de.d.ts +0 -3
  65. package/lib/experimental/pipes/parse-http-error-code-de.pipe.d.ts +0 -12
  66. package/lib/experimental/pipes/parse-http-error-code-en.d.ts +0 -3
  67. package/lib/experimental/pipes/parse-http-error-code-en.pipe.d.ts +0 -12
  68. package/lib/experimental/ws/index.d.ts +0 -2
  69. package/lib/experimental/ws/web-socket-client-config.d.ts +0 -17
  70. package/lib/experimental/ws/web-socket-client.d.ts +0 -37
  71. package/lib/experimental/ws/web-socket-errors.d.ts +0 -7
  72. package/lib/gql/gql.d.ts +0 -10
  73. package/lib/gql/index.d.ts +0 -1
  74. package/lib/infinite-query/index.d.ts +0 -3
  75. package/lib/infinite-query/infinity-query.d.ts +0 -30
  76. package/lib/infinite-query/infinity-query.types.d.ts +0 -105
  77. package/lib/infinite-query/infinity-query.utils.d.ts +0 -5
  78. package/lib/logger/index.d.ts +0 -1
  79. package/lib/logger/logger.d.ts +0 -12
  80. package/lib/query/index.d.ts +0 -3
  81. package/lib/query/query.d.ts +0 -60
  82. package/lib/query/query.types.d.ts +0 -397
  83. package/lib/query/query.utils.d.ts +0 -83
  84. package/lib/query-client/index.d.ts +0 -3
  85. package/lib/query-client/query-client.d.ts +0 -29
  86. package/lib/query-client/query-client.types.d.ts +0 -82
  87. package/lib/query-client/query-client.utils.d.ts +0 -4
  88. package/lib/query-creator/index.d.ts +0 -2
  89. package/lib/query-creator/query-creator.d.ts +0 -20
  90. package/lib/query-creator/query-creator.types.d.ts +0 -14
  91. package/lib/query-form/index.d.ts +0 -3
  92. package/lib/query-form/query-form.d.ts +0 -136
  93. package/lib/query-form/query-form.types.d.ts +0 -155
  94. package/lib/query-form/query-form.utils.d.ts +0 -15
  95. package/lib/query-store/index.d.ts +0 -1
  96. package/lib/query-store/query-store.d.ts +0 -31
  97. package/lib/request/index.d.ts +0 -3
  98. package/lib/request/request.d.ts +0 -3
  99. package/lib/request/request.types.d.ts +0 -131
  100. package/lib/request/request.util.d.ts +0 -26
  101. package/lib/symfony/index.d.ts +0 -2
  102. package/lib/symfony/symfony.types.d.ts +0 -19
  103. package/lib/symfony/symfony.utils.d.ts +0 -6
  104. package/lib/utils/data.utils.d.ts +0 -64
  105. package/lib/utils/deep-freeze.util.d.ts +0 -1
  106. package/lib/utils/def.util.d.ts +0 -7
  107. package/lib/utils/index.d.ts +0 -3
@@ -1,61 +0,0 @@
1
- import { HttpErrorResponse, HttpHeaders } from '@angular/common/http';
2
- import { CreateEffectOptions, Signal } from '@angular/core';
3
- import { CreateGqlQueryOptions } from '../gql/gql-query';
4
- import { GqlQueryMethod } from '../gql/gql-query-creator';
5
- import { CreateQueryOptions, Query, QueryArgs, RequestArgs } from './query';
6
- import { QueryMethod } from './query-creator';
7
- import { QueryDependencies } from './query-dependencies';
8
- import { InternalQueryExecute } from './query-execute';
9
- import { QueryFeature, QueryFeatureContext } from './query-features';
10
- import { QueryKeyOrNone } from './query-repository';
11
- import { QueryState } from './query-state';
12
- /**
13
- * Returning this inside a withArgs feature will reset the query args to null.
14
- * This will also pause polling and auto refresh until new args are set.
15
- */
16
- export declare const CLEAR_QUERY_ARGS: unique symbol;
17
- export type ClearQueryArgs = typeof CLEAR_QUERY_ARGS;
18
- /** A angular effect that can be nested inside another effect */
19
- export declare const nestedEffect: (fn: () => void, options?: CreateEffectOptions) => import("@angular/core").EffectRef;
20
- export declare const circularQueryDependencyChecker: () => {
21
- check: () => void;
22
- };
23
- export declare const shouldAutoExecuteQuery: (method: QueryMethod) => method is "GET" | "HEAD" | "OPTIONS";
24
- export declare const shouldAutoExecuteGqlQuery: (method: GqlQueryMethod) => method is "QUERY";
25
- export declare const extractExpiresInSeconds: (headers: HttpHeaders) => number | null;
26
- export type ShouldRetryRequestOptions = {
27
- retryCount: number;
28
- error: HttpErrorResponse;
29
- };
30
- export type ShouldRetryRequestResult = {
31
- retry: false;
32
- } | {
33
- retry: true;
34
- delay: number;
35
- };
36
- export type ShouldRetryRequestFn = (options: ShouldRetryRequestOptions) => ShouldRetryRequestResult;
37
- export declare const shouldRetryRequest: (options: ShouldRetryRequestOptions | HttpErrorResponse) => ShouldRetryRequestResult;
38
- export type QueryFeatureFlags = {
39
- hasWithArgsFeature: boolean;
40
- shouldAutoExecuteMethod: boolean;
41
- shouldAutoExecute: boolean;
42
- hasRouteFunction: boolean;
43
- onlyManualExecution?: boolean;
44
- /** Human readable method name */
45
- method: string;
46
- };
47
- export declare const getQueryFeatureUsage: <TArgs extends QueryArgs>(options: CreateQueryOptions<TArgs> | CreateGqlQueryOptions<TArgs>) => QueryFeatureFlags;
48
- export declare const applyQueryFeatures: <TArgs extends QueryArgs>(features: QueryFeature<TArgs>[], context: QueryFeatureContext<TArgs>) => void;
49
- export declare const maybeExecute: (options: {
50
- flags: QueryFeatureFlags;
51
- execute: InternalQueryExecute<any>;
52
- }) => void;
53
- export type CreateQueryObjectOptions<TArgs extends QueryArgs> = {
54
- state: QueryState<TArgs>;
55
- deps: QueryDependencies;
56
- execute: InternalQueryExecute<TArgs>;
57
- };
58
- export declare const createQueryObject: <TArgs extends QueryArgs>(options: CreateQueryObjectOptions<TArgs>) => Query<TArgs>;
59
- export declare const normalizeQueryRepositoryKey: (key: Signal<QueryKeyOrNone>) => Signal<string>;
60
- export declare const shouldCacheQuery: (method: QueryMethod) => method is "GET" | "HEAD" | "OPTIONS";
61
- export declare const buildQueryCacheKey: (route: string, args: RequestArgs<QueryArgs> | undefined) => string;
@@ -1,75 +0,0 @@
1
- import { HttpEvent, HttpHeaders } from '@angular/common/http';
2
- import { Signal } from '@angular/core';
3
- import { HttpRequestLoadingState } from './http-request';
4
- import { CreateQueryCreatorOptions, InternalCreateQueryCreatorOptions, QueryConfig } from './query-creator';
5
- import { QueryErrorResponse } from './query-error-response';
6
- import { QueryExecute } from './query-execute';
7
- import { QueryFeature } from './query-features';
8
- import { QueryExecutionState } from './query-state';
9
- export type QueryArgs = {
10
- response?: any;
11
- pathParams?: Record<string, string | number>;
12
- queryParams?: any;
13
- body?: any;
14
- headers?: HttpHeaders;
15
- };
16
- export type ResponseType<T extends QueryArgs | null> = T extends QueryArgs ? T['response'] : never;
17
- export type PathParamsType<T extends QueryArgs | null> = T extends QueryArgs ? T['pathParams'] : never;
18
- export type QueryParamsType<T extends QueryArgs | null> = T extends QueryArgs ? T['queryParams'] : never;
19
- export type BodyType<T extends QueryArgs | null> = T extends QueryArgs ? T['body'] : never;
20
- export type RequestArgs<T extends QueryArgs | null> = T extends QueryArgs ? Omit<T, 'response'> : never;
21
- export type CreateQueryOptions<TArgs extends QueryArgs> = {
22
- creator?: CreateQueryCreatorOptions;
23
- creatorInternals: InternalCreateQueryCreatorOptions<TArgs>;
24
- features: QueryFeature<TArgs>[];
25
- queryConfig: QueryConfig;
26
- };
27
- export type QueryBase<TArgs extends QueryArgs> = {
28
- /** The arguments of the last execution of the query. Will be `null` if the query has never been executed */
29
- args: Signal<RequestArgs<TArgs> | null>;
30
- /**
31
- * The latest response of the query. Will be `null` if the query has never been executed.
32
- * Responses are cached until a new response is received.
33
- * If a response is present but the next execution of the query fails, the response will be set to `null` again.
34
- */
35
- response: Signal<ResponseType<TArgs> | null>;
36
- /** The latest Angular HTTP client native http event that occurred during the last execution of the query. Will be `null` if no event occurred. */
37
- latestHttpEvent: Signal<HttpEvent<ResponseType<TArgs>> | null>;
38
- /** The loading state of the query. Will be `null` if the query currently isn't loading. */
39
- loading: Signal<HttpRequestLoadingState | null>;
40
- /** The error that occurred during the last execution of the query. Will be `null` if no error occurred. */
41
- error: Signal<QueryErrorResponse | null>;
42
- /** The time the query was last executed at. Will be `null` if the query has never been executed. */
43
- lastTimeExecutedAt: Signal<number | null>;
44
- /** The id of the query */
45
- id: Signal<string>;
46
- /** The current state of the query. Will be `null` if the query has never been executed. */
47
- executionState: Signal<QueryExecutionState<TArgs> | null>;
48
- };
49
- /** A snapshot of a query state at a specific point in time */
50
- export type QuerySnapshot<TArgs extends QueryArgs> = QueryBase<TArgs> & {
51
- /** This signal is `true` until the latest execution of the query has completed in any way (success, error, or cancellation) */
52
- isAlive: Signal<boolean>;
53
- };
54
- export type AnyQuerySnapshot = QuerySnapshot<any>;
55
- export type AnyQuery = Query<any>;
56
- export type QuerySubtle<TArgs extends QueryArgs> = {
57
- /** Destroys the query and cleans up all resources. The query should not be used after this method is called. */
58
- destroy: () => void;
59
- /** Manually sets the response of the query. This will not trigger a new execution of the query. */
60
- setResponse: (response: ResponseType<TArgs>) => void;
61
- };
62
- export type Query<TArgs extends QueryArgs> = QueryBase<TArgs> & {
63
- /** Executes the query */
64
- execute: QueryExecute<TArgs>;
65
- /** Creates an immutable snapshot of the current query state */
66
- createSnapshot: () => QuerySnapshot<TArgs>;
67
- /** Resets the query state to its initial state */
68
- reset: () => void;
69
- /** Returns a readonly version of the query */
70
- asReadonly: () => ReadonlyQuery<TArgs>;
71
- /** Advanced query features. **WARNING!** Incorrectly using these features will likely **BREAK** your application. You have been warned! */
72
- subtle: QuerySubtle<TArgs>;
73
- };
74
- export type ReadonlyQuery<TArgs extends QueryArgs> = Omit<Query<TArgs>, 'execute' | 'subtle' | 'reset' | 'asReadonly'>;
75
- export declare const createQuery: <TArgs extends QueryArgs>(options: CreateQueryOptions<TArgs>) => Query<TArgs>;
@@ -1,7 +0,0 @@
1
- import { AnyBearerAuthProviderConfig } from '../auth/bearer-auth-provider-config';
2
- import { QueryArgs } from './query';
3
- import { CreateQueryCreatorOptions, InternalCreateQueryCreatorOptions, QueryCreator } from './query-creator';
4
- export type InternalSecureCreateQueryCreatorOptions<TArgs extends QueryArgs> = InternalCreateQueryCreatorOptions<TArgs> & {
5
- authProvider: AnyBearerAuthProviderConfig;
6
- };
7
- export declare const createSecureQueryCreator: <TArgs extends QueryArgs>(options: CreateQueryCreatorOptions | undefined, internals: InternalSecureCreateQueryCreatorOptions<TArgs>) => QueryCreator<TArgs>;
@@ -1,7 +0,0 @@
1
- import { QueryArgs } from './query';
2
- import { CreateQueryExecuteOptions, InternalQueryExecute } from './query-execute';
3
- import { InternalSecureCreateQueryCreatorOptions } from './secure-query-creator';
4
- export type CreateSecureQueryExecuteOptions<TArgs extends QueryArgs> = Omit<CreateQueryExecuteOptions<TArgs>, 'creatorInternals'> & {
5
- creatorInternals: InternalSecureCreateQueryCreatorOptions<TArgs>;
6
- };
7
- export declare const createSecureExecuteFn: <TArgs extends QueryArgs>(executeOptions: CreateSecureQueryExecuteOptions<TArgs>) => InternalQueryExecute<TArgs>;
@@ -1,6 +0,0 @@
1
- import { CreateQueryOptions, QueryArgs } from './query';
2
- import { InternalSecureCreateQueryCreatorOptions } from './secure-query-creator';
3
- export type CreateSecureQueryOptions<TArgs extends QueryArgs> = Omit<CreateQueryOptions<TArgs>, 'creatorInternals'> & {
4
- creatorInternals: InternalSecureCreateQueryCreatorOptions<TArgs>;
5
- };
6
- export declare const createSecureQuery: <TArgs extends QueryArgs>(options: CreateSecureQueryOptions<TArgs>) => import("./query").Query<TArgs>;
@@ -1,6 +0,0 @@
1
- export * from './auth';
2
- export * from './gql';
3
- export * from './http';
4
- export * from './interop';
5
- export * from './pipes';
6
- export * from './ws';
@@ -1,2 +0,0 @@
1
- export * from './legacy-query';
2
- export * from './legacy-query-creator';
@@ -1,45 +0,0 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { EntityStore } from '../../entity';
4
- import { BaseArguments, EmptyObject, QueryConfig, QueryEntityConfig, RouteType, WithHeaders, WithInjector } from '../../query';
5
- import { QueryContainerConfig } from '../../utils';
6
- import { AnyQuery, Query, QueryArgs, QueryCreator, ResponseType } from '../http';
7
- import { LegacyQuery } from './legacy-query';
8
- export type LegacyArgumentsOfQueryArgs<T extends QueryArgs> = Omit<T, 'response' | 'headers'> & WithHeaders;
9
- export type QueryArgsOfLegacyArguments<T extends BaseArguments | undefined, J> = Omit<T, 'mock' | 'headers'> & {
10
- headers?: HttpHeaders;
11
- response?: J;
12
- };
13
- export type CreateLegacyQueryCreatorOptions<TArgs extends QueryArgs, Response, Store extends EntityStore<unknown>, Data, Id> = {
14
- creator: QueryCreator<TArgs>;
15
- /**
16
- * Object containing the query's entity store information.
17
- */
18
- entity?: QueryEntityConfig<Store, Data, Response, LegacyArgumentsOfQueryArgs<TArgs>, Id>;
19
- };
20
- export interface WithLegacyConfig {
21
- /**
22
- * Additional configuration for this query.
23
- */
24
- config?: QueryConfig & {
25
- /**
26
- * If set to true, the query will be destroyed when it either succeeds or fails.
27
- */
28
- destroyOnResponse?: boolean;
29
- };
30
- }
31
- export type LegacyQueryPrepareFn<Arguments extends BaseArguments | undefined, Response, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id, TNewQuery extends AnyQuery> = Arguments extends BaseArguments ? (args: Arguments & WithHeaders & WithLegacyConfig & WithInjector) => LegacyQuery<Response, Arguments, Route, Store, Data, Id, TNewQuery> : (args?: (Arguments extends EmptyObject ? Arguments : EmptyObject) & WithHeaders & WithLegacyConfig & WithInjector) => LegacyQuery<Response, Arguments, Route, Store, Data, Id, TNewQuery>;
32
- export type AnyLegacyQueryCreator = LegacyQueryCreator<any, any, any, any, any>;
33
- /**
34
- * Creates a legacy query creator.
35
- * @deprecated This is a temporary solution to support legacy queries. It will be removed in the future.
36
- */
37
- export declare class LegacyQueryCreator<TArgs extends QueryArgs, Response extends ResponseType<TArgs>, Store extends EntityStore<unknown>, Id, Data = Response> {
38
- options: CreateLegacyQueryCreatorOptions<TArgs, Response, Store, Data, Id>;
39
- constructor(options: CreateLegacyQueryCreatorOptions<TArgs, Response, Store, Data, Id>);
40
- prepare: LegacyQueryPrepareFn<LegacyArgs, Response, Route, Store, Data, Id, Query<TArgs>>;
41
- createSubject: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => BehaviorSubject<LegacyQuery<Response, LegacyArgs, Route, Store, Data, Id, Query<TArgs>> | null>;
42
- createSignal: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => import("@angular/core").WritableSignal<LegacyQuery<Response, LegacyArgs, Route, Store, Data, Id, Query<TArgs>> | null>;
43
- behaviorSubject: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => BehaviorSubject<LegacyQuery<Response, LegacyArgs, Route, Store, Data, Id, Query<TArgs>> | null>;
44
- }
45
- export declare const createLegacyQueryCreator: <TArgs extends QueryArgs, Response extends ResponseType<TArgs>, Store extends EntityStore<unknown>, Id, Data = Response>(options: CreateLegacyQueryCreatorOptions<TArgs, Response, Store, Data, Id>) => LegacyQueryCreator<TArgs, Response, Store, Id, Data>;
@@ -1,38 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { EntityStore } from '../../entity';
3
- import { BaseArguments, ExecuteQueryOptions, PollConfig, QueryAutoRefreshConfig, QueryEntityConfig, QueryState, RouteType } from '../../query';
4
- import { RequestError } from '../../request';
5
- import { AnyQuery, Query, QueryArgs, QueryArgsOf, RequestArgs } from '../http';
6
- export type CreateLegacyQueryOptions<TArgs extends QueryArgs> = {
7
- query: Query<TArgs>;
8
- };
9
- export declare const isLegacyQuery: <T extends AnyLegacyQuery>(query: unknown) => query is T;
10
- export type AnyLegacyQuery = LegacyQuery<any, any, any, any, any, any, any>;
11
- export declare class LegacyQuery<Response, Arguments extends BaseArguments | undefined, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id, TNewQuery extends AnyQuery> {
12
- private newQuery;
13
- _arguments: RequestArgs<QueryArgsOf<TNewQuery>>;
14
- private entity?;
15
- private _pollingSubscription;
16
- private _currentPollConfig;
17
- private storeSyncEffect;
18
- state$: Observable<QueryState<Data>>;
19
- get rawState(): QueryState<any>;
20
- get isExpired(): boolean;
21
- get isInUse(): boolean;
22
- get isPolling(): boolean;
23
- get autoRefreshOnConfig(): Readonly<QueryAutoRefreshConfig>;
24
- get store(): null;
25
- get canBeCached(): boolean;
26
- get _isInMockMode(): boolean;
27
- constructor(newQuery: TNewQuery, _arguments: RequestArgs<QueryArgsOf<TNewQuery>>, entity?: QueryEntityConfig<Store, Data, Response, Arguments, Id> | undefined);
28
- destroy(): void;
29
- execute(options?: ExecuteQueryOptions): this;
30
- abort(): this;
31
- poll(config: PollConfig): this;
32
- stopPolling(): this;
33
- pausePolling(): this;
34
- resumePolling(): this;
35
- onSuccess(callback: (response: Data) => void): this;
36
- onFailure(callback: (error: RequestError<unknown>) => void): this;
37
- private _transformState;
38
- }
@@ -1,4 +0,0 @@
1
- export * from './parse-http-error-code-de';
2
- export * from './parse-http-error-code-de.pipe';
3
- export * from './parse-http-error-code-en';
4
- export * from './parse-http-error-code-en.pipe';
@@ -1,3 +0,0 @@
1
- import { HttpStatusCode } from '@angular/common/http';
2
- export declare const parseHttpErrorCodeToTitleDe: (statusCode: HttpStatusCode) => "Ungültige Anfrage" | "Nicht autorisiert" | "Zahlung erforderlich" | "Verboten" | "Nicht gefunden" | "Methode nicht erlaubt" | "Nicht akzeptabel" | "Proxy-Authentifizierung erforderlich" | "Anforderungszeitüberschreitung" | "Konflikt" | "Weg" | "Länge erforderlich" | "Vorbedingung fehlgeschlagen" | "Nutzlast zu groß" | "URI zu lang" | "Nicht unterstützter Medientyp" | "Bereich nicht zufriedenstellend" | "Erwartung fehlgeschlagen" | "Ich bin eine Teekanne" | "Fehlgeleitete Anfrage" | "Unverarbeitbare Entität" | "Gesperrt" | "Fehlgeschlagene Abhängigkeit" | "Zu früh" | "Upgrade erforderlich" | "Vorbedingung erforderlich" | "Zu viele Anfragen" | "Anforderungskopffelder zu groß" | "Aus rechtlichen Gründen nicht verfügbar" | "Interner Serverfehler" | "Nicht implementiert" | "Schlechtes Gateway" | "Dienst nicht verfügbar" | "Gateway-Zeitüberschreitung" | "HTTP-Version nicht unterstützt" | "Variante verhandelt auch" | "Unzureichender Speicher" | "Schleifenerkennung" | "Nicht erweitert" | "Netzwerkauthentifizierung erforderlich" | "Etwas ist schief gelaufen";
3
- export declare const parseHttpErrorCodeToMessageDe: (statusCode: HttpStatusCode) => "Entschuldigung, wir konnten Ihre Anfrage nicht bearbeiten. Bitte versuchen Sie es später erneut." | "Sie sind nicht berechtigt, diese Aktion auszuführen. Bitte melden Sie sich an, um fortzufahren." | "Zur Ausführung dieser Aktion ist eine Zahlung erforderlich." | "Sie haben keine Berechtigung, diese Aktion auszuführen." | "Die angeforderte Ressource wurde nicht gefunden." | "Die angeforderte Methode ist für diese Ressource nicht zulässig." | "Die angeforderte Ressource ist nicht in der Lage, eine Antwort zu generieren, die der Liste der akzeptablen Werte entspricht." | "Zur Ausführung dieser Aktion ist eine Proxy-Authentifizierung erforderlich." | "Der Server hat auf die Anforderung gewartet." | "Die Anforderung steht im Widerspruch zum aktuellen Zustand der Ressource." | "Die angeforderte Ressource ist nicht mehr verfügbar und wird auch nicht mehr verfügbar sein." | "Die Anforderung hat die Länge ihres Inhalts nicht angegeben, die von der angeforderten Ressource benötigt wird." | "Der Server erfüllt eine der Voraussetzungen nicht, die der Anforderer an die Anforderung gestellt hat." | "Die Anforderung ist größer als der Server bereit oder in der Lage ist, zu verarbeiten." | "Die bereitgestellte URL war für den Server zu lang, um sie zu verarbeiten." | "Die Anforderungseinheit hat einen Medientyp, den der Server oder die Ressource nicht unterstützt." | "Der Client hat einen Teil der Datei angefordert, aber der Server kann diesen Teil nicht liefern." | "Der Server kann die Anforderungen des Erwartung-Anforderungskopffelds nicht erfüllen." | "Ich bin eine Teekanne." | "Die Anforderung wurde an einen Server gerichtet, der nicht in der Lage ist, eine Antwort zu generieren." | "Die Anforderung war gut formuliert, konnte aber aufgrund semantischer Fehler nicht befolgt werden." | "Die Ressource, auf die zugegriffen wird, ist gesperrt." | "Die Anforderung ist aufgrund eines Fehlers einer vorherigen Anforderung fehlgeschlagen." | "Der Server ist nicht bereit, die Anforderung zu verarbeiten, weil der Benutzer nicht authentifiziert wurde." | "Der Client sollte zu einem anderen Protokoll wie TLS/1.0 wechseln, das im Upgrade-Anforderungskopffeld angegeben ist." | "Der Ursprungsserver erfordert, dass die Anforderung bedingt ist." | "Sie haben in einer bestimmten Zeit zu viele Anfragen gesendet. Bitte versuchen Sie es später erneut." | "Der Server ist nicht bereit, die Anforderung zu verarbeiten, weil seine Kopffelder zu groß sind." | "Die Ressource ist aufgrund einer rechtlichen Forderung nicht verfügbar." | "Etwas ist schief gelaufen. Bitte versuchen Sie es später erneut." | "Der Server unterstützt die zur Erfüllung der Anforderung erforderliche Funktionalität nicht." | "Der Server kann die Anforderung derzeit nicht bearbeiten, da er vorübergehend überlastet oder gewartet wird." | "Der Server hat beim Versuch, die Anforderung abzuschließen, keine rechtzeitige Antwort vom Server erhalten." | "Der Server unterstützt die in der Anforderung verwendete HTTP-Protokollversion nicht." | "Der Server hat einen internen Konfigurationsfehler: Die ausgewählte Variantenressource ist so konfiguriert, dass sie sich selbst in die transparente Inhaltsverhandlung einbindet, und ist daher kein geeigneter Endpunkt im Verhandlungsprozess." | "Die Methode konnte auf die Ressource nicht angewendet werden, weil der Server nicht in der Lage ist, die für die erfolgreiche Ausführung der Anforderung erforderliche Darstellung zu speichern." | "Der Server hat eine Endlosschleife erkannt, während er die Anforderung verarbeitet." | "Weitere Erweiterungen der Anforderung sind erforderlich, damit der Server sie erfüllen kann." | "Sie müssen sich authentifizieren, um Zugang zum Netzwerk zu erhalten." | "Etwas ist schief gelaufen. Überprüfen Sie Ihre Internetverbindung und versuchen Sie es später erneut.";
@@ -1,12 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class ParseHttpErrorCodeToTitleDePipe implements PipeTransform {
4
- transform: (statusCode: import("@angular/common/module.d-CnjH8Dlt").HttpStatusCode) => "Ungültige Anfrage" | "Nicht autorisiert" | "Zahlung erforderlich" | "Verboten" | "Nicht gefunden" | "Methode nicht erlaubt" | "Nicht akzeptabel" | "Proxy-Authentifizierung erforderlich" | "Anforderungszeitüberschreitung" | "Konflikt" | "Weg" | "Länge erforderlich" | "Vorbedingung fehlgeschlagen" | "Nutzlast zu groß" | "URI zu lang" | "Nicht unterstützter Medientyp" | "Bereich nicht zufriedenstellend" | "Erwartung fehlgeschlagen" | "Ich bin eine Teekanne" | "Fehlgeleitete Anfrage" | "Unverarbeitbare Entität" | "Gesperrt" | "Fehlgeschlagene Abhängigkeit" | "Zu früh" | "Upgrade erforderlich" | "Vorbedingung erforderlich" | "Zu viele Anfragen" | "Anforderungskopffelder zu groß" | "Aus rechtlichen Gründen nicht verfügbar" | "Interner Serverfehler" | "Nicht implementiert" | "Schlechtes Gateway" | "Dienst nicht verfügbar" | "Gateway-Zeitüberschreitung" | "HTTP-Version nicht unterstützt" | "Variante verhandelt auch" | "Unzureichender Speicher" | "Schleifenerkennung" | "Nicht erweitert" | "Netzwerkauthentifizierung erforderlich" | "Etwas ist schief gelaufen";
5
- static ɵfac: i0.ɵɵFactoryDeclaration<ParseHttpErrorCodeToTitleDePipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<ParseHttpErrorCodeToTitleDePipe, "parseHttpErrorCodeToTitleDe", true>;
7
- }
8
- export declare class ParseHttpErrorCodeToMessageDePipe implements PipeTransform {
9
- transform: (statusCode: import("@angular/common/module.d-CnjH8Dlt").HttpStatusCode) => "Entschuldigung, wir konnten Ihre Anfrage nicht bearbeiten. Bitte versuchen Sie es später erneut." | "Sie sind nicht berechtigt, diese Aktion auszuführen. Bitte melden Sie sich an, um fortzufahren." | "Zur Ausführung dieser Aktion ist eine Zahlung erforderlich." | "Sie haben keine Berechtigung, diese Aktion auszuführen." | "Die angeforderte Ressource wurde nicht gefunden." | "Die angeforderte Methode ist für diese Ressource nicht zulässig." | "Die angeforderte Ressource ist nicht in der Lage, eine Antwort zu generieren, die der Liste der akzeptablen Werte entspricht." | "Zur Ausführung dieser Aktion ist eine Proxy-Authentifizierung erforderlich." | "Der Server hat auf die Anforderung gewartet." | "Die Anforderung steht im Widerspruch zum aktuellen Zustand der Ressource." | "Die angeforderte Ressource ist nicht mehr verfügbar und wird auch nicht mehr verfügbar sein." | "Die Anforderung hat die Länge ihres Inhalts nicht angegeben, die von der angeforderten Ressource benötigt wird." | "Der Server erfüllt eine der Voraussetzungen nicht, die der Anforderer an die Anforderung gestellt hat." | "Die Anforderung ist größer als der Server bereit oder in der Lage ist, zu verarbeiten." | "Die bereitgestellte URL war für den Server zu lang, um sie zu verarbeiten." | "Die Anforderungseinheit hat einen Medientyp, den der Server oder die Ressource nicht unterstützt." | "Der Client hat einen Teil der Datei angefordert, aber der Server kann diesen Teil nicht liefern." | "Der Server kann die Anforderungen des Erwartung-Anforderungskopffelds nicht erfüllen." | "Ich bin eine Teekanne." | "Die Anforderung wurde an einen Server gerichtet, der nicht in der Lage ist, eine Antwort zu generieren." | "Die Anforderung war gut formuliert, konnte aber aufgrund semantischer Fehler nicht befolgt werden." | "Die Ressource, auf die zugegriffen wird, ist gesperrt." | "Die Anforderung ist aufgrund eines Fehlers einer vorherigen Anforderung fehlgeschlagen." | "Der Server ist nicht bereit, die Anforderung zu verarbeiten, weil der Benutzer nicht authentifiziert wurde." | "Der Client sollte zu einem anderen Protokoll wie TLS/1.0 wechseln, das im Upgrade-Anforderungskopffeld angegeben ist." | "Der Ursprungsserver erfordert, dass die Anforderung bedingt ist." | "Sie haben in einer bestimmten Zeit zu viele Anfragen gesendet. Bitte versuchen Sie es später erneut." | "Der Server ist nicht bereit, die Anforderung zu verarbeiten, weil seine Kopffelder zu groß sind." | "Die Ressource ist aufgrund einer rechtlichen Forderung nicht verfügbar." | "Etwas ist schief gelaufen. Bitte versuchen Sie es später erneut." | "Der Server unterstützt die zur Erfüllung der Anforderung erforderliche Funktionalität nicht." | "Der Server kann die Anforderung derzeit nicht bearbeiten, da er vorübergehend überlastet oder gewartet wird." | "Der Server hat beim Versuch, die Anforderung abzuschließen, keine rechtzeitige Antwort vom Server erhalten." | "Der Server unterstützt die in der Anforderung verwendete HTTP-Protokollversion nicht." | "Der Server hat einen internen Konfigurationsfehler: Die ausgewählte Variantenressource ist so konfiguriert, dass sie sich selbst in die transparente Inhaltsverhandlung einbindet, und ist daher kein geeigneter Endpunkt im Verhandlungsprozess." | "Die Methode konnte auf die Ressource nicht angewendet werden, weil der Server nicht in der Lage ist, die für die erfolgreiche Ausführung der Anforderung erforderliche Darstellung zu speichern." | "Der Server hat eine Endlosschleife erkannt, während er die Anforderung verarbeitet." | "Weitere Erweiterungen der Anforderung sind erforderlich, damit der Server sie erfüllen kann." | "Sie müssen sich authentifizieren, um Zugang zum Netzwerk zu erhalten." | "Etwas ist schief gelaufen. Überprüfen Sie Ihre Internetverbindung und versuchen Sie es später erneut.";
10
- static ɵfac: i0.ɵɵFactoryDeclaration<ParseHttpErrorCodeToMessageDePipe, never>;
11
- static ɵpipe: i0.ɵɵPipeDeclaration<ParseHttpErrorCodeToMessageDePipe, "parseHttpErrorCodeToMessageDe", true>;
12
- }
@@ -1,3 +0,0 @@
1
- import { HttpStatusCode } from '@angular/common/http';
2
- export declare const parseHttpErrorCodeToTitleEn: (statusCode: HttpStatusCode) => "Bad request" | "Unauthorized" | "Payment required" | "Forbidden" | "Not found" | "Method not allowed" | "Not acceptable" | "Proxy authentication required" | "Request timeout" | "Conflict" | "Gone" | "Length required" | "Precondition failed" | "Payload too large" | "URI too long" | "Unsupported media type" | "Range not satisfiable" | "Expectation failed" | "I am a teapot" | "Misdirected request" | "Unprocessable entity" | "Locked" | "Failed dependency" | "Too early" | "Upgrade required" | "Precondition required" | "Too many requests" | "Request header fields too large" | "Unavailable for legal reasons" | "Internal server error" | "Not implemented" | "Bad gateway" | "Service unavailable" | "Gateway timeout" | "HTTP version not supported" | "Variant also negotiates" | "Insufficient storage" | "Loop detected" | "Not extended" | "Network authentication required" | "Something went wrong";
3
- export declare const parseHttpErrorCodeToMessageEn: (statusCode: HttpStatusCode) => "Sorry, we could not process your request. Please try again later." | "You are not authorized to perform this action. Please log in to continue." | "Payment is required to complete this action." | "You do not have permission to perform this action." | "The requested resource was not found." | "The requested method is not allowed for this resource." | "The requested resource is not capable of generating a response matching the list of acceptable values." | "Proxy authentication is required to complete this action." | "The server timed out waiting for the request." | "The request conflicts with the current state of the resource." | "The requested resource is no longer available and will not be available again." | "The request did not specify the length of its content, which is required by the requested resource." | "The server does not meet one of the preconditions that the requester put on the request." | "The request is larger than the server is willing or able to process." | "The URL provided was too long for the server to process." | "The request entity has a media type which the server or resource does not support." | "The client has asked for a portion of the file, but the server cannot supply that portion." | "The server cannot meet the requirements of the Expect request-header field." | "I am a teapot." | "The request was directed at a server that is not able to produce a response." | "The request was well-formed but was unable to be followed due to semantic errors." | "The resource that is being accessed is locked." | "The request failed due to failure of a previous request." | "The server is unwilling to process the request because the user has not been authenticated." | "The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field." | "The origin server requires the request to be conditional." | "You have sent too many requests in a given amount of time. Please try again later." | "The server is unwilling to process the request because its header fields are too large." | "The resource is unavailable due to a legal demand." | "Something went wrong on our end. Please try again later." | "The server does not support the functionality required to fulfill the request." | "The server is currently unable to handle the request due to a temporary overload or maintenance of the server." | "The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URL or some other auxiliary server it needed to access in attempting to complete the request." | "The server does not support the HTTP protocol version used in the request." | "The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process." | "The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request." | "The server detected an infinite loop while processing the request." | "Further extensions to the request are required for the server to fulfill it." | "You need to authenticate to gain network access." | "Something went wrong. Check your internet connection and try again later.";
@@ -1,12 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class ParseHttpErrorCodeToTitleEnPipe implements PipeTransform {
4
- transform: (statusCode: import("@angular/common/module.d-CnjH8Dlt").HttpStatusCode) => "Bad request" | "Unauthorized" | "Payment required" | "Forbidden" | "Not found" | "Method not allowed" | "Not acceptable" | "Proxy authentication required" | "Request timeout" | "Conflict" | "Gone" | "Length required" | "Precondition failed" | "Payload too large" | "URI too long" | "Unsupported media type" | "Range not satisfiable" | "Expectation failed" | "I am a teapot" | "Misdirected request" | "Unprocessable entity" | "Locked" | "Failed dependency" | "Too early" | "Upgrade required" | "Precondition required" | "Too many requests" | "Request header fields too large" | "Unavailable for legal reasons" | "Internal server error" | "Not implemented" | "Bad gateway" | "Service unavailable" | "Gateway timeout" | "HTTP version not supported" | "Variant also negotiates" | "Insufficient storage" | "Loop detected" | "Not extended" | "Network authentication required" | "Something went wrong";
5
- static ɵfac: i0.ɵɵFactoryDeclaration<ParseHttpErrorCodeToTitleEnPipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<ParseHttpErrorCodeToTitleEnPipe, "parseHttpErrorCodeToTitleEn", true>;
7
- }
8
- export declare class ParseHttpErrorCodeToMessageEnPipe implements PipeTransform {
9
- transform: (statusCode: import("@angular/common/module.d-CnjH8Dlt").HttpStatusCode) => "Sorry, we could not process your request. Please try again later." | "You are not authorized to perform this action. Please log in to continue." | "Payment is required to complete this action." | "You do not have permission to perform this action." | "The requested resource was not found." | "The requested method is not allowed for this resource." | "The requested resource is not capable of generating a response matching the list of acceptable values." | "Proxy authentication is required to complete this action." | "The server timed out waiting for the request." | "The request conflicts with the current state of the resource." | "The requested resource is no longer available and will not be available again." | "The request did not specify the length of its content, which is required by the requested resource." | "The server does not meet one of the preconditions that the requester put on the request." | "The request is larger than the server is willing or able to process." | "The URL provided was too long for the server to process." | "The request entity has a media type which the server or resource does not support." | "The client has asked for a portion of the file, but the server cannot supply that portion." | "The server cannot meet the requirements of the Expect request-header field." | "I am a teapot." | "The request was directed at a server that is not able to produce a response." | "The request was well-formed but was unable to be followed due to semantic errors." | "The resource that is being accessed is locked." | "The request failed due to failure of a previous request." | "The server is unwilling to process the request because the user has not been authenticated." | "The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field." | "The origin server requires the request to be conditional." | "You have sent too many requests in a given amount of time. Please try again later." | "The server is unwilling to process the request because its header fields are too large." | "The resource is unavailable due to a legal demand." | "Something went wrong on our end. Please try again later." | "The server does not support the functionality required to fulfill the request." | "The server is currently unable to handle the request due to a temporary overload or maintenance of the server." | "The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URL or some other auxiliary server it needed to access in attempting to complete the request." | "The server does not support the HTTP protocol version used in the request." | "The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process." | "The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request." | "The server detected an infinite loop while processing the request." | "Further extensions to the request are required for the server to fulfill it." | "You need to authenticate to gain network access." | "Something went wrong. Check your internet connection and try again later.";
10
- static ɵfac: i0.ɵɵFactoryDeclaration<ParseHttpErrorCodeToMessageEnPipe, never>;
11
- static ɵpipe: i0.ɵɵPipeDeclaration<ParseHttpErrorCodeToMessageEnPipe, "parseHttpErrorCodeToMessageEn", true>;
12
- }
@@ -1,2 +0,0 @@
1
- export * from './web-socket-client';
2
- export * from './web-socket-client-config';
@@ -1,17 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { SocketMessageView, WebSocketClient } from './web-socket-client';
3
- export type CreateWebSocketClientTransport = 'polling' | 'websocket' | 'webtransport';
4
- export type CreateWebSocketClientConfig = {
5
- /** A unique name for the client */
6
- name: string;
7
- /** The URL of the socket io server */
8
- url: string;
9
- /** A list of transports to try (in order). Engine.io always attempts to connect directly with the first one, provided the feature detection test for it passes. */
10
- transports?: CreateWebSocketClientTransport[];
11
- };
12
- export type WebSocketClientRef<TMessageData extends SocketMessageView = SocketMessageView> = InjectionToken<WebSocketClient<TMessageData>>;
13
- export type WebSocketClientConfig = CreateWebSocketClientConfig & {
14
- /** A generated token for dependency injection */
15
- token: WebSocketClientRef;
16
- };
17
- export declare const createWebSocketClientConfig: (options: CreateWebSocketClientConfig) => WebSocketClientConfig;
@@ -1,37 +0,0 @@
1
- import { Signal, WritableSignal } from '@angular/core';
2
- import { WebSocketClientConfig } from './web-socket-client-config';
3
- /** A default socket io message view */
4
- export type SocketMessageView<TMessageData = unknown> = {
5
- room: string;
6
- event: string;
7
- data: TMessageData;
8
- };
9
- export type WebSocketClientSubtle = {
10
- /** Leave a socket io room */
11
- leaveRoom: (room: string) => void;
12
- };
13
- export type WebSocketClient<TMessageData extends SocketMessageView> = {
14
- /**
15
- * Join a socket io room
16
- * If a function is passed, it will be evaluated in a reactive signal context.
17
- * If the function returns null, no room will be joined.
18
- * If the function returns a string, the previous room will be left and the new room will be joined.
19
- */
20
- joinRoom: (room: string | (() => string | null)) => Signal<WebSocketRoom<TMessageData> | null>;
21
- /** Whether the client is connected to the server */
22
- isConnected: Signal<boolean>;
23
- /** Advanced web socket features. **WARNING!** Incorrectly using these features will likely **BREAK** your application. You have been warned! */
24
- subtle: WebSocketClientSubtle;
25
- };
26
- export type InternalWebSocketRoom<TMessageData extends SocketMessageView> = {
27
- latestMessage: WritableSignal<TMessageData | null>;
28
- };
29
- export type WebSocketRoom<TMessageData extends SocketMessageView> = {
30
- /** The latest message received in the room */
31
- latestMessage: Signal<TMessageData | null>;
32
- };
33
- export declare const createWebSocketClient: <TMessageData extends SocketMessageView>(config: WebSocketClientConfig) => WebSocketClient<TMessageData>;
34
- export declare const provideWebSocketClient: (config: WebSocketClientConfig) => {
35
- provide: import("./web-socket-client-config").WebSocketClientRef<SocketMessageView>;
36
- useFactory: () => WebSocketClient<SocketMessageView<unknown>>;
37
- };
@@ -1,7 +0,0 @@
1
- import { RuntimeError } from '@ethlete/core';
2
- export declare const enum WebSocketRuntimeErrorCode {
3
- ROOM_NOT_JOINED = 1000,
4
- MESSAGE_MALFORMED = 1001
5
- }
6
- export declare const roomNotJoined: (room: string) => RuntimeError<WebSocketRuntimeErrorCode.ROOM_NOT_JOINED>;
7
- export declare const messageMalformed: () => RuntimeError<WebSocketRuntimeErrorCode.MESSAGE_MALFORMED>;
package/lib/gql/gql.d.ts DELETED
@@ -1,10 +0,0 @@
1
- export type TransformedGqlQuery = {
2
- query: string;
3
- variables?: string;
4
- operationName?: string;
5
- };
6
- export declare const transformGql: (str: string) => (variables: Record<string, unknown> | null | undefined) => TransformedGqlQuery;
7
- export type GQL = string & {
8
- gql: 'tag';
9
- };
10
- export declare const gql: (strings: TemplateStringsArray, ...values: string[]) => GQL;
@@ -1 +0,0 @@
1
- export * from './gql';
@@ -1,3 +0,0 @@
1
- export * from './infinity-query';
2
- export * from './infinity-query.types';
3
- export * from './infinity-query.utils';
@@ -1,30 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { AnyLegacyQueryCreator } from '../experimental';
3
- import { AnyQueryCreator, ConstructQuery, QueryArgsOf, QueryDataOf } from '../query-creator';
4
- import { InfinityQueryConfig } from './infinity-query.types';
5
- export declare class InfinityQuery<QueryCreator extends AnyQueryCreator | AnyLegacyQueryCreator, Query extends ConstructQuery<QueryCreator>, Args extends QueryArgsOf<QueryCreator>, QueryResponse extends QueryDataOf<QueryCreator>, InfinityResponse extends unknown[]> {
6
- private _config;
7
- private _destroy$;
8
- private readonly _queries$;
9
- private readonly _currentPage$;
10
- private readonly _currentCalculatedPage$;
11
- private readonly _totalPages$;
12
- private readonly _itemsPerPage$;
13
- private readonly _data$;
14
- private readonly _lastQuery$;
15
- get currentPage$(): Observable<number | null>;
16
- get currentPage(): number | null;
17
- get currentCalculatedPage$(): Observable<number | null>;
18
- get currentCalculatedPage(): number | null;
19
- get totalPages$(): Observable<number | null>;
20
- get totalPages(): number | null;
21
- get itemsPerPage$(): Observable<number>;
22
- get itemsPerPage(): number;
23
- get data$(): Observable<InfinityResponse | null>;
24
- get currentQuery$(): Observable<Query | null>;
25
- constructor(_config: InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>, _destroy$: Observable<boolean>);
26
- nextPage(): void;
27
- reset(newConfig?: Omit<InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>, 'queryCreator' | 'response'>): void;
28
- private _prepareArgs;
29
- private _getPageParamLocation;
30
- }
@@ -1,105 +0,0 @@
1
- import { AnyLegacyQueryCreator } from '../experimental';
2
- import { BaseArguments, WithHeaders } from '../query';
3
- import { AnyQueryCreator, ConstructQuery, QueryArgsOf, QueryDataOf } from '../query-creator';
4
- import { InfinityQuery } from './infinity-query';
5
- export type InfinityQueryParamLocation = 'path' | 'query' | 'body' | 'header' | 'variable';
6
- export type AppendItemsLocation = 'start' | 'end';
7
- export interface PageParamCalculatorOptions {
8
- page: number;
9
- totalPages: number | null;
10
- itemsPerPage: number;
11
- }
12
- export interface TotalPagesExtractorOptions<Arguments extends BaseArguments | undefined, QueryResponse> {
13
- response: QueryResponse;
14
- itemsPerPage: number;
15
- args: Arguments;
16
- }
17
- export interface InfinityQueryConfig<QueryCreator extends AnyQueryCreator | AnyLegacyQueryCreator, Arguments extends BaseArguments | undefined, QueryResponse, InfinityResponse extends unknown[]> {
18
- /**
19
- * The query creator to use for fetching pages.
20
- */
21
- queryCreator: QueryCreator;
22
- /**
23
- * The interval in milliseconds to poll on. If not provided, polling will be disabled.
24
- * @default undefined
25
- */
26
- pollingInterval?: number;
27
- /**
28
- * The args that will be merged with the page arg.
29
- */
30
- defaultArgs?: Arguments & WithHeaders;
31
- pageParam?: {
32
- /**
33
- * The location where the page param is in request.
34
- *
35
- * @default "query"
36
- */
37
- location?: InfinityQueryParamLocation;
38
- /**
39
- * Used as page param name.
40
- *
41
- * @default "page"
42
- */
43
- key?: string;
44
- /**
45
- * A function that calculates the page value for the next request.
46
- * E.g. if the pagination is done with a `skip` param, the `pageParamName` should be `skip` and this function should return the correct value.
47
- */
48
- valueCalculator?: (data: PageParamCalculatorOptions) => number;
49
- };
50
- limitParam?: {
51
- /**
52
- * The location where the limit param is in request.
53
- *
54
- * @default "query"
55
- */
56
- location?: InfinityQueryParamLocation;
57
- /**
58
- * Used as limit param name.
59
- *
60
- * @default "limit"
61
- */
62
- key?: string;
63
- /**
64
- * The value of the limit param.
65
- *
66
- * @default 10
67
- */
68
- value?: number;
69
- };
70
- response: {
71
- /**
72
- * Determines if the response should get reversed before appending to the data array.
73
- *
74
- * @default false
75
- */
76
- reverse?: boolean;
77
- /**
78
- * Determines where to put the new items in the data array.
79
- *
80
- * @default "end"
81
- */
82
- appendItemsTo?: AppendItemsLocation;
83
- /**
84
- * The type of the array that will be created by the infinite query.
85
- */
86
- arrayType: InfinityResponse;
87
- /**
88
- * A function that returns the data array from the response.
89
- * This function should return the type provided in `responseArrayType`.
90
- */
91
- valueExtractor?: (response: QueryResponse) => InfinityResponse;
92
- /**
93
- * The property in the response that contains the total page count.
94
- *
95
- * @default "totalPages"
96
- */
97
- totalPagesExtractor?: (data: TotalPagesExtractorOptions<QueryArgsOf<QueryCreator> & WithHeaders, QueryResponse>) => number;
98
- };
99
- }
100
- type OmitUndefined<T> = T extends undefined ? never : T;
101
- export type AnyInfinityQueryConfig = InfinityQueryConfig<any, any, any, any>;
102
- export type AnyInfinityQuery = InfinityQuery<any, any, any, any, any>;
103
- export type InfinityQueryConfigType<QueryCreator extends AnyQueryCreator | AnyLegacyQueryCreator, InfinityResponse extends unknown[]> = InfinityQueryConfig<QueryCreator, OmitUndefined<QueryArgsOf<QueryCreator>>, QueryDataOf<QueryCreator>, InfinityResponse>;
104
- export type InfinityQueryOf<Cfg extends AnyInfinityQueryConfig | null> = InfinityQuery<NonNullable<Cfg>['queryCreator'], ConstructQuery<NonNullable<Cfg>['queryCreator']>, QueryArgsOf<NonNullable<Cfg>['queryCreator']>, QueryDataOf<NonNullable<Cfg>['queryCreator']>, NonNullable<Cfg>['response']['arrayType']>;
105
- export {};
@@ -1,5 +0,0 @@
1
- import { AnyLegacyQueryCreator } from '../experimental';
2
- import { AnyQueryCreator, QueryArgsOf, QueryDataOf } from '../query-creator';
3
- import { InfinityQueryConfig, PageParamCalculatorOptions } from './infinity-query.types';
4
- export declare const createInfinityQueryConfig: <QueryCreator extends AnyQueryCreator | AnyLegacyQueryCreator, Args extends QueryArgsOf<QueryCreator>, QueryResponse extends QueryDataOf<QueryCreator>, InfinityResponse extends unknown[]>(config: InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>) => InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>;
5
- export declare const skipPaginationPageParamCalculator: ({ page, itemsPerPage }: PageParamCalculatorOptions) => number;
@@ -1 +0,0 @@
1
- export * from './logger';
@@ -1,12 +0,0 @@
1
- export declare const buildErrorMessage: (code: string, message: string) => string;
2
- export declare class QueryError extends Error {
3
- data?: unknown;
4
- constructor(code: string, message: string, data?: unknown);
5
- }
6
- export declare const invalidBaseRouteError: (data: unknown) => QueryError;
7
- export declare const invalidRouteError: (data: unknown) => QueryError;
8
- export declare const pathParamsMissingInRouteFunctionError: (data: unknown) => QueryError;
9
- export declare const queryStateAlreadyHasKeyError: (data: unknown) => QueryError;
10
- export declare const queryStateDoesNotContainKeyError: (data: unknown) => QueryError;
11
- export declare const queryStateCannotTransformError: (data: unknown) => QueryError;
12
- export declare const invalidBodyError: (data: unknown) => QueryError;
@@ -1,3 +0,0 @@
1
- export * from './query';
2
- export * from './query.types';
3
- export * from './query.utils';