Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to RxJS #12384

Open
wants to merge 297 commits into
base: release-4.0
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
297 commits
Select commit Hold shift + click to select a range
4e78b1e
Use rxjs observable in toPromise tests
jerelmiller Feb 15, 2025
d18be9e
Use rxjs observable in useBackgroundQuery tests
jerelmiller Feb 15, 2025
2fc6919
Use rxjs observable in useFragment tests
jerelmiller Feb 15, 2025
5deacdf
Use rxjs observable in useLazyQuery tests
jerelmiller Feb 15, 2025
9067e17
Use rxjs observable in useLoadableQuery tests
jerelmiller Feb 15, 2025
27ebacb
Use rxjs observable in useQuery tests
jerelmiller Feb 15, 2025
739390b
Use rxjs observable in useMutation tests
jerelmiller Feb 15, 2025
ab07956
Use rxjs observable in useQuery tests
jerelmiller Feb 15, 2025
68a2917
Use rxjs observable in useSuspenseQuery tests
jerelmiller Feb 15, 2025
184633a
Use rxjs observable in useSubscription tests
jerelmiller Feb 15, 2025
d2b1c63
Use rxjs observable in QueryReference tests
jerelmiller Feb 15, 2025
3989d8c
Use rxjs observable in createQueryPreloader tests
jerelmiller Feb 15, 2025
d7b9b80
Use rxjs observable in ObservableStream tests
jerelmiller Feb 15, 2025
2809858
Use rxjs observable in scenarios
jerelmiller Feb 15, 2025
530976b
Use rxjs observable in MockedProvider tests
jerelmiller Feb 15, 2025
08155af
Use rxjs observable in asyncMap tests
jerelmiller Feb 15, 2025
195e815
Use rxjs observable in Concast tests
jerelmiller Feb 15, 2025
2137931
Fix type in ObservableQuery
jerelmiller Feb 15, 2025
bb77ae5
Use partial observer in ObservableQuery
jerelmiller Feb 15, 2025
e6455a7
Use mergeMap/from instead of asyncMap
jerelmiller Feb 15, 2025
b833d87
Use rxjs utils to handle mapping over result
jerelmiller Feb 15, 2025
d342a5a
Remove asyncMap
jerelmiller Feb 15, 2025
bcd9296
Use partial observer in concast
jerelmiller Feb 15, 2025
af96eb7
Use rxjs observer type in iteration
jerelmiller Feb 15, 2025
a0b6792
Remove SubscriptionCurrentObserver type
jerelmiller Feb 15, 2025
4f7be6b
Use rxjs for urql utility
jerelmiller Feb 15, 2025
f73d0bd
Don't export zen observable Observable
jerelmiller Feb 15, 2025
b46d276
Remove Observable exports from zen observable
jerelmiller Feb 15, 2025
6f05daa
Use Observer type from rxjs
jerelmiller Feb 15, 2025
3994cad
Use observer type from rxjs
jerelmiller Feb 15, 2025
cae48f6
Remove zen-observable-ts
jerelmiller Feb 15, 2025
c755020
Replace concast with call to execute and pipe to get obsrvable from link
jerelmiller Feb 16, 2025
b4b4127
Use the asyncScheduler for reporting cache values
jerelmiller Feb 16, 2025
b91f2a9
Add todo comment
jerelmiller Feb 16, 2025
e5db318
Share the observable
jerelmiller Feb 16, 2025
0aa56a5
Adjust test
jerelmiller Feb 16, 2025
150eedf
Use ObservableStream in test
jerelmiller Feb 16, 2025
1f3b2e5
Adjust todo comment
jerelmiller Feb 16, 2025
0d18782
Remove query from in map for error
jerelmiller Feb 16, 2025
f738a30
Update test to get it to pass
jerelmiller Feb 16, 2025
5b1950b
Update test
jerelmiller Feb 16, 2025
68b0372
Use subject for test
jerelmiller Feb 16, 2025
3128cb4
Add emit value to ensure test succeeds
jerelmiller Feb 16, 2025
33b7d31
Disable test for now. Add todo comment
jerelmiller Feb 16, 2025
1a96ff1
Tweak todo comment
jerelmiller Feb 16, 2025
f21a3d5
Switch to shareReplay for observable emitted from link
jerelmiller Feb 16, 2025
963eb92
Add helper that removes query from inFlightObservables for any event
jerelmiller Feb 17, 2025
2f7b630
Ensure query is remove from inFlightLinkObservables on complete event
jerelmiller Feb 17, 2025
bb6d1d0
Remove temp fix in test
jerelmiller Feb 17, 2025
f53024f
Tweak todo comment
jerelmiller Feb 17, 2025
9b20e8e
Change assertion for checking inFlightObservables in test
jerelmiller Feb 17, 2025
55c8af2
Remove unused import
jerelmiller Feb 17, 2025
b7d4256
Rework tests that check for awaitRefetchQueries
jerelmiller Feb 17, 2025
79ebb3f
Ensure underlying observable is unsubscribed when refCount is 0
jerelmiller Feb 17, 2025
c65ca9e
Skip test for now
jerelmiller Feb 17, 2025
a63c7c4
Add todo comment
jerelmiller Feb 17, 2025
2dad98f
Use non-deprecated version of subscribe
jerelmiller Feb 17, 2025
4d3b735
Use Subscribable interface for ObservableStream
jerelmiller Feb 17, 2025
21789f0
Add todo comment
jerelmiller Feb 17, 2025
8f55987
Start working with making ObservableQuery a subscribable with inner s…
jerelmiller Feb 17, 2025
2e813e6
Call next/error when reporting error
jerelmiller Feb 17, 2025
beca353
Use defaultSubscriptionObserverErrorCallback
jerelmiller Feb 17, 2025
cf3cd5f
Bind unsubscribe in ObservableStream
jerelmiller Feb 17, 2025
7eb6c40
Ensure subscribe method is bound
jerelmiller Feb 17, 2025
c48889c
Check subject.observed when polling and ensure its kicked off correctly
jerelmiller Feb 17, 2025
49180a0
Add todo comment
jerelmiller Feb 17, 2025
85a4c4d
Increase timeout in test
jerelmiller Feb 17, 2025
abbca66
Tear down query when an error occurs
jerelmiller Feb 17, 2025
daa2772
Update hasObservers to return subject.observed
jerelmiller Feb 17, 2025
4612291
Revert change in polling
jerelmiller Feb 17, 2025
4d9568e
Enable test that was previously failing
jerelmiller Feb 17, 2025
1a46cec
Disable test with todo comment
jerelmiller Feb 17, 2025
04f49d5
Use hasObservers in setVariables
jerelmiller Feb 17, 2025
5a5d5d6
Skip test for now
jerelmiller Feb 17, 2025
8db2d52
Emit loading state for no-cache query
jerelmiller Feb 17, 2025
7fc5a20
Emit loading with network-only and full result
jerelmiller Feb 17, 2025
a0dfd52
Add some todo comments
jerelmiller Feb 17, 2025
359b42f
Disable part of the test for now
jerelmiller Feb 18, 2025
4a65cd8
Add todo comment
jerelmiller Feb 18, 2025
2b98c74
Add todo comment and skip test
jerelmiller Feb 18, 2025
812a7a8
Add additional loading state to test
jerelmiller Feb 18, 2025
c4f4ec6
Use async/await in test
jerelmiller Feb 18, 2025
ecc52f2
Add some todo comments on possible deprecations
jerelmiller Feb 18, 2025
f8790df
Delete commented code
jerelmiller Feb 18, 2025
47fab55
Skip failing test
jerelmiller Feb 18, 2025
06bedfd
Update constructor
jerelmiller Feb 18, 2025
e777875
Update exports snapshot
jerelmiller Feb 18, 2025
3e80afc
Remove condition that emits on no-cache and swap skipped tests
jerelmiller Feb 18, 2025
4df8b72
Ensure pipe happens on observable instead of subject
jerelmiller Feb 18, 2025
0a1c00f
Update optimistic tests to use native .pipe
jerelmiller Feb 18, 2025
cdfdef5
Update number of expected assertions
jerelmiller Feb 18, 2025
767fe06
Remove unneeded casts
jerelmiller Feb 18, 2025
b218e8e
Use this.hasObsevers in result()
jerelmiller Feb 18, 2025
9bc1d23
Don't use async function for Observable
jerelmiller Feb 18, 2025
51fdd01
Async emit value from link
jerelmiller Feb 18, 2025
ae20893
Add todo comment
jerelmiller Feb 18, 2025
f16c337
Update number of assertions
jerelmiller Feb 18, 2025
144f13b
Mask result emitted to subject
jerelmiller Feb 18, 2025
2ed52aa
No more iterate observers in ObservableQuery
jerelmiller Feb 18, 2025
ea504f3
Remove observer tracking
jerelmiller Feb 18, 2025
e69f7db
Add todo comment
jerelmiller Feb 18, 2025
13495cb
Ensure all sources returned are observables
jerelmiller Feb 19, 2025
48a213e
Return observable from fetchQueryByPolicy instead of sources array.
jerelmiller Feb 19, 2025
949f4e9
Rename variable
jerelmiller Feb 19, 2025
1678c87
Use rxjs observables when fetching instead of concast
jerelmiller Feb 19, 2025
711da08
Rename property to observable
jerelmiller Feb 19, 2025
dc37c2f
Call complete on the subject when cleaning up cancel function
jerelmiller Feb 19, 2025
9416f24
Call error before cleanup when cancelling
jerelmiller Feb 19, 2025
86f53a1
Don't terminate the observable when an error occurs
jerelmiller Feb 19, 2025
54c848c
Use subscription tracking when executing reobserve
jerelmiller Feb 19, 2025
a539db0
Track observable
jerelmiller Feb 19, 2025
6052ff1
Stop tracking concast
jerelmiller Feb 19, 2025
8a1e5f7
Update tests to demonstrate that observable no longer terminates on e…
jerelmiller Feb 19, 2025
7867828
Emit value async in test
jerelmiller Feb 19, 2025
56d02d0
Ensure observable is multicast
jerelmiller Feb 19, 2025
1133442
Add todo comments
jerelmiller Feb 19, 2025
bee20c0
Add todo test
jerelmiller Feb 19, 2025
74a78e1
Don't unsubscribe from link if unsubscribe from observable query befo…
jerelmiller Feb 19, 2025
f690a9e
Add changeset
jerelmiller Feb 19, 2025
6069a7c
Add another changeset
jerelmiller Feb 19, 2025
2d6b392
Skip test that checks console.error
jerelmiller Feb 19, 2025
c3a3e74
Remove default error handler
jerelmiller Feb 19, 2025
62f38fb
Update todo comment
jerelmiller Feb 19, 2025
1720b66
Stop using async scheduler
jerelmiller Feb 19, 2025
2817068
Update test with change to unsubscribe
jerelmiller Feb 19, 2025
af00283
Add test for race condition
jerelmiller Feb 19, 2025
536775c
Remove unneeded type casting in test
jerelmiller Feb 19, 2025
ce4e041
Add todo comment
jerelmiller Feb 19, 2025
7e30d28
Wrap initial call to reobserve in setTimeout
jerelmiller Feb 19, 2025
80af5bb
Wrap call in setTimeout
jerelmiller Feb 19, 2025
8b5cc44
Add back asapScheduler to allow reobserve to kick off synchronously
jerelmiller Feb 19, 2025
d22706e
Move asapScheduler to end of chain
jerelmiller Feb 19, 2025
f863bae
Remove asapScheduler again. Update test to deliver results async
jerelmiller Feb 19, 2025
f2e4115
Update test for returned errors
jerelmiller Feb 19, 2025
6a0dfec
Copy mockFetchQuery
jerelmiller Feb 19, 2025
717abed
Add todo comment
jerelmiller Feb 19, 2025
116de86
Update more tests that check for errors
jerelmiller Feb 19, 2025
704e8e7
Emit a value in the test to avoid the error
jerelmiller Feb 19, 2025
f6844e1
Update todo comment
jerelmiller Feb 19, 2025
3ccebcf
Update more tests that check for rejected errors
jerelmiller Feb 19, 2025
79f9477
Update test for new behavior after error
jerelmiller Feb 19, 2025
c506109
Update more checks against error case
jerelmiller Feb 19, 2025
6a99e6c
Update expected behavior on error and resolvers
jerelmiller Feb 19, 2025
9d018b9
Add additional emit values in test
jerelmiller Feb 19, 2025
542a648
Update test for setOptions with standby
jerelmiller Feb 19, 2025
36883f6
Update test that checks for throwing behavior
jerelmiller Feb 19, 2025
dfd0a2d
Use async await in test
jerelmiller Feb 19, 2025
614c207
Update local state test
jerelmiller Feb 19, 2025
89c0176
Ensure link completes
jerelmiller Feb 19, 2025
8115584
Update error handling in test
jerelmiller Feb 19, 2025
136b082
Change test description
jerelmiller Feb 19, 2025
44dd567
Add a check in filter for no-cache fetch policy
jerelmiller Feb 19, 2025
b92d6a4
Update test handling error
jerelmiller Feb 19, 2025
62c3583
Use type inference
jerelmiller Feb 19, 2025
7023a53
Update test since results are delivered synchronously
jerelmiller Feb 19, 2025
4b7e4e9
Update test that checks error handling
jerelmiller Feb 19, 2025
72c6f5e
Assert promise rejects
jerelmiller Feb 19, 2025
a70c67b
Update check on error
jerelmiller Feb 19, 2025
320a405
Temp update test that changes to standby
jerelmiller Feb 19, 2025
1155555
Tweak test that handles network error
jerelmiller Feb 19, 2025
ddb7ff3
Update failing fetchMore test
jerelmiller Feb 19, 2025
6968210
Copy setup inline to fix test
jerelmiller Feb 19, 2025
2e966e0
Fix number of assertions
jerelmiller Feb 19, 2025
88c5c54
Fix assertion on result
jerelmiller Feb 19, 2025
3f866a2
Update number of assertions
jerelmiller Feb 19, 2025
008641d
Add errors property to some checks
jerelmiller Feb 19, 2025
b33c55e
Use the value passed to the next handler in useQuery
jerelmiller Feb 19, 2025
f1e0384
Fix some checks against networkStatus for error cases in useQuery tests
jerelmiller Feb 19, 2025
c505ffa
Set data to undefined when result is partial
jerelmiller Feb 19, 2025
397aa92
Async emit next value in test
jerelmiller Feb 20, 2025
ddc7ba4
Use asapScheduler to deliver notification to useQuery
jerelmiller Feb 20, 2025
c92fb91
Emit value async in test
jerelmiller Feb 20, 2025
a5aa756
Delay event
jerelmiller Feb 20, 2025
69d2c81
Update assertion
jerelmiller Feb 20, 2025
71ee1a2
Check for errors property in error tests
jerelmiller Feb 20, 2025
4237227
Update test with proper network status
jerelmiller Feb 20, 2025
f411bb4
Emit value async
jerelmiller Feb 20, 2025
a3374cb
Remove Concast
jerelmiller Feb 20, 2025
098a3cc
Remove unneeded onError handler
jerelmiller Feb 20, 2025
f3b6e5a
Inline onNext
jerelmiller Feb 20, 2025
53357d6
Run formatting on tests
jerelmiller Feb 20, 2025
8fa180f
Wrap in act
jerelmiller Feb 20, 2025
a6c3bda
Wrap in act
jerelmiller Feb 20, 2025
a4ada8a
Wrap in act
jerelmiller Feb 20, 2025
6fd25c4
Wrap in act
jerelmiller Feb 20, 2025
892a165
Wrap in act
jerelmiller Feb 20, 2025
b76bc22
Wrap in act
jerelmiller Feb 20, 2025
1eabfa3
Handle errors in the next handler
jerelmiller Feb 20, 2025
9d690ec
Wrap in act
jerelmiller Feb 20, 2025
d540807
Wrap in act
jerelmiller Feb 20, 2025
f0cf062
Handle errors returned in deferred queries
jerelmiller Feb 20, 2025
cc408a8
Remove error handler in QueryReference
jerelmiller Feb 20, 2025
05ac637
Add todo comment
jerelmiller Feb 20, 2025
42734b2
Remove check on empty object
jerelmiller Feb 20, 2025
e507cef
Remove unneeded subscribeAfterError method
jerelmiller Feb 20, 2025
b1dbc57
Add errors property in useLazyQuery tests
jerelmiller Feb 20, 2025
6ff1987
Add changeset
jerelmiller Feb 20, 2025
b9a73c7
Update tests assertions on cache-only queries with partial data
jerelmiller Feb 20, 2025
74c12c0
Remove unneeded symbol-observable package
jerelmiller Feb 20, 2025
47c9fdd
Update exports snapshot
jerelmiller Feb 20, 2025
c116190
Fix unused variable issue
jerelmiller Feb 20, 2025
6d8428b
Rename fetchConcastWithInfo to fetchObservableWithInfo
jerelmiller Feb 20, 2025
eab16ba
Use reobserve directly in useLazyQuery
jerelmiller Feb 20, 2025
3c2de2a
Combine reobserve and reobserveAsConcast
jerelmiller Feb 20, 2025
3c4f459
Rename everything with concast in the name
jerelmiller Feb 20, 2025
b083e92
Update package-lock in memory
jerelmiller Feb 20, 2025
55778f2
Fix memory tests
jerelmiller Feb 20, 2025
a4645d3
Wrap in setTimeout
jerelmiller Feb 20, 2025
49867aa
Fix test in React 17
jerelmiller Feb 20, 2025
eee4397
Add comment
jerelmiller Feb 20, 2025
181e464
Use type inference
jerelmiller Feb 20, 2025
f7bfabc
Use firstValueFrom in result()
jerelmiller Feb 20, 2025
445aa04
Update todo comment
jerelmiller Feb 20, 2025
97c4f43
Use this instead of self
jerelmiller Feb 20, 2025
b7276e9
Add back old implementation of result()
jerelmiller Feb 20, 2025
6374874
Add changeset
jerelmiller Feb 20, 2025
1d4ea9d
Add another changeset
jerelmiller Feb 20, 2025
825a3ad
Use firstValueFrom in persisted-queries tests
jerelmiller Feb 20, 2025
4420239
Use firstValueFrom in fromPromise tests
jerelmiller Feb 20, 2025
0e9ebe5
Remove toPromise in remaining tests
jerelmiller Feb 20, 2025
d5c4d99
Remove toPromise helper
jerelmiller Feb 20, 2025
526266f
Remove fromPromise helper
jerelmiller Feb 20, 2025
13f4e99
Replace fromError with throwError in batchHttpLink
jerelmiller Feb 20, 2025
80a7774
Replace fromError with throwError in HttpLink
jerelmiller Feb 20, 2025
b4cbedd
Replace fromError with throwError in retryLink tests
jerelmiller Feb 20, 2025
ae1d4c2
Remove console logs in retryLink tests
jerelmiller Feb 20, 2025
30d0cc7
Remove fromError helper
jerelmiller Feb 20, 2025
3131d82
Add changesets for removed utilities
jerelmiller Feb 20, 2025
cc64c7a
Update exports
jerelmiller Feb 20, 2025
8ce76f2
Rerun api report
jerelmiller Feb 20, 2025
68ed3f2
Remove todo and enable test with appropriate changes
jerelmiller Feb 20, 2025
fd9d464
Add todo comment
jerelmiller Feb 20, 2025
fba30ee
Remove iterateOberversSafely
jerelmiller Feb 20, 2025
cfebd57
Add more changesets
jerelmiller Feb 20, 2025
0428b70
Remove error listener that tears down observable query
jerelmiller Feb 20, 2025
ed0cc1a
Rename obs to linkObservable
jerelmiller Feb 20, 2025
129fb13
Rename this.subscription to linkSubscription
jerelmiller Feb 20, 2025
279bfae
Update API report
jerelmiller Feb 20, 2025
44d6a6f
Restore test to original
jerelmiller Feb 20, 2025
4b03336
Add comment
jerelmiller Feb 21, 2025
9ffc0c2
Clarify comment
jerelmiller Feb 21, 2025
b3aedaf
Clarify comment
jerelmiller Feb 21, 2025
913ad14
Remove unneeded test
jerelmiller Feb 21, 2025
c229617
Add additional tests for cache-only with partial data
jerelmiller Feb 21, 2025
40800be
Split out test for subscription with defaultContext
jerelmiller Feb 21, 2025
e326687
Update test that checks # of unsub with error
jerelmiller Feb 21, 2025
bdbb9e3
Don't use mutable object in useQuery
jerelmiller Feb 21, 2025
7f3980f
Remove comment
jerelmiller Feb 21, 2025
82b6e78
Replace of() with EMPTY
jerelmiller Feb 21, 2025
52e4027
Update api report
jerelmiller Feb 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Use rxjs observable in useQuery tests
  • Loading branch information
