1export function lazyProperty<
2 O extends object,
3 const K extends keyof O,
4 const V extends O[K],
5>(obj: O, key: K, value: V): V {
6 Object.defineProperty(obj, key, {
7 value,
8 writable: false,
9 enumerable: false,
10 configurable: true,
11 });
12 return value;
13}