(obj, key, value)
| 410 | * @param {*} value value to set for key |
| 411 | */ |
| 412 | export const replaceValueDeep = function replaceValueDeep(obj, key, value) { |
| 413 | if (!obj) return |
| 414 | |
| 415 | if (obj instanceof Array) { |
| 416 | for (const i in obj) { |
| 417 | replaceValueDeep(obj[i], key, value) |
| 418 | } |
| 419 | } |
| 420 | |
| 421 | if (Object.prototype.hasOwnProperty.call(obj, key)) { |
| 422 | obj[key] = value |
| 423 | } |
| 424 | |
| 425 | if (typeof obj === 'object' && obj !== null) { |
| 426 | const children = Object.values(obj) |
| 427 | for (const child of children) { |
| 428 | replaceValueDeep(child, key, value) |
| 429 | } |
| 430 | } |
| 431 | return obj |
| 432 | } |
| 433 | |
| 434 | export const ansiRegExp = function ({ onlyFirst = false } = {}) { |
| 435 | const pattern = ['[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|') |
no outgoing calls
no test coverage detected