Merge pull request #962 from maranomynet/minor-tweaks

Minor tweaks
This commit is contained in:
Leo Horie 2016-02-19 22:37:26 -05:00
commit 8d06cb8142

View file

@ -38,9 +38,24 @@
function noop() {} function noop() {}
/* eslint-disable max-len */ var voidElements = {
var voidElements = /^(AREA|BASE|BR|COL|COMMAND|EMBED|HR|IMG|INPUT|KEYGEN|LINK|META|PARAM|SOURCE|TRACK|WBR)$/ AREA: 1,
/* eslint-enable max-len */ BASE: 1,
BR: 1,
COL: 1,
COMMAND: 1,
EMBED: 1,
HR: 1,
IMG: 1,
INPUT: 1,
KEYGEN: 1,
LINK: 1,
META: 1,
PARAM: 1,
SOURCE: 1,
TRACK: 1,
WBR: 1
}
// caching commonly used variables // caching commonly used variables
var $document, $location, $requestAnimationFrame, $cancelAnimationFrame var $document, $location, $requestAnimationFrame, $cancelAnimationFrame
@ -126,9 +141,7 @@
* or splat (optional) * or splat (optional)
*/ */
function m(tag, pairs) { function m(tag, pairs) {
for (var args = [], i = 1; i < arguments.length; i++) { var args = [].slice.call(arguments, 1)
args[i - 1] = arguments[i]
}
if (isObject(tag)) return parameterize(tag, args) if (isObject(tag)) return parameterize(tag, args)
@ -456,7 +469,7 @@
nodes = injectHTML(parentElement, index, data) nodes = injectHTML(parentElement, index, data)
} else { } else {
nodes = [$document.createTextNode(data)] nodes = [$document.createTextNode(data)]
if (!parentElement.nodeName.match(voidElements)) { if (!(parentElement.nodeName in voidElements)) {
insertNode(parentElement, nodes[0], index) insertNode(parentElement, nodes[0], index)
} }
} }
@ -970,13 +983,13 @@
} }
} }
function shouldUseSetAttribute(attrName) { var shouldUseSetAttribute = {
return attrName !== "list" && list: 1,
attrName !== "style" && style: 1,
attrName !== "form" && form: 1,
attrName !== "type" && type: 1,
attrName !== "width" && width: 1,
attrName !== "height" height: 1
} }
function setSingleAttr( function setSingleAttr(
@ -1007,7 +1020,7 @@
attrName === "className" ? "class" : attrName, attrName === "className" ? "class" : attrName,
dataAttr) dataAttr)
} }
} else if (attrName in node && shouldUseSetAttribute(attrName)) { } else if (attrName in node && !shouldUseSetAttribute[attrName]) {
// handle cases that are properties (but ignore cases where we // handle cases that are properties (but ignore cases where we
// should use setAttribute instead) // should use setAttribute instead)
// //
@ -1298,9 +1311,7 @@
} }
m.component = function (component) { m.component = function (component) {
for (var args = [], i = 1; i < arguments.length; i++) { var args = [].slice.call(arguments, 1)
args.push(arguments[i])
}
return parameterize(component, args) return parameterize(component, args)
} }
@ -1902,7 +1913,7 @@
m.deferred.onerror = function (e) { m.deferred.onerror = function (e) {
if (type.call(e) === "[object Error]" && if (type.call(e) === "[object Error]" &&
!e.constructor.toString().match(/ Error/)) { !/ Error/.test(e.constructor.toString())) {
pendingRequests = 0 pendingRequests = 0
throw e throw e
} }
@ -2048,16 +2059,14 @@
} }
function parameterizeUrl(url, data) { function parameterizeUrl(url, data) {
var tokens = url.match(/:[a-z]\w+/gi) if (data) {
url = url.replace(/:[a-z]\w+/gi, function(token){
if (tokens && data) {
forEach(tokens, function (token) {
var key = token.slice(1) var key = token.slice(1)
url = url.replace(token, data[key]) var value = data[key]
delete data[key] delete data[key]
return value
}) })
} }
return url return url
} }