From b992e50faf69e6f9e2d17385c0b05191e29bd49c Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Fri, 28 Apr 2023 00:28:05 +0800 Subject: --- docs/lib/useTurborepoMinutesSaved.ts | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docs/lib/useTurborepoMinutesSaved.ts (limited to 'docs/lib/useTurborepoMinutesSaved.ts') 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(path, fetcher, { + refreshInterval: REFRESH_INTERVAL_IN_MS, + }); + + return swr.data?.data[0]; +} \ No newline at end of file -- cgit v1.2.3-70-g09d2