reactjrx 1.138.0 → 1.140.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.
@@ -1,12 +1,12 @@
1
- import { DefaultError, MutationKey, QueryClient, UseMutationResult } from '@tanstack/react-query';
1
+ import { DefaultError, MutationKey, QueryClient } from '@tanstack/react-query';
2
2
  import { BehaviorSubject, Subject } from 'rxjs';
3
3
  import { UseMutation$Options } from './useMutation$';
4
- export declare function useContactMutation$<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>({ onMutate, ...options }: UseMutation$Options<TData | null, TError, TVariables, TContext> & {
4
+ export declare function useConcatMutation$<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>({ onMutate, ...options }: UseMutation$Options<TData | null, TError, TVariables, TContext> & {
5
5
  mutationKey: MutationKey;
6
6
  }, queryClient?: QueryClient): {
7
7
  mutate: (variables: TVariables) => void;
8
8
  mutateAsync: (variables: TVariables) => Promise<TData | null>;
9
- state$: BehaviorSubject<Pick< UseMutationResult<TData | null, TError, {
9
+ state$: BehaviorSubject<Pick<import('@tanstack/react-query').UseMutationResult<TData | null, TError, {
10
10
  variables: TVariables;
11
11
  ready$: Subject<boolean>;
12
12
  }, TContext>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
@@ -27,7 +27,7 @@ export declare function useContactMutation$<TData = unknown, TError = DefaultErr
27
27
  } | {
28
28
  mutate: (variables: TVariables) => void;
29
29
  mutateAsync: (variables: TVariables) => Promise<TData | null>;
30
- state$: BehaviorSubject<Pick< UseMutationResult<TData | null, TError, {
30
+ state$: BehaviorSubject<Pick<import('@tanstack/react-query').UseMutationResult<TData | null, TError, {
31
31
  variables: TVariables;
32
32
  ready$: Subject<boolean>;
33
33
  }, TContext>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
@@ -51,7 +51,7 @@ export declare function useContactMutation$<TData = unknown, TError = DefaultErr
51
51
  } | {
52
52
  mutate: (variables: TVariables) => void;
53
53
  mutateAsync: (variables: TVariables) => Promise<TData | null>;
54
- state$: BehaviorSubject<Pick< UseMutationResult<TData | null, TError, {
54
+ state$: BehaviorSubject<Pick<import('@tanstack/react-query').UseMutationResult<TData | null, TError, {
55
55
  variables: TVariables;
56
56
  ready$: Subject<boolean>;
57
57
  }, TContext>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
@@ -75,7 +75,7 @@ export declare function useContactMutation$<TData = unknown, TError = DefaultErr
75
75
  } | {
76
76
  mutate: (variables: TVariables) => void;
77
77
  mutateAsync: (variables: TVariables) => Promise<TData | null>;
78
- state$: BehaviorSubject<Pick< UseMutationResult<TData | null, TError, {
78
+ state$: BehaviorSubject<Pick<import('@tanstack/react-query').UseMutationResult<TData | null, TError, {
79
79
  variables: TVariables;
80
80
  ready$: Subject<boolean>;
81
81
  }, TContext>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
@@ -1,4 +1,4 @@
1
- import { DefaultError, QueryClient, UseMutationOptions, UseMutationResult, UseMutateFunction, UseMutateAsyncFunction } from '@tanstack/react-query';
1
+ import { DefaultError, QueryClient, UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
2
2
  import { BehaviorSubject, Observable } from 'rxjs';
3
3
  export type UseMutation$Options<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationFn"> & {
4
4
  mutationFn: ((variables: TVariables) => Observable<TData>) | Observable<TData>;
@@ -13,14 +13,14 @@ export declare function useMutation$<TData = unknown, TError = DefaultError, TVa
13
13
  isPending: false;
14
14
  isSuccess: false;
15
15
  status: "idle";
16
- mutate: UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
16
+ mutate: import('@tanstack/react-query').UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
17
17
  reset: () => void;
18
18
  context: TOnMutateResult | undefined;
19
19
  failureCount: number;
20
20
  failureReason: TError | null;
21
21
  isPaused: boolean;
22
22
  submittedAt: number;
23
- mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
23
+ mutateAsync: import('@tanstack/react-query').UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
24
24
  } | {
25
25
  state$: BehaviorSubject<Pick<UseMutationResult<TData, TError, TVariables, TOnMutateResult>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
26
26
  data: undefined;
@@ -31,14 +31,14 @@ export declare function useMutation$<TData = unknown, TError = DefaultError, TVa
31
31
  isPending: true;
32
32
  isSuccess: false;
33
33
  status: "pending";
34
- mutate: UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
34
+ mutate: import('@tanstack/react-query').UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
35
35
  reset: () => void;
36
36
  context: TOnMutateResult | undefined;
37
37
  failureCount: number;
38
38
  failureReason: TError | null;
39
39
  isPaused: boolean;
40
40
  submittedAt: number;
41
- mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
41
+ mutateAsync: import('@tanstack/react-query').UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
42
42
  } | {
43
43
  state$: BehaviorSubject<Pick<UseMutationResult<TData, TError, TVariables, TOnMutateResult>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
44
44
  data: undefined;
@@ -49,14 +49,14 @@ export declare function useMutation$<TData = unknown, TError = DefaultError, TVa
49
49
  isPending: false;
50
50
  isSuccess: false;
51
51
  status: "error";
52
- mutate: UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
52
+ mutate: import('@tanstack/react-query').UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
53
53
  reset: () => void;
54
54
  context: TOnMutateResult | undefined;
55
55
  failureCount: number;
56
56
  failureReason: TError | null;
57
57
  isPaused: boolean;
58
58
  submittedAt: number;
59
- mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
59
+ mutateAsync: import('@tanstack/react-query').UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
60
60
  } | {
61
61
  state$: BehaviorSubject<Pick<UseMutationResult<TData, TError, TVariables, TOnMutateResult>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
62
62
  data: TData;
@@ -67,12 +67,12 @@ export declare function useMutation$<TData = unknown, TError = DefaultError, TVa
67
67
  isPending: false;
68
68
  isSuccess: true;
69
69
  status: "success";
70
- mutate: UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
70
+ mutate: import('@tanstack/react-query').UseMutateFunction<TData, TError, TVariables, TOnMutateResult>;
71
71
  reset: () => void;
72
72
  context: TOnMutateResult | undefined;
73
73
  failureCount: number;
74
74
  failureReason: TError | null;
75
75
  isPaused: boolean;
76
76
  submittedAt: number;
77
- mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
77
+ mutateAsync: import('@tanstack/react-query').UseMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
78
78
  };
@@ -0,0 +1,50 @@
1
+ import { DefaultError, QueriesPlaceholderDataFunction, QueryClient, QueryKey, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import { ObservableQueryFn } from './createObservableQueryFn';
3
+ type MAXIMUM_DEPTH = 20;
4
+ type UseQuery$OptionsForUseQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, "queryFn" | "placeholderData"> & {
5
+ queryFn?: ObservableQueryFn<TQueryFnData, TQueryKey>;
6
+ placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
7
+ };
8
+ type GetUseQuery$Options<T> = T extends {
9
+ queryFn?: ObservableQueryFn<infer TQueryFnData, infer TQueryKey>;
10
+ select?: (data: any) => infer TData;
11
+ } ? UseQuery$OptionsForUseQueries<TQueryFnData, DefaultError, unknown extends TData ? TQueryFnData : TData, TQueryKey extends QueryKey ? TQueryKey : QueryKey> : UseQuery$OptionsForUseQueries;
12
+ type GetUseQuery$Result<T> = T extends {
13
+ queryFn?: ObservableQueryFn<infer TQueryFnData, any>;
14
+ select?: (data: any) => infer TData;
15
+ } ? UseQueryResult<unknown extends TData ? TQueryFnData : TData, DefaultError> : UseQueryResult;
16
+ /**
17
+ * Mirrors TanStack's `QueriesOptions`, but each query takes an Observable-based
18
+ * `queryFn` (see {@link ObservableQueryFn}) instead of a Promise-based one. The
19
+ * recursion preserves per-element tuple inference at the call site.
20
+ */
21
+ export type QueriesOptions$<T extends Array<any>, TResults extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth["length"] extends MAXIMUM_DEPTH ? Array<UseQuery$OptionsForUseQueries> : T extends [] ? [] : T extends [infer Head] ? [...TResults, GetUseQuery$Options<Head>] : T extends [infer Head, ...infer Tails] ? QueriesOptions$<[
22
+ ...Tails
23
+ ], [
24
+ ...TResults,
25
+ GetUseQuery$Options<Head>
26
+ ], [
27
+ ...TDepth,
28
+ 1
29
+ ]> : ReadonlyArray<unknown> extends T ? T : Array<UseQuery$OptionsForUseQueries>;
30
+ /**
31
+ * Mirrors TanStack's `QueriesResults`, mapping each Observable-based query
32
+ * option to its `UseQueryResult`.
33
+ */
34
+ export type QueriesResults$<T extends Array<any>, TResults extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth["length"] extends MAXIMUM_DEPTH ? Array<UseQueryResult> : T extends [] ? [] : T extends [infer Head] ? [...TResults, GetUseQuery$Result<Head>] : T extends [infer Head, ...infer Tails] ? QueriesResults$<[
35
+ ...Tails
36
+ ], [
37
+ ...TResults,
38
+ GetUseQuery$Result<Head>
39
+ ], [
40
+ ...TDepth,
41
+ 1
42
+ ]> : {
43
+ [K in keyof T]: GetUseQuery$Result<T[K]>;
44
+ };
45
+ export declare function useQueries$<T extends Array<any>, TCombinedResult = QueriesResults$<T>>({ queries, ...options }: {
46
+ queries: readonly [...QueriesOptions$<T>];
47
+ combine?: (result: QueriesResults$<T>) => TCombinedResult;
48
+ subscribed?: boolean;
49
+ }, queryClient?: QueryClient): TCombinedResult;
50
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,5 @@
1
- import { DefaultError, QueryClient, QueryFunctionContext, QueryKey, skipToken, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
- import { Observable } from 'rxjs';
3
- import { NoInfer } from '@tanstack/query-core';
1
+ import { DefaultError, QueryClient, QueryKey, UseQueryOptions } from '@tanstack/react-query';
2
+ import { ObservableQueryFn } from './createObservableQueryFn';
4
3
  export declare function useQuery$<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>({ queryFn, ...options }: Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, "queryFn"> & {
5
- queryFn: ((context: QueryFunctionContext<TQueryKey>) => Observable<TQueryFnData>) | typeof skipToken | Observable<TQueryFnData>;
6
- }, queryClient?: QueryClient): UseQueryResult<NoInfer<TData>, TError>;
4
+ queryFn: ObservableQueryFn<TQueryFnData, TQueryKey>;
5
+ }, queryClient?: QueryClient): import('@tanstack/react-query').UseQueryResult<NoInfer<TData>, TError>;
@@ -1,13 +1,12 @@
1
- import { DefaultError, QueryClient, UseMutationResult } from '@tanstack/react-query';
1
+ import { DefaultError, QueryClient } from '@tanstack/react-query';
2
2
  import { UseMutation$Options } from './useMutation$';
3
- import { BehaviorSubject } from 'rxjs';
4
3
  export declare class SwitchMutationCancelError extends Error {
5
4
  constructor(message?: string);
6
5
  }
7
6
  export declare function useSwitchMutation$<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown>({ mutationFn, onMutate, onError, onSettled, ...options }: UseMutation$Options<TData | null, TError, TVariables, TOnMutateResult>, queryClient?: QueryClient): {
8
7
  mutate: (variables: TVariables) => void;
9
8
  mutateAsync: (variables: TVariables) => Promise<TData | null>;
10
- state$: BehaviorSubject<Pick< UseMutationResult<TData | null, TError, {
9
+ state$: import('rxjs').BehaviorSubject<Pick<import('@tanstack/react-query').UseMutationResult<TData | null, TError, {
11
10
  variables: TVariables;
12
11
  abort: AbortSignal;
13
12
  }, TOnMutateResult>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
@@ -28,7 +27,7 @@ export declare function useSwitchMutation$<TData = unknown, TError = DefaultErro
28
27
  } | {
29
28
  mutate: (variables: TVariables) => void;
30
29
  mutateAsync: (variables: TVariables) => Promise<TData | null>;
31
- state$: BehaviorSubject<Pick< UseMutationResult<TData | null, TError, {
30
+ state$: import('rxjs').BehaviorSubject<Pick<import('@tanstack/react-query').UseMutationResult<TData | null, TError, {
32
31
  variables: TVariables;
33
32
  abort: AbortSignal;
34
33
  }, TOnMutateResult>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
@@ -52,7 +51,7 @@ export declare function useSwitchMutation$<TData = unknown, TError = DefaultErro
52
51
  } | {
53
52
  mutate: (variables: TVariables) => void;
54
53
  mutateAsync: (variables: TVariables) => Promise<TData | null>;
55
- state$: BehaviorSubject<Pick< UseMutationResult<TData | null, TError, {
54
+ state$: import('rxjs').BehaviorSubject<Pick<import('@tanstack/react-query').UseMutationResult<TData | null, TError, {
56
55
  variables: TVariables;
57
56
  abort: AbortSignal;
58
57
  }, TOnMutateResult>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
@@ -76,7 +75,7 @@ export declare function useSwitchMutation$<TData = unknown, TError = DefaultErro
76
75
  } | {
77
76
  mutate: (variables: TVariables) => void;
78
77
  mutateAsync: (variables: TVariables) => Promise<TData | null>;
79
- state$: BehaviorSubject<Pick< UseMutationResult<TData | null, TError, {
78
+ state$: import('rxjs').BehaviorSubject<Pick<import('@tanstack/react-query').UseMutationResult<TData | null, TError, {
80
79
  variables: TVariables;
81
80
  abort: AbortSignal;
82
81
  }, TOnMutateResult>, "status" | "isPending" | "isError" | "isSuccess" | "isIdle">>;
@@ -1,12 +1,11 @@
1
1
  import { Adapter } from './adapters/Adapter';
2
2
  import { PersistenceEntry, SignalPersistenceConfig } from './types';
3
- import { Observable } from 'rxjs';
4
3
  export declare const getNormalizedPersistanceValue: (unknownValue: unknown) => PersistenceEntry | undefined;
5
4
  export declare const persistValue: ({ adapter, config, }: {
6
5
  adapter: Adapter;
7
6
  config: SignalPersistenceConfig<any>;
8
- }) => Observable<unknown>;
7
+ }) => import('rxjs').Observable<unknown>;
9
8
  export declare function hydrateValueToSignal({ adapter, config, }: {
10
9
  adapter: Adapter;
11
10
  config: SignalPersistenceConfig<any>;
12
- }): Observable<unknown>;
11
+ }): import('rxjs').Observable<unknown>;
@@ -1,7 +1,6 @@
1
1
  import { Signal } from '../Signal';
2
2
  import { Adapter } from './adapters/Adapter';
3
3
  import { SignalPersistenceConfig } from './types';
4
- import { Observable } from 'rxjs';
5
4
  export declare function persistSignals({ entries, onHydrated, adapter, }: {
6
5
  entries: Array<SignalPersistenceConfig<Signal<any, string>>>;
7
6
  /**
@@ -14,7 +13,7 @@ export declare function persistSignals({ entries, onHydrated, adapter, }: {
14
13
  * need to change adapter during runtime.
15
14
  */
16
15
  adapter: Adapter;
17
- }): Observable<{
16
+ }): import('rxjs').Observable<{
18
17
  type: "hydrated";
19
18
  } | {
20
19
  type: "persisted";
@@ -1,10 +1,9 @@
1
- import { VirtualSignal, Signal } from '../Signal';
1
+ import { VirtualSignal } from '../Signal';
2
2
  import { SignalContext } from '../SignalContext';
3
- import { Context, MemoExoticComponent } from 'react';
4
3
  export type SignalContextType = SignalContext;
5
- export declare const SignalReactContext: Context<SignalContext>;
6
- export declare const SignalContextProvider: MemoExoticComponent<({ children }: {
4
+ export declare const SignalReactContext: import('react').Context<SignalContext>;
5
+ export declare const SignalContextProvider: import('react').MemoExoticComponent<({ children }: {
7
6
  children: React.ReactNode;
8
7
  }) => import("react/jsx-runtime").JSX.Element>;
9
8
  export declare const useSignalContext: () => SignalContext;
10
- export declare const useMakeOrRetrieveSignal: (virtualSignal?: VirtualSignal<unknown>) => Signal<unknown, undefined> | undefined;
9
+ export declare const useMakeOrRetrieveSignal: (virtualSignal?: VirtualSignal<unknown>) => import('../Signal').Signal<unknown, undefined> | undefined;
@@ -1,2 +1 @@
1
- import { RefObject } from 'react';
2
- export declare const useLiveRef: <T>(value: T) => RefObject<T>;
1
+ export declare const useLiveRef: <T>(value: T) => import('react').RefObject<T>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reactjrx",
3
3
  "private": false,
4
- "version": "1.138.0",
4
+ "version": "1.140.0",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
@@ -39,28 +39,29 @@
39
39
  "rxjs": "*"
40
40
  },
41
41
  "devDependencies": {
42
- "@biomejs/biome": "2.4.13",
42
+ "@biomejs/biome": "2.4.15",
43
+ "@rolldown/plugin-babel": "^0.2.3",
43
44
  "@tanstack/react-query-persist-client": "^5.96.2",
44
45
  "@testing-library/jest-dom": "^6.2.0",
45
46
  "@testing-library/react": "^16.1.0",
46
- "@types/node": "^24.3.1",
47
+ "@types/node": "^25.9.1",
47
48
  "@types/react": "^19.0.2",
48
49
  "@types/react-dom": "^19.0.2",
49
- "@vitejs/plugin-react": "^5.0.2",
50
+ "@vitejs/plugin-react": "^6.0.2",
50
51
  "babel-plugin-react-compiler": "^1.0.0",
51
52
  "husky": "^9.1.7",
52
- "jsdom": "^27.4.0",
53
- "lint-staged": "^16.1.2",
53
+ "jsdom": "^29.1.1",
54
+ "lint-staged": "^17.0.5",
54
55
  "react": "^19.0.0",
55
56
  "react-dom": "^19.0.0",
56
- "rollup-plugin-node-externals": "^8.0.0",
57
+ "rollup-plugin-node-externals": "^9.0.1",
57
58
  "rxjs": "^7.8.0",
58
- "semantic-release": "^24.2.2",
59
+ "semantic-release": "^25.0.3",
59
60
  "terser": "^5.46.0",
60
- "typescript": "^5.6.2",
61
- "vite": "^7.1.4",
61
+ "typescript": "^6.0.2",
62
+ "vite": "^8.0.14",
62
63
  "vite-plugin-babel": "^1.4.1",
63
- "vite-plugin-dts": "^4.2.1",
64
+ "vite-plugin-dts": "^5.0.1",
64
65
  "vitest": "^4.0.17"
65
66
  },
66
67
  "repository": {