function setPropAccessors()

in src/legacy/react/reactive.ts [12:31]


function setPropAccessors<T>(props: any, selector: SelectorFunction<T>) {
    let newProps: any = {};

    Object.keys(props).forEach(key => {
        newProps[key] = props[key];
    });

    Object.keys(selector).forEach((key: string) => {
        let getter = selector[key as keyof T];

        if (typeof newProps[key] === typeof undefined) {
            Object.defineProperty(newProps, key, {
                enumerable: true,
                get: () => getter.call(null, newProps),
            });
        }
    });

    return newProps;
}