本文整理匯總了TypeScript中@nteract/selectors.currentKernel函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript currentKernel函數的具體用法?TypeScript currentKernel怎麽用?TypeScript currentKernel使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了currentKernel函數的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: concatMap
concatMap((action: actions.KillKernelAction) => {
const state = state$.value;
const host = selectors.currentHost(state);
if (host.type !== "jupyter") {
// Dismiss any usage that isn't targeting a jupyter server
return empty();
}
const serverConfig: ServerConfig = selectors.serverConfig(host);
const kernel = selectors.currentKernel(state);
if (!kernel) {
return of(
actions.killKernelFailed({
error: new Error("kernel not available for killing"),
kernelRef: action.payload.kernelRef
})
);
}
if (kernel.type !== "websocket" || !kernel.id || !kernel.sessionId) {
return of(
actions.killKernelFailed({
error: new Error(
"websocket kernel epic can only kill websocket kernels with an id"
),
kernelRef: action.payload.kernelRef
})
);
}
// TODO: If this was a kernel language change, we shouldn't be using this
// kill kernel epic because we need to make sure that creation happens
// after deletion
return sessions.destroy(serverConfig, kernel.sessionId).pipe(
map(() =>
actions.killKernelSuccessful({
kernelRef: action.payload.kernelRef
})
),
catchError(err =>
of(
actions.killKernelFailed({
error: err,
kernelRef: action.payload.kernelRef
})
)
)
);
})
示例2: createExecuteCellStream
export function createExecuteCellStream(
action$: ActionsObservable<
| ExecuteCanceled
| DeleteCell
| LaunchKernelAction
| LaunchKernelByNameAction
| KillKernelAction
| ExecuteCell
| ExecuteFocusedCell
>,
state: any,
message: ExecuteRequest,
id: string,
contentRef: ContentRef
): Observable<any> {
const kernel = selectors.currentKernel(state);
const channels = kernel ? kernel.channels : null;
const kernelConnected =
kernel &&
channels &&
!(kernel.status === "starting" || kernel.status === "not connected");
if (!kernelConnected || !channels) {
return of(
actions.executeFailed({
error: new Error("Kernel not connected!"),
contentRef
})
);
}
const cellStream = executeCellStream(channels, id, message, contentRef).pipe(
takeUntil(
merge(
action$.pipe(
ofType(actions.EXECUTE_CANCELED, actions.DELETE_CELL),
filter(
(
action:
| actions.ExecuteCanceled
| actions.DeleteCell
| actions.LaunchKernelAction
| actions.LaunchKernelByNameAction
| actions.KillKernelAction
| actions.ExecuteCell
| actions.ExecuteFocusedCell
) => (action as actions.ExecuteCanceled).payload.id === id
)
),
action$.pipe(
ofType(
actions.LAUNCH_KERNEL,
actions.LAUNCH_KERNEL_BY_NAME,
actions.KILL_KERNEL
)
)
)
)
);
return merge(
// We make sure to propagate back to "ourselves" the actual message
// that we sent to the kernel with the sendExecuteRequest action
of(actions.sendExecuteRequest({ id, message, contentRef })),
// Merging it in with the actual stream
cellStream
);
}