178 Commits

Author SHA1 Message Date
Julien Valverdé
b5712d5433 Test
All checks were successful
Lint / lint (push) Successful in 36s
2025-03-28 17:39:23 +01:00
Julien Valverdé
57b7eac05c Test 2025-03-28 17:37:28 +01:00
Julien Valverdé
9a9bd78ec6 Provider work
Some checks failed
Lint / lint (push) Failing after 10s
2025-03-28 17:01:41 +01:00
Julien Valverdé
ddcd681ca4 Provider refactoring
Some checks failed
Lint / lint (push) Failing after 19m51s
2025-03-28 16:08:04 +01:00
Julien Valverdé
66de517ab5 Refactoring
Some checks failed
Lint / lint (push) Failing after 15m36s
2025-03-26 20:24:53 +01:00
Julien Valverdé
b50255ded2 Merge branch 'queryclient' of git.valverde.cloud:Thilawyn/reffuse into queryclient
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-26 19:34:59 +01:00
Julien Valverdé
03f0b623ed Removed JSX code 2025-03-26 19:34:21 +01:00
Julien Valverdé
fb6d803723 Removed JSX code 2025-03-26 19:34:14 +01:00
Julien Valverdé
972986241c ReffuseHelpers.make()
Some checks failed
Lint / lint (push) Has been cancelled
2025-03-25 19:29:17 +01:00
Julien Valverdé
9eb0904600 Refactoring
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-24 20:35:22 +01:00
Julien Valverdé
fc86c818e0 Merge branch 'next' of git.valverde.cloud:Thilawyn/reffuse into next
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-24 19:41:21 +01:00
Julien Valverdé
5a12139602 Regenerated lockfile
All checks were successful
Lint / lint (push) Successful in 13s
Test build / test-build (pull_request) Successful in 15s
2025-03-24 19:35:56 +01:00
Julien Valverdé
a0928c718f Version bump
All checks were successful
Lint / lint (push) Successful in 13s
Test build / test-build (pull_request) Successful in 15s
2025-03-24 19:33:35 +01:00
Julien Valverdé
49d9edd4b1 Dependencies upgrade
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-24 19:29:12 +01:00
Julien Valverdé
3552c25b5c Mutation refactoring
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-24 19:07:11 +01:00
Julien Valverdé
516e0a465d Ref state fix
All checks were successful
Lint / lint (push) Successful in 16s
2025-03-24 18:38:14 +01:00
Julien Valverdé
7cf5367409 Tests
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-24 17:34:50 +01:00
Julien Valverdé
3b237c0588 Query refactoring
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-24 17:30:41 +01:00
Julien Valverdé
d9aa42d23a Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-24 12:16:03 +01:00
Julien Valverdé
fd3213c53f Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-24 12:06:03 +01:00
Julien Valverdé
baa8c92221 Query refactoring
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-24 12:03:55 +01:00
Julien Valverdé
d55b432846 Refactoring
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-23 23:58:05 +01:00
Julien Valverdé
6266c7506e Example fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-23 07:32:11 +01:00
Julien Valverdé
043e966e45 ErrorHandler work
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-23 07:25:03 +01:00
Julien Valverdé
88fab2c7d7 ErrorHandler refactoring
Some checks failed
Lint / lint (push) Failing after 15s
2025-03-23 06:08:35 +01:00
Julien Valverdé
224ccd8e32 Fix
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-21 04:55:38 +01:00
Julien Valverdé
4cf70ada0b Fix
All checks were successful
Lint / lint (push) Successful in 16s
2025-03-21 04:49:44 +01:00
Julien Valverdé
f9bd5d4d6b Query refactoring
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-21 04:37:32 +01:00
Julien Valverdé
1ec1db0658 Mutation progress
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-21 03:38:48 +01:00
Julien Valverdé
2d94e84941 Stream fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-21 03:24:55 +01:00
Julien Valverdé
aab83907ba Working mutation progress
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-21 02:14:36 +01:00
Julien Valverdé
8c0d6b4c8a Cleanup
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-21 01:24:52 +01:00
Julien Valverdé
d82d1d1c29 Refactoring
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-21 01:23:47 +01:00
Julien Valverdé
0f09573948 Mutation services
Some checks failed
Lint / lint (push) Failing after 14s
2025-03-20 07:10:55 +01:00
Julien Valverdé
2b6b36713e MutationRunner work
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-20 04:31:38 +01:00
Julien Valverdé
5d0aecc9d5 QueryProgress
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-19 05:13:54 +01:00
Julien Valverdé
f21d8b2d8a QueryProgress
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-18 03:11:39 +01:00
Julien Valverdé
f85173fa68 Fix
All checks were successful
Lint / lint (push) Successful in 30s
2025-03-18 02:46:41 +01:00
Julien Valverdé
65a124de1f Mutation tests
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-17 05:52:13 +01:00
Julien Valverdé
16893761c6 Mutation refactoring
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-17 05:34:19 +01:00
Julien Valverdé
3fdc2e31eb Mutation example
All checks were successful
Lint / lint (push) Successful in 17s
2025-03-17 02:36:13 +01:00
Julien Valverdé
8636a28f2f Working mutations
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-17 02:15:27 +01:00
Julien Valverdé
d56578da8f useMutation
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-16 06:50:20 +01:00
Julien Valverdé
299109d421 Mutation fix
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-16 06:25:02 +01:00
Julien Valverdé
4995b2949f MutationRunner
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-16 05:20:55 +01:00
Julien Valverdé
6e6e675709 MutationRunner 2025-03-16 05:20:37 +01:00
Julien Valverdé
b04860aa25 Cleanup
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-16 04:32:51 +01:00
Julien Valverdé
e9e17ac211 Fix
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-16 04:11:25 +01:00
Julien Valverdé
1f0ff725ff Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-16 04:05:39 +01:00
Julien Valverdé
447d89982c Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-16 03:34:54 +01:00
Julien Valverdé
778ee27795 ErrorHandler refactoring
All checks were successful
Lint / lint (push) Successful in 16s
2025-03-16 03:33:01 +01:00
Julien Valverdé
077816efb6 Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-16 03:23:12 +01:00
Julien Valverdé
e4bacd1ca7 Working QueryClient refactoring
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-16 03:19:12 +01:00
Julien Valverdé
0e2c0db28f QueryClient refactoring
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-16 02:52:49 +01:00
Julien Valverdé
c943d81702 QueryClient.make
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-15 22:27:15 +01:00
Julien Valverdé
c2bc406a5f Fixed query error handler
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-15 06:43:47 +01:00
Julien Valverdé
4e778b6c95 VQueryErrorHandler
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-15 05:12:38 +01:00
Julien Valverdé
0437fa5dcc QueryErrorHandler work
All checks were successful
Lint / lint (push) Successful in 16s
2025-03-15 02:30:37 +01:00
Julien Valverdé
5614b8df38 Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-15 00:52:00 +01:00
Julien Valverdé
70b6c4434e Tests
All checks were successful
Lint / lint (push) Successful in 16s
2025-03-14 22:07:53 +01:00
Julien Valverdé
2e8dfbc988 QueryClient
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-14 22:00:53 +01:00
Julien Valverdé
abc47c4647 Fix
Some checks failed
Lint / lint (push) Failing after 12s
2025-03-14 05:04:49 +01:00
Julien Valverdé
eedd2a7f2a makeTag
Some checks failed
Lint / lint (push) Failing after 12s
2025-03-14 04:57:07 +01:00
Julien Valverdé
f4ab575a8d QueryExtension work
Some checks failed
Lint / lint (push) Failing after 13s
2025-03-14 04:24:56 +01:00
Julien Valverdé
747e2c6056 Done QueryClient
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-14 04:13:14 +01:00
Julien Valverdé
68c68417d8 QueryClient work
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-14 03:56:54 +01:00
Julien Valverdé
ed384a62a8 QueryClient work
Some checks failed
Lint / lint (push) Failing after 15s
2025-03-14 03:26:28 +01:00
Julien Valverdé
3a1748bb39 QueryClient tests
All checks were successful
Lint / lint (push) Successful in 18s
2025-03-13 22:31:50 +01:00
Julien Valverdé
66b8fd2c2e Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-12 06:37:39 +01:00
Julien Valverdé
bc81c443ab Query work
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-11 21:19:57 +01:00
Julien Valverdé
ee5dbe3766 Query work
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-11 20:39:56 +01:00
Julien Valverdé
825de84cef Cleanup
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-11 03:12:36 +01:00
Julien Valverdé
d6011f7897 MutationRunner
Some checks failed
Lint / lint (push) Failing after 18s
2025-03-11 02:17:50 +01:00
Julien Valverdé
8d4bce9e53 Merge branch 'next' of git.valverde.cloud:Thilawyn/reffuse into next
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-11 01:45:49 +01:00
Julien Valverdé
f7dd4e51f5 Doc update
All checks were successful
Lint / lint (push) Successful in 13s
Test build / test-build (pull_request) Successful in 16s
2025-03-11 01:36:13 +01:00
Julien Valverdé
8772e25ff5 CI update
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-10 18:44:08 +01:00
Julien Valverdé
94a0864132 Query refactoring
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-10 18:37:45 +01:00
Julien Valverdé
be8098fb7d Query work
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-10 01:56:11 +01:00
Julien Valverdé
7021e604ed Cleanup
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-09 19:14:20 +01:00
Julien Valverdé
1fd2a9ffbe Cleanup
All checks were successful
Lint / lint (push) Successful in 17s
2025-03-09 18:35:48 +01:00
Julien Valverdé
1ed73dc3ac Cleanup
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-09 18:21:35 +01:00
Julien Valverdé
c689778cea Working query
All checks were successful
Lint / lint (push) Successful in 15s
2025-03-09 18:08:52 +01:00
Julien Valverdé
da2a32001c Query work
Some checks failed
Lint / lint (push) Failing after 13s
2025-03-08 01:56:50 +01:00
Julien Valverdé
5ac3a932d9 Query work
Some checks failed
Lint / lint (push) Failing after 12s
2025-03-07 23:17:32 +01:00
Julien Valverdé
7935293bc3 Query work
All checks were successful
Lint / lint (push) Successful in 15s
2025-03-07 22:23:44 +01:00
Julien Valverdé
cabceaffcd Key work
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-07 04:26:39 +01:00
Julien Valverdé
d239a11cdc Service query
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-06 20:00:40 +01:00
Julien Valverdé
fad61afce7 Fix
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-06 17:32:30 +01:00
Julien Valverdé
11fd4941c0 Fix
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-06 17:26:08 +01:00
Julien Valverdé
7bebc39a87 Fix
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-06 17:22:27 +01:00
Julien Valverdé
3bc0cc6586 Cleanup
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-06 03:31:21 +01:00
Julien Valverdé
f99d18b846 Cleanup fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-06 03:15:43 +01:00
Julien Valverdé
d61339ea6a Query work
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-05 02:23:43 +01:00
Julien Valverdé
3659d3f342 Version bump
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-05 01:50:08 +01:00
Julien Valverdé
1e8a5d412f Refresh on window focus
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-05 00:44:13 +01:00
Julien Valverdé
86539f33f0 Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-05 00:24:38 +01:00
Julien Valverdé
8fa24b1791 Query work
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-05 00:16:13 +01:00
Julien Valverdé
adaadf13b2 Working service query
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-04 23:18:35 +01:00
Julien Valverdé
3af7c3bf7a Query service work
Some checks failed
Lint / lint (push) Failing after 11s
2025-03-04 22:44:40 +01:00
Julien Valverdé
00b7228073 Refetch on focus
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-04 02:15:31 +01:00
Julien Valverdé
c2b2b1b96e Dependencies fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-04 02:04:29 +01:00
Julien Valverdé
74cf37e3a3 Query example
All checks were successful
Lint / lint (push) Successful in 14s
2025-03-04 01:35:52 +01:00
Julien Valverdé
98091d4598 Refactoring
All checks were successful
Lint / lint (push) Successful in 12s
2025-03-04 01:22:51 +01:00
Julien Valverdé
b2f1626268 Working query
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-04 01:19:42 +01:00
Julien Valverdé
40e8bf6a1f Query work
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-03 19:42:33 +01:00
Julien Valverdé
9c96741c8e Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-03 03:37:39 +01:00
Julien Valverdé
3fa9b7d821 Working query
All checks were successful
Lint / lint (push) Successful in 13s
2025-03-02 20:14:45 +01:00
Julien Valverdé
6b0f2f33cb Query work
Some checks failed
Lint / lint (push) Failing after 13s
2025-03-02 02:48:19 +01:00
Julien Valverdé
2e00db5778 Query work
Some checks failed
Lint / lint (push) Failing after 43s
2025-03-02 01:11:18 +01:00
Julien Valverdé
660f32a171 Fix
All checks were successful
Lint / lint (push) Successful in 13s
2025-02-28 17:24:40 +01:00
Julien Valverdé
3f2639fda1 Query work
All checks were successful
Lint / lint (push) Successful in 13s
2025-02-28 16:08:08 +01:00
Julien Valverdé
f76b3f333a Query work
All checks were successful
Lint / lint (push) Successful in 13s
2025-02-28 02:13:23 +01:00
Julien Valverdé
3b407c6b4f Query work
All checks were successful
Lint / lint (push) Successful in 17s
2025-02-28 01:06:11 +01:00
Julien Valverdé
b01b95a9d5 Query work
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-28 00:27:22 +01:00
Julien Valverdé
91b95ea6af useRefState refactpro
All checks were successful
Lint / lint (push) Successful in 13s
2025-02-27 18:32:57 +01:00
Julien Valverdé
7c99d1ff3d Working useQuery
All checks were successful
Lint / lint (push) Successful in 13s
2025-02-27 01:19:09 +01:00
Julien Valverdé
ae815553f2 Query work
All checks were successful
Lint / lint (push) Successful in 13s
2025-02-26 23:57:03 +01:00
Julien Valverdé
86a96cbcce extension-query
Some checks failed
Lint / lint (push) Failing after 7s
2025-02-26 21:17:09 +01:00
Julien Valverdé
538b3a415d Cleanup
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-26 20:50:05 +01:00
Julien Valverdé
5b023678f4 Merge branch 'master' into next
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-26 20:47:00 +01:00
Julien Valverdé
9266697aa4 Merge branch 'next' of git.valverde.cloud:Thilawyn/reffuse into next
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-26 19:29:48 +01:00
Julien Valverdé
ad81bf9ed8 Cleanup
All checks were successful
Lint / lint (push) Successful in 11s
Test build / test-build (pull_request) Successful in 13s
2025-02-26 19:25:21 +01:00
Julien Valverdé
e92087e593 Turbo fix
All checks were successful
Lint / lint (push) Successful in 12s
Test build / test-build (pull_request) Successful in 13s
2025-02-26 19:23:49 +01:00
Julien Valverdé
e182e6ab5c README update
Some checks failed
Lint / lint (push) Successful in 12s
Test build / test-build (pull_request) Failing after 15s
2025-02-26 19:13:49 +01:00
Julien Valverdé
89175be558 README work
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-26 14:30:59 +01:00
Julien Valverdé
4df90a0f1c README work
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-26 14:05:12 +01:00
Julien Valverdé
693c7b2db8 Reffuse context refactoring
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-26 13:40:52 +01:00
Julien Valverdé
5f60d03d83 Fix
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-25 23:19:44 +01:00
Julien Valverdé
ea768218a0 Deps API change
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-25 23:11:58 +01:00
Julien Valverdé
3b4eb750ed Version bump
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-25 22:55:45 +01:00
Julien Valverdé
47aa130486 CI fix
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-25 22:53:07 +01:00
Julien Valverdé
02da3df8eb CI fix
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-25 22:45:55 +01:00
Julien Valverdé
8d276d2fbf Dependencies
Some checks failed
Lint / lint (push) Failing after 8s
2025-02-25 22:16:53 +01:00
Julien Valverdé
af077d34aa Turbo setup
Some checks failed
Lint / lint (push) Failing after 13s
2025-02-25 22:07:18 +01:00
Julien Valverdé
618cee4028 Callback tests
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-25 18:39:19 +01:00
Julien Valverdé
8244c34d2a Callback helpers
Some checks failed
Lint / lint (push) Failing after 10s
2025-02-25 18:29:00 +01:00
Julien Valverdé
523d835d00 Fix
Some checks failed
Lint / lint (push) Failing after 10s
2025-02-25 17:14:07 +01:00
Julien Valverdé
15e96b8fa9 Merge branch 'plugins' of git.valverde.cloud:Thilawyn/reffuse into plugins
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-25 14:49:22 +01:00
Julien Valverdé
44de864713 API update 2025-02-25 14:48:58 +01:00
Julien Valverdé
8e1f0a27cf Lockfile
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-25 13:45:09 +01:00
Julien Valverdé
8754020323 Working lazyref extension
Some checks failed
Lint / lint (push) Failing after 12s
2025-02-25 12:17:45 +01:00
Julien Valverdé
d9a01dae0f withLazyRef
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-25 11:22:49 +01:00
Julien Valverdé
8873e81f7c Dependencies
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-25 10:31:43 +01:00
Julien Valverdé
38fcafb15c Dependencies
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-25 10:21:34 +01:00
Julien Valverdé
411397c7de Fix
All checks were successful
Lint / lint (push) Successful in 12s
2025-02-24 21:30:13 +01:00
Julien Valverdé
85e7b54962 extension-lazyref
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-24 21:24:38 +01:00
Julien Valverdé
ce3989ab77 Extension fix
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-24 21:09:44 +01:00
Julien Valverdé
da0f6168f0 Fix
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-24 20:47:49 +01:00
Julien Valverdé
690dec1f1a Finalized
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-24 20:18:56 +01:00
Julien Valverdé
60274266da Extension work
Some checks failed
Lint / lint (push) Failing after 10s
2025-02-24 20:00:02 +01:00
Julien Valverdé
28424b63cb Working extension
Some checks failed
Lint / lint (push) Failing after 10s
2025-02-24 13:47:29 +01:00
Julien Valverdé
e063eb06f7 Extension work
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-24 13:17:10 +01:00
Julien Valverdé
fb5bb7fcef Cleanup
Some checks failed
Lint / lint (push) Failing after 10s
2025-02-24 02:21:37 +01:00
Julien Valverdé
1f57f7d127 Tests
Some checks failed
Lint / lint (push) Failing after 10s
2025-02-24 01:55:47 +01:00
Julien Valverdé
e8742e5aa6 Fix
Some checks failed
Lint / lint (push) Failing after 10s
2025-02-23 23:38:24 +01:00
Julien Valverdé
be79d24d6e Tests
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-22 01:03:15 +01:00
Julien Valverdé
e1349e5e03 Tests
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-21 15:44:28 +01:00
Julien Valverdé
837dcbb1cb Extension work
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-21 15:27:11 +01:00
Julien Valverdé
8252b6cbdf Extension work
Some checks failed
Lint / lint (push) Failing after 10s
2025-02-21 05:22:19 +01:00
Julien Valverdé
256638bc06 ReffuseHelper
Some checks failed
Lint / lint (push) Failing after 11s
2025-02-21 04:22:48 +01:00
Julien Valverdé
c0097bbe81 Extension tests
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-20 14:57:46 +01:00
Julien Valverdé
febeaa05d0 ReffuseExtension
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-20 14:12:56 +01:00
Julien Valverdé
a71640d493 Cleanup
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-20 00:41:37 +01:00
Julien Valverdé
b636a709f3 Tests
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-20 00:39:15 +01:00
Julien Valverdé
fffbd01b5e Pipeable API tests
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-20 00:21:43 +01:00
Julien Valverdé
36d5414d10 Fix
All checks were successful
Lint / lint (push) Successful in 44s
2025-02-19 23:59:34 +01:00
Julien Valverdé
65810a6d79 usePromise
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-19 23:44:02 +01:00
Julien Valverdé
9e7b30fbb4 useFork refactoring
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-19 23:24:15 +01:00
Julien Valverdé
6c843562ab usePromiseScoped fork implementation
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-18 23:47:32 +01:00
Julien Valverdé
809f512d11 Fix
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-18 22:33:49 +01:00
Julien Valverdé
e71239b903 usePromiseScoped
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-18 22:28:49 +01:00
Julien Valverdé
bfcc097882 usePromise
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-18 15:25:46 +01:00
Julien Valverdé
933b061b5d Promise tests
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-18 05:18:34 +01:00
Julien Valverdé
734c84824c Implement Pipeable
All checks were successful
Lint / lint (push) Successful in 10s
2025-02-18 04:30:10 +01:00
Julien Valverdé
e83e86f8f1 Promise tests
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-18 02:56:05 +01:00
Julien Valverdé
bebbc1d7de Promise tests
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-18 02:23:40 +01:00
Julien Valverdé
a7a0951b61 Dependencies fix
All checks were successful
Lint / lint (push) Successful in 11s
2025-02-18 01:08:26 +01:00
Julien Valverdé
1b1a1961bc Dependencies upgrade
Some checks failed
Lint / lint (push) Failing after 13s
2025-02-17 00:16:41 +01:00
7 changed files with 157 additions and 138 deletions

