wangzhibo
2026-05-09 53418655c061ac26f66058253f39200aced1ab1d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
export default function defineLazyProperty(object, propertyName, valueGetter) {
    const define = value => Object.defineProperty(object, propertyName, {value, enumerable: true, writable: true});
 
    Object.defineProperty(object, propertyName, {
        configurable: true,
        enumerable: true,
        get() {
            const result = valueGetter();
            define(result);
            return result;
        },
        set(value) {
            define(value);
        }
    });
 
    return object;
}