UNPKG

alinea

Version:
56 lines (54 loc) 1.34 kB
import "../../chunks/chunk-NZLE2WMY.js"; // src/core/db/CommitRequest.ts function commitChanges(changes) { return changes.map((change) => { switch (change.op) { case "add": return { ...change, op: "addContent", contents: new TextDecoder().decode(change.contents) }; case "delete": return { ...change, op: "deleteContent" }; } }); } function sourceChanges(request) { return { fromSha: request.fromSha, changes: request.changes.filter( (change) => change.op === "addContent" || change.op === "deleteContent" ).map((change) => { switch (change.op) { case "deleteContent": return { ...change, op: "delete" }; case "addContent": return { ...change, op: "add", contents: new TextEncoder().encode(change.contents) }; } }) }; } function checkCommit(tree, request) { if (tree.sha === request.fromSha) return; for (const [path, sha] of request.checks) { const entry = tree.get(path); if (!entry) throw new Error(`Missing entry for ${path}`); if (entry.sha !== sha) throw new Error(`Entry ${path} has changed`); } } export { checkCommit, commitChanges, sourceChanges };