Packages
plinth
0.9.3
0.10.2
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.13
0.1.12
0.1.11
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Bindings to Node.js and browser platform APIs
Current section
Files
Jump to
Current section
Files
src/plinth_browser_storage_ffi.mjs
import { Result$Ok, Result$Error } from "./gleam.mjs";
export function getStorage() {
const storage = globalThis?.navigator?.storage
if (globalThis.StorageManager && storage instanceof StorageManager) {
return Result$Ok(storage)
} else {
return Result$Error()
}
}
export async function estimate(storageManager) {
try {
const { quota, usage } = await storageManager.estimate()
return Result$Ok([quota, usage])
} catch (error) {
return Result$Error(`${error}`)
}
}
export async function getDirectory(storageManager) {
try {
return Result$Ok(await storageManager.getDirectory())
} catch (error) {
return Result$Error(`${error}`)
}
}
export async function persist(storageManager) {
try {
return Result$Ok(await storageManager.persist())
} catch (error) {
return Result$Error(`${error}`)
}
}
export async function persisted(storageManager) {
try {
return Result$Ok(await storageManager.persisted())
} catch (error) {
return Result$Error(`${error}`)
}
}