@ethlete/query 4.6.0 → 4.6.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.
@@ -5,11 +5,6 @@ export interface AuthProvider {
5
5
  * This will automatically get injected into every query that has the `secure` property set to `true`.
6
6
  */
7
7
  header: Record<string, string>;
8
- /**
9
- * Cleanup function that gets called once the auth provider gets destroyed.
10
- * @internal
11
- */
12
- cleanUp(): void;
13
8
  }
14
9
  export interface AuthProviderBasicConfig {
15
10
  /**
@@ -18,8 +18,4 @@ export declare class BearerAuthProvider<T extends AnyQueryCreator> implements Au
18
18
  enableCookie(): void;
19
19
  disableCookie(): void;
20
20
  private _prepareForRefresh;
21
- /**
22
- * @internal
23
- */
24
- _refreshQuery(): import("../query").Query<any, any, any, any, any, any> | null | undefined;
25
21
  }
@@ -7,17 +7,21 @@ export declare class EntityStore<T> {
7
7
  constructor(_config: EntityStoreConfig);
8
8
  select(key: EntityKey): Observable<T | null>;
9
9
  select(keys: EntityKey[]): Observable<T[]>;
10
+ select(keys: EntityKey[][]): Observable<T[]>;
10
11
  /**
11
12
  * **Note:** Prefer `select` over `selectWhere` when possible.
12
13
  */
13
14
  selectWhere(predicate: (value: T) => boolean): Observable<T[]>;
14
15
  set(key: EntityKey, value: T): void;
15
16
  set(keys: EntityKey[], values: T[]): void;
17
+ set(keys: EntityKey[][], values: T[][]): void;
16
18
  remove(key: EntityKey): void;
17
19
  remove(keys: EntityKey[]): void;
20
+ remove(keys: EntityKey[][]): void;
18
21
  logState(): void;
19
22
  private _select;
20
23
  private _selectMany;
21
24
  private _set;
22
25
  private _remove;
26
+ private _normalizeKeys;
23
27
  }
@@ -3,3 +3,23 @@ export interface EntityStoreConfig {
3
3
  name: string;
4
4
  logActions?: boolean;
5
5
  }
6
+ export interface InsertFromConfig<OriginStoreType, OriginKeys extends keyof NonNullable<OriginStoreType>, IdFn extends (value: NonNullable<OriginStoreType>) => EntityKey | EntityKey[]> {
7
+ /**
8
+ * The property key of which the value should be replaced.
9
+ */
10
+ for: OriginKeys;
11
+ /**
12
+ * A function that returns the id of the entity. Can also return an array of ids.
13
+ */
14
+ id: IdFn;
15
+ }
16
+ export interface RemoveFromConfig<T> {
17
+ /**
18
+ * The where function to select the entities to remove.
19
+ */
20
+ where: (entity: T) => boolean;
21
+ /**
22
+ * A function that returns the id of the entity.
23
+ */
24
+ id: (entity: T) => EntityKey;
25
+ }
@@ -1,2 +1,12 @@
1
1
  import { Paginated } from '@ethlete/types';
2
+ import { EntityStore } from './entity-store';
3
+ import { EntityKey, InsertFromConfig, RemoveFromConfig } from './entity.types';
2
4
  export declare function mapToPaginated<T>(response: Paginated<T>): import("rxjs").OperatorFunction<unknown, Paginated<T>>;
5
+ /**
6
+ * Use an other store to represent a property of the current entity.
7
+ */
8
+ export declare const insertFrom: <OriginStoreType, OriginKeys extends keyof NonNullable<OriginStoreType>, SubStoreType extends NonNullable<OriginStoreType>[OriginKeys] extends (infer U)[] ? U : NonNullable<OriginStoreType>[OriginKeys], IdFn extends (value: NonNullable<OriginStoreType>) => EntityKey | EntityKey[], ComputedEntityType extends ReturnType<IdFn> extends unknown[] ? OriginStoreType : Omit<OriginStoreType, OriginKeys> & { [K in OriginKeys]: SubStoreType | null; }>(store: EntityStore<SubStoreType>, { for: key, id }: InsertFromConfig<OriginStoreType, OriginKeys, IdFn>) => import("rxjs").OperatorFunction<OriginStoreType, ComputedEntityType | null>;
9
+ /**
10
+ * Remove entities from a store based on a where function.
11
+ */
12
+ export declare const removeFrom: <T>(store: EntityStore<T>, { where, id }: RemoveFromConfig<T>) => void;
@@ -12,10 +12,6 @@ export declare class Query<Response, Arguments extends BaseArguments | undefined
12
12
  private _requestSubscription;
13
13
  private _onAbort$;
14
14
  private _currentPollConfig;
15
- /**
16
- * @internal
17
- */
18
- _isPollingPaused: boolean;
19
15
  private readonly _state$;
20
16
  private get _nextId();
21
17
  get state$(): Observable<QueryState<Data>>;
@@ -30,14 +26,6 @@ export declare class Query<Response, Arguments extends BaseArguments | undefined
30
26
  get isInUse(): boolean;
31
27
  get isPolling(): boolean;
32
28
  get autoRefreshOnConfig(): Readonly<QueryAutoRefreshConfig>;
33
- /**
34
- * @internal
35
- */
36
- get _enableSmartPolling(): boolean;
37
- /**
38
- * @internal
39
- */
40
- get _arguments(): Arguments;
41
29
  get store(): Store | null;
42
30
  constructor(_client: QueryClient, _queryConfig: RestQueryConfig<Route, Response, Arguments, Store, Data, Id> | GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>, _routeWithParams: Route, _args: Arguments);
43
31
  execute(options?: ExecuteQueryOptions): this;
@@ -46,10 +34,6 @@ export declare class Query<Response, Arguments extends BaseArguments | undefined
46
34
  stopPolling(): this;
47
35
  pausePolling(): this;
48
36
  resumePolling(): this;
49
- /**
50
- * @internal
51
- */
52
- _destroy(): void;
53
37
  private _getBearerAuthProvider;
54
38
  private _updateEntityState;
55
39
  private _transformState;
@@ -196,20 +196,6 @@ export interface ExecuteQueryOptions {
196
196
  * @default false
197
197
  */
198
198
  skipCache?: boolean;
199
- /**
200
- * The trigger type for this query.
201
- * - `program`: The query was triggered by the user.
202
- * - `poll`: The query was triggered by polling.
203
- * - `auto`: The query was triggered by an auto refresh event.
204
- * @default 'program'
205
- * @internal
206
- */
207
- _triggeredVia?: QueryTrigger;
208
- /**
209
- * Whether this is a retry of an unauthorized request.
210
- * @internal
211
- */
212
- _isUnauthorizedRetry?: boolean;
213
199
  }
214
200
  export type RouteType<Arguments extends BaseArguments | undefined> = Arguments extends {
215
201
  pathParams: infer PathParams;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethlete/query",
3
- "version": "4.6.0",
3
+ "version": "4.6.1",
4
4
  "dependencies": {
5
5
  "tslib": "^2.5.0"
6
6
  },