u
This commit is contained in:
parent
08c3497788
commit
c55dcda3e6
27
coretool.js
27
coretool.js
@ -237,35 +237,32 @@ module.exports = {
|
|||||||
|
|
||||||
read_varchain (path, root) {
|
read_varchain (path, root) {
|
||||||
let parent = root || globalThis || global || window || {}
|
let parent = root || globalThis || global || window || {}
|
||||||
let names = path.split('.')
|
let keychain = path.split('.')
|
||||||
for (var i in names) {
|
for (let key of keychain) {
|
||||||
if (typeof parent === 'object' && names[i].match(/^\w+\(\)$/) && typeof parent[names[i].substring(0, names[i].length - 2)] === 'function') {
|
if (typeof parent === 'object' && key.match(/^\w+\(\)$/) && typeof parent[key.substring(0, key.length - 2)] === 'function') {
|
||||||
// 支持 xxx.myfunc().yyy 的函数形式作为一个路径节点。
|
// 支持 xxx.myfunc().yyy 的函数形式作为一个路径节点。
|
||||||
parent = parent[names[i].substring(0, names[i].length - 2)]()
|
parent = parent[key.substring(0, key.length - 2)]()
|
||||||
} else if (typeof parent === 'object' && names[i].match(/^\w+$/) && typeof parent[names[i]] != 'undefined' && parent[names[i]] != null) {
|
} else if (typeof parent === 'object' && key.match(/^\w+$/) && typeof parent[key] != 'undefined' && parent[key] != null) {
|
||||||
parent = parent[names[i]]
|
parent = parent[key]
|
||||||
} else {
|
} else {
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (parent === null || parent === undefined || isNaN(parent) || typeof parent === 'number') {
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
return parent
|
return parent
|
||||||
},
|
},
|
||||||
|
|
||||||
set_varchain (path, root, value) {
|
set_varchain (path, root, value) {
|
||||||
var parent = root || global || window || {}
|
var parent = root || global || window || {}
|
||||||
var names = path.split('.')
|
var keychain = path.split('.')
|
||||||
for (var i = 0; i < names.length - 1; i++) {
|
for (let i = 0; i < keychain.length - 1; i++) {
|
||||||
if (typeof parent === 'object' && names[i].match(/^\w+$/)) {
|
if (typeof parent === 'object' && keychain[i].match(/^\w+$/)) {
|
||||||
if (typeof parent[names[i]] !== 'object') parent[names[i]] = {}
|
if (typeof parent[keychain[i]] !== 'object') parent[keychain[i]] = {}
|
||||||
parent = parent[names[i]]
|
parent = parent[keychain[i]]
|
||||||
} else {
|
} else {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (parent[names[names.length - 1]] = value)
|
return (parent[keychain[keychain.length - 1]] = value)
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user