Find the edge-case and cross-boundary defects in this generated reservation change.
JavaScript
function reserve(stock, quantity) {
return {
ok: quantity <= stock,
remaining: quantity <= stock ? stock - quantity : stock,
};
}
function checkout(inventory, sku, quantity) {
const result = reserve(inventory.get(sku), quantity);
if (result) {
inventory.set(sku, inventory.get(sku) - quantity);
return "reserved";
}
return "out of stock";
}