diff options
| author | 2023-04-28 00:28:05 +0800 | |
|---|---|---|
| committer | 2023-04-28 00:28:05 +0800 | |
| commit | b992e50faf69e6f9e2d17385c0b05191e29bd49c (patch) | |
| tree | 11e77cc771fc4afd83108ffcabac97fd4f937ea2 /docs/lib/useTurborepoMinutesSaved.ts | |
| parent | 871ea962c722bb74758e2ea801e3f3ca99af4907 (diff) | |
| download | HydroRoll-b992e50faf69e6f9e2d17385c0b05191e29bd49c.tar.gz HydroRoll-b992e50faf69e6f9e2d17385c0b05191e29bd49c.zip | |
Diffstat (limited to 'docs/lib/useTurborepoMinutesSaved.ts')
| -rw-r--r-- | docs/lib/useTurborepoMinutesSaved.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/lib/useTurborepoMinutesSaved.ts b/docs/lib/useTurborepoMinutesSaved.ts new file mode 100644 index 0000000..5a94a91 --- /dev/null +++ b/docs/lib/useTurborepoMinutesSaved.ts @@ -0,0 +1,38 @@ +import useSWR from "swr";
+import axios from "axios";
+
+const fetcher = (url) => axios.get(url).then((res) => res.data);
+
+const path =
+ "https://api.us-east.tinybird.co/v0/pipes/turborepo_time_saved_ticker.json?token=p.eyJ1IjogIjAzYzA0Y2MyLTM1YTAtNDhhNC05ZTZjLThhMWE0NGNhNjhkZiIsICJpZCI6ICJmOWIzMTU5Yi0wOTVjLTQyM2UtOWIwNS04ZDZlNzIyNjEwNzIifQ.A3TOPdm3Lhmn-1x5m6jNvulCQbbgUeQfAIO3IaaAt5k";
+
+const REFRESH_INTERVAL_IN_MS = 3500;
+
+interface QueryResponse {
+ meta: { name: string; type: string }[];
+ data: {
+ last_update_time: string;
+ remote_cache_minutes_saved: number;
+ local_cache_minutes_saved: number;
+ }[];
+ rows: number;
+ statistics: {
+ elapsed: number;
+ rows_read: number;
+ bytes_read: number;
+ };
+}
+
+export default function useTurborepoMinutesSaved():
+ | {
+ last_update_time: string;
+ remote_cache_minutes_saved: number;
+ local_cache_minutes_saved: number;
+ }
+ | undefined {
+ const swr = useSWR<QueryResponse, unknown>(path, fetcher, {
+ refreshInterval: REFRESH_INTERVAL_IN_MS,
+ });
+
+ return swr.data?.data[0];
+}
\ No newline at end of file |
