@ethlete/query 6.0.0-next.10 → 6.0.0-next.12

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/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@ethlete/query",
3
- "version": "6.0.0-next.10",
3
+ "version": "6.0.0-next.12",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
- "@analogjs/vite-plugin-angular": "2.5.1",
8
- "@angular/common": "21.2.13",
9
- "@angular/core": "21.2.13",
10
- "@angular/forms": "21.2.13",
11
- "@angular/router": "21.2.13",
7
+ "@analogjs/vite-plugin-angular": "2.6.2",
8
+ "@angular/common": "22.0.5",
9
+ "@angular/core": "22.0.5",
10
+ "@angular/forms": "22.0.5",
11
+ "@angular/router": "22.0.5",
12
12
  "@ethlete/core": "^5.0.0-beta.11",
13
13
  "@ethlete/types": "^2.0.0-beta.4",
14
- "@nx/devkit": "22.7.2",
15
- "@nx/vite": "22.7.2",
14
+ "@nx/devkit": "23.1.0-beta.7",
15
+ "@nx/vite": "23.1.0-beta.7",
16
16
  "rxjs": "7.8.2",
17
17
  "socket.io-client": "4.8.3",
18
- "typescript": "5.9.3",
18
+ "typescript": "6.0.3",
19
19
  "vite": "8.0.13"
20
20
  },
21
21
  "generators": "./generators/generators.json",
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Signal, Injector, CreateComputedOptions, InjectionToken, TrackByFunction, PipeTransform, OnInit, OnDestroy, DestroyRef, EnvironmentInjector, ɵEffectScheduler as _EffectScheduler, ErrorHandler, WritableSignal, CreateEffectOptions } from '@angular/core';
2
+ import { Signal, Injector, CreateComputedOptions, InjectionToken, TrackByFunction, PipeTransform, OnInit, OnDestroy, DestroyRef, EnvironmentInjector, ErrorHandler, WritableSignal, CreateEffectOptions } from '@angular/core';
3
3
  import * as _ethlete_core from '@ethlete/core';
4
4
  import { ProviderResult, RuntimeError } from '@ethlete/core';
5
5
  import * as rxjs from 'rxjs';
@@ -1981,8 +1981,6 @@ type QueryDependencies = {
1981
1981
  client: QueryClient;
1982
1982
  /** The injector of the query */
1983
1983
  injector: EnvironmentInjector;
1984
- /** The effect scheduler */
1985
- effectScheduler: _EffectScheduler;
1986
1984
  /** The error handler */
1987
1985
  ngErrorHandler: ErrorHandler;
1988
1986
  /** The http client */
@@ -2052,6 +2050,18 @@ type SetupQueryStateOptions<TArgs extends QueryArgs> = {
2052
2050
  type QueryStateSubtle<TArgs extends QueryArgs> = {
2053
2051
  request: WritableSignal<HttpRequest<TArgs> | null>;
2054
2052
  rawResponse: WritableSignal<RawResponseType<TArgs> | null>;
2053
+ /**
2054
+ * Forwards the given request's discrete event stream onto the query-level `events$`.
2055
+ * Called by `queryExecute` whenever a request is (re-)executed.
2056
+ */
2057
+ bindRequestEvents: (request: HttpRequest<TArgs>) => void;
2058
+ /**
2059
+ * Installs the reactive source that backs `state.args`. The `withArgs` feature uses this so that
2060
+ * `state.args` always reflects the latest args (pulled from the reactive source on read) instead
2061
+ * of being push-updated by an effect that may not have run yet. Without a `withArgs` feature the
2062
+ * default source returns `null`.
2063
+ */
2064
+ setArgsSource: (source: () => RequestArgs<TArgs> | null) => void;
2055
2065
  };
2056
2066
  type QueryState<TArgs extends QueryArgs> = {
2057
2067
  rawResponse: WritableSignal<RawResponseType<TArgs> | null>;
@@ -2063,6 +2073,14 @@ type QueryState<TArgs extends QueryArgs> = {
2063
2073
  lastTimeExecutedAt: WritableSignal<number | null>;
2064
2074
  lastTriggeredBy: WritableSignal<string | null>;
2065
2075
  executionState: Signal<QueryExecutionState<TArgs> | null>;
2076
+ /**
2077
+ * A discrete, query-level stream of every request event, fed synchronously from the current
2078
+ * request's `events$` at the moment each event occurs. Side-effect features
2079
+ * (success/error/logging) subscribe to this instead of edge-detecting on the shared, resettable
2080
+ * `response`/`error`/`latestHttpEvent` signals — so they cannot miss a transition when the next
2081
+ * execution swaps the underlying request.
2082
+ */
2083
+ events$: Observable<RequestHttpEvent<TArgs>>;
2066
2084
  subtle: QueryStateSubtle<TArgs>;
2067
2085
  };
2068
2086
  type QueryExecutionStateSuccess<TArgs extends QueryArgs> = {
@@ -2560,6 +2578,13 @@ type HttpRequest<TArgs extends QueryArgs> = {
2560
2578
  response: Signal<ResponseType<TArgs> | null>;
2561
2579
  /** The current event of the request */
2562
2580
  currentEvent: Signal<RequestHttpEvent<TArgs> | null>;
2581
+ /**
2582
+ * A discrete stream of every event of this request, emitted synchronously at the moment the
2583
+ * event is processed (including the terminal Response / error event). Unlike the `currentEvent`
2584
+ * signal, this never coalesces or gets reset, so consumers cannot miss a transition. Completes
2585
+ * when the request is destroyed.
2586
+ */
2587
+ events$: Observable<RequestHttpEvent<TArgs>>;
2563
2588
  /** Whether the request is stale or not aka the cache header has expired */
2564
2589
  isStale: Signal<boolean>;
2565
2590
  };