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


TypeScript O.merge方法代码示例

本文整理汇总了TypeScript中b-o-a.O.merge方法的典型用法代码示例。如果您正苦于以下问题:TypeScript O.merge方法的具体用法?TypeScript O.merge怎么用?TypeScript O.merge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在b-o-a.O的用法示例。


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

示例1: changeEmail

const $ = (action$: O<A<any>>, _: O<State>): O<A<any>> => {
  return O.merge(
    changeEmail$(action$).map(({ value }) => changeEmail(value)),
    changePassword$(action$).map(({ value }) => changePassword(value)),
    signIn$(action$).map(() => signIn()),
    route$(action$)
      .filter(({ route: { name } }) => name === 'sign_in#index')
      .map(() => reset()),
    successSignIn$(action$).map(() => reset()),

    changeName$(action$).map(({ value }) => changeName(value)),
    addSpot$(action$).map(() => addSpot()),
    responseSpotCreate$(action$).map(() => changeName(null)),

    changeName2$(action$).map(({ value }) => changeName2(value)),
    addStampRally$(action$).map(() => addStampRally()),
    responseStampRallyCreate$(action$).map(() => changeName2(null)),

    responseSpotIndex$(action$).map(spots => resetSpots(spots)),
    responseStampRallyIndex$(action$)
      .map(stampRallies => resetStampRallies(stampRallies)),
    responseStampRallyShow$(action$)
      .map(stampRally => resetStampRally(stampRally)),
    responseTokenCreate$(action$)
      .map(token => resetToken(token))
  );
};
开发者ID:bouzuya,项目名称:rally-rxjs,代码行数:27,代码来源:index.ts

示例2:

const $ = (action$: O<A<any>>, _: O<State>): O<A<any>> => {
  return O
    .merge(
      responseStampRallyShow$(action$)
        .map(successStampRallyShow),
      responseTokenCreate$(action$)
        .map(successSignIn)
    );
};
开发者ID:bouzuya,项目名称:rally-rxjs,代码行数:9,代码来源:success.ts

示例3: run

 run((action$, options) => {
   const log$ = log().handler(action$, options);
   return O.merge<A<any>>(
     dom({
       render: view,
       renderActionType: 'render',
       root: 'div.app'
     }).handler(log$, options),
     app(log$, options)
   );
 });
开发者ID:boajs,项目名称:counter-boa,代码行数:11,代码来源:client.ts

示例4: properties

const handler = (
  action$: O<A<any>>,
  options: {
    state?: State
  }
): O<A<any>> => {
  const { state: initialState } = options;
  const state$ = properties(action$, initialState);
  return O.merge(
    map$(action$, state$),
    goTo$(action$, state$),
    // TODO: type is specified in client or server.
    render$(action$, state$, { type: 'render' }),
    // TODO: type is specified in client or server.
    request$(action$, state$, { type: 'request' }),
    success$(action$, state$)
  )
    .share();
};
开发者ID:bouzuya,项目名称:rally-rxjs,代码行数:19,代码来源:app.ts

示例5: increment

const handler: Handler = (action$: O<A<any>>, options: any): O<A<any>> => {
  return O.merge(
    increment(action$, options),
    render(action$, options)
  );
};
开发者ID:boajs,项目名称:counter-boa,代码行数:6,代码来源:index.ts

示例6: request

const $ = (action$: O<A<any>>, state$: O<State>, options: any): O<A<any>> => {
  const { type }: { type: string; } = options;
  const request = (name: string, params: any): A<any> => {
    return { type, data: { name, params } };
  };
  return O.merge(
    O.merge(
      route$(action$)
        .filter(({ route: { name } }) => name === 'stamp_rallies#index')
        .map(() => ({ token, userId }: Token) => {
          return request('stamp-rally-index', { token, userId });
        }),
      route$(action$)
        .filter(({ route: { name } }) => name === 'stamp_rallies#show')
        .map(({ params }) => params['id'])
        .map(stampRallyId => ({ token }: Token) => {
          return request('stamp-rally-show', { token, stampRallyId });
        }),
      route$(action$)
        .filter(({ route: { name } }) => name === 'stamp_rallies#show')
        .map(({ params }) => params['id'])
        .map(stampRallyId => ({ token }: Token) => {
          return request('spot-index', { token, stampRallyId });
        })
      )
      .withLatestFrom(state$, (create: any, state: any) => {
        return create(state.token);
      }),
    addSpot$(action$)
      .withLatestFrom<State, any>(state$, (_, state) => {
        return {
          token: state.token.token,
          stampRallyId: state.stampRally.name,
          name: state.spotForm.name
        };
      })
      .map(params => request('spot-create', params)),
    addStampRally$(action$)
      .withLatestFrom<State, any>(state$, (_, state) => {
        return {
          token: state.token.token,
          name: state.stampRallyForm.name
        };
      })
      .map(params => request('stamp-rally-create', params)),
    responseSpotCreate$(action$)
      .withLatestFrom<State, any>(state$, (_, state) => {
        return {
          token: state.token.token,
          stampRallyId: state.stampRally.name
        };
      })
      .map(params => request('spot-index', params)),
    goToSignIn$(action$)
      .withLatestFrom<State, any>(state$, (_, state) => {
        return {
          email: state.signIn.email,
          password: state.signIn.password,
        };
      })
      .map(params => request('token-create', params))
    );
};
开发者ID:bouzuya,项目名称:rally-rxjs,代码行数:63,代码来源:request.ts

示例7: state

const handler: Handler = (action$: O<A<any>>, options: any): O<A<any>> => {
  return O.merge<A<any>>(
    state(action$, options),
    service(action$, options)
  );
};
开发者ID:boajs,项目名称:counter-boa,代码行数:6,代码来源:app.ts


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