- Linting (ESLint): As per latest ash-nazg (jsdoc for classes/methods)

- npm: Update devDeps
This commit is contained in:
Brett Zamir
2020-01-29 12:09:42 +08:00
parent cf80e31de7
commit f9f359b98f
21 changed files with 602 additions and 261 deletions

View File

@@ -325,7 +325,7 @@ var win = typeof window !== 'undefined' && window; // istanbul ignore next
var doc = typeof document !== 'undefined' && document || win && win.document; // STATIC PROPERTIES
var possibleOptions = ['$plugins', // '$mode', // Todo (SVG/XML)
// 'state', // Used internally
// '$state', // Used internally
'$map' // Add any other options here
];
var NS_HTML = 'http://www.w3.org/1999/xhtml',
@@ -408,9 +408,7 @@ function _applyAnyStylesheet(node) {
function _appendNode(parent, child) {
var parentName = _getHTMLNodeName(parent);
var childName = _getHTMLNodeName(child); // IE only
var parentName = _getHTMLNodeName(parent); // IE only
// istanbul ignore if
@@ -436,6 +434,9 @@ function _appendNode(parent, child) {
parent.append(child); // IE9 is now ok with this
} catch (e) {
// istanbul ignore next
var childName = _getHTMLNodeName(child); // istanbul ignore next
if (parentName === 'select' && childName === 'option') {
try {
// Since this is now DOM Level 4 standard behavior (and what IE7+ can handle), we try it first
@@ -591,20 +592,6 @@ function _replaceDefiner(xmlnsObj) {
return retStr;
};
}
/**
*
* @param {JamilihArray} args
* @returns {Element}
*/
function _optsOrUndefinedJML() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return jml.apply(void 0, _toConsumableArray(args[0] === undefined ? args.slice(1) : args));
}
/**
* @typedef {JamilihAttributes} AttributeArray
* @property {string} 0 The key
@@ -630,7 +617,7 @@ function _childrenToJML(node) {
return function (childNodeJML, i) {
var cn = node.childNodes[i];
var j = Array.isArray(childNodeJML) ? jml.apply(void 0, _toConsumableArray(childNodeJML)) : jml(childNodeJML);
cn.parentNode.replaceChild(j, cn);
cn.replaceWith(j);
};
}
/**
@@ -649,7 +636,11 @@ function _childrenToJML(node) {
function _appendJML(node) {
return function (childJML) {
node.append(jml.apply(void 0, _toConsumableArray(childJML)));
if (Array.isArray(childJML)) {
node.append(jml.apply(void 0, _toConsumableArray(childJML)));
} else {
node.append(jml(childJML));
}
};
}
/**
@@ -670,8 +661,10 @@ function _appendJMLOrText(node) {
return function (childJML) {
if (typeof childJML === 'string') {
node.append(childJML);
} else {
} else if (Array.isArray(childJML)) {
node.append(jml.apply(void 0, _toConsumableArray(childJML)));
} else {
node.append(jml(childJML));
}
};
}
@@ -717,15 +710,15 @@ function _DOMfromJMLOrString (childNodeJML) {
* Creates an XHTML or HTML element (XHTML is preferred, but only in browsers
* that support); any element after element can be omitted, and any subsequent
* type or types added afterwards.
* @param {JamilihArray} args
* @param {...JamilihArray} args
* @returns {JamilihReturn} The newly created (and possibly already appended)
* element or array of elements
*/
var jml = function jml() {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var elem = doc.createDocumentFragment();
@@ -768,7 +761,8 @@ var jml = function jml() {
case '#':
{
// Document fragment
nodes[nodes.length] = _optsOrUndefinedJML(opts, attVal);
opts.$state = 'fragmentChilden';
nodes[nodes.length] = jml(opts, attVal);
break;
}
@@ -815,6 +809,12 @@ var jml = function jml() {
break;
}
case '$state':
{
// Handled internally
break;
}
case 'is':
{
// Currently only in Chrome
@@ -847,6 +847,7 @@ var jml = function jml() {
throw new TypeError('Expected `is` with `$define` on built-in');
}
opts.$state = 'attributeValue';
elem.setAttribute('is', atts.is);
is = atts.is;
}
@@ -1159,6 +1160,7 @@ var jml = function jml() {
break;
}
opts.$state = 'attributeValue';
elem.setAttribute(att, attVal);
break;
@@ -1200,6 +1202,7 @@ var jml = function jml() {
} // setAttribute unfortunately erases any existing styles
opts.$state = 'attributeValue';
elem.setAttribute(att, attVal);
/*
// The following reorders which is troublesome for serialization, e.g., as used in our testing
@@ -1213,12 +1216,13 @@ var jml = function jml() {
break;
}
var matchingPlugin = opts && opts.$plugins && opts.$plugins.find(function (p) {
var matchingPlugin = opts.$plugins && opts.$plugins.find(function (p) {
return p.name === att;
});
if (matchingPlugin) {
matchingPlugin.set({
opts: opts,
element: elem,
attribute: {
name: att,
@@ -1228,6 +1232,7 @@ var jml = function jml() {
break;
}
opts.$state = 'attributeValue';
elem.setAttribute(att, attVal);
break;
}
@@ -1251,9 +1256,9 @@ var jml = function jml() {
})) {
opts = args[0];
if (opts.state !== 'child') {
if (opts.$state === undefined) {
isRoot = true;
opts.state = 'child';
opts.$state = 'root';
}
if (opts.$map && !opts.$map.root && opts.$map.root !== false) {
@@ -1283,10 +1288,14 @@ var jml = function jml() {
}
args = args.slice(1);
} else {
opts = {
$state: undefined
};
}
var argc = args.length;
var defaultMap = opts && opts.$map && opts.$map.root;
var defaultMap = opts.$map && opts.$map.root;
var setMap = function setMap(dataVal) {
var map, obj; // Boolean indicating use of default map and object
@@ -1412,6 +1421,7 @@ var jml = function jml() {
case '':
nodes[nodes.length] = elem = doc.createDocumentFragment();
opts.$state = 'fragment';
break;
default:
@@ -1440,6 +1450,7 @@ var jml = function jml() {
elem = doc.createElement(elStr);
}
opts.$state = 'element';
nodes[nodes.length] = elem; // Add to parent
break;
@@ -1469,7 +1480,8 @@ var jml = function jml() {
elem = nodes[nodes.length - 1] = new win.DOMParser().parseFromString(new win.XMLSerializer().serializeToString(elem) // Mozilla adds XHTML namespace
.replace(' xmlns="' + NS_HTML + '"', replacer), 'application/xml').documentElement; // }catch(e) {alert(elem.outerHTML);throw e;}
.replace(' xmlns="' + NS_HTML + '"', replacer), 'application/xml').documentElement;
opts.$state = 'element'; // }catch(e) {alert(elem.outerHTML);throw e;}
}
_checkAtts(_atts);
@@ -1487,6 +1499,7 @@ var jml = function jml() {
if (i === 0) {
// Allow wrapping of element, fragment, or document
elem = arg;
opts.$state = 'element';
}
if (i === argc - 1 || i === argc - 2 && args[i + 1] === null) {
@@ -1534,10 +1547,14 @@ var jml = function jml() {
default:
if (Array.isArray(childContent)) {
// Arrays representing child elements
_appendNode(elem, _optsOrUndefinedJML.apply(void 0, [opts].concat(_toConsumableArray(childContent))));
opts.$state = 'children';
_appendNode(elem, jml.apply(void 0, [opts].concat(_toConsumableArray(childContent))));
} else if (childContent['#']) {
// Fragment
_appendNode(elem, _optsOrUndefinedJML(opts, childContent['#']));
opts.$state = 'fragmentChildren';
_appendNode(elem, jml(opts, childContent['#']));
} else {
// Single DOM element children
_appendNode(elem, childContent);
@@ -1554,7 +1571,7 @@ var jml = function jml() {
var ret = nodes[0] || elem;
if (opts && isRoot && opts.$map && opts.$map.root) {
if (isRoot && opts.$map && opts.$map.root) {
setMap(true);
}
@@ -1940,7 +1957,7 @@ jml.toJMLString = function (dom, config) {
};
/**
*
* @param {JamilihArray} args
* @param {...JamilihArray} args
* @returns {JamilihReturn}
*/
@@ -1951,7 +1968,7 @@ jml.toDOM = function () {
};
/**
*
* @param {JamilihArray} args
* @param {...JamilihArray} args
* @returns {string}
*/
@@ -1966,7 +1983,7 @@ jml.toHTML = function () {
};
/**
*
* @param {JamilihArray} args
* @param {...JamilihArray} args
* @returns {string}
*/
@@ -1977,7 +1994,7 @@ jml.toDOMString = function () {
};
/**
*
* @param {JamilihArray} args
* @param {...JamilihArray} args
* @returns {string}
*/
@@ -1988,7 +2005,7 @@ jml.toXML = function () {
};
/**
*
* @param {JamilihArray} args
* @param {...JamilihArray} args
* @returns {string}
*/
@@ -2028,8 +2045,8 @@ function (_Map) {
elem = typeof elem === 'string' ? $(elem) : elem;
for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
args[_key3 - 2] = arguments[_key3];
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
args[_key2 - 2] = arguments[_key2];
}
return (_this$get = this.get(elem))[methodName].apply(_this$get, [elem].concat(args));
@@ -2069,8 +2086,8 @@ function (_WeakMap) {
elem = typeof elem === 'string' ? $(elem) : elem;
for (var _len4 = arguments.length, args = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
args[_key4 - 2] = arguments[_key4];
for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
args[_key3 - 2] = arguments[_key3];
}
return (_this$get2 = this.get(elem))[methodName].apply(_this$get2, [elem].concat(args));
@@ -2097,8 +2114,8 @@ jml.WeakMap = JamilihWeakMap;
jml.weak = function (obj) {
var map = new JamilihWeakMap();
for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
args[_key5 - 1] = arguments[_key5];
for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
args[_key4 - 1] = arguments[_key4];
}
var elem = jml.apply(void 0, [{
@@ -2116,8 +2133,8 @@ jml.weak = function (obj) {
jml.strong = function (obj) {
var map = new JamilihMap();
for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
args[_key6 - 1] = arguments[_key6];
for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
args[_key5 - 1] = arguments[_key5];
}
var elem = jml.apply(void 0, [{
@@ -2152,8 +2169,8 @@ jml.command = function (elem, symOrMap, methodName) {
elem = typeof elem === 'string' ? $(elem) : elem;
var func;
for (var _len7 = arguments.length, args = new Array(_len7 > 3 ? _len7 - 3 : 0), _key7 = 3; _key7 < _len7; _key7++) {
args[_key7 - 3] = arguments[_key7];
for (var _len6 = arguments.length, args = new Array(_len6 > 3 ? _len6 - 3 : 0), _key6 = 3; _key6 < _len6; _key6++) {
args[_key6 - 3] = arguments[_key6];
}
if (['symbol', 'string'].includes(_typeof(symOrMap))) {