один аргумент, который может быть либо коллбеком, либо объектом в фикстурой. В зависимости от результата сделать разное действие. Как правильно протипизировать аргумент?
const mockServerResponse = <T>(callbackOrFixture: T extends MswCallback ? MswCallback : T) => {
const generatedCallback: MswCallback = (_, res, ctx) =>
res(ctx.json(callbackOrFixture));
const callback =
typeof callbackOrFixture === 'function'
? callbackOrFixture
: generatedCallback;
server.use(rest.get(url, callback));
};
Вот так не работает
https://www.typescriptlang.org/play?#code/AQFwngDgpsCyDOB3AwgQwDboEaoMYGtgBeYACgEpiA+YANwHsBLAEwG4BYAKFEhgDFGADxABXAE4wSAb3gALVNABcweCDGMAdgHMAvly7Bc9DauCN4aTDgLEy8MbmUDh4mAB84SS9jz5yy+1wzeE8UDB8bIhpwaHoAMxUHYiISACI4kQ1cEEZjVI5uAwysnONgAFt6AgBlKDFaOoAlKHgIY3goUkDlBDCrX386JjYizOzcjQqq-Fr6ppa2k07u4GdRCUGGFgLgYvGyypq6hrFm1vblhychdfdQ72s-YCkDYDME0nMH3y6HckoXtw3m8jCYQKAAIy2QI7N46YBQdAdZ6vYGg0wgABM0IcsOAem4OiAA
const mockServerResponse = <T>(arg: MswCallback : Fixture) => { ... }; ну и дальше как ты написал typeof callbackOrFixture === 'function'
Обсуждают сегодня