View File

@@ -6,11 +6,11 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Setup Bun
uses: oven-sh/setup-bun@v1
# - name: Setup Bun
# uses: oven-sh/setup-bun@v1
- name: Clone repo
uses: actions/checkout@v4
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build
run: bun run build
# - name: Install dependencies
# run: bun install --frozen-lockfile
# - name: Build
# run: bun run build

View File

@@ -9,7 +9,7 @@ export class Reffuse extends ReffuseHelpers.make() {}
export const withContexts = <R2 extends Array<unknown>>(
...contexts: [...{ [K in keyof R2]: ReffuseContext.ReffuseContext<R2[K]> }]
) =>
) => (
<
BaseClass extends ReffuseHelpers.ReffuseHelpersClass<R1>,
R1
@@ -29,9 +29,9 @@ export const withContexts = <R2 extends Array<unknown>>(
) => class extends self {
static readonly contexts = [...self.contexts, ...contexts]
} as any
)
export const withExtension = <A extends object>(extension: ReffuseExtension.ReffuseExtension<A>) =>
export const withExtension = <A extends object>(extension: ReffuseExtension.ReffuseExtension<A>) => (
<
BaseClass extends ReffuseHelpers.ReffuseHelpersClass<R>,
R
@@ -45,3 +45,4 @@ export const withExtension = <A extends object>(extension: ReffuseExtension.Reff
Object.assign(class_.prototype, extension())
return class_ as any
}
)

