LibWeb/IDB: Implement generate_a_key

This commit is contained in:
stelar7 2025-04-11 11:25:56 +02:00 committed by Andrew Kaster
commit dbe0db0cab
Notes: github-actions[bot] 2025-04-23 18:37:33 +00:00
3 changed files with 33 additions and 2 deletions

View file

@ -13,13 +13,16 @@ namespace Web::IndexedDB {
// https://w3c.github.io/IndexedDB/#key-generator-construct
class KeyGenerator {
public:
[[nodiscard]] u64 current_number() const { return m_current_number; }
void increment(u64 amount) { m_current_number += amount; }
void set(u64 value) { m_current_number = value; }
private:
// A key generator has a current number.
// The current number is always a positive integer less than or equal to 2^53 (9007199254740992) + 1.
// The initial value of a key generator's current number is 1, set when the associated object store is created.
// The current number is incremented as keys are generated, and may be updated to a specific value by using explicit keys.
// FIXME: Implement support for KeyGenerator in ObjectStore.
[[maybe_unused]] u64 current_number { 1 };
u64 m_current_number { 1 };
};
}