(ledger)
| 130 | } |
| 131 | |
| 132 | function _writeLedger(ledger) { |
| 133 | try { |
| 134 | const dir = getMemoryDir(); |
| 135 | if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true }); |
| 136 | const tmp = _ledgerPath() + '.tmp'; |
| 137 | fs.writeFileSync(tmp, JSON.stringify(ledger, null, 2)); |
| 138 | fs.renameSync(tmp, _ledgerPath()); |
| 139 | } catch (_) { |
| 140 | // Non-fatal: ledger persistence failure means next process restart |
| 141 | // re-reads previous ledger (so existing caps still apply). |
| 142 | } |
| 143 | } |
| 144 | |
| 145 | function _rotateIfNewDay(ledger, now) { |
| 146 | const today = _todayKey(now); |
no test coverage detected