UNPKG

tauri-settings

Version:

A user settings manager for Tauri inspired by electron-settings.

39 lines (38 loc) 985 B
/** * @internal */ export function getDotNotation(settings, path) { if (typeof path !== 'string') throw 'Error: path must be a string'; const keys = path.split('.'); let current = settings; for (let i = 0; i < keys.length; i++) { const key = keys[i]; if (current[key] === undefined) { return null; } else { current = current[key]; } } return current; } /** * @internal */ export function setDotNotation(settings, path, value) { if (typeof path !== 'string') throw 'Error: path must be a string'; const keys = path.split('.'); let current = settings; for (let i = 0; i < keys.length - 1; i++) { const key = keys[i]; if (current[key] === undefined) { // if a key does not exist, create it current[key] = {}; } current = current[key]; } current[keys[keys.length - 1]] = value; return settings; }