當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。