Files
Tiber365/node_modules/unstorage/drivers/capacitor-preferences.cjs
2025-07-24 18:46:24 +02:00

63 lines
1.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _preferences = require("@capacitor/preferences");
var _utils = require("./utils/index.cjs");
const DRIVER_NAME = "capacitor-preferences";
module.exports = (0, _utils.defineDriver)(opts => {
const base = (0, _utils.normalizeKey)(opts?.base || "");
const resolveKey = key => (0, _utils.joinKeys)(base, key);
return {
name: DRIVER_NAME,
options: opts,
getInstance: () => _preferences.Preferences,
hasItem(key) {
return _preferences.Preferences.keys().then(r => r.keys.includes(resolveKey(key)));
},
getItem(key) {
return _preferences.Preferences.get({
key: resolveKey(key)
}).then(r => r.value);
},
getItemRaw(key) {
return _preferences.Preferences.get({
key: resolveKey(key)
}).then(r => r.value);
},
setItem(key, value) {
return _preferences.Preferences.set({
key: resolveKey(key),
value
});
},
setItemRaw(key, value) {
return _preferences.Preferences.set({
key: resolveKey(key),
value
});
},
removeItem(key) {
return _preferences.Preferences.remove({
key: resolveKey(key)
});
},
async getKeys() {
const {
keys
} = await _preferences.Preferences.keys();
return keys.map(key => key.slice(base.length));
},
async clear(prefix) {
const {
keys
} = await _preferences.Preferences.keys();
const _prefix = resolveKey(prefix || "");
await Promise.all(keys.filter(key => key.startsWith(_prefix)).map(key => _preferences.Preferences.remove({
key
})));
}
};
});