Typescript RxJS: сопоставление с одним типом - PullRequest
0 голосов
/ 29 апреля 2019

Мне нужно сопоставить этот массив типа объединения string | { field:string, asc: boolean } со вторым типом объединения.

Я имею в виду:

import { from } from 'rxjs/observable/from';

var sortFields: Array<string | { field: string, direction: boolean }>;

from(sortFields)
    .map(sortField => {
        if (typeof(sortField) == "string")
            return { field: sortField, direction: true };
        else
            return { field: sortField.field, direction: sortField.direction };
    }
);

Выше код не совсем работает. Это говорит мне, что map вернет что-то вроде Observable<{field:string, direction: boolean} | {field:string, direction: boolean}>.

Есть идеи?

1 Ответ

0 голосов
/ 30 апреля 2019

Хорошо работает с последними версиями машинописного текста / rxjs

import { from } from 'rxjs';
import { map } from 'rxjs/operators';

var sortFields: Array<string | { field: string, direction: boolean }> = [];

from(sortFields).pipe(
    map(sortField => {
        if (typeof(sortField) == "string")
            return { field: sortField, direction: true };
        else
            return { field: sortField.field, direction: sortField.direction };
    })
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...