UNPKG

minigame-std

Version:

Mini Game Standard Development Library.

54 lines (45 loc) 1.47 kB
import { ABORT_ERROR, toFileSystemHandleLike, type FileSystemFileHandleLike, type FileSystemHandleLike } from 'happy-opfs'; /** * 将 `FileSystemHandleLike` 转换为小游戏 `Stats`。 * @param handleLike - FileSystemHandleLike * @returns */ export function convertFileSystemHandleLikeToStats(handleLike: FileSystemHandleLike): WechatMinigame.Stats { const { kind } = handleLike; const isFile = kind === 'file'; const isDirectory = kind === 'directory'; let size = 0; let lastModifiedTime = 0; if (isFile) { const file = handleLike as FileSystemFileHandleLike; size = file.size lastModifiedTime = file.lastModified; } const stats: WechatMinigame.Stats = { isFile: (): boolean => isFile, isDirectory: (): boolean => isDirectory, size, lastModifiedTime, lastAccessedTime: 0, mode: 0, }; return stats; } /** * 将`FileSystemHandle`转换为小游戏 `Stats`。 * @param handle - FileSystemHandle * @returns */ export async function convertFileSystemHandleToStats(handle: FileSystemHandle): Promise<WechatMinigame.Stats> { const handleLike = await toFileSystemHandleLike(handle); return convertFileSystemHandleLikeToStats(handleLike); } /** * Creates an `AbortError` Error. * @returns An `AbortError` Error. */ export function createAbortError(): Error { const error = new Error(); error.name = ABORT_ERROR; return error; }