()
| 462 | } |
| 463 | |
| 464 | export async function dashboardSourceStamp() { |
| 465 | const inputs = await collectDashboardSourceInputs(); |
| 466 | if (!inputs.length) return null; |
| 467 | let hash = FNV_OFFSET_BASIS; |
| 468 | for (const file of inputs) { |
| 469 | hash = fnvHashBytes(hash, Buffer.from(normalizedSourcePath(file))); |
| 470 | hash = fnvHashBytes(hash, [0]); |
| 471 | hash = fnvHashBytes(hash, await fs.readFile(path.join(dashboardRoot, file))); |
| 472 | hash = fnvHashBytes(hash, [0]); |
| 473 | } |
| 474 | return hash.toString(16).padStart(16, "0"); |
| 475 | } |
| 476 | |
| 477 | export async function writeDashboardSourceStamp() { |
| 478 | const stamp = await dashboardSourceStamp(); |
no test coverage detected