当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript task.forInPar函数代码示例

本文整理汇总了TypeScript中@jonggrang/task.forInPar函数的典型用法代码示例。如果您正苦于以下问题:TypeScript forInPar函数的具体用法?TypeScript forInPar怎么用?TypeScript forInPar使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了forInPar函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: it

  it('storage.destroyAllOfAuthId should only delete relevant Auth Id', function* () {
    const master: Session = yield generateSession(HasAuthId.HAS_AUTH_ID);
    const authId = master.authId as string;

    const preslaves: Session[] = yield (replicateA(20, generateSession(HasAuthId.HAS_AUTH_ID))
      .concat(replicateA(20, generateSession(HasAuthId.NO_AUTH_ID)))
    );
    const slaves = preslaves.map(x => createSession(x.id, authId, x.data, x.createdAt, x.accessedAt));

    const others: Session[] = yield (replicateA(20, generateSession(HasAuthId.HAS_AUTH_ID))
      .concat(replicateA(20, generateSession(HasAuthId.NO_AUTH_ID)))
    );
    const allS = [master].concat(slaves, others);

    // insert session
    yield T.forInPar_([master].concat(preslaves, others), x => run(storage.insert(x)));
    yield T.forInPar_(slaves, x => run(storage.replace(x)));

    const xs: (Session | null)[] = yield T.forInPar(allS, x => run(storage.get(x.id)));
    assert.deepEqual(xs, allS);
    yield run(storage.destroyAllOfAuthId(authId));
    const ys: (Session | null)[] = yield T.forInPar(allS, x => run(storage.get(x.id)));
    const xxs = new Array(slaves.length + 1).fill(null);
    assert.deepEqual(ys, xxs.concat(others as any));
    return T.pure(true);
  });
开发者ID:syaiful6,项目名称:jonggrang,代码行数:26,代码来源:storage-test.ts

示例2: update

    function update(
      state: AppState<M, Q, S>,
      action: AppAction<M, Q, S, I>
    ): T.Task<AppState<M, Q, S>> {
      let next: Transition<M, S, I>,
        needsRender: boolean,
        nextState: AppState<M, Q, S>,
        appChange: AppChange<S, I>;
      switch (action.tag) {
        case AppActionType.INTERPRET:
          return state.interpret.loop(action.payload)
            .chain(ni => {
              return T.pure(S.assign({}, state, {
                interpret: ni
              }));
            });

        case AppActionType.ACTION:
          next = app.update(state.model, action.payload);
          needsRender = state.needsRender || state.model !== next.model;
          nextState = S.assign({}, state, {
            needsRender,
            model: next.model
          });
          appChange = { old: state.model, action: action.payload, model: nextState.model };
          return onChange(appChange).then(T.forInPar(next.effects, pushEffect)).map(() => nextState);

        case AppActionType.RESTORE:
          needsRender = state.needsRender || state.model !== action.payload;
          nextState = S.assign({}, state, { needsRender, model: action.payload });
          return T.pure(nextState);
      }
    }
开发者ID:syaiful6,项目名称:jonggrang,代码行数:33,代码来源:genjer.ts

示例3: newRef

 return newRef(int).chain(ref => {
   return T.forInPar(subs, q => {
     return readRef(ref)
       .chain(k => k.loop(E.right(q)))
       .chain(nq => writeRef(ref, nq));
   }).then(readRef(ref));
 });
开发者ID:syaiful6,项目名称:jonggrang,代码行数:7,代码来源:genjer.ts

示例4:

 ).chain(it2 => {
   return T.forInPar(app.init.effects, pushEffect)
     .chain(() => {
       let st: AppState<M, Q, S> = { snabbdom
                                   , interpret: it2
                                   , needsRender: false
                                   , model: app.init.model };
       return T.pure({ update, commit, init: st});
     });
 })
开发者ID:syaiful6,项目名称:jonggrang,代码行数:10,代码来源:genjer.ts

示例5:

export function witherPar<A, B>(xs: A[], fn: (_: A, i: number) => T.Task<P.Maybe<B>>): T.Task<B[]> {
  return T.forInPar(xs, fn).map(P.catMaybes);
}
开发者ID:syaiful6,项目名称:jonggrang,代码行数:3,代码来源:async.ts

示例6: newQSem

 : newQSem(n).chain(qsem => T.forInPar(xs, (x, i) => withQSem(qsem, f(x, i))));
开发者ID:syaiful6,项目名称:jonggrang,代码行数:1,代码来源:async.ts

示例7: cb

 .chain(sbs => T.forInPar(S.recordValues(sbs.cbs), cb => cb(ac)))
开发者ID:syaiful6,项目名称:jonggrang,代码行数:1,代码来源:genjer.ts


注:本文中的@jonggrang/task.forInPar函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。