better-mock
better-mock copied to clipboard
[BUG] 在当前 value 中的出现的函数是当前的 key 时, 不应有引用关系
trafficstars
问题简述
如果当前键的 key pick 是 mock 的生成函数, 则不应该出现递归引用. 否则导致循环引用而导致崩溃: Maximum call stack size exceeded .
{
"pick": " @pick(['a', 'b'])"
}
复现步骤 点此 打开控制台粘贴以下代码:
s = Mock.mock({
"pick": "@pick(['a', 'b'])"
})
console.log(s) // a
s = Mock.mock({
"pick": " @pick(['a', 'b'])"
})
console.log(s) // Maximum call stack size exceeded
期望结果
s = Mock.mock({
"pick": "@pick(['a', 'b'])"
})
console.log(s) // a
s = Mock.mock({
"pick": " @pick(['a', 'b'])"
})
console.log(s) // a
环境
- Env: chrome 版本 86.0.4240.75(正式版本) (64 位)
- OS: win10x64
- better-mock version: [email protected]
先暂时使用 @PICK 代替解决,后续优化