View File

@@ -0,0 +1,122 @@
import { Array, Context, Effect, Exit, Layer, Ref, Runtime, Scope } from "effect"
import * as React from "react"
import * as ReffuseRuntime from "./ReffuseRuntime.js"
export class ReffuseContext<R> {
readonly Context = React.createContext<Context.Context<R>>(null!)
readonly Provider = makeProvider(this.Context)
readonly AsyncProvider = makeAsyncProvider(this.Context)
useContext(): Context.Context<R> {
return React.useContext(this.Context)
}
useLayer(): Layer.Layer<R> {
const context = this.useContext()
return React.useMemo(() => Layer.effectContext(Effect.succeed(context)), [context])
}
}
export type R<T> = T extends ReffuseContext<infer R> ? R : never
export type ReactProvider<R> = React.FC<{
readonly layer: Layer.Layer<R, unknown>
readonly children?: React.ReactNode
}>
const makeProvider = <R>(Context: React.Context<Context.Context<R>>): ReactProvider<R> => {
return function ReffuseContextReactProvider(props) {
const runtime = ReffuseRuntime.useRuntime()
const makeScopeAndContext = React.useMemo(() => Effect.Do.pipe(
Effect.bind("scope", () => Scope.make()),
Effect.bind("context", ({ scope }) => Effect.context<R>().pipe(
Effect.provide(props.layer),
Effect.provideService(Scope.Scope, scope),
)),
Effect.map(({ scope, context }) => [scope, context] as const),
), [props.layer])
const [isInitialRun, initialScope, initialValue] = React.useMemo(() => Effect.Do.pipe(
Effect.bind("isInitialRun", () => Ref.make(true)),
Effect.bind("scopeAndContext", () => makeScopeAndContext),
Effect.map(({ isInitialRun, scopeAndContext }) => [isInitialRun, ...scopeAndContext] as const),
Runtime.runSync(runtime),
), [])
const [value, setValue] = React.useState(initialValue)
React.useEffect(() => isInitialRun.pipe(
Effect.if({
onTrue: () => Ref.set(isInitialRun, false),
onFalse: () => Effect.Do.pipe(
Effect.tap(Scope.close(initialScope, Exit.void)),
Effect.bind("scopeAndContext", () => makeScopeAndContext),
Effect.tap(({ scopeAndContext }) => Effect.sync(() => setValue()))
),
}),
Runtime.runSync(runtime),
), [makeScopeAndContext, runtime])
return React.createElement(Context, { ...props, value })
}
}
export type AsyncReactProvider<R> = React.FC<{
readonly layer: Layer.Layer<R, unknown>
readonly fallback?: React.ReactNode
readonly children?: React.ReactNode
}>
const makeAsyncProvider = <R>(Context: React.Context<Context.Context<R>>): AsyncReactProvider<R> => {
function ReffuseContextAsyncReactProviderInner({ promise, children }: {
readonly promise: Promise<Context.Context<R>>
readonly children?: React.ReactNode
}) {
return React.createElement(Context, {
value: React.use(promise),
children,
})
}
return function ReffuseContextAsyncReactProvider(props) {
const runtime = ReffuseRuntime.useRuntime()
const promise = React.useMemo(() => Effect.context<R>().pipe(
Effect.provide(props.layer),
Runtime.runPromise(runtime),
), [props.layer, runtime])
return React.createElement(React.Suspense, {
children: React.createElement(ReffuseContextAsyncReactProviderInner, { ...props, promise }),
fallback: props.fallback,
})
}
}
export const make = <R = never>() => new ReffuseContext<R>()
export const useMergeAll = <T extends Array<unknown>>(
...contexts: [...{ [K in keyof T]: ReffuseContext<T[K]> }]
): Context.Context<T[number]> => {
const values = contexts.map(v => React.use(v.Context))
return React.useMemo(() => Context.mergeAll(...values), values)
}
export const useMergeAllLayers = <T extends Array<unknown>>(
...contexts: [...{ [K in keyof T]: ReffuseContext<T[K]> }]
): Layer.Layer<T[number]> => {
const values = contexts.map(v => React.use(v.Context))
return React.useMemo(() => Array.isNonEmptyArray(values)
? Layer.mergeAll(
...Array.map(values, context => Layer.effectContext(Effect.succeed(context)))
)
: Layer.empty as Layer.Layer<T[number]>,
values)
}

