FIX: ES3 props keyword bug in IE8; eslint errors

This commit is contained in:
1111hui 2016-06-20 15:41:50 +08:00
parent 0294293f82
commit 8550501fb2
2 changed files with 19 additions and 10 deletions

View file

@ -12,7 +12,7 @@
"curly": [2, "multi-line"], "curly": [2, "multi-line"],
"dot-location": [2, "property"], "dot-location": [2, "property"],
"dot-notation": 2, "dot-notation": [2, {"allowKeywords": false}],
"eqeqeq": [2, "allow-null"], "eqeqeq": [2, "allow-null"],
"no-alert": 2, "no-alert": 2,
"no-caller": 2, "no-caller": 2,
@ -55,6 +55,7 @@
"camelcase": 2, "camelcase": 2,
"comma-spacing": 2, "comma-spacing": 2,
"comma-style": 2, "comma-style": 2,
"comma-dangle": [2, "never"],
"consistent-this": [2, "self"], "consistent-this": [2, "self"],
"eol-last": 2, "eol-last": 2,
"func-style": [2, "declaration"], "func-style": [2, "declaration"],
@ -72,7 +73,7 @@
"operator-assignment": 2, "operator-assignment": 2,
"operator-linebreak": [2, "after"], "operator-linebreak": [2, "after"],
"padded-blocks": [2, "never"], "padded-blocks": [2, "never"],
"quote-props": [2, "as-needed"], "quote-props": [2, "as-needed", {"keywords": true}],
"quotes": [2, "double", "avoid-escape"], "quotes": [2, "double", "avoid-escape"],
"semi-spacing": 0, "semi-spacing": 0,
"semi": [2, "never"], "semi": [2, "never"],

View file

@ -1,3 +1,5 @@
/* global Promise */
;(function (global, factory) { // eslint-disable-line ;(function (global, factory) { // eslint-disable-line
"use strict" "use strict"
/* eslint-disable no-undef */ /* eslint-disable no-undef */
@ -84,7 +86,9 @@
function parseTagAttrs(cell, tag) { function parseTagAttrs(cell, tag) {
var classes = [] var classes = []
/* eslint-disable max-len */
var parser = /(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g var parser = /(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g
/* eslint-enable max-len */
var match var match
while ((match = parser.exec(tag))) { while ((match = parser.exec(tag))) {
@ -188,7 +192,9 @@
// value of Console.log in some versions of Firefox (behavior depends on // value of Console.log in some versions of Firefox (behavior depends on
// version) // version)
try { try {
if (typeof data !== "boolean" && data != null && data.toString() != null) return data if (typeof data !== "boolean" &&
data != null &&
data.toString() != null) return data
} catch (e) { } catch (e) {
// silently ignore errors // silently ignore errors
} }
@ -1082,8 +1088,7 @@
} catch (e) { } catch (e) {
node.setAttribute(attrName, dataAttr) node.setAttribute(attrName, dataAttr)
} }
} } else node.setAttribute(attrName, dataAttr)
else node.setAttribute(attrName, dataAttr)
} }
function trySetAttr( function trySetAttr(
@ -1095,7 +1100,10 @@
tag, tag,
namespace namespace
) { ) {
if (!(attrName in cachedAttrs) || (cachedAttr !== dataAttr) || typeof dataAttr === "object" || ($document.activeElement === node)) { if (!(attrName in cachedAttrs) ||
(cachedAttr !== dataAttr) ||
typeof dataAttr === "object" ||
($document.activeElement === node)) {
cachedAttrs[attrName] = dataAttr cachedAttrs[attrName] = dataAttr
try { try {
return setSingleAttr( return setSingleAttr(
@ -1343,7 +1351,8 @@
} }
m.prop = function (store) { m.prop = function (store) {
if ((store != null && (isObject(store) || isFunction(store)) || ((typeof Promise !== "undefined") && (store instanceof Promise))) && if ((store != null && (isObject(store) || isFunction(store)) ||
((typeof Promise !== "undefined") && (store instanceof Promise))) &&
isFunction(store.then)) { isFunction(store.then)) {
return propify(store) return propify(store)
} }
@ -1829,8 +1838,7 @@
if (params[key] != null) { if (params[key] != null) {
if (!isArray(params[key])) params[key] = [params[key]] if (!isArray(params[key])) params[key] = [params[key]]
params[key].push(value) params[key].push(value)
} } else params[key] = value
else params[key] = value
}) })
return params return params
@ -1858,7 +1866,7 @@
return propify(promise.then(resolve, reject), initialValue) return propify(promise.then(resolve, reject), initialValue)
} }
prop.catch = prop.then.bind(null, null) prop["catch"] = prop.then.bind(null, null)
return prop return prop
} }
// Promiz.mithril.js | Zolmeister | MIT // Promiz.mithril.js | Zolmeister | MIT