How to use the ix.Iterable.empty function in ix

To help you get started, we’ve selected a few ix examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github marinels / webrx-react / src / Components / Common / DataGrid / DataGridViewModel.ts View on Github external
.catch(e => {
            this.alertForError(e, 'Data Response Error');

            return this.wx.getObservable>({
              items: Iterable.empty(),
              count: 0,
            });
          });
      })
github marinels / webrx-react / src / Components / Common / DataGrid / DataGridViewModel.ts View on Github external
.merge(
        this.requests.changed
          .map(() => true),
        this.responses.changed
          .map(() => false),
      )
      .toProperty(true);

    const validResponses = this.wx
      .whenAny(this.responses, x => x)
      .filterNull()
      .share();

    this.projectedSource = validResponses
      .map(x => x.items)
      .toProperty(Iterable.empty(), false);

    this.projectedCount = validResponses
      .map(x => x.count)
      .toProperty();

    if (this.pager != null) {
      this.addSubscription(
        this.wx
          .whenAny(
            this.projectedCount,
            x => x,
          )
          .filterNull()
          .invokeCommand(this.pager.updateCount),
      );
github marinels / webrx-react / src / Components / Common / Items / ItemsViewModel.ts View on Github external
import { Iterable } from 'ix';
import { Observable } from 'rxjs';

import { IterableLike, ObservableLike, ReadOnlyProperty, Command } from '../../../WebRx';
import { BaseViewModel } from '../../React';

export class ItemsViewModel extends BaseViewModel {
  public static displayName = 'ItemsViewModel';

  protected readonly emptySource = Iterable.empty();

  public readonly source: ReadOnlyProperty>;
  public readonly count: ReadOnlyProperty;

  constructor(
    source: ObservableLike>,
  ) {
    super();

    this.source = this.wx
      .getObservableOrAlert(
        () => {
          return this.wx
            .getObservable(source)
            .map(x => Iterable.from(x));
        },
github marinels / webrx-react / src / Components / Common / ItemListPanel / TreeItemListPanelViewModel.ts View on Github external
export function filterTreeItems(
  items: IterableLike | undefined,
  itemsSource: (item: T) => (IterableLike | undefined),
  itemsAssign: (item: T, items: Iterable) => T,
  filter: (item: T) => boolean,
): Iterable {
  if (items == null) {
    return Iterable.empty();
  }

  return Iterable
    .from(items)
    .map(x => {
      const result = filterTreeItems(itemsSource(x), itemsSource, itemsAssign, filter);

      if (result.some(() => true) || filter(x)) {
        return itemsAssign(x, result);
      }

      return undefined;
    })
    .filterNull();
}
github marinels / webrx-react / src / Components / Common / ItemListPanel / AsyncTreeItemListPanelViewModel.ts View on Github external
constructor(
    protected readonly responseSelector: (request: DataSourceRequest> | undefined) => ObservableOrValue | undefined>,
    itemsSource: (item: T) => (IterableLike | undefined),
    search?: SearchViewModel | null,
    context?: ObservableLike,
    rateLimit = AsyncDataGridViewModel.DefaultRateLimit,
  ) {
    super(Iterable.empty(), itemsSource, x => x, undefined, search, context, rateLimit);
  }
github marinels / webrx-react / src / Components / Common / DataGrid / AsyncDataGridViewModel.ts View on Github external
constructor(
    protected readonly responseSelector: (request: DataSourceRequest | undefined) => ObservableOrValue | undefined>,
    pager?: PagerViewModel,
    context?: ObservableLike,
    rateLimit = AsyncDataGridViewModel.DefaultRateLimit,
  ) {
    super(Iterable.empty(), pager, context, undefined, rateLimit);
  }