View File

@@ -1,111 +0,0 @@
import { Array, Context, Effect, Layer, Runtime } from "effect"
import * as React from "react"
import * as ReffuseRuntime from "./ReffuseRuntime.js"
export class ReffuseContext<R> {
readonly Context = React.createContext<Context.Context<R>>(null!)
readonly Provider = makeProvider(this.Context)
readonly AsyncProvider = makeAsyncProvider(this.Context)
useContext(): Context.Context<R> {
return React.useContext(this.Context)
}
useLayer(): Layer.Layer<R> {
const context = this.useContext()
return React.useMemo(() => Layer.effectContext(Effect.succeed(context)), [context])
}
}
export type R<T> = T extends ReffuseContext<infer R> ? R : never
export type ReactProvider<R> = React.FC<{
readonly layer: Layer.Layer<R, unknown>
readonly children?: React.ReactNode
}>
function makeProvider<R>(Context: React.Context<Context.Context<R>>): ReactProvider<R> {
return function ReffuseContextReactProvider(props) {
const runtime = ReffuseRuntime.useRuntime()
const value = React.useMemo(() => Effect.context<R>().pipe(
Effect.provide(props.layer),
Runtime.runSync(runtime),
), [props.layer, runtime])
return (
<Context
{...props}
value={value}
/>
)
}
}
export type AsyncReactProvider<R> = React.FC<{
readonly layer: Layer.Layer<R, unknown>
readonly fallback?: React.ReactNode
readonly children?: React.ReactNode
}>
function makeAsyncProvider<R>(Context: React.Context<Context.Context<R>>): AsyncReactProvider<R> {
function Inner({ promise, children }: {
readonly promise: Promise<Context.Context<R>>
readonly children?: React.ReactNode
}) {
const value = React.use(promise)
return (
<Context
value={value}
children={children}
/>
)
}
return function ReffuseContextAsyncReactProvider(props) {
const runtime = ReffuseRuntime.useRuntime()
const promise = React.useMemo(() => Effect.context<R>().pipe(
Effect.provide(props.layer),
Runtime.runPromise(runtime),
), [props.layer, runtime])
return (
<React.Suspense fallback={props.fallback}>
<Inner
{...props}
promise={promise}
/>
</React.Suspense>
)
}
}
export function make<R = never>() {
return new ReffuseContext<R>()
}
export function useMergeAll<T extends Array<unknown>>(
...contexts: [...{ [K in keyof T]: ReffuseContext<T[K]> }]
): Context.Context<T[number]> {
const values = contexts.map(v => React.use(v.Context))
return React.useMemo(() => Context.mergeAll(...values), values)
}
export function useMergeAllLayers<T extends Array<unknown>>(
...contexts: [...{ [K in keyof T]: ReffuseContext<T[K]> }]
): Layer.Layer<T[number]> {
const values = contexts.map(v => React.use(v.Context))
return React.useMemo(() => Array.isNonEmptyArray(values)
? Layer.mergeAll(
...Array.map(values, context => Layer.effectContext(Effect.succeed(context)))
)
: Layer.empty as Layer.Layer<T[number]>,
values)
}

