@wavemaker/angular-app 11.14.1-21.64739 → 11.14.1-22.647453
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dependencies/pipe-provider.cjs.js +1272 -806
- package/dependencies/transpilation-web.cjs.js +637 -404
- package/dependency-report.html +1 -1
- package/npm-shrinkwrap.json +958 -788
- package/package-lock.json +958 -788
- package/package.json +6 -6
|
@@ -28490,17 +28490,17 @@ var root = freeGlobal || freeSelf || Function('return this')();
|
|
|
28490
28490
|
var Symbol$1 = root.Symbol;
|
|
28491
28491
|
|
|
28492
28492
|
/** Used for built-in method references. */
|
|
28493
|
-
var objectProto$
|
|
28493
|
+
var objectProto$h = Object.prototype;
|
|
28494
28494
|
|
|
28495
28495
|
/** Used to check objects for own properties. */
|
|
28496
|
-
var hasOwnProperty$
|
|
28496
|
+
var hasOwnProperty$e = objectProto$h.hasOwnProperty;
|
|
28497
28497
|
|
|
28498
28498
|
/**
|
|
28499
28499
|
* Used to resolve the
|
|
28500
28500
|
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
28501
28501
|
* of values.
|
|
28502
28502
|
*/
|
|
28503
|
-
var nativeObjectToString$1 = objectProto$
|
|
28503
|
+
var nativeObjectToString$1 = objectProto$h.toString;
|
|
28504
28504
|
|
|
28505
28505
|
/** Built-in value references. */
|
|
28506
28506
|
var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined;
|
|
@@ -28513,7 +28513,7 @@ var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined;
|
|
|
28513
28513
|
* @returns {string} Returns the raw `toStringTag`.
|
|
28514
28514
|
*/
|
|
28515
28515
|
function getRawTag(value) {
|
|
28516
|
-
var isOwn = hasOwnProperty$
|
|
28516
|
+
var isOwn = hasOwnProperty$e.call(value, symToStringTag$1),
|
|
28517
28517
|
tag = value[symToStringTag$1];
|
|
28518
28518
|
|
|
28519
28519
|
try {
|
|
@@ -28533,14 +28533,14 @@ function getRawTag(value) {
|
|
|
28533
28533
|
}
|
|
28534
28534
|
|
|
28535
28535
|
/** Used for built-in method references. */
|
|
28536
|
-
var objectProto$
|
|
28536
|
+
var objectProto$g = Object.prototype;
|
|
28537
28537
|
|
|
28538
28538
|
/**
|
|
28539
28539
|
* Used to resolve the
|
|
28540
28540
|
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
28541
28541
|
* of values.
|
|
28542
28542
|
*/
|
|
28543
|
-
var nativeObjectToString = objectProto$
|
|
28543
|
+
var nativeObjectToString = objectProto$g.toString;
|
|
28544
28544
|
|
|
28545
28545
|
/**
|
|
28546
28546
|
* Converts `value` to a string using `Object.prototype.toString`.
|
|
@@ -29006,17 +29006,17 @@ var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
|
|
29006
29006
|
|
|
29007
29007
|
/** Used for built-in method references. */
|
|
29008
29008
|
var funcProto$1 = Function.prototype,
|
|
29009
|
-
objectProto$
|
|
29009
|
+
objectProto$f = Object.prototype;
|
|
29010
29010
|
|
|
29011
29011
|
/** Used to resolve the decompiled source of functions. */
|
|
29012
29012
|
var funcToString$1 = funcProto$1.toString;
|
|
29013
29013
|
|
|
29014
29014
|
/** Used to check objects for own properties. */
|
|
29015
|
-
var hasOwnProperty$
|
|
29015
|
+
var hasOwnProperty$d = objectProto$f.hasOwnProperty;
|
|
29016
29016
|
|
|
29017
29017
|
/** Used to detect if a method is native. */
|
|
29018
29018
|
var reIsNative = RegExp('^' +
|
|
29019
|
-
funcToString$1.call(hasOwnProperty$
|
|
29019
|
+
funcToString$1.call(hasOwnProperty$d).replace(reRegExpChar, '\\$&')
|
|
29020
29020
|
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
|
29021
29021
|
);
|
|
29022
29022
|
|
|
@@ -29431,10 +29431,10 @@ function eq(value, other) {
|
|
|
29431
29431
|
}
|
|
29432
29432
|
|
|
29433
29433
|
/** Used for built-in method references. */
|
|
29434
|
-
var objectProto$
|
|
29434
|
+
var objectProto$e = Object.prototype;
|
|
29435
29435
|
|
|
29436
29436
|
/** Used to check objects for own properties. */
|
|
29437
|
-
var hasOwnProperty$
|
|
29437
|
+
var hasOwnProperty$c = objectProto$e.hasOwnProperty;
|
|
29438
29438
|
|
|
29439
29439
|
/**
|
|
29440
29440
|
* Assigns `value` to `key` of `object` if the existing value is not equivalent
|
|
@@ -29448,7 +29448,7 @@ var hasOwnProperty$d = objectProto$f.hasOwnProperty;
|
|
|
29448
29448
|
*/
|
|
29449
29449
|
function assignValue(object, key, value) {
|
|
29450
29450
|
var objValue = object[key];
|
|
29451
|
-
if (!(hasOwnProperty$
|
|
29451
|
+
if (!(hasOwnProperty$c.call(object, key) && eq(objValue, value)) ||
|
|
29452
29452
|
(value === undefined && !(key in object))) {
|
|
29453
29453
|
baseAssignValue(object, key, value);
|
|
29454
29454
|
}
|
|
@@ -29654,7 +29654,7 @@ function createAssigner(assigner) {
|
|
|
29654
29654
|
}
|
|
29655
29655
|
|
|
29656
29656
|
/** Used for built-in method references. */
|
|
29657
|
-
var objectProto$
|
|
29657
|
+
var objectProto$d = Object.prototype;
|
|
29658
29658
|
|
|
29659
29659
|
/**
|
|
29660
29660
|
* Checks if `value` is likely a prototype object.
|
|
@@ -29665,7 +29665,7 @@ var objectProto$e = Object.prototype;
|
|
|
29665
29665
|
*/
|
|
29666
29666
|
function isPrototype(value) {
|
|
29667
29667
|
var Ctor = value && value.constructor,
|
|
29668
|
-
proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$
|
|
29668
|
+
proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$d;
|
|
29669
29669
|
|
|
29670
29670
|
return value === proto;
|
|
29671
29671
|
}
|
|
@@ -29704,13 +29704,13 @@ function baseIsArguments(value) {
|
|
|
29704
29704
|
}
|
|
29705
29705
|
|
|
29706
29706
|
/** Used for built-in method references. */
|
|
29707
|
-
var objectProto$
|
|
29707
|
+
var objectProto$c = Object.prototype;
|
|
29708
29708
|
|
|
29709
29709
|
/** Used to check objects for own properties. */
|
|
29710
|
-
var hasOwnProperty$
|
|
29710
|
+
var hasOwnProperty$b = objectProto$c.hasOwnProperty;
|
|
29711
29711
|
|
|
29712
29712
|
/** Built-in value references. */
|
|
29713
|
-
var propertyIsEnumerable$1 = objectProto$
|
|
29713
|
+
var propertyIsEnumerable$1 = objectProto$c.propertyIsEnumerable;
|
|
29714
29714
|
|
|
29715
29715
|
/**
|
|
29716
29716
|
* Checks if `value` is likely an `arguments` object.
|
|
@@ -29731,7 +29731,7 @@ var propertyIsEnumerable$1 = objectProto$d.propertyIsEnumerable;
|
|
|
29731
29731
|
* // => false
|
|
29732
29732
|
*/
|
|
29733
29733
|
var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
|
|
29734
|
-
return isObjectLike(value) && hasOwnProperty$
|
|
29734
|
+
return isObjectLike(value) && hasOwnProperty$b.call(value, 'callee') &&
|
|
29735
29735
|
!propertyIsEnumerable$1.call(value, 'callee');
|
|
29736
29736
|
};
|
|
29737
29737
|
|
|
@@ -29904,10 +29904,10 @@ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
|
|
|
29904
29904
|
var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
|
|
29905
29905
|
|
|
29906
29906
|
/** Used for built-in method references. */
|
|
29907
|
-
var objectProto$
|
|
29907
|
+
var objectProto$b = Object.prototype;
|
|
29908
29908
|
|
|
29909
29909
|
/** Used to check objects for own properties. */
|
|
29910
|
-
var hasOwnProperty$
|
|
29910
|
+
var hasOwnProperty$a = objectProto$b.hasOwnProperty;
|
|
29911
29911
|
|
|
29912
29912
|
/**
|
|
29913
29913
|
* Creates an array of the enumerable property names of the array-like `value`.
|
|
@@ -29927,7 +29927,7 @@ function arrayLikeKeys(value, inherited) {
|
|
|
29927
29927
|
length = result.length;
|
|
29928
29928
|
|
|
29929
29929
|
for (var key in value) {
|
|
29930
|
-
if ((inherited || hasOwnProperty$
|
|
29930
|
+
if ((inherited || hasOwnProperty$a.call(value, key)) &&
|
|
29931
29931
|
!(skipIndexes && (
|
|
29932
29932
|
// Safari 9 has enumerable `arguments.length` in strict mode.
|
|
29933
29933
|
key == 'length' ||
|
|
@@ -29962,10 +29962,10 @@ function overArg(func, transform) {
|
|
|
29962
29962
|
var nativeKeys = overArg(Object.keys, Object);
|
|
29963
29963
|
|
|
29964
29964
|
/** Used for built-in method references. */
|
|
29965
|
-
var objectProto$
|
|
29965
|
+
var objectProto$a = Object.prototype;
|
|
29966
29966
|
|
|
29967
29967
|
/** Used to check objects for own properties. */
|
|
29968
|
-
var hasOwnProperty$
|
|
29968
|
+
var hasOwnProperty$9 = objectProto$a.hasOwnProperty;
|
|
29969
29969
|
|
|
29970
29970
|
/**
|
|
29971
29971
|
* The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
|
|
@@ -29980,7 +29980,7 @@ function baseKeys(object) {
|
|
|
29980
29980
|
}
|
|
29981
29981
|
var result = [];
|
|
29982
29982
|
for (var key in Object(object)) {
|
|
29983
|
-
if (hasOwnProperty$
|
|
29983
|
+
if (hasOwnProperty$9.call(object, key) && key != 'constructor') {
|
|
29984
29984
|
result.push(key);
|
|
29985
29985
|
}
|
|
29986
29986
|
}
|
|
@@ -30020,10 +30020,10 @@ function keys(object) {
|
|
|
30020
30020
|
}
|
|
30021
30021
|
|
|
30022
30022
|
/** Used for built-in method references. */
|
|
30023
|
-
var objectProto$
|
|
30023
|
+
var objectProto$9 = Object.prototype;
|
|
30024
30024
|
|
|
30025
30025
|
/** Used to check objects for own properties. */
|
|
30026
|
-
var hasOwnProperty$
|
|
30026
|
+
var hasOwnProperty$8 = objectProto$9.hasOwnProperty;
|
|
30027
30027
|
|
|
30028
30028
|
/**
|
|
30029
30029
|
* Assigns own enumerable string keyed properties of source objects to the
|
|
@@ -30063,7 +30063,7 @@ var assign = createAssigner(function(object, source) {
|
|
|
30063
30063
|
return;
|
|
30064
30064
|
}
|
|
30065
30065
|
for (var key in source) {
|
|
30066
|
-
if (hasOwnProperty$
|
|
30066
|
+
if (hasOwnProperty$8.call(source, key)) {
|
|
30067
30067
|
assignValue(object, key, source[key]);
|
|
30068
30068
|
}
|
|
30069
30069
|
}
|
|
@@ -30089,10 +30089,10 @@ function nativeKeysIn(object) {
|
|
|
30089
30089
|
}
|
|
30090
30090
|
|
|
30091
30091
|
/** Used for built-in method references. */
|
|
30092
|
-
var objectProto$
|
|
30092
|
+
var objectProto$8 = Object.prototype;
|
|
30093
30093
|
|
|
30094
30094
|
/** Used to check objects for own properties. */
|
|
30095
|
-
var hasOwnProperty$
|
|
30095
|
+
var hasOwnProperty$7 = objectProto$8.hasOwnProperty;
|
|
30096
30096
|
|
|
30097
30097
|
/**
|
|
30098
30098
|
* The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
|
|
@@ -30109,7 +30109,7 @@ function baseKeysIn(object) {
|
|
|
30109
30109
|
result = [];
|
|
30110
30110
|
|
|
30111
30111
|
for (var key in object) {
|
|
30112
|
-
if (!(key == 'constructor' && (isProto || !hasOwnProperty$
|
|
30112
|
+
if (!(key == 'constructor' && (isProto || !hasOwnProperty$7.call(object, key)))) {
|
|
30113
30113
|
result.push(key);
|
|
30114
30114
|
}
|
|
30115
30115
|
}
|
|
@@ -30203,10 +30203,10 @@ function hashDelete(key) {
|
|
|
30203
30203
|
var HASH_UNDEFINED$2 = '__lodash_hash_undefined__';
|
|
30204
30204
|
|
|
30205
30205
|
/** Used for built-in method references. */
|
|
30206
|
-
var objectProto$
|
|
30206
|
+
var objectProto$7 = Object.prototype;
|
|
30207
30207
|
|
|
30208
30208
|
/** Used to check objects for own properties. */
|
|
30209
|
-
var hasOwnProperty$
|
|
30209
|
+
var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
|
|
30210
30210
|
|
|
30211
30211
|
/**
|
|
30212
30212
|
* Gets the hash value for `key`.
|
|
@@ -30223,14 +30223,14 @@ function hashGet(key) {
|
|
|
30223
30223
|
var result = data[key];
|
|
30224
30224
|
return result === HASH_UNDEFINED$2 ? undefined : result;
|
|
30225
30225
|
}
|
|
30226
|
-
return hasOwnProperty$
|
|
30226
|
+
return hasOwnProperty$6.call(data, key) ? data[key] : undefined;
|
|
30227
30227
|
}
|
|
30228
30228
|
|
|
30229
30229
|
/** Used for built-in method references. */
|
|
30230
|
-
var objectProto$
|
|
30230
|
+
var objectProto$6 = Object.prototype;
|
|
30231
30231
|
|
|
30232
30232
|
/** Used to check objects for own properties. */
|
|
30233
|
-
var hasOwnProperty$
|
|
30233
|
+
var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
|
|
30234
30234
|
|
|
30235
30235
|
/**
|
|
30236
30236
|
* Checks if a hash value for `key` exists.
|
|
@@ -30243,7 +30243,7 @@ var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
|
|
|
30243
30243
|
*/
|
|
30244
30244
|
function hashHas(key) {
|
|
30245
30245
|
var data = this.__data__;
|
|
30246
|
-
return nativeCreate ? (data[key] !== undefined) : hasOwnProperty$
|
|
30246
|
+
return nativeCreate ? (data[key] !== undefined) : hasOwnProperty$5.call(data, key);
|
|
30247
30247
|
}
|
|
30248
30248
|
|
|
30249
30249
|
/** Used to stand-in for `undefined` hash values. */
|
|
@@ -30888,13 +30888,13 @@ var objectTag$3 = '[object Object]';
|
|
|
30888
30888
|
|
|
30889
30889
|
/** Used for built-in method references. */
|
|
30890
30890
|
var funcProto = Function.prototype,
|
|
30891
|
-
objectProto$
|
|
30891
|
+
objectProto$5 = Object.prototype;
|
|
30892
30892
|
|
|
30893
30893
|
/** Used to resolve the decompiled source of functions. */
|
|
30894
30894
|
var funcToString = funcProto.toString;
|
|
30895
30895
|
|
|
30896
30896
|
/** Used to check objects for own properties. */
|
|
30897
|
-
var hasOwnProperty$
|
|
30897
|
+
var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
|
|
30898
30898
|
|
|
30899
30899
|
/** Used to infer the `Object` constructor. */
|
|
30900
30900
|
var objectCtorString = funcToString.call(Object);
|
|
@@ -30935,7 +30935,7 @@ function isPlainObject(value) {
|
|
|
30935
30935
|
if (proto === null) {
|
|
30936
30936
|
return true;
|
|
30937
30937
|
}
|
|
30938
|
-
var Ctor = hasOwnProperty$
|
|
30938
|
+
var Ctor = hasOwnProperty$4.call(proto, 'constructor') && proto.constructor;
|
|
30939
30939
|
return typeof Ctor == 'function' && Ctor instanceof Ctor &&
|
|
30940
30940
|
funcToString.call(Ctor) == objectCtorString;
|
|
30941
30941
|
}
|
|
@@ -31740,10 +31740,10 @@ function stubArray() {
|
|
|
31740
31740
|
}
|
|
31741
31741
|
|
|
31742
31742
|
/** Used for built-in method references. */
|
|
31743
|
-
var objectProto$
|
|
31743
|
+
var objectProto$4 = Object.prototype;
|
|
31744
31744
|
|
|
31745
31745
|
/** Built-in value references. */
|
|
31746
|
-
var propertyIsEnumerable = objectProto$
|
|
31746
|
+
var propertyIsEnumerable = objectProto$4.propertyIsEnumerable;
|
|
31747
31747
|
|
|
31748
31748
|
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
31749
31749
|
var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
|
|
@@ -31906,10 +31906,10 @@ if ((DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$3)
|
|
|
31906
31906
|
}
|
|
31907
31907
|
|
|
31908
31908
|
/** Used for built-in method references. */
|
|
31909
|
-
var objectProto$
|
|
31909
|
+
var objectProto$3 = Object.prototype;
|
|
31910
31910
|
|
|
31911
31911
|
/** Used to check objects for own properties. */
|
|
31912
|
-
var hasOwnProperty$
|
|
31912
|
+
var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
|
|
31913
31913
|
|
|
31914
31914
|
/**
|
|
31915
31915
|
* Initializes an array clone.
|
|
@@ -31923,7 +31923,7 @@ function initCloneArray(array) {
|
|
|
31923
31923
|
result = new array.constructor(length);
|
|
31924
31924
|
|
|
31925
31925
|
// Add properties assigned by `RegExp#exec`.
|
|
31926
|
-
if (length && typeof array[0] == 'string' && hasOwnProperty$
|
|
31926
|
+
if (length && typeof array[0] == 'string' && hasOwnProperty$3.call(array, 'index')) {
|
|
31927
31927
|
result.index = array.index;
|
|
31928
31928
|
result.input = array.input;
|
|
31929
31929
|
}
|
|
@@ -32384,7 +32384,7 @@ function setCacheAdd(value) {
|
|
|
32384
32384
|
* @name has
|
|
32385
32385
|
* @memberOf SetCache
|
|
32386
32386
|
* @param {*} value The value to search for.
|
|
32387
|
-
* @returns {
|
|
32387
|
+
* @returns {number} Returns `true` if `value` is found, else `false`.
|
|
32388
32388
|
*/
|
|
32389
32389
|
function setCacheHas(value) {
|
|
32390
32390
|
return this.__data__.has(value);
|
|
@@ -32667,10 +32667,10 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
|
|
|
32667
32667
|
var COMPARE_PARTIAL_FLAG$3 = 1;
|
|
32668
32668
|
|
|
32669
32669
|
/** Used for built-in method references. */
|
|
32670
|
-
var objectProto$
|
|
32670
|
+
var objectProto$2 = Object.prototype;
|
|
32671
32671
|
|
|
32672
32672
|
/** Used to check objects for own properties. */
|
|
32673
|
-
var hasOwnProperty$
|
|
32673
|
+
var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
|
|
32674
32674
|
|
|
32675
32675
|
/**
|
|
32676
32676
|
* A specialized version of `baseIsEqualDeep` for objects with support for
|
|
@@ -32698,7 +32698,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
|
|
|
32698
32698
|
var index = objLength;
|
|
32699
32699
|
while (index--) {
|
|
32700
32700
|
var key = objProps[index];
|
|
32701
|
-
if (!(isPartial ? key in other : hasOwnProperty$
|
|
32701
|
+
if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) {
|
|
32702
32702
|
return false;
|
|
32703
32703
|
}
|
|
32704
32704
|
}
|
|
@@ -32759,10 +32759,10 @@ var argsTag = '[object Arguments]',
|
|
|
32759
32759
|
objectTag = '[object Object]';
|
|
32760
32760
|
|
|
32761
32761
|
/** Used for built-in method references. */
|
|
32762
|
-
var objectProto$
|
|
32762
|
+
var objectProto$1 = Object.prototype;
|
|
32763
32763
|
|
|
32764
32764
|
/** Used to check objects for own properties. */
|
|
32765
|
-
var hasOwnProperty$
|
|
32765
|
+
var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
|
|
32766
32766
|
|
|
32767
32767
|
/**
|
|
32768
32768
|
* A specialized version of `baseIsEqual` for arrays and objects which performs
|
|
@@ -32805,8 +32805,8 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
|
|
|
32805
32805
|
: equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
|
|
32806
32806
|
}
|
|
32807
32807
|
if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
|
|
32808
|
-
var objIsWrapped = objIsObj && hasOwnProperty$
|
|
32809
|
-
othIsWrapped = othIsObj && hasOwnProperty$
|
|
32808
|
+
var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, '__wrapped__'),
|
|
32809
|
+
othIsWrapped = othIsObj && hasOwnProperty$1.call(other, '__wrapped__');
|
|
32810
32810
|
|
|
32811
32811
|
if (objIsWrapped || othIsWrapped) {
|
|
32812
32812
|
var objUnwrapped = objIsWrapped ? object.value() : object,
|
|
@@ -34349,10 +34349,10 @@ var mapTag = '[object Map]',
|
|
|
34349
34349
|
setTag = '[object Set]';
|
|
34350
34350
|
|
|
34351
34351
|
/** Used for built-in method references. */
|
|
34352
|
-
var objectProto
|
|
34352
|
+
var objectProto = Object.prototype;
|
|
34353
34353
|
|
|
34354
34354
|
/** Used to check objects for own properties. */
|
|
34355
|
-
var hasOwnProperty
|
|
34355
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
34356
34356
|
|
|
34357
34357
|
/**
|
|
34358
34358
|
* Checks if `value` is an empty object, collection, map, or set.
|
|
@@ -34404,7 +34404,7 @@ function isEmpty(value) {
|
|
|
34404
34404
|
return !baseKeys(value).length;
|
|
34405
34405
|
}
|
|
34406
34406
|
for (var key in value) {
|
|
34407
|
-
if (hasOwnProperty
|
|
34407
|
+
if (hasOwnProperty.call(value, key)) {
|
|
34408
34408
|
return false;
|
|
34409
34409
|
}
|
|
34410
34410
|
}
|
|
@@ -34628,12 +34628,6 @@ var merge$1 = createAssigner(function(object, source, srcIndex) {
|
|
|
34628
34628
|
baseMerge(object, source, srcIndex);
|
|
34629
34629
|
});
|
|
34630
34630
|
|
|
34631
|
-
/** Used for built-in method references. */
|
|
34632
|
-
var objectProto = Object.prototype;
|
|
34633
|
-
|
|
34634
|
-
/** Used to check objects for own properties. */
|
|
34635
|
-
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
34636
|
-
|
|
34637
34631
|
/**
|
|
34638
34632
|
* The base implementation of `_.unset`.
|
|
34639
34633
|
*
|
|
@@ -34644,34 +34638,8 @@ var hasOwnProperty = objectProto.hasOwnProperty;
|
|
|
34644
34638
|
*/
|
|
34645
34639
|
function baseUnset(object, path) {
|
|
34646
34640
|
path = castPath(path, object);
|
|
34647
|
-
|
|
34648
|
-
|
|
34649
|
-
// https://github.com/lodash/lodash/security/advisories/GHSA-xxjr-mmjv-4gpg
|
|
34650
|
-
// https://github.com/lodash/lodash/security/advisories/GHSA-f23m-r3pf-42rh
|
|
34651
|
-
var index = -1,
|
|
34652
|
-
length = path.length;
|
|
34653
|
-
|
|
34654
|
-
if (!length) {
|
|
34655
|
-
return true;
|
|
34656
|
-
}
|
|
34657
|
-
|
|
34658
|
-
while (++index < length) {
|
|
34659
|
-
var key = toKey(path[index]);
|
|
34660
|
-
|
|
34661
|
-
// Always block "__proto__" anywhere in the path if it's not expected
|
|
34662
|
-
if (key === '__proto__' && !hasOwnProperty.call(object, '__proto__')) {
|
|
34663
|
-
return false;
|
|
34664
|
-
}
|
|
34665
|
-
|
|
34666
|
-
// Block constructor/prototype as non-terminal traversal keys to prevent
|
|
34667
|
-
// escaping the object graph into built-in constructors and prototypes.
|
|
34668
|
-
if ((key === 'constructor' || key === 'prototype') && index < length - 1) {
|
|
34669
|
-
return false;
|
|
34670
|
-
}
|
|
34671
|
-
}
|
|
34672
|
-
|
|
34673
|
-
var obj = parent$1(object, path);
|
|
34674
|
-
return obj == null || delete obj[toKey(last$1(path))];
|
|
34641
|
+
object = parent$1(object, path);
|
|
34642
|
+
return object == null || delete object[toKey(last$1(path))];
|
|
34675
34643
|
}
|
|
34676
34644
|
|
|
34677
34645
|
/**
|
|
@@ -34848,7 +34816,7 @@ function baseOrderBy(collection, iteratees, orders) {
|
|
|
34848
34816
|
if (isArray(iteratee)) {
|
|
34849
34817
|
return function(value) {
|
|
34850
34818
|
return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
|
|
34851
|
-
}
|
|
34819
|
+
}
|
|
34852
34820
|
}
|
|
34853
34821
|
return iteratee;
|
|
34854
34822
|
});
|
|
@@ -37843,14 +37811,14 @@ function requireDom () {
|
|
|
37843
37811
|
ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2);
|
|
37844
37812
|
var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3);
|
|
37845
37813
|
ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4);
|
|
37846
|
-
ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
|
|
37814
|
+
var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
|
|
37847
37815
|
ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6);
|
|
37848
37816
|
ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7);
|
|
37849
37817
|
var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8);
|
|
37850
37818
|
ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]="Not supported"),9);
|
|
37851
37819
|
var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]="Attribute in use"),10);
|
|
37852
37820
|
//level2
|
|
37853
|
-
ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11);
|
|
37821
|
+
var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11);
|
|
37854
37822
|
ExceptionCode.SYNTAX_ERR = ((ExceptionMessage[12]="Syntax error"),12);
|
|
37855
37823
|
ExceptionCode.INVALID_MODIFICATION_ERR = ((ExceptionMessage[13]="Invalid modification"),13);
|
|
37856
37824
|
ExceptionCode.NAMESPACE_ERR = ((ExceptionMessage[14]="Invalid namespace"),14);
|
|
@@ -37900,9 +37868,10 @@ function requireDom () {
|
|
|
37900
37868
|
item: function(index) {
|
|
37901
37869
|
return index >= 0 && index < this.length ? this[index] : null;
|
|
37902
37870
|
},
|
|
37903
|
-
toString:function(isHTML,nodeFilter){
|
|
37871
|
+
toString:function(isHTML,nodeFilter,options){
|
|
37872
|
+
var requireWellFormed = !!options && !!options.requireWellFormed;
|
|
37904
37873
|
for(var buf = [], i = 0;i<this.length;i++){
|
|
37905
|
-
serializeToString(this[i],buf,isHTML,nodeFilter);
|
|
37874
|
+
serializeToString(this[i],buf,isHTML,nodeFilter,null,requireWellFormed);
|
|
37906
37875
|
}
|
|
37907
37876
|
return buf.join('');
|
|
37908
37877
|
},
|
|
@@ -38147,13 +38116,28 @@ function requireDom () {
|
|
|
38147
38116
|
/**
|
|
38148
38117
|
* Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.
|
|
38149
38118
|
*
|
|
38150
|
-
* __This
|
|
38119
|
+
* __This implementation differs from the specification:__
|
|
38151
38120
|
* - this implementation is not validating names or qualified names
|
|
38152
38121
|
* (when parsing XML strings, the SAX parser takes care of that)
|
|
38153
38122
|
*
|
|
38123
|
+
* Note: `internalSubset` can only be introduced via a direct property write to `node.internalSubset` after creation.
|
|
38124
|
+
* Creation-time validation of `publicId`, `systemId` is not enforced.
|
|
38125
|
+
* The serializer-level check covers all mutation vectors, including direct property writes.
|
|
38126
|
+
* `internalSubset` is only serialized as `[ ... ]` when both `publicId` and `systemId` are
|
|
38127
|
+
* absent (empty or `'.'`) — if either external identifier is present, `internalSubset` is
|
|
38128
|
+
* silently omitted from the serialized output.
|
|
38129
|
+
*
|
|
38154
38130
|
* @param {string} qualifiedName
|
|
38155
38131
|
* @param {string} [publicId]
|
|
38132
|
+
* The external subset public identifier. Stored verbatim including surrounding quotes.
|
|
38133
|
+
* When serialized with `requireWellFormed: true` (via the 4th-parameter options object),
|
|
38134
|
+
* throws `DOMException` with code `INVALID_STATE_ERR` if the value is non-empty and does
|
|
38135
|
+
* not match the XML `PubidLiteral` production (W3C DOM Parsing §3.2.1.3; XML 1.0 [12]).
|
|
38156
38136
|
* @param {string} [systemId]
|
|
38137
|
+
* The external subset system identifier. Stored verbatim including surrounding quotes.
|
|
38138
|
+
* When serialized with `requireWellFormed: true`, throws `DOMException` with code
|
|
38139
|
+
* `INVALID_STATE_ERR` if the value is non-empty and does not match the XML `SystemLiteral`
|
|
38140
|
+
* production (W3C DOM Parsing §3.2.1.3; XML 1.0 [11]).
|
|
38157
38141
|
* @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation
|
|
38158
38142
|
* or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`
|
|
38159
38143
|
*
|
|
@@ -38219,18 +38203,44 @@ function requireDom () {
|
|
|
38219
38203
|
return cloneNode(this.ownerDocument||this,this,deep);
|
|
38220
38204
|
},
|
|
38221
38205
|
// Modified in DOM Level 2:
|
|
38222
|
-
|
|
38223
|
-
|
|
38224
|
-
|
|
38225
|
-
|
|
38226
|
-
|
|
38227
|
-
|
|
38228
|
-
|
|
38229
|
-
|
|
38230
|
-
|
|
38231
|
-
|
|
38232
|
-
|
|
38233
|
-
|
|
38206
|
+
/**
|
|
38207
|
+
* Puts the specified node and all of its subtree into a "normalized" form. In a normalized
|
|
38208
|
+
* subtree, no text nodes in the subtree are empty and there are no adjacent text nodes.
|
|
38209
|
+
*
|
|
38210
|
+
* Specifically, this method merges any adjacent text nodes (i.e., nodes for which `nodeType`
|
|
38211
|
+
* is `TEXT_NODE`) into a single node with the combined data. It also removes any empty text
|
|
38212
|
+
* nodes.
|
|
38213
|
+
*
|
|
38214
|
+
* This method iteratively traverses all child nodes to normalize all descendant nodes within
|
|
38215
|
+
* the subtree.
|
|
38216
|
+
*
|
|
38217
|
+
* @throws {DOMException}
|
|
38218
|
+
* May throw a DOMException if operations within removeChild or appendData (which are
|
|
38219
|
+
* potentially invoked in this method) do not meet their specific constraints.
|
|
38220
|
+
* @see {@link Node.removeChild}
|
|
38221
|
+
* @see {@link CharacterData.appendData}
|
|
38222
|
+
* @see ../docs/walk-dom.md.
|
|
38223
|
+
*/
|
|
38224
|
+
normalize: function () {
|
|
38225
|
+
walkDOM(this, null, {
|
|
38226
|
+
enter: function (node) {
|
|
38227
|
+
// Merge adjacent text children of node before walkDOM schedules them.
|
|
38228
|
+
// walkDOM reads lastChild/previousSibling after enter returns, so the
|
|
38229
|
+
// surviving post-merge children are what it descends into.
|
|
38230
|
+
var child = node.firstChild;
|
|
38231
|
+
while (child) {
|
|
38232
|
+
var next = child.nextSibling;
|
|
38233
|
+
if (next !== null && next.nodeType === TEXT_NODE && child.nodeType === TEXT_NODE) {
|
|
38234
|
+
node.removeChild(next);
|
|
38235
|
+
child.appendData(next.data);
|
|
38236
|
+
// Do not advance child: re-check new nextSibling for another text run
|
|
38237
|
+
} else {
|
|
38238
|
+
child = next;
|
|
38239
|
+
}
|
|
38240
|
+
}
|
|
38241
|
+
return true; // descend into surviving children
|
|
38242
|
+
},
|
|
38243
|
+
});
|
|
38234
38244
|
},
|
|
38235
38245
|
// Introduced in DOM Level 2:
|
|
38236
38246
|
isSupported:function(feature, version){
|
|
@@ -38306,21 +38316,103 @@ function requireDom () {
|
|
|
38306
38316
|
copy(NodeType,Node.prototype);
|
|
38307
38317
|
|
|
38308
38318
|
/**
|
|
38309
|
-
* @param
|
|
38310
|
-
*
|
|
38319
|
+
* @param {Node} node
|
|
38320
|
+
* Root of the subtree to visit.
|
|
38321
|
+
* @param {function(Node): boolean} callback
|
|
38322
|
+
* Called for each node in depth-first pre-order. Return a truthy value to stop traversal early.
|
|
38323
|
+
* @return {boolean} `true` if traversal was aborted by the callback, `false` otherwise.
|
|
38311
38324
|
*/
|
|
38312
|
-
function _visitNode(node,callback){
|
|
38313
|
-
|
|
38314
|
-
return true;
|
|
38315
|
-
}
|
|
38316
|
-
if(node = node.firstChild){
|
|
38317
|
-
do{
|
|
38318
|
-
if(_visitNode(node,callback)){return true}
|
|
38319
|
-
}while(node=node.nextSibling)
|
|
38320
|
-
}
|
|
38325
|
+
function _visitNode(node, callback) {
|
|
38326
|
+
return walkDOM(node, null, { enter: function (n) { return callback(n) ? walkDOM.STOP : true; } }) === walkDOM.STOP;
|
|
38321
38327
|
}
|
|
38322
38328
|
|
|
38329
|
+
/**
|
|
38330
|
+
* Depth-first pre/post-order DOM tree walker.
|
|
38331
|
+
*
|
|
38332
|
+
* Visits every node in the subtree rooted at `node`. For each node:
|
|
38333
|
+
*
|
|
38334
|
+
* 1. Calls `callbacks.enter(node, context)` before descending into the node's children. The
|
|
38335
|
+
* return value becomes the `context` passed to each child's `enter` call and to the matching
|
|
38336
|
+
* `exit` call.
|
|
38337
|
+
* 2. If `enter` returns `null` or `undefined`, the node's children are skipped;
|
|
38338
|
+
* sibling traversal continues normally.
|
|
38339
|
+
* 3. If `enter` returns `walkDOM.STOP`, the entire traversal is aborted immediately — no
|
|
38340
|
+
* further `enter` or `exit` calls are made.
|
|
38341
|
+
* 4. `lastChild` and `previousSibling` are read **after** `enter` returns, so `enter` may
|
|
38342
|
+
* safely modify the node's own child list before the walker descends. Modifying siblings of
|
|
38343
|
+
* the current node or any other part of the tree produces unpredictable results: nodes already
|
|
38344
|
+
* queued on the stack are visited regardless of DOM changes, and newly inserted nodes outside
|
|
38345
|
+
* the current child list are never visited.
|
|
38346
|
+
* 5. Calls `callbacks.exit(node, context)` (if provided) after all of a node's children have
|
|
38347
|
+
* been visited, passing the same `context` that `enter`
|
|
38348
|
+
* returned for that node.
|
|
38349
|
+
*
|
|
38350
|
+
* This implementation uses an explicit stack and does not recurse — it is safe on arbitrarily
|
|
38351
|
+
* deep trees.
|
|
38352
|
+
*
|
|
38353
|
+
* @param {Node} node
|
|
38354
|
+
* Root of the subtree to walk.
|
|
38355
|
+
* @param {*} context
|
|
38356
|
+
* Initial context value passed to the root node's `enter`.
|
|
38357
|
+
* @param {{ enter: function(Node, *): *, exit?: function(Node, *): void }} callbacks
|
|
38358
|
+
* @returns {void | walkDOM.STOP}
|
|
38359
|
+
* @see ../docs/walk-dom.md.
|
|
38360
|
+
*/
|
|
38361
|
+
function walkDOM(node, context, callbacks) {
|
|
38362
|
+
// Each stack frame is {node, context, phase}:
|
|
38363
|
+
// walkDOM.ENTER — call enter, then push children
|
|
38364
|
+
// walkDOM.EXIT — call exit
|
|
38365
|
+
var stack = [{ node: node, context: context, phase: walkDOM.ENTER }];
|
|
38366
|
+
while (stack.length > 0) {
|
|
38367
|
+
var frame = stack.pop();
|
|
38368
|
+
if (frame.phase === walkDOM.ENTER) {
|
|
38369
|
+
var childContext = callbacks.enter(frame.node, frame.context);
|
|
38370
|
+
if (childContext === walkDOM.STOP) {
|
|
38371
|
+
return walkDOM.STOP;
|
|
38372
|
+
}
|
|
38373
|
+
// Push exit frame before children so it fires after all children are processed (Last In First Out)
|
|
38374
|
+
stack.push({ node: frame.node, context: childContext, phase: walkDOM.EXIT });
|
|
38375
|
+
if (childContext === null || childContext === undefined) {
|
|
38376
|
+
continue; // skip children
|
|
38377
|
+
}
|
|
38378
|
+
// lastChild is read after enter returns, so enter may modify the child list.
|
|
38379
|
+
var child = frame.node.lastChild;
|
|
38380
|
+
// Traverse from lastChild backwards so that pushing onto the stack
|
|
38381
|
+
// naturally yields firstChild on top (processed first).
|
|
38382
|
+
while (child) {
|
|
38383
|
+
stack.push({ node: child, context: childContext, phase: walkDOM.ENTER });
|
|
38384
|
+
child = child.previousSibling;
|
|
38385
|
+
}
|
|
38386
|
+
} else {
|
|
38387
|
+
// frame.phase === walkDOM.EXIT
|
|
38388
|
+
if (callbacks.exit) {
|
|
38389
|
+
callbacks.exit(frame.node, frame.context);
|
|
38390
|
+
}
|
|
38391
|
+
}
|
|
38392
|
+
}
|
|
38393
|
+
}
|
|
38323
38394
|
|
|
38395
|
+
/**
|
|
38396
|
+
* Sentinel value returned from a `walkDOM` `enter` callback to abort the entire traversal
|
|
38397
|
+
* immediately.
|
|
38398
|
+
*
|
|
38399
|
+
* @type {symbol}
|
|
38400
|
+
*/
|
|
38401
|
+
walkDOM.STOP = Symbol('walkDOM.STOP');
|
|
38402
|
+
/**
|
|
38403
|
+
* Phase constant for a stack frame that has not yet been visited.
|
|
38404
|
+
* The `enter` callback is called and children are scheduled.
|
|
38405
|
+
*
|
|
38406
|
+
* @type {number}
|
|
38407
|
+
*/
|
|
38408
|
+
walkDOM.ENTER = 0;
|
|
38409
|
+
/**
|
|
38410
|
+
* Phase constant for a stack frame whose subtree has been fully visited.
|
|
38411
|
+
* The `exit` callback is called.
|
|
38412
|
+
*
|
|
38413
|
+
* @type {number}
|
|
38414
|
+
*/
|
|
38415
|
+
walkDOM.EXIT = 1;
|
|
38324
38416
|
|
|
38325
38417
|
function Document(){
|
|
38326
38418
|
this.ownerDocument = this;
|
|
@@ -38924,12 +39016,44 @@ function requireDom () {
|
|
|
38924
39016
|
node.appendData(data);
|
|
38925
39017
|
return node;
|
|
38926
39018
|
},
|
|
39019
|
+
/**
|
|
39020
|
+
* Returns a new CDATASection node whose data is `data`.
|
|
39021
|
+
*
|
|
39022
|
+
* __This implementation differs from the specification:__
|
|
39023
|
+
* - calling this method on an HTML document does not throw `NotSupportedError`.
|
|
39024
|
+
*
|
|
39025
|
+
* @param {string} data
|
|
39026
|
+
* @returns {CDATASection}
|
|
39027
|
+
* @throws DOMException with code `INVALID_CHARACTER_ERR` if `data` contains `"]]>"`.
|
|
39028
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Document/createCDATASection
|
|
39029
|
+
* @see https://dom.spec.whatwg.org/#dom-document-createcdatasection
|
|
39030
|
+
*/
|
|
38927
39031
|
createCDATASection : function(data){
|
|
39032
|
+
if (data.indexOf(']]>') !== -1) {
|
|
39033
|
+
throw new DOMException(INVALID_CHARACTER_ERR, 'data contains "]]>"');
|
|
39034
|
+
}
|
|
38928
39035
|
var node = new CDATASection();
|
|
38929
39036
|
node.ownerDocument = this;
|
|
38930
39037
|
node.appendData(data);
|
|
38931
39038
|
return node;
|
|
38932
39039
|
},
|
|
39040
|
+
/**
|
|
39041
|
+
* Returns a ProcessingInstruction node whose target is target and data is data.
|
|
39042
|
+
*
|
|
39043
|
+
* __This implementation differs from the specification:__
|
|
39044
|
+
* - it does not do any input validation on the arguments and doesn't throw "InvalidCharacterError".
|
|
39045
|
+
*
|
|
39046
|
+
* Note: When the resulting document is serialized with `requireWellFormed: true`, the
|
|
39047
|
+
* serializer throws with code `INVALID_STATE_ERR` if `.data` contains `?>` (W3C DOM Parsing
|
|
39048
|
+
* §3.2.1.7). Without that option the data is emitted verbatim.
|
|
39049
|
+
*
|
|
39050
|
+
* @param {string} target
|
|
39051
|
+
* @param {string} data
|
|
39052
|
+
* @returns {ProcessingInstruction}
|
|
39053
|
+
* @see https://developer.mozilla.org/docs/Web/API/Document/createProcessingInstruction
|
|
39054
|
+
* @see https://dom.spec.whatwg.org/#dom-document-createprocessinginstruction
|
|
39055
|
+
* @see https://www.w3.org/TR/DOM-Parsing/#dfn-concept-serialize-xml §3.2.1.7
|
|
39056
|
+
*/
|
|
38933
39057
|
createProcessingInstruction : function(target,data){
|
|
38934
39058
|
var node = new ProcessingInstruction();
|
|
38935
39059
|
node.ownerDocument = this;
|
|
@@ -39155,6 +39279,19 @@ function requireDom () {
|
|
|
39155
39279
|
_extends(CDATASection,CharacterData);
|
|
39156
39280
|
|
|
39157
39281
|
|
|
39282
|
+
/**
|
|
39283
|
+
* Represents a DocumentType node (the `<!DOCTYPE ...>` declaration).
|
|
39284
|
+
*
|
|
39285
|
+
* `publicId`, `systemId`, and `internalSubset` are plain own-property assignments.
|
|
39286
|
+
* xmldom does not enforce the `readonly` constraint declared by the WHATWG DOM spec —
|
|
39287
|
+
* direct property writes succeed silently. Values are serialized verbatim when
|
|
39288
|
+
* `requireWellFormed` is false (the default). When the serializer is invoked with
|
|
39289
|
+
* `requireWellFormed: true` (via the 4th-parameter options object), it validates each
|
|
39290
|
+
* field and throws `DOMException` with code `INVALID_STATE_ERR` on invalid values.
|
|
39291
|
+
*
|
|
39292
|
+
* @class
|
|
39293
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/DocumentType MDN
|
|
39294
|
+
*/
|
|
39158
39295
|
function DocumentType() {
|
|
39159
39296
|
} DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;
|
|
39160
39297
|
_extends(DocumentType,Node);
|
|
@@ -39182,11 +39319,48 @@ function requireDom () {
|
|
|
39182
39319
|
ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
|
|
39183
39320
|
_extends(ProcessingInstruction,Node);
|
|
39184
39321
|
function XMLSerializer(){}
|
|
39185
|
-
|
|
39186
|
-
|
|
39322
|
+
/**
|
|
39323
|
+
* Returns the result of serializing `node` to XML.
|
|
39324
|
+
*
|
|
39325
|
+
* When `options.requireWellFormed` is `true`, the serializer throws for content that would
|
|
39326
|
+
* produce ill-formed XML.
|
|
39327
|
+
*
|
|
39328
|
+
* __This implementation differs from the specification:__
|
|
39329
|
+
* - CDATASection nodes whose data contains `]]>` are serialized by splitting the section
|
|
39330
|
+
* at each `]]>` occurrence (following W3C DOM Level 3 Core `split-cdata-sections`
|
|
39331
|
+
* default behaviour) unless `requireWellFormed` is `true`.
|
|
39332
|
+
* - when `requireWellFormed` is `true`, `DOMException` with code `INVALID_STATE_ERR`
|
|
39333
|
+
* is only thrown to prevent injection vectors, not for all the spec mandated checks.
|
|
39334
|
+
*
|
|
39335
|
+
* @param {Node} node
|
|
39336
|
+
* @param {boolean} [isHtml]
|
|
39337
|
+
* @param {function} [nodeFilter]
|
|
39338
|
+
* @param {Object} [options]
|
|
39339
|
+
* @param {boolean} [options.requireWellFormed=false]
|
|
39340
|
+
* When `true`, throws for content that would produce ill-formed XML.
|
|
39341
|
+
* @returns {string}
|
|
39342
|
+
* @throws {DOMException}
|
|
39343
|
+
* With code `INVALID_STATE_ERR` when `requireWellFormed` is `true` and:
|
|
39344
|
+
* - a CDATASection node's data contains `"]]>"`,
|
|
39345
|
+
* - a Comment node's data contains `"-->"` (bare `"--"` does not throw on this branch),
|
|
39346
|
+
* - a ProcessingInstruction's data contains `"?>"`,
|
|
39347
|
+
* - a DocumentType's `publicId` is non-empty and does not match the XML `PubidLiteral`
|
|
39348
|
+
* production,
|
|
39349
|
+
* - a DocumentType's `systemId` is non-empty and does not match the XML `SystemLiteral`
|
|
39350
|
+
* production, or
|
|
39351
|
+
* - a DocumentType's `internalSubset` contains `"]>"`.
|
|
39352
|
+
* Note: xmldom does not enforce `readonly` on DocumentType fields — direct property
|
|
39353
|
+
* writes succeed and are covered by the serializer-level checks above.
|
|
39354
|
+
* @see https://html.spec.whatwg.org/#dom-xmlserializer-serializetostring
|
|
39355
|
+
* @see https://w3c.github.io/DOM-Parsing/#xml-serialization
|
|
39356
|
+
* @see https://github.com/w3c/DOM-Parsing/issues/84
|
|
39357
|
+
*/
|
|
39358
|
+
XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter,options){
|
|
39359
|
+
return nodeSerializeToString.call(node,isHtml,nodeFilter,options);
|
|
39187
39360
|
};
|
|
39188
39361
|
Node.prototype.toString = nodeSerializeToString;
|
|
39189
|
-
function nodeSerializeToString(isHtml,nodeFilter){
|
|
39362
|
+
function nodeSerializeToString(isHtml,nodeFilter,options){
|
|
39363
|
+
var requireWellFormed = !!options && !!options.requireWellFormed;
|
|
39190
39364
|
var buf = [];
|
|
39191
39365
|
var refNode = this.nodeType == 9 && this.documentElement || this;
|
|
39192
39366
|
var prefix = refNode.prefix;
|
|
@@ -39203,7 +39377,7 @@ function requireDom () {
|
|
|
39203
39377
|
];
|
|
39204
39378
|
}
|
|
39205
39379
|
}
|
|
39206
|
-
serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);
|
|
39380
|
+
serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces,requireWellFormed);
|
|
39207
39381
|
//console.log('###',this.nodeType,uri,prefix,buf.join(''))
|
|
39208
39382
|
return buf.join('');
|
|
39209
39383
|
}
|
|
@@ -39252,271 +39426,323 @@ function requireDom () {
|
|
|
39252
39426
|
buf.push(' ', qualifiedName, '="', value.replace(/[<>&"\t\n\r]/g, _xmlEncoder), '"');
|
|
39253
39427
|
}
|
|
39254
39428
|
|
|
39255
|
-
function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){
|
|
39429
|
+
function serializeToString(node, buf, isHTML, nodeFilter, visibleNamespaces, requireWellFormed) {
|
|
39256
39430
|
if (!visibleNamespaces) {
|
|
39257
39431
|
visibleNamespaces = [];
|
|
39258
39432
|
}
|
|
39259
|
-
|
|
39260
|
-
|
|
39261
|
-
|
|
39262
|
-
|
|
39263
|
-
|
|
39264
|
-
|
|
39265
|
-
|
|
39266
|
-
|
|
39267
|
-
|
|
39268
|
-
|
|
39269
|
-
|
|
39270
|
-
//buf.sort.apply(attrs, attributeSorter);
|
|
39271
|
-
}
|
|
39272
|
-
|
|
39273
|
-
switch(node.nodeType){
|
|
39274
|
-
case ELEMENT_NODE:
|
|
39275
|
-
var attrs = node.attributes;
|
|
39276
|
-
var len = attrs.length;
|
|
39277
|
-
var child = node.firstChild;
|
|
39278
|
-
var nodeName = node.tagName;
|
|
39279
|
-
|
|
39280
|
-
isHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML;
|
|
39281
|
-
|
|
39282
|
-
var prefixedNodeName = nodeName;
|
|
39283
|
-
if (!isHTML && !node.prefix && node.namespaceURI) {
|
|
39284
|
-
var defaultNS;
|
|
39285
|
-
// lookup current default ns from `xmlns` attribute
|
|
39286
|
-
for (var ai = 0; ai < attrs.length; ai++) {
|
|
39287
|
-
if (attrs.item(ai).name === 'xmlns') {
|
|
39288
|
-
defaultNS = attrs.item(ai).value;
|
|
39289
|
-
break
|
|
39290
|
-
}
|
|
39291
|
-
}
|
|
39292
|
-
if (!defaultNS) {
|
|
39293
|
-
// lookup current default ns in visibleNamespaces
|
|
39294
|
-
for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {
|
|
39295
|
-
var namespace = visibleNamespaces[nsi];
|
|
39296
|
-
if (namespace.prefix === '' && namespace.namespace === node.namespaceURI) {
|
|
39297
|
-
defaultNS = namespace.namespace;
|
|
39298
|
-
break
|
|
39433
|
+
walkDOM(node, { ns: visibleNamespaces, isHTML: isHTML }, {
|
|
39434
|
+
enter: function (n, ctx) {
|
|
39435
|
+
var ns = ctx.ns;
|
|
39436
|
+
var html = ctx.isHTML;
|
|
39437
|
+
|
|
39438
|
+
if (nodeFilter) {
|
|
39439
|
+
n = nodeFilter(n);
|
|
39440
|
+
if (n) {
|
|
39441
|
+
if (typeof n == 'string') {
|
|
39442
|
+
buf.push(n);
|
|
39443
|
+
return null;
|
|
39299
39444
|
}
|
|
39445
|
+
} else {
|
|
39446
|
+
return null;
|
|
39300
39447
|
}
|
|
39301
39448
|
}
|
|
39302
|
-
|
|
39303
|
-
|
|
39304
|
-
|
|
39305
|
-
|
|
39306
|
-
|
|
39307
|
-
|
|
39449
|
+
|
|
39450
|
+
switch (n.nodeType) {
|
|
39451
|
+
case ELEMENT_NODE:
|
|
39452
|
+
var attrs = n.attributes;
|
|
39453
|
+
var len = attrs.length;
|
|
39454
|
+
var nodeName = n.tagName;
|
|
39455
|
+
|
|
39456
|
+
html = NAMESPACE.isHTML(n.namespaceURI) || html;
|
|
39457
|
+
|
|
39458
|
+
var prefixedNodeName = nodeName;
|
|
39459
|
+
if (!html && !n.prefix && n.namespaceURI) {
|
|
39460
|
+
var defaultNS;
|
|
39461
|
+
// lookup current default ns from `xmlns` attribute
|
|
39462
|
+
for (var ai = 0; ai < attrs.length; ai++) {
|
|
39463
|
+
if (attrs.item(ai).name === 'xmlns') {
|
|
39464
|
+
defaultNS = attrs.item(ai).value;
|
|
39465
|
+
break;
|
|
39466
|
+
}
|
|
39467
|
+
}
|
|
39468
|
+
if (!defaultNS) {
|
|
39469
|
+
// lookup current default ns in visibleNamespaces
|
|
39470
|
+
for (var nsi = ns.length - 1; nsi >= 0; nsi--) {
|
|
39471
|
+
var nsEntry = ns[nsi];
|
|
39472
|
+
if (nsEntry.prefix === '' && nsEntry.namespace === n.namespaceURI) {
|
|
39473
|
+
defaultNS = nsEntry.namespace;
|
|
39474
|
+
break;
|
|
39475
|
+
}
|
|
39476
|
+
}
|
|
39477
|
+
}
|
|
39478
|
+
if (defaultNS !== n.namespaceURI) {
|
|
39479
|
+
for (var nsi = ns.length - 1; nsi >= 0; nsi--) {
|
|
39480
|
+
var nsEntry = ns[nsi];
|
|
39481
|
+
if (nsEntry.namespace === n.namespaceURI) {
|
|
39482
|
+
if (nsEntry.prefix) {
|
|
39483
|
+
prefixedNodeName = nsEntry.prefix + ':' + nodeName;
|
|
39484
|
+
}
|
|
39485
|
+
break;
|
|
39486
|
+
}
|
|
39487
|
+
}
|
|
39308
39488
|
}
|
|
39309
|
-
break
|
|
39310
39489
|
}
|
|
39311
|
-
}
|
|
39312
|
-
}
|
|
39313
|
-
}
|
|
39314
39490
|
|
|
39315
|
-
|
|
39491
|
+
buf.push('<', prefixedNodeName);
|
|
39492
|
+
|
|
39493
|
+
// Build a fresh namespace snapshot for this element's children.
|
|
39494
|
+
// The slice prevents sibling elements from inheriting each other's declarations.
|
|
39495
|
+
var childNs = ns.slice();
|
|
39496
|
+
for (var i = 0; i < len; i++) {
|
|
39497
|
+
var attr = attrs.item(i);
|
|
39498
|
+
if (attr.prefix == 'xmlns') {
|
|
39499
|
+
childNs.push({ prefix: attr.localName, namespace: attr.value });
|
|
39500
|
+
} else if (attr.nodeName == 'xmlns') {
|
|
39501
|
+
childNs.push({ prefix: '', namespace: attr.value });
|
|
39502
|
+
}
|
|
39503
|
+
}
|
|
39316
39504
|
|
|
39317
|
-
|
|
39318
|
-
|
|
39319
|
-
|
|
39320
|
-
|
|
39321
|
-
|
|
39322
|
-
|
|
39323
|
-
|
|
39324
|
-
|
|
39325
|
-
|
|
39505
|
+
for (var i = 0; i < len; i++) {
|
|
39506
|
+
var attr = attrs.item(i);
|
|
39507
|
+
if (needNamespaceDefine(attr, html, childNs)) {
|
|
39508
|
+
var attrPrefix = attr.prefix || '';
|
|
39509
|
+
var uri = attr.namespaceURI;
|
|
39510
|
+
addSerializedAttribute(buf, attrPrefix ? 'xmlns:' + attrPrefix : 'xmlns', uri);
|
|
39511
|
+
childNs.push({ prefix: attrPrefix, namespace: uri });
|
|
39512
|
+
}
|
|
39513
|
+
// Apply nodeFilter and serialize the attribute.
|
|
39514
|
+
var filteredAttr = nodeFilter ? nodeFilter(attr) : attr;
|
|
39515
|
+
if (filteredAttr) {
|
|
39516
|
+
if (typeof filteredAttr === 'string') {
|
|
39517
|
+
buf.push(filteredAttr);
|
|
39518
|
+
} else {
|
|
39519
|
+
addSerializedAttribute(buf, filteredAttr.name, filteredAttr.value);
|
|
39520
|
+
}
|
|
39521
|
+
}
|
|
39522
|
+
}
|
|
39326
39523
|
|
|
39327
|
-
|
|
39328
|
-
|
|
39329
|
-
|
|
39330
|
-
|
|
39331
|
-
|
|
39332
|
-
|
|
39333
|
-
|
|
39334
|
-
}
|
|
39335
|
-
serializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);
|
|
39336
|
-
}
|
|
39524
|
+
// add namespace for current node
|
|
39525
|
+
if (nodeName === prefixedNodeName && needNamespaceDefine(n, html, childNs)) {
|
|
39526
|
+
var nodePrefix = n.prefix || '';
|
|
39527
|
+
var uri = n.namespaceURI;
|
|
39528
|
+
addSerializedAttribute(buf, nodePrefix ? 'xmlns:' + nodePrefix : 'xmlns', uri);
|
|
39529
|
+
childNs.push({ prefix: nodePrefix, namespace: uri });
|
|
39530
|
+
}
|
|
39337
39531
|
|
|
39338
|
-
|
|
39339
|
-
|
|
39340
|
-
|
|
39341
|
-
|
|
39342
|
-
|
|
39343
|
-
|
|
39344
|
-
|
|
39532
|
+
var child = n.firstChild;
|
|
39533
|
+
if (child || html && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)) {
|
|
39534
|
+
buf.push('>');
|
|
39535
|
+
if (html && /^script$/i.test(nodeName)) {
|
|
39536
|
+
// Inline serialization for <script> children; return null to skip walkDOM descent.
|
|
39537
|
+
while (child) {
|
|
39538
|
+
if (child.data) {
|
|
39539
|
+
buf.push(child.data);
|
|
39540
|
+
} else {
|
|
39541
|
+
serializeToString(child, buf, html, nodeFilter, childNs.slice(), requireWellFormed);
|
|
39542
|
+
}
|
|
39543
|
+
child = child.nextSibling;
|
|
39544
|
+
}
|
|
39545
|
+
buf.push('</', nodeName, '>');
|
|
39546
|
+
return null;
|
|
39547
|
+
}
|
|
39548
|
+
// Return child context; walkDOM descends and exit emits the closing tag.
|
|
39549
|
+
return { ns: childNs, isHTML: html, tag: prefixedNodeName };
|
|
39550
|
+
} else {
|
|
39551
|
+
buf.push('/>');
|
|
39552
|
+
return null;
|
|
39553
|
+
}
|
|
39345
39554
|
|
|
39346
|
-
|
|
39347
|
-
|
|
39348
|
-
|
|
39349
|
-
|
|
39350
|
-
|
|
39351
|
-
|
|
39352
|
-
|
|
39353
|
-
|
|
39354
|
-
|
|
39555
|
+
case DOCUMENT_NODE:
|
|
39556
|
+
case DOCUMENT_FRAGMENT_NODE:
|
|
39557
|
+
// Descend into children; exit is a no-op (tag is null).
|
|
39558
|
+
return { ns: ns.slice(), isHTML: html, tag: null };
|
|
39559
|
+
|
|
39560
|
+
case ATTRIBUTE_NODE:
|
|
39561
|
+
addSerializedAttribute(buf, n.name, n.value);
|
|
39562
|
+
return null;
|
|
39563
|
+
|
|
39564
|
+
case TEXT_NODE:
|
|
39565
|
+
/**
|
|
39566
|
+
* The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,
|
|
39567
|
+
* except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.
|
|
39568
|
+
* If they are needed elsewhere, they must be escaped using either numeric character references or the strings
|
|
39569
|
+
* `&` and `<` respectively.
|
|
39570
|
+
* The right angle bracket (>) may be represented using the string " > ", and must, for compatibility,
|
|
39571
|
+
* be escaped using either `>` or a character reference when it appears in the string `]]>` in content,
|
|
39572
|
+
* when that string is not marking the end of a CDATA section.
|
|
39573
|
+
*
|
|
39574
|
+
* In the content of elements, character data is any string of characters
|
|
39575
|
+
* which does not contain the start-delimiter of any markup
|
|
39576
|
+
* and does not include the CDATA-section-close delimiter, `]]>`.
|
|
39577
|
+
*
|
|
39578
|
+
* @see https://www.w3.org/TR/xml/#NT-CharData
|
|
39579
|
+
* @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node
|
|
39580
|
+
*/
|
|
39581
|
+
buf.push(n.data.replace(/[<&>]/g, _xmlEncoder));
|
|
39582
|
+
return null;
|
|
39583
|
+
|
|
39584
|
+
case CDATA_SECTION_NODE:
|
|
39585
|
+
if (requireWellFormed && n.data.indexOf(']]>') !== -1) {
|
|
39586
|
+
throw new DOMException(INVALID_STATE_ERR, 'The CDATASection data contains "]]>"');
|
|
39355
39587
|
}
|
|
39356
|
-
|
|
39357
|
-
|
|
39358
|
-
|
|
39359
|
-
|
|
39360
|
-
|
|
39361
|
-
|
|
39362
|
-
|
|
39363
|
-
|
|
39364
|
-
|
|
39365
|
-
|
|
39366
|
-
|
|
39367
|
-
|
|
39368
|
-
|
|
39369
|
-
|
|
39370
|
-
|
|
39371
|
-
|
|
39372
|
-
|
|
39373
|
-
|
|
39374
|
-
|
|
39375
|
-
|
|
39376
|
-
|
|
39377
|
-
|
|
39378
|
-
|
|
39379
|
-
|
|
39380
|
-
|
|
39381
|
-
|
|
39382
|
-
|
|
39383
|
-
|
|
39384
|
-
|
|
39385
|
-
|
|
39386
|
-
|
|
39387
|
-
|
|
39388
|
-
|
|
39389
|
-
|
|
39390
|
-
|
|
39391
|
-
|
|
39392
|
-
|
|
39393
|
-
|
|
39394
|
-
|
|
39395
|
-
|
|
39396
|
-
|
|
39397
|
-
|
|
39398
|
-
|
|
39399
|
-
|
|
39400
|
-
|
|
39401
|
-
|
|
39402
|
-
|
|
39403
|
-
|
|
39404
|
-
|
|
39405
|
-
|
|
39406
|
-
|
|
39407
|
-
|
|
39408
|
-
|
|
39409
|
-
|
|
39410
|
-
|
|
39411
|
-
|
|
39412
|
-
|
|
39413
|
-
|
|
39588
|
+
buf.push('<![CDATA[', n.data.replace(/]]>/g, ']]]]><![CDATA[>'), ']]>');
|
|
39589
|
+
return null;
|
|
39590
|
+
|
|
39591
|
+
case COMMENT_NODE:
|
|
39592
|
+
if (requireWellFormed && n.data.indexOf('-->') !== -1) {
|
|
39593
|
+
throw new DOMException(INVALID_STATE_ERR, 'The comment node data contains "-->"');
|
|
39594
|
+
}
|
|
39595
|
+
buf.push('<!--', n.data, '-->');
|
|
39596
|
+
return null;
|
|
39597
|
+
|
|
39598
|
+
case DOCUMENT_TYPE_NODE:
|
|
39599
|
+
if (requireWellFormed) {
|
|
39600
|
+
if (n.publicId && !/^("[\x20\r\na-zA-Z0-9\-()+,.\/:=?;!*#@$_%']*"|'[\x20\r\na-zA-Z0-9\-()+,.\/:=?;!*#@$_%'"]*')$/.test(n.publicId)) {
|
|
39601
|
+
throw new DOMException(INVALID_STATE_ERR, 'DocumentType publicId is not a valid PubidLiteral');
|
|
39602
|
+
}
|
|
39603
|
+
if (n.systemId && !/^("[^"]*"|'[^']*')$/.test(n.systemId)) {
|
|
39604
|
+
throw new DOMException(INVALID_STATE_ERR, 'DocumentType systemId is not a valid SystemLiteral');
|
|
39605
|
+
}
|
|
39606
|
+
if (n.internalSubset && n.internalSubset.indexOf(']>') !== -1) {
|
|
39607
|
+
throw new DOMException(INVALID_STATE_ERR, 'DocumentType internalSubset contains "]>"');
|
|
39608
|
+
}
|
|
39609
|
+
}
|
|
39610
|
+
var pubid = n.publicId;
|
|
39611
|
+
var sysid = n.systemId;
|
|
39612
|
+
buf.push('<!DOCTYPE ', n.name);
|
|
39613
|
+
if (pubid) {
|
|
39614
|
+
buf.push(' PUBLIC ', pubid);
|
|
39615
|
+
if (sysid && sysid != '.') {
|
|
39616
|
+
buf.push(' ', sysid);
|
|
39617
|
+
}
|
|
39618
|
+
buf.push('>');
|
|
39619
|
+
} else if (sysid && sysid != '.') {
|
|
39620
|
+
buf.push(' SYSTEM ', sysid, '>');
|
|
39621
|
+
} else {
|
|
39622
|
+
var sub = n.internalSubset;
|
|
39623
|
+
if (sub) {
|
|
39624
|
+
buf.push(' [', sub, ']');
|
|
39625
|
+
}
|
|
39626
|
+
buf.push('>');
|
|
39627
|
+
}
|
|
39628
|
+
return null;
|
|
39629
|
+
|
|
39630
|
+
case PROCESSING_INSTRUCTION_NODE:
|
|
39631
|
+
if (requireWellFormed && n.data.indexOf('?>') !== -1) {
|
|
39632
|
+
throw new DOMException(INVALID_STATE_ERR, 'The ProcessingInstruction data contains "?>"');
|
|
39633
|
+
}
|
|
39634
|
+
buf.push('<?', n.target, ' ', n.data, '?>');
|
|
39635
|
+
return null;
|
|
39636
|
+
|
|
39637
|
+
case ENTITY_REFERENCE_NODE:
|
|
39638
|
+
buf.push('&', n.nodeName, ';');
|
|
39639
|
+
return null;
|
|
39640
|
+
|
|
39641
|
+
//case ENTITY_NODE:
|
|
39642
|
+
//case NOTATION_NODE:
|
|
39643
|
+
default:
|
|
39644
|
+
buf.push('??', n.nodeName);
|
|
39645
|
+
return null;
|
|
39414
39646
|
}
|
|
39415
|
-
|
|
39416
|
-
|
|
39417
|
-
|
|
39418
|
-
|
|
39419
|
-
var sub = node.internalSubset;
|
|
39420
|
-
if(sub){
|
|
39421
|
-
buf.push(" [",sub,"]");
|
|
39647
|
+
},
|
|
39648
|
+
exit: function (n, childCtx) {
|
|
39649
|
+
if (childCtx && childCtx.tag) {
|
|
39650
|
+
buf.push('</', childCtx.tag, '>');
|
|
39422
39651
|
}
|
|
39423
|
-
|
|
39424
|
-
|
|
39425
|
-
return;
|
|
39426
|
-
case PROCESSING_INSTRUCTION_NODE:
|
|
39427
|
-
return buf.push( "<?",node.target," ",node.data,"?>");
|
|
39428
|
-
case ENTITY_REFERENCE_NODE:
|
|
39429
|
-
return buf.push( '&',node.nodeName,';');
|
|
39430
|
-
//case ENTITY_NODE:
|
|
39431
|
-
//case NOTATION_NODE:
|
|
39432
|
-
default:
|
|
39433
|
-
buf.push('??',node.nodeName);
|
|
39434
|
-
}
|
|
39652
|
+
},
|
|
39653
|
+
});
|
|
39435
39654
|
}
|
|
39436
|
-
|
|
39437
|
-
|
|
39438
|
-
|
|
39439
|
-
|
|
39440
|
-
|
|
39441
|
-
|
|
39442
|
-
|
|
39443
|
-
|
|
39444
|
-
|
|
39445
|
-
|
|
39446
|
-
|
|
39447
|
-
|
|
39448
|
-
|
|
39449
|
-
|
|
39450
|
-
|
|
39451
|
-
|
|
39452
|
-
|
|
39453
|
-
|
|
39454
|
-
|
|
39455
|
-
|
|
39456
|
-
|
|
39457
|
-
|
|
39458
|
-
|
|
39459
|
-
|
|
39460
|
-
|
|
39461
|
-
|
|
39462
|
-
|
|
39463
|
-
|
|
39464
|
-
|
|
39465
|
-
|
|
39466
|
-
|
|
39467
|
-
|
|
39468
|
-
|
|
39469
|
-
|
|
39470
|
-
|
|
39471
|
-
|
|
39472
|
-
|
|
39473
|
-
var child = node.firstChild;
|
|
39474
|
-
while(child){
|
|
39475
|
-
node2.appendChild(importNode(doc,child,deep));
|
|
39476
|
-
child = child.nextSibling;
|
|
39477
|
-
}
|
|
39478
|
-
}
|
|
39479
|
-
return node2;
|
|
39655
|
+
/**
|
|
39656
|
+
* Imports a node from a different document into `doc`, creating a new copy.
|
|
39657
|
+
* Delegates to {@link walkDOM} for traversal. Each node in the subtree is shallow-cloned,
|
|
39658
|
+
* stamped with `doc` as its `ownerDocument`, and detached (`parentNode` set to `null`).
|
|
39659
|
+
* Children are imported recursively when `deep` is `true`; for {@link Attr} nodes `deep` is
|
|
39660
|
+
* always forced to `true`
|
|
39661
|
+
* because an attribute's value lives in a child text node.
|
|
39662
|
+
*
|
|
39663
|
+
* @param {Document} doc
|
|
39664
|
+
* The document that will own the imported node.
|
|
39665
|
+
* @param {Node} node
|
|
39666
|
+
* The node to import.
|
|
39667
|
+
* @param {boolean} deep
|
|
39668
|
+
* If `true`, descendants are imported recursively.
|
|
39669
|
+
* @returns {Node}
|
|
39670
|
+
* The newly imported node, now owned by `doc`.
|
|
39671
|
+
*/
|
|
39672
|
+
function importNode(doc, node, deep) {
|
|
39673
|
+
var destRoot;
|
|
39674
|
+
walkDOM(node, null, {
|
|
39675
|
+
enter: function (srcNode, destParent) {
|
|
39676
|
+
// Shallow-clone the node and stamp it into the target document.
|
|
39677
|
+
var destNode = srcNode.cloneNode(false);
|
|
39678
|
+
destNode.ownerDocument = doc;
|
|
39679
|
+
destNode.parentNode = null;
|
|
39680
|
+
// capture as the root of the imported subtree or attach to parent.
|
|
39681
|
+
if (destParent === null) {
|
|
39682
|
+
destRoot = destNode;
|
|
39683
|
+
} else {
|
|
39684
|
+
destParent.appendChild(destNode);
|
|
39685
|
+
}
|
|
39686
|
+
// ATTRIBUTE_NODE must always be imported deeply: its value lives in a child text node.
|
|
39687
|
+
var shouldDeep = srcNode.nodeType === ATTRIBUTE_NODE || deep;
|
|
39688
|
+
return shouldDeep ? destNode : null;
|
|
39689
|
+
},
|
|
39690
|
+
});
|
|
39691
|
+
return destRoot;
|
|
39480
39692
|
}
|
|
39481
39693
|
//
|
|
39482
39694
|
//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,
|
|
39483
39695
|
// attributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};
|
|
39484
|
-
function cloneNode(doc,node,deep){
|
|
39485
|
-
var
|
|
39486
|
-
|
|
39487
|
-
|
|
39488
|
-
|
|
39489
|
-
|
|
39490
|
-
|
|
39491
|
-
|
|
39696
|
+
function cloneNode(doc, node, deep) {
|
|
39697
|
+
var destRoot;
|
|
39698
|
+
walkDOM(node, null, {
|
|
39699
|
+
enter: function (srcNode, destParent) {
|
|
39700
|
+
// 1. Create a blank node of the same type and copy all scalar own properties.
|
|
39701
|
+
var destNode = new srcNode.constructor();
|
|
39702
|
+
for (var n in srcNode) {
|
|
39703
|
+
if (Object.prototype.hasOwnProperty.call(srcNode, n)) {
|
|
39704
|
+
var v = srcNode[n];
|
|
39705
|
+
if (typeof v != 'object') {
|
|
39706
|
+
if (v != destNode[n]) {
|
|
39707
|
+
destNode[n] = v;
|
|
39708
|
+
}
|
|
39709
|
+
}
|
|
39492
39710
|
}
|
|
39493
39711
|
}
|
|
39494
|
-
|
|
39495
|
-
|
|
39496
|
-
|
|
39497
|
-
|
|
39498
|
-
|
|
39499
|
-
|
|
39500
|
-
|
|
39501
|
-
|
|
39502
|
-
|
|
39503
|
-
|
|
39504
|
-
|
|
39505
|
-
|
|
39506
|
-
|
|
39507
|
-
|
|
39508
|
-
|
|
39509
|
-
|
|
39510
|
-
|
|
39511
|
-
|
|
39512
|
-
|
|
39513
|
-
|
|
39514
|
-
|
|
39515
|
-
|
|
39516
|
-
|
|
39517
|
-
|
|
39518
|
-
|
|
39519
|
-
|
|
39712
|
+
if (srcNode.childNodes) {
|
|
39713
|
+
destNode.childNodes = new NodeList();
|
|
39714
|
+
}
|
|
39715
|
+
destNode.ownerDocument = doc;
|
|
39716
|
+
// 2. Handle node-type-specific setup.
|
|
39717
|
+
// Attributes are not DOM children, so they are cloned inline here
|
|
39718
|
+
// rather than by walkDOM descent.
|
|
39719
|
+
// ATTRIBUTE_NODE forces deep=true so its own children are walked.
|
|
39720
|
+
var shouldDeep = deep;
|
|
39721
|
+
switch (destNode.nodeType) {
|
|
39722
|
+
case ELEMENT_NODE:
|
|
39723
|
+
var attrs = srcNode.attributes;
|
|
39724
|
+
var attrs2 = (destNode.attributes = new NamedNodeMap());
|
|
39725
|
+
var len = attrs.length;
|
|
39726
|
+
attrs2._ownerElement = destNode;
|
|
39727
|
+
for (var i = 0; i < len; i++) {
|
|
39728
|
+
destNode.setAttributeNode(cloneNode(doc, attrs.item(i), true));
|
|
39729
|
+
}
|
|
39730
|
+
break;
|
|
39731
|
+
case ATTRIBUTE_NODE:
|
|
39732
|
+
shouldDeep = true;
|
|
39733
|
+
}
|
|
39734
|
+
// 3. Attach to parent, or capture as the root of the cloned subtree.
|
|
39735
|
+
if (destParent !== null) {
|
|
39736
|
+
destParent.appendChild(destNode);
|
|
39737
|
+
} else {
|
|
39738
|
+
destRoot = destNode;
|
|
39739
|
+
}
|
|
39740
|
+
// 4. Return destNode as the context for children (causes walkDOM to descend),
|
|
39741
|
+
// or null to skip children (shallow clone).
|
|
39742
|
+
return shouldDeep ? destNode : null;
|
|
39743
|
+
},
|
|
39744
|
+
});
|
|
39745
|
+
return destRoot;
|
|
39520
39746
|
}
|
|
39521
39747
|
|
|
39522
39748
|
function __set__(object,key,value){
|
|
@@ -39532,49 +39758,55 @@ function requireDom () {
|
|
|
39532
39758
|
}
|
|
39533
39759
|
});
|
|
39534
39760
|
|
|
39535
|
-
|
|
39536
|
-
|
|
39537
|
-
|
|
39761
|
+
/**
|
|
39762
|
+
* The text content of this node and its descendants.
|
|
39763
|
+
*
|
|
39764
|
+
* Setting `textContent` on an element or document fragment replaces all child nodes with a
|
|
39765
|
+
* single text node; on other nodes it sets `data`, `value`, and `nodeValue` directly.
|
|
39766
|
+
*
|
|
39767
|
+
* @type {string | null}
|
|
39768
|
+
* @see {@link https://dom.spec.whatwg.org/#dom-node-textcontent}
|
|
39769
|
+
*/
|
|
39770
|
+
Object.defineProperty(Node.prototype, 'textContent', {
|
|
39771
|
+
get: function () {
|
|
39772
|
+
if (this.nodeType === ELEMENT_NODE || this.nodeType === DOCUMENT_FRAGMENT_NODE) {
|
|
39773
|
+
var buf = [];
|
|
39774
|
+
walkDOM(this, null, {
|
|
39775
|
+
enter: function (n) {
|
|
39776
|
+
if (n.nodeType === ELEMENT_NODE || n.nodeType === DOCUMENT_FRAGMENT_NODE) {
|
|
39777
|
+
return true; // enter children
|
|
39778
|
+
}
|
|
39779
|
+
if (n.nodeType === PROCESSING_INSTRUCTION_NODE || n.nodeType === COMMENT_NODE) {
|
|
39780
|
+
return null; // excluded from text content
|
|
39781
|
+
}
|
|
39782
|
+
buf.push(n.nodeValue);
|
|
39783
|
+
},
|
|
39784
|
+
});
|
|
39785
|
+
return buf.join('');
|
|
39786
|
+
}
|
|
39787
|
+
return this.nodeValue;
|
|
39538
39788
|
},
|
|
39539
39789
|
|
|
39540
|
-
set:function(data){
|
|
39541
|
-
switch(this.nodeType){
|
|
39542
|
-
|
|
39543
|
-
|
|
39544
|
-
|
|
39545
|
-
|
|
39546
|
-
|
|
39547
|
-
|
|
39548
|
-
|
|
39549
|
-
|
|
39550
|
-
|
|
39790
|
+
set: function (data) {
|
|
39791
|
+
switch (this.nodeType) {
|
|
39792
|
+
case ELEMENT_NODE:
|
|
39793
|
+
case DOCUMENT_FRAGMENT_NODE:
|
|
39794
|
+
while (this.firstChild) {
|
|
39795
|
+
this.removeChild(this.firstChild);
|
|
39796
|
+
}
|
|
39797
|
+
if (data || String(data)) {
|
|
39798
|
+
this.appendChild(this.ownerDocument.createTextNode(data));
|
|
39799
|
+
}
|
|
39800
|
+
break;
|
|
39551
39801
|
|
|
39552
|
-
|
|
39553
|
-
|
|
39554
|
-
|
|
39555
|
-
|
|
39802
|
+
default:
|
|
39803
|
+
this.data = data;
|
|
39804
|
+
this.value = data;
|
|
39805
|
+
this.nodeValue = data;
|
|
39556
39806
|
}
|
|
39557
|
-
}
|
|
39807
|
+
},
|
|
39558
39808
|
});
|
|
39559
39809
|
|
|
39560
|
-
function getTextContent(node){
|
|
39561
|
-
switch(node.nodeType){
|
|
39562
|
-
case ELEMENT_NODE:
|
|
39563
|
-
case DOCUMENT_FRAGMENT_NODE:
|
|
39564
|
-
var buf = [];
|
|
39565
|
-
node = node.firstChild;
|
|
39566
|
-
while(node){
|
|
39567
|
-
if(node.nodeType!==7 && node.nodeType !==8){
|
|
39568
|
-
buf.push(getTextContent(node));
|
|
39569
|
-
}
|
|
39570
|
-
node = node.nextSibling;
|
|
39571
|
-
}
|
|
39572
|
-
return buf.join('');
|
|
39573
|
-
default:
|
|
39574
|
-
return node.nodeValue;
|
|
39575
|
-
}
|
|
39576
|
-
}
|
|
39577
|
-
|
|
39578
39810
|
__set__ = function(object,key,value){
|
|
39579
39811
|
//console.log(value)
|
|
39580
39812
|
object['$$'+key] = value;
|
|
@@ -39590,6 +39822,7 @@ function requireDom () {
|
|
|
39590
39822
|
dom.Element = Element;
|
|
39591
39823
|
dom.Node = Node;
|
|
39592
39824
|
dom.NodeList = NodeList;
|
|
39825
|
+
dom.walkDOM = walkDOM;
|
|
39593
39826
|
dom.XMLSerializer = XMLSerializer;
|
|
39594
39827
|
//}
|
|
39595
39828
|
return dom;
|
|
@@ -42380,7 +42613,7 @@ function requireSax () {
|
|
|
42380
42613
|
function parseInstruction(source,start,domBuilder){
|
|
42381
42614
|
var end = source.indexOf('?>',start);
|
|
42382
42615
|
if(end){
|
|
42383
|
-
var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)
|
|
42616
|
+
var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)$/);
|
|
42384
42617
|
if(match){
|
|
42385
42618
|
match[0].length;
|
|
42386
42619
|
domBuilder.processingInstruction(match[1], match[2]) ;
|
|
@@ -49267,7 +49500,7 @@ function requireMomentTimezone () {
|
|
|
49267
49500
|
hasRequiredMomentTimezone = 1;
|
|
49268
49501
|
(function (module) {
|
|
49269
49502
|
//! moment-timezone.js
|
|
49270
|
-
//! version : 0.6.
|
|
49503
|
+
//! version : 0.6.2
|
|
49271
49504
|
//! Copyright (c) JS Foundation and other contributors
|
|
49272
49505
|
//! license : MIT
|
|
49273
49506
|
//! github.com/moment/moment-timezone
|
|
@@ -49293,7 +49526,7 @@ function requireMomentTimezone () {
|
|
|
49293
49526
|
// return moment;
|
|
49294
49527
|
// }
|
|
49295
49528
|
|
|
49296
|
-
var VERSION = "0.6.
|
|
49529
|
+
var VERSION = "0.6.2",
|
|
49297
49530
|
zones = {},
|
|
49298
49531
|
links = {},
|
|
49299
49532
|
countries = {},
|