-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathuse-continuous-enabled-subscription.ts
More file actions
39 lines (31 loc) · 1.26 KB
/
use-continuous-enabled-subscription.ts
File metadata and controls
39 lines (31 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import type { ComputedRef } from "vue";
import { computed } from "vue";
import {
useCtrlContinuousEnabledQuery,
useCtrlContinuousEnabledSSubscription,
} from "@/graphql/codegen/generated";
import { onReady } from "@/utils/on-ready";
import type { OnReady } from "@/utils/on-ready";
interface _ContinuousEnabledSubscription {
continuousEnabled: ComputedRef<boolean | undefined>;
error: ComputedRef<Error | undefined>;
subscription: ReturnType<typeof useCtrlContinuousEnabledSSubscription>;
query: ReturnType<typeof useCtrlContinuousEnabledQuery>;
}
type ContinuousEnabledSubscription = OnReady<_ContinuousEnabledSubscription>;
export function useSubscribeContinuousEnabled(): ContinuousEnabledSubscription {
const query = useCtrlContinuousEnabledQuery({
requestPolicy: "network-only",
variables: {},
});
const subscription = useCtrlContinuousEnabledSSubscription({ variables: {} });
const error = computed(() => subscription.error?.value || query.error?.value);
const continuousEnabled = computed(() =>
error.value
? undefined
: subscription.data?.value?.ctrlContinuousEnabled ||
query.data?.value?.ctrl.continuousEnabled,
);
const ret = { continuousEnabled, error, subscription, query };
return onReady(ret, query);
}