@@ -21,6 +21,8 @@ function seekForNS(node, parentNS) {
21
21
}
22
22
function mutateNodeNS ( node , parentNS ) {
23
23
if ( parentNS === void 0 ) { parentNS = { _default : 'DAV:' } ; }
24
+ if ( ! node )
25
+ return ;
24
26
var nss = seekForNS ( node , parentNS ) ;
25
27
if ( node . name ) {
26
28
for ( var ns in nss ) {
@@ -36,14 +38,14 @@ function mutateNodeNS(node, parentNS) {
36
38
}
37
39
node . findIndex = function ( name ) {
38
40
for ( var index = 0 ; index < node . elements . length ; ++ index )
39
- if ( node . elements [ index ] . name && node . elements [ index ] . name === name )
41
+ if ( node . elements [ index ] && node . elements [ index ] . name && node . elements [ index ] . name === name )
40
42
return index ;
41
43
return - 1 ;
42
44
} ;
43
45
node . find = function ( name ) {
44
46
for ( var _i = 0 , _a = node . elements ; _i < _a . length ; _i ++ ) {
45
47
var element = _a [ _i ] ;
46
- if ( element . name && element . name === name )
48
+ if ( element && element . name && element . name === name )
47
49
return element ;
48
50
}
49
51
throw Errors_1 . Errors . XMLNotFound ;
@@ -52,7 +54,7 @@ function mutateNodeNS(node, parentNS) {
52
54
var elements = [ ] ;
53
55
for ( var _i = 0 , _a = node . elements ; _i < _a . length ; _i ++ ) {
54
56
var element = _a [ _i ] ;
55
- if ( element . name && element . name === name )
57
+ if ( element && element . name && element . name === name )
56
58
elements . push ( element ) ;
57
59
}
58
60
return elements ;
@@ -103,11 +105,11 @@ var XML = (function () {
103
105
attributes = { } ;
104
106
var li1 = name . lastIndexOf ( ':' ) ;
105
107
var li2 = name . indexOf ( ':' ) ;
106
- var lindex = Math . max ( li1 === li2 ? - 1 : li1 , name . lastIndexOf ( '/' ) ) + 1 ;
108
+ var lindex = Math . max ( li1 === li2 && name . indexOf ( 'DAV:' ) !== 0 ? - 1 : li1 , name . lastIndexOf ( '/' ) ) + 1 ;
107
109
if ( lindex !== 0 ) {
108
110
var kname = 'a' ;
109
111
var value = name . substring ( 0 , lindex ) ;
110
- while ( attributes [ 'xmlns:' + kname ] !== undefined || value . indexOf ( kname + ':' ) === - 1 ) {
112
+ while ( attributes [ 'xmlns:' + kname ] !== undefined || value . indexOf ( kname + ':' ) === 0 ) {
111
113
var newChar = kname . charCodeAt ( 0 ) + 1 ;
112
114
if ( newChar > 'z' . charCodeAt ( 0 ) )
113
115
kname = 'x' + String . fromCharCode ( newChar ) ;
0 commit comments