(fs, p, callback)
| 673 | * @returns {void} |
| 674 | */ |
| 675 | const readJson = (fs, p, callback) => { |
| 676 | if ("readJson" in fs) { |
| 677 | return /** @type {NonNullable<InputFileSystem["readJson"]>} */ ( |
| 678 | fs.readJson |
| 679 | )(p, callback); |
| 680 | } |
| 681 | fs.readFile(p, (err, buf) => { |
| 682 | if (err) return callback(err); |
| 683 | /** @type {JsonObject} */ |
| 684 | let data; |
| 685 | try { |
| 686 | data = JSON.parse(/** @type {Buffer} */ (buf).toString("utf8")); |
| 687 | } catch (err1) { |
| 688 | return callback(/** @type {Error} */ (err1)); |
| 689 | } |
| 690 | return callback(null, data); |
| 691 | }); |
| 692 | }; |
| 693 | |
| 694 | /** |
| 695 | * Lstat readlink absolute. |
no test coverage detected