aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/docs/lib/useTurborepoMinutesSaved.ts
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-28 00:28:05 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-28 00:28:05 +0800
commitb992e50faf69e6f9e2d17385c0b05191e29bd49c (patch)
tree11e77cc771fc4afd83108ffcabac97fd4f937ea2 /docs/lib/useTurborepoMinutesSaved.ts
parent871ea962c722bb74758e2ea801e3f3ca99af4907 (diff)
downloadHydroRoll-b992e50faf69e6f9e2d17385c0b05191e29bd49c.tar.gz
HydroRoll-b992e50faf69e6f9e2d17385c0b05191e29bd49c.zip
Diffstat (limited to 'docs/lib/useTurborepoMinutesSaved.ts')
-rw-r--r--docs/lib/useTurborepoMinutesSaved.ts38
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