0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-11-29 11:24:18 +01:00

dom/manipulator.js: minor simplification. (#28358)

Combine two checks since we return the same value for both.
This commit is contained in:
XhmikosR 2019-02-26 13:13:01 +02:00 committed by GitHub
parent 7933ee3282
commit f7b55da450
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,18 +5,20 @@
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const regexDataKey = /[A-Z]/g
function normalizeData(val) { function normalizeData(val) {
if (val === 'true') { if (val === 'true') {
return true return true
} else if (val === 'false') { }
if (val === 'false') {
return false return false
} else if (val === 'null') { }
return null
} else if (val === Number(val).toString()) { if (val === Number(val).toString()) {
return Number(val) return Number(val)
} else if (val === '') { }
if (val === '' || val === 'null') {
return null return null
} }
@ -24,7 +26,7 @@ function normalizeData(val) {
} }
function normalizeDataKey(key) { function normalizeDataKey(key) {
return key.replace(regexDataKey, (chr) => chr.toLowerCase()) return key.replace(/[A-Z]/g, (chr) => chr.toLowerCase())
} }
const Manipulator = { const Manipulator = {
@ -45,18 +47,15 @@ const Manipulator = {
...element.dataset ...element.dataset
} }
Object.keys(attributes) Object.keys(attributes).forEach((key) => {
.forEach((key) => { attributes[key] = normalizeData(attributes[key])
attributes[key] = normalizeData(attributes[key]) })
})
return attributes return attributes
}, },
getDataAttribute(element, key) { getDataAttribute(element, key) {
return normalizeData(element return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))
.getAttribute(`data-${normalizeDataKey(key)}`)
)
}, },
offset(element) { offset(element) {