@kirz/expo-speedtest
Version:
Measure internet latency, download and upload speed
28 lines • 1.14 kB
TypeScript
import type { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier, UseBoundStore } from "zustand";
import { MeasureType } from "./types";
type Create = {
<T, Mos extends [StoreMutatorIdentifier, unknown][] = []>(initializer: StateCreator<T, [], Mos>): UseBoundStore<Mutate<StoreApi<T>, Mos>>;
<T>(): <Mos extends [StoreMutatorIdentifier, unknown][] = []>(initializer: StateCreator<T, [], Mos>) => UseBoundStore<Mutate<StoreApi<T>, Mos>>;
/**
* @deprecated Use `useStore` hook to bind store
*/
<S extends StoreApi<unknown>>(store: S): UseBoundStore<S>;
};
type SpeedTestProps = {
duration?: number;
tests?: MeasureType[];
};
type SpeedTestStore = {
status: "ready" | "testing";
progress: {
type: MeasureType;
result: number;
percent: number;
} | null;
results: Record<MeasureType, number | null>;
start: (params?: SpeedTestProps) => Promise<void>;
getIpAddress: () => Promise<string>;
};
export declare const createZustandStore: (create: Create) => UseBoundStore<StoreApi<SpeedTestStore>>;
export {};
//# sourceMappingURL=create-zustand-store.d.ts.map