本文整理匯總了TypeScript中@nteract/types.createKernelRef函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript createKernelRef函數的具體用法?TypeScript createKernelRef怎麽用?TypeScript createKernelRef使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了createKernelRef函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: fixtureStore
export function fixtureStore(config: JSONObject) {
const dummyNotebook = buildFixtureNotebook(config);
const frontendToShell = new Subject();
const shellToFrontend = new Subject();
const mockShell = Subject.create(frontendToShell, shellToFrontend);
const channels = mockShell;
const kernelRef = createKernelRef();
const contentRef = createContentRef();
const initialAppState: AppState = {
core: makeStateRecord({
kernelRef,
entities: makeEntitiesRecord({
contents: makeContentsRecord({
byRef: Immutable.Map({
[contentRef]: makeNotebookContentRecord({
model: makeDocumentRecord({
notebook: dummyNotebook,
savedNotebook:
config && config.saved === true
? dummyNotebook
: emptyNotebook,
cellPagers: Immutable.Map(),
cellFocused:
config && config.codeCellCount && config.codeCellCount > 1
? dummyNotebook.get("cellOrder", Immutable.List()).get(1)
: null
}),
filepath:
config && config.noFilename ? "" : "dummy-store-nb.ipynb"
})
})
}),
kernels: makeKernelsRecord({
byRef: Immutable.Map({
[kernelRef]: makeRemoteKernelRecord({
channels,
status: "not connected"
})
})
})
})
}),
app: makeAppRecord({
notificationSystem: {
addNotification: () => {} // most of the time you'll want to mock this
},
githubToken: "TOKEN"
}),
config: Immutable.Map({
theme: "light"
}),
comms: makeCommsRecord()
};
return createStore(rootReducer, initialAppState as any);
}
示例2: test
test("creates a SET_EXECUTION_STATE action", () => {
const kernelRef = createKernelRef();
expect(
actions.setExecutionState({ kernelStatus: "idle", kernelRef })
).toEqual({
type: actionTypes.SET_EXECUTION_STATE,
payload: { kernelStatus: "idle", kernelRef }
});
});
示例3: switchMap
switchMap((action: actions.ChangeKernelByName) => {
const {
payload: { contentRef, oldKernelRef, kernelSpecName }
} = action;
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);
// TODO: This is the case where we didn't have a kernel before
// and they chose to switch kernels. Instead we need to allow
// "switching" by disregarding the previous kernel and creating a
// new session
if (!oldKernelRef) {
return empty();
}
const oldKernel = selectors.kernel(state, { kernelRef: oldKernelRef });
if (!oldKernel || oldKernel.type !== "websocket") {
return empty();
}
const { sessionId } = oldKernel;
if (!sessionId) {
return empty();
}
const content = selectors.content(state, { contentRef });
if (!content || content.type !== "notebook") {
return empty();
}
const {
filepath,
model: { notebook }
} = content;
const { cwd } = extractNewKernel(filepath, notebook);
const kernelRef = createKernelRef();
return kernels.start(serverConfig, kernelSpecName, cwd).pipe(
mergeMap(({ response }) => {
const { id: kernelId } = response;
const sessionPayload = {
kernel: { id: kernelId, name: kernelSpecName }
};
// The sessions API will close down the old kernel for us if it is
// on this session
return sessions.update(serverConfig, sessionId, sessionPayload).pipe(
mergeMap(({ response: session }) => {
const kernel: RemoteKernelProps = Object.assign(
{},
session.kernel,
{
type: "websocket",
sessionId,
cwd,
channels: kernels.connect(
serverConfig,
session.kernel.id,
sessionId
),
kernelSpecName
}
);
return of(
actions.launchKernelSuccessful({
kernel,
kernelRef,
contentRef: action.payload.contentRef,
selectNextKernel: true
})
);
}),
catchError(error =>
of(actions.launchKernelFailed({ error, kernelRef, contentRef }))
)
);
}),
catchError(error =>
of(actions.launchKernelFailed({ error, kernelRef, contentRef }))
)
);
})