read_varchain returns undefined instead of null

This commit is contained in:
陆柯 2022-08-04 17:32:06 +08:00
parent 97e1658276
commit 08c3497788

View File

@ -236,8 +236,8 @@ module.exports = {
}, },
read_varchain (path, root) { read_varchain (path, root) {
var parent = root || globalThis || global || window || {} let parent = root || globalThis || global || window || {}
var names = path.split('.') let names = path.split('.')
for (var i in names) { for (var i in names) {
if (typeof parent === 'object' && names[i].match(/^\w+\(\)$/) && typeof parent[names[i].substring(0, names[i].length - 2)] === 'function') { if (typeof parent === 'object' && names[i].match(/^\w+\(\)$/) && typeof parent[names[i].substring(0, names[i].length - 2)] === 'function') {
// 支持 xxx.myfunc().yyy 的函数形式作为一个路径节点。 // 支持 xxx.myfunc().yyy 的函数形式作为一个路径节点。
@ -245,10 +245,13 @@ module.exports = {
} else if (typeof parent === 'object' && names[i].match(/^\w+$/) && typeof parent[names[i]] != 'undefined' && parent[names[i]] != null) { } else if (typeof parent === 'object' && names[i].match(/^\w+$/) && typeof parent[names[i]] != 'undefined' && parent[names[i]] != null) {
parent = parent[names[i]] parent = parent[names[i]]
} else { } else {
return null return undefined
} }
} }
return parent === null || parent === undefined ? null : parent if (parent === null || parent === undefined || isNaN(parent) || typeof parent === 'number') {
return undefined
}
return parent
}, },
set_varchain (path, root, value) { set_varchain (path, root, value) {