web_lib

Common web application libraries
git clone https://radroots.dev/git/web_lib.git
Log | Files | Refs | LICENSE

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:
Mclient/package.json | 1+
Aclient/src/fs/tauri.ts | 15+++++++++++++++
Aclient/src/fs/types.ts | 4++++
Mclient/src/geolocation/tauri.ts | 6+++---
Mclient/src/index.ts | 2++
Mclient/src/utils.ts | 2+-
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; };