當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript operators.groupBy函數代碼示例

本文整理匯總了TypeScript中rxjs/operators.groupBy函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript groupBy函數的具體用法?TypeScript groupBy怎麽用?TypeScript groupBy使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了groupBy函數的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: it

it('should enforce types of duration selector', () => {
  const o = of(1, 2, 3).pipe(groupBy(value => value.toString(), undefined, value => 'foo')); // $ExpectError
  const p = of(1, 2, 3).pipe(groupBy(value => value.toString(), undefined, (value: GroupedObservable<number, number>) => value)); // $ExpectError
  const q = of(1, 2, 3).pipe(groupBy(value => value.toString(), undefined, (value: GroupedObservable<string, string>) => value)); // $ExpectError
  const r = of(1, 2, 3).pipe(groupBy(value => value.toString(), value => Boolean(value), (value: GroupedObservable<string, string>) => value)); // $ExpectError
  const s = of(1, 2, 3).pipe(groupBy(value => value.toString(), value => Boolean(value), (value: GroupedObservable<boolean, boolean>) => value)); // $ExpectError
});
開發者ID:jaychsu,項目名稱:RxJS,代碼行數:7,代碼來源:groupBy-spec.ts

示例2: groupBy

 observable1 = groupByZone1.run(() => {
   return observable1.pipe(
       groupBy((person: any) => {
         expect(Zone.current.name).toEqual(groupByZone1.name);
         return person.age;
       }),
       // return as array of each group
       flatMap((group: any) => {
         return group.pipe(reduce((acc: any, curr: any) => [...acc, curr], []));
       }));
 });
開發者ID:angular,項目名稱:zone.js,代碼行數:11,代碼來源:rxjs.Observable.collection.spec.ts

示例3: from

  public static doGroupRows<T>(data: T[], groupRowsBy) {
    const grouped = [];
    from(data).pipe(
      groupBy((row) => row[groupRowsBy]),
      flatMap((group) => group.pipe(
        reduce((acc: T[], curr: T) => [...acc, curr], []),
      )),
    ).subscribe((row) => grouped.push(row));

    return grouped;
  }
開發者ID:ssuperczynski,項目名稱:ng2-easy-table,代碼行數:11,代碼來源:group-rows.service.ts

示例4: toActions

  /**
   * @internal
   */
  toActions(): Observable<Action> {
    return this.pipe(
      groupBy(getSourceForInstance),
      mergeMap(source$ =>
        source$.pipe(
          exhaustMap(resolveEffectSource),
          map(output => {
            verifyOutput(output, this.errorHandler);

            return output.notification;
          }),
          filter(
            (notification): notification is Notification<Action> =>
              notification.kind === 'N'
          ),
          dematerialize()
        )
      )
    );
  }
開發者ID:AlexChar,項目名稱:platform,代碼行數:23,代碼來源:effect_sources.ts

示例5: groupBy1

 groupBy1() {
   const people = [
     { name: 'Sue', age: 25 },
     { name: 'Joe', age: 30 },
     { name: 'Frank', age: 25 },
     { name: 'Sarah', age: 35 }
   ];
   // emit each person
   const source = from(people);
   // group by age
   const example = source.pipe(
     groupBy(person => person.age),
     //  return each item in group as array
     mergeMap(group => group.pipe(toArray()))
   );
   /*
     output:
     [{age: 25, name: "Sue"},{age: 25, name: "Frank"}]
     [{age: 30, name: "Joe"}]
     [{age: 35, name: "Sarah"}]
   */
   const subscribe = example.subscribe(val => console.log(val));
 }
開發者ID:zwvista,項目名稱:SampleMisc,代碼行數:23,代碼來源:transforming.service.ts

示例6: executeCellEpic

export function executeCellEpic(
  action$: ActionsObservable<ExecuteCell | ExecuteFocusedCell>,
  state$: any
) {
  return action$.pipe(
    ofType(actions.EXECUTE_CELL, actions.EXECUTE_FOCUSED_CELL),
    mergeMap((action: ExecuteCell | ExecuteFocusedCell) => {
      if (action.type === actions.EXECUTE_FOCUSED_CELL) {
        const contentRef = action.payload.contentRef;
        const state = state$.value;
        const model = selectors.model(state, { contentRef });
        // If it's not a notebook, we shouldn't be here
        if (!model || model.type !== "notebook") {
          return empty();
        }

        const id = model.cellFocused;

        if (!id) {
          throw new Error("attempted to execute without an id");
        }
        return of(
          actions.executeCell({ id, contentRef: action.payload.contentRef })
        );
      }
      return of(action);
    }),
    tap((action: ExecuteCell) => {
      if (!action.payload.id) {
        throw new Error("execute cell needs an id");
      }
    }),
    // Split stream by cell IDs
    groupBy((action: ExecuteCell) => action.payload.id),
    // Work on each cell's stream
    map(cellAction$ =>
      cellAction$.pipe(
        // When a new EXECUTE_CELL comes in with the current ID, we create a
        // a new stream and unsubscribe from the old one.
        switchMap((action: ExecuteCell) => {
          const { id } = action.payload;

          const state = state$.value;

          const contentRef = action.payload.contentRef;
          const model = selectors.model(state, { contentRef });

          // If it's not a notebook, we shouldn't be here
          if (!model || model.type !== "notebook") {
            return empty();
          }

          const cell = selectors.notebook.cellById(model, {
            id
          });
          if (!cell) {
            return empty();
          }

          // We only execute code cells
          if ((cell as any).get("cell_type") === "code") {
            const source = cell.get("source", "");

            const message = createExecuteRequest(source);

            return createExecuteCellStream(
              action$,
              state,
              message,
              id,
              action.payload.contentRef
            ).pipe(
              catchError((error, source) =>
                merge(
                  of(
                    actions.executeFailed({
                      error,
                      contentRef: action.payload.contentRef
                    })
                  ),
                  source
                )
              )
            );
          }
          return empty();
        })
      )
    ),
    // Bring back all the inner Observables into one stream
    mergeAll(),
    catchError((error: Error, source) => {
      // Either we ensure that all errors are caught when the action.payload.contentRef
      // is in scope or we make this be a generic ERROR
      // $FlowFixMe: see above
      return merge(
        of(
          actions.executeFailed({
            error
          })
//.........這裏部分代碼省略.........
開發者ID:kelleyblackmore,項目名稱:nteract,代碼行數:101,代碼來源:execute.ts


注:本文中的rxjs/operators.groupBy函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。