def get(self, key):
if key not in self.cache:
return -1
node = self.cache[key]
self._remove(node)
self._add(node)
return node.val
SELECT u.id,
SUM(t.amount) AS total_spent,
COUNT(*) AS tx_count
FROM users u
JOIN transactions t
ON t.user_id = u.id
GROUP BY u.id
ORDER BY total_spent DESC;
const queue = amounts.map((amt) => {
const captured = state;
// BUG: stale snapshot
return () => captured + amt;
});
for (const upd of queue) {
state = upd();
}
on(event, handler) {
this.subs[event] ??= [];
const wrapped = () => handler();
this.subs[event].push(wrapped);
}
off(event, handler) {
this.subs[event] = this.subs[event]
?.filter(h => h !== handler);
}
export async function withAuth(
req: Request,
res: Response,
next: NextFunction
): Promise<void> {
const header = req.headers.authorization;
const token = header?.split(' ')[1];
if (!token) return res.status(401);
next();
}
def resolve(self, name):
if name in self.resolved:
return self.resolved[name]
for dep in self.graph[name]:
self.resolve(dep)
self.resolved.add(name)
return name