本文整理汇总了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))
);
};
示例2:
const $ = (action$: O<A<any>>, _: O<State>): O<A<any>> => {
return O
.merge(
responseStampRallyShow$(action$)
.map(successStampRallyShow),
responseTokenCreate$(action$)
.map(successSignIn)
);
};
示例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)
);
});
示例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();
};
示例5: increment
const handler: Handler = (action$: O<A<any>>, options: any): O<A<any>> => {
return O.merge(
increment(action$, options),
render(action$, options)
);
};
示例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))
);
};
示例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)
);
};