Как сломать на изменение собственности? - PullRequest
0 голосов
/ 15 октября 2018

Тот же вопрос существует для javascript , но я не думаю, что перечисленные там решения применимы для машинописи.

Во-первых, у меня есть объект типа express.Request, и я хочуотладьте его body член:

function test(req : express.Request, res :express.Response, next:(err:any)=>void) {


  req.defineProperty(body, 'someProp', { //Property 'defineProperty' does not exist on type 'Request'.
    get: function () {
        return req._body;
    },

    set: function (value) {
        debugger; // sets breakpoint
        obj._someProp = value;
    }
});

1 Ответ

0 голосов
/ 16 октября 2018

Метод, который вы ищете, называется Object.defineProperty, и он принимает объект, для которого нужно определить свойство в качестве первого аргумента.Правильное использование будет примерно таким:

function test(req: express.Request, res: express.Response, next: (err: any) => void) {

    Object.defineProperty(req, 'body', {
        get: function () {
            return req._body;
        },

        set: function (value) {
            debugger; // sets breakpoint
            req._body = value;
        }
    });
}
...