@puhi8/js-web-utils
v1.1.0
Published
Raw browser/DOM utilities.
Downloads
256
Readme
@puhi8/js-web-utils
Browser/DOM utilities.
Install
npm install @puhi8/js-web-utilsAPI
eventListener
Attach multiple events at once and get a cleanup function back.
const cleanupWindow = eventListener.window(['mousedown', 'touchstart'], handler)
const cleanupDocument = eventListener.document(['keydown', 'keyup'], handler)
cleanupWindow() // removes mousedown + touchstart
cleanupDocument() // removes keydown + keyupcombineCleanups
Merge multiple cleanup functions into one.
const cleanup = combineCleanups(
eventListener.window(['mousedown', 'touchstart'], handler),
eventListener.document(['keydown', 'keyup'], handler)
)
cleanup()manageLocalStorage
manageLocalStorage.set('theme', 'dark')
manageLocalStorage.set({ key: 'theme', value: 'dark' })
manageLocalStorage.set([{ key: 'a', value: 1 }, { key: 'b', value: 2 }])
manageLocalStorage.remove('theme')
manageLocalStorage.remove(['a', 'b'])
const theme = manageLocalStorage.get('theme', null)
const lang = manageLocalStorage.get('lang', 'en')
// With parsing
const count = manageLocalStorage.get('count', 0, Number)
const user = manageLocalStorage.get('user', null, JSON.parse)
// multiple keys
const [a, b] = manageLocalStorage.get(['keyA', 'keyB'], null)
const [x, y] = manageLocalStorage.get(['x', 'y'], 0, Number)
// multiple keys with parser
const flags = manageLocalStorage.get(['flagA', 'flagB'], false, v => v === 'true')