View File

@@ -428,20 +428,26 @@ export interface ReffuseHelpers<R> extends Pipeable.Pipeable {}
ReffuseHelpers.prototype.pipe = function pipe() {
return Pipeable.pipeArguments(this, arguments)
}
};
export interface ReffuseHelpersClass<R> extends Pipeable.Pipeable {
new(): ReffuseHelpers<R>
make<Self>(this: new () => Self): Self
readonly contexts: readonly ReffuseContext.ReffuseContext<R>[]
}
(ReffuseHelpers as ReffuseHelpersClass<any>).make = function make() {
return new this()
};
(ReffuseHelpers as ReffuseHelpersClass<any>).pipe = function pipe() {
return Pipeable.pipeArguments(this, arguments)
}
};
export const make = (): ReffuseHelpersClass<never> =>
export const make = (): ReffuseHelpersClass<never> => (
class extends (ReffuseHelpers<never> as ReffuseHelpersClass<never>) {
static readonly contexts = []
}
)

View File

@@ -0,0 +1,16 @@
import { Runtime } from "effect"
import * as React from "react"
export const Context = React.createContext<Runtime.Runtime<never>>(null!)
export const Provider = function ReffuseRuntimeReactProvider(props: {
readonly children?: React.ReactNode
}) {
return React.createElement(Context, {
...props,
value: Runtime.defaultRuntime,
})
}
export const useRuntime = () => React.useContext(Context)

View File

@@ -1,15 +0,0 @@
import { Runtime } from "effect"
import * as React from "react"
export const Context = React.createContext<Runtime.Runtime<never>>(null!)
export const Provider = (props: { readonly children?: React.ReactNode }) => (
<Context
{...props}
value={Runtime.defaultRuntime}
/>
)
Provider.displayName = "ReffuseRuntimeReactProvider"
export const useRuntime = () => React.useContext(Context)