commit 6187afae3148bc37730afdf81eed54775b89c2b6
parent d6baf6627adbbee5bc59582495ed277515a22feb
Author: triesap <137732411+triesap@users.noreply.github.com>
Date: Sat, 26 Oct 2024 19:08:28 +0000
client: add client fs api, edit utils
Diffstat:
6 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/client/package.json b/client/package.json
@@ -17,6 +17,7 @@
"@radroots/utils": "workspace:*",
"@tauri-apps/api": "2.0.3",
"@tauri-apps/plugin-dialog": "^2.0.1",
+ "@tauri-apps/plugin-fs": "^2.0.1",
"@tauri-apps/plugin-geolocation": "^2.0.0",
"@tauri-apps/plugin-haptics": "^2.0.0",
"@tauri-apps/plugin-http": "^2.0.1",
diff --git a/client/src/fs/tauri.ts b/client/src/fs/tauri.ts
@@ -0,0 +1,15 @@
+import { exists as fs_exists } from '@tauri-apps/plugin-fs';
+import type { IClientFs } from "./types";
+
+export class TauriClientFs implements IClientFs {
+ public async exists(path: string): Promise<boolean> {
+ try {
+ const res = await fs_exists(path);
+ return res;
+ } catch (e) {
+ console.log(`e exists`, e)
+ return false;
+ };
+ }
+
+}
diff --git a/client/src/fs/types.ts b/client/src/fs/types.ts
@@ -0,0 +1,3 @@
+export type IClientFs = {
+ exists(path: string): Promise<boolean>;
+};
+\ No newline at end of file
diff --git a/client/src/geolocation/tauri.ts b/client/src/geolocation/tauri.ts
@@ -6,14 +6,14 @@ import {
watchPosition,
type Position
} from '@tauri-apps/plugin-geolocation';
-import { fmt_location_coords } from '../utils';
+import { parse_location_coords } from '../utils';
import type { IClientGeolocation, IClientGeolocationPermission, IClientGeolocationPosition, IClientGeolocationWatchCallback, IClientGeolocationWatchOpts, IGeolocationErrorMessage } from './types';
export class TauriClientGeolocation implements IClientGeolocation {
private parse_geolocation_position({ coords: pos_coords }: Position): IClientGeolocationPosition {
const position: IClientGeolocationPosition = {
- lat: fmt_location_coords(pos_coords.latitude),
- lng: fmt_location_coords(pos_coords.longitude),
+ lat: parse_location_coords(pos_coords.latitude),
+ lng: parse_location_coords(pos_coords.longitude),
accuracy: pos_coords.accuracy || undefined,
altitude: pos_coords.altitude || undefined,
altitude_accuracy: pos_coords.altitudeAccuracy || undefined
diff --git a/client/src/index.ts b/client/src/index.ts
@@ -5,6 +5,8 @@ export * from "./device/tauri"
export * from "./device/types"
export * from "./dialog/tauri"
export * from "./dialog/types"
+export * from "./fs/tauri"
+export * from "./fs/types"
export * from "./geolocation/tauri"
export * from "./geolocation/types"
export * from "./haptics/tauri"
diff --git a/client/src/utils.ts b/client/src/utils.ts
@@ -11,7 +11,7 @@ export function parse_platform(str: string): IClientPlatform {
};
};
-export function fmt_location_coords(number: number): number {
+export function parse_location_coords(number: number): number {
return Math.round(number * 1e7) / 1e7;
};