diff --git a/Libraries/LibWeb/IndexedDB/Internal/KeyGenerator.h b/Libraries/LibWeb/IndexedDB/Internal/KeyGenerator.h new file mode 100644 index 00000000000..9b3e1972a80 --- /dev/null +++ b/Libraries/LibWeb/IndexedDB/Internal/KeyGenerator.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2025, stelar7 + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include + +namespace Web::IndexedDB { + +// https://w3c.github.io/IndexedDB/#key-generator-construct +class KeyGenerator { +public: +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. + u64 current_number { 1 }; +}; + +}