mirror of
https://github.com/He4eT/browser-milje-2077.git
synced 2026-05-05 01:17:25 +00:00
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
import { browser } from './browser.js'
|
|
|
|
export const fields = [
|
|
'randomSeed',
|
|
'halfPatternSize',
|
|
'scaleFactor',
|
|
'gridSize',
|
|
'density',
|
|
'red',
|
|
'green',
|
|
'blue',
|
|
]
|
|
|
|
export function getParamsFromStorage () {
|
|
return browser.storage.local.get(['params'])
|
|
.then(({params}) => params ?? {})
|
|
}
|
|
|
|
export function setParamsToStorage (params) {
|
|
return browser.storage.local.set({params})
|
|
}
|
|
|
|
export function assureParams(params) {
|
|
const assureNumber = (rawValue) => (defaultValue) => (min, max) => {
|
|
let value = Number(rawValue)
|
|
|
|
if (isNaN(value)) return defaultValue
|
|
value = Math.max(min, value)
|
|
value = Math.min(max, value)
|
|
|
|
return value
|
|
}
|
|
|
|
return {
|
|
randomSeed: assureNumber(params.randomSeed)(0)(0, Infinity),
|
|
halfPatternSize: assureNumber(params.halfPatternSize)(16)(0, Infinity),
|
|
scaleFactor: assureNumber(params.scaleFactor)(16)(0, Infinity),
|
|
gridSize: assureNumber(params.gridSize)(3)(0, Infinity),
|
|
density: assureNumber(params.density)(0.5)(0, 1),
|
|
red: assureNumber(params.red)(255)(0, 255),
|
|
green: assureNumber(params.green)(255)(0, 255),
|
|
blue: assureNumber(params.blue)(255)(0, 255),
|
|
}
|
|
}
|