jerelmiller committed Feb 20, 2025
commit ab07956a5fc06add3c729ec72b8dab77c914cdc7
12 changes: 6 additions & 6 deletions src/react/hooks/__tests__/useQuery.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import gql from "graphql-tag";
import { act } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import { render, screen, waitFor, renderHook } from "@testing-library/react";
import { Observable } from "rxjs";
import { Observable, of } from "rxjs";
import {
ApolloClient,
ApolloError,
Expand Down Expand Up @@ -1089,7 +1089,7 @@ describe("useQuery Hook", () => {
}
`;
const client = new ApolloClient({
link: new ApolloLink(() => Observable.of({ data: { hello: "world" } })),
link: new ApolloLink(() => of({ data: { hello: "world" } })),
cache: new InMemoryCache(),
});

Expand Down Expand Up @@ -7351,7 +7351,7 @@ describe("useQuery Hook", () => {

const client = new ApolloClient({
cache: new InMemoryCache(),
link: new ApolloLink(() => Observable.of({ data: {} })),
link: new ApolloLink(() => of({ data: {} })),
resolvers: {
ClientData: {
titleLength(data) {
Expand Down Expand Up @@ -7596,7 +7596,7 @@ describe("useQuery Hook", () => {

it("should tear down the query if `skip` is `true`", async () => {
const client = new ApolloClient({
link: new ApolloLink(() => Observable.of({ data: { hello: "world" } })),
link: new ApolloLink(() => of({ data: { hello: "world" } })),
cache: new InMemoryCache(),
});

Expand Down Expand Up @@ -7679,7 +7679,7 @@ describe("useQuery Hook", () => {
}
`;
const link = new ApolloLink(() =>
Observable.of({
of({
data: { hello: "world" },
})
);
Expand Down Expand Up @@ -7734,7 +7734,7 @@ describe("useQuery Hook", () => {
`;
let linkCount = 0;
const link = new ApolloLink(() =>
Observable.of({
of({
data: { hello: ++linkCount },
})
);
Expand Down