Class: JavaScriptKernel#

@jupyterlite/javascript-kernel.JavaScriptKernel

A kernel that executes code in an IFrame.

Hierarchy#

  • BaseKernel

    JavaScriptKernel

Implements#

  • IKernel

Constructors#

constructor#

new JavaScriptKernel(options)

Instantiate a new JavaScriptKernel

Parameters#

Name

Type

Description

options

IOptions

The instantiation options for a new JavaScriptKernel

Overrides#

BaseKernel.constructor

Defined in#

packages/javascript-kernel/src/kernel.ts:22

Properties#

_ready#

Private _ready: PromiseDelegate<void>

Defined in#

packages/javascript-kernel/src/kernel.ts:273

_worker#

Private _worker: Worker

Defined in#

packages/javascript-kernel/src/kernel.ts:272

remoteKernel#

Protected remoteKernel: IRemoteJavaScriptWorkerKernel

Defined in#

packages/javascript-kernel/src/kernel.ts:270

Accessors#

disposed#

get disposed(): ISignal<this, void>

A signal emitted when the kernel is disposed.

Returns#

ISignal<this, void>

Implementation of#

IKernel.disposed

Inherited from#

BaseKernel.disposed

Defined in#

packages/kernel/lib/kernel.d.ts:25

executionCount#

get executionCount(): number

The current execution count

Returns#

number

Inherited from#

BaseKernel.executionCount

Defined in#

packages/kernel/lib/kernel.d.ts:41

id#

get id(): string

Get the kernel id

Returns#

string

Implementation of#

IKernel.id

Inherited from#

BaseKernel.id

Defined in#

packages/kernel/lib/kernel.d.ts:29

isDisposed#

get isDisposed(): boolean

Return whether the kernel is disposed.

Returns#

boolean

Implementation of#

IKernel.isDisposed

Inherited from#

BaseKernel.isDisposed

Defined in#

packages/kernel/lib/kernel.d.ts:21

location#

get location(): string

The location in the virtual filesystem from which the kernel was started.

Returns#

string

Implementation of#

IKernel.location

Inherited from#

BaseKernel.location

Defined in#

packages/kernel/lib/kernel.d.ts:37

name#

get name(): string

Get the name of the kernel

Returns#

string

Implementation of#

IKernel.name

Inherited from#

BaseKernel.name

Defined in#

packages/kernel/lib/kernel.d.ts:33

parent#

get parent(): undefined | IMessage<MessageType>

Get the last parent message (mimic ipykernel’s get_parent)

Returns#

undefined | IMessage<MessageType>

Inherited from#

BaseKernel.parent

Defined in#

packages/kernel/lib/kernel.d.ts:49

parentHeader#

get parentHeader(): undefined | IHeader<MessageType>

Get the last parent header

Returns#

undefined | IHeader<MessageType>

Inherited from#

BaseKernel.parentHeader

Defined in#

packages/kernel/lib/kernel.d.ts:45

ready#

get ready(): Promise<void>

A promise that is fulfilled when the kernel is ready.

Returns#

Promise<void>

Implementation of#

IKernel.ready

Overrides#

BaseKernel.ready

Defined in#

packages/javascript-kernel/src/kernel.ts:45

Methods#

_processWorkerMessage#

Private _processWorkerMessage(msg): void

Process a message coming from the JavaScript web worker.

Parameters#

Name

Type

Description

msg

any

The worker message to process.

Returns#

void

Defined in#

packages/javascript-kernel/src/kernel.ts:212

clearOutput#

Protected clearOutput(content, parentHeader?): void

Send a clear_output message to the client.

Parameters#

Name

Type

Description

content

Object

The clear_output content.

content.wait

boolean

-

parentHeader?

IHeader<MessageType>

The parent header.

Returns#

void

Inherited from#

BaseKernel.clearOutput

Defined in#

packages/kernel/lib/kernel.d.ts:174

commClose#

commClose(msg): Promise<void>

Send an comm_close message.

Parameters#

Name

Type

msg

ICommCloseMsg<"iopub" | "shell">

Returns#

Promise<void>

Overrides#

BaseKernel.commClose

Defined in#

packages/javascript-kernel/src/kernel.ts:175

commInfoRequest#

commInfoRequest(content): Promise<ReplyContent<ICommInfoReply>>

Handle a comm_info_request message.

Parameters#

Name

Type

Description

content

Object

The content of the request.

content.target_name?

string

The comm target name to filter returned comms

Returns#

Promise<ReplyContent<ICommInfoReply>>

A promise that resolves with the response message.

Overrides#

BaseKernel.commInfoRequest

Defined in#

packages/javascript-kernel/src/kernel.ts:137

commMsg#

commMsg(msg): Promise<void>

Send an comm_msg message.

Parameters#

Name

Type

Description

msg

ICommMsgMsg<"iopub" | "shell">

The comm_msg message.

Returns#

Promise<void>

Overrides#

BaseKernel.commMsg

Defined in#

packages/javascript-kernel/src/kernel.ts:166

commOpen#

commOpen(msg): Promise<void>

Send an comm_open message.

Parameters#

Name

Type

Description

msg

ICommOpenMsg<"iopub" | "shell">

The comm_open message.

Returns#

Promise<void>

Overrides#

BaseKernel.commOpen

Defined in#

packages/javascript-kernel/src/kernel.ts:157

completeRequest#

completeRequest(content): Promise<ReplyContent<ICompleteReply>>

Handle an complete_request message

Parameters#

Name

Type

content

Object

content.code

string

content.cursor_pos

number

Returns#

Promise<ReplyContent<ICompleteReply>>

Overrides#

BaseKernel.completeRequest

Defined in#

packages/javascript-kernel/src/kernel.ts:98

displayData#

Protected displayData(content, parentHeader?): void

Send a display_data message to the client.

Parameters#

Name

Type

Description

content

Object

The display_data content.

content.data

IMimeBundle

-

content.metadata

PartialJSONObject

-

content.transient?

Object

-

content.transient.display_id?

string

-

parentHeader?

IHeader<MessageType>

The parent header.

Returns#

void

Inherited from#

BaseKernel.displayData

Defined in#

packages/kernel/lib/kernel.d.ts:139

dispose#

dispose(): void

Dispose the kernel.

Returns#

void

Implementation of#

IKernel.dispose

Overrides#

BaseKernel.dispose

Defined in#

packages/javascript-kernel/src/kernel.ts:33

executeRequest#

executeRequest(content): Promise<Object>

Handle an execute_request message

Parameters#

Name

Type

Description

content

Object

-

content.allow_stdin?

boolean

Whether to allow stdin requests. The default is true.

content.code

string

The code to execute.

content.silent?

boolean

Whether to execute the code as quietly as possible. The default is false.

content.stop_on_error?

boolean

Whether to the abort execution queue on an error. The default is false.

content.store_history?

boolean

Whether to store history of the execution. The default true if silent is False. It is forced to false if silent is true.

content.user_expressions?

JSONObject

A mapping of names to expressions to be evaluated in the kernel’s interactive namespace.

Returns#

Promise<Object>

Overrides#

BaseKernel.executeRequest

Defined in#

packages/javascript-kernel/src/kernel.ts:85

handleComm#

Protected handleComm(type, content, metadata, buffers, parentHeader?): void

Send a comm message to the client.

Parameters#

Name

Type

type

"comm_open" | "comm_msg" | "comm_close"

content

Object

content.comm_id

string

content.data

JSONObject

metadata

JSONObject

buffers

undefined | (ArrayBuffer | ArrayBufferView)[]

parentHeader?

IHeader<MessageType>

Returns#

void

Inherited from#

BaseKernel.handleComm

Defined in#

packages/kernel/lib/kernel.d.ts:180

handleMessage#

handleMessage(msg): Promise<void>

Handle an incoming message from the client.

Parameters#

Name

Type

Description

msg

IMessage<MessageType>

The message to handle

Returns#

Promise<void>

Implementation of#

IKernel.handleMessage

Inherited from#

BaseKernel.handleMessage

Defined in#

packages/kernel/lib/kernel.d.ts:59

initRemote#

Protected initRemote(options): IRemoteJavaScriptWorkerKernel

Initialize the remote kernel.

Parameters#

Name

Type

Description

options

IOptions

The options for the remote kernel.

Returns#

IRemoteJavaScriptWorkerKernel

The initialized remote kernel.

Defined in#

packages/javascript-kernel/src/kernel.ts:199

initWorker#

Protected initWorker(options): Worker

Load the worker.

Note#

Subclasses must implement this typographically almost exactly for webpack to find it.

Parameters#

Name

Type

options

IOptions

Returns#

Worker

Defined in#

packages/javascript-kernel/src/kernel.ts:187

inputReply#

inputReply(content): void

Send an input_reply message.

Parameters#

Name

Type

Description

content

ReplyContent<IInputReply>

The content of the reply.

Returns#

void

Overrides#

BaseKernel.inputReply

Defined in#

packages/javascript-kernel/src/kernel.ts:148

inputRequest#

Protected inputRequest(content, parentHeader?): void

Send a input_request message to the client.

Parameters#

Name

Type

Description

content

Object

The input_request content.

content.password

boolean

Whether the request is for a password. If so, the frontend shouldn’t echo input.

content.prompt

string

The text to show at the prompt.

parentHeader?

IHeader<MessageType>

The parent header.

Returns#

void

Inherited from#

BaseKernel.inputRequest

Defined in#

packages/kernel/lib/kernel.d.ts:146

inspectRequest#

inspectRequest(content): Promise<ReplyContent<IInspectReply>>

Handle an inspect_request message.

Parameters#

Name

Type

Description

content

Object

The content of the request.

content.code

string

-

content.cursor_pos

number

-

content.detail_level

0 | 1

-

Returns#

Promise<ReplyContent<IInspectReply>>

A promise that resolves with the response message.

Overrides#

BaseKernel.inspectRequest

Defined in#

packages/javascript-kernel/src/kernel.ts:111

isCompleteRequest#

isCompleteRequest(content): Promise<ReplyContent<IIsCompleteReplyIncomplete | IIsCompleteReplyOther>>

Handle an is_complete_request message.

Parameters#

Name

Type

Description

content

Object

The content of the request.

content.code

string

-

Returns#

Promise<ReplyContent<IIsCompleteReplyIncomplete | IIsCompleteReplyOther>>

A promise that resolves with the response message.

Overrides#

BaseKernel.isCompleteRequest

Defined in#

packages/javascript-kernel/src/kernel.ts:124

kernelInfoRequest#

kernelInfoRequest(): Promise<ReplyContent<IInfoReply>>

Handle a kernel_info_request message

Returns#

Promise<ReplyContent<IInfoReply>>

Overrides#

BaseKernel.kernelInfoRequest

Defined in#

packages/javascript-kernel/src/kernel.ts:52

publishExecuteError#

Protected publishExecuteError(content, parentHeader?): void

Send an error message to the client.

Parameters#

Name

Type

Description

content

Object

The error content.

content.ename

string

-

content.evalue

string

-

content.traceback

string[]

-

parentHeader?

IHeader<MessageType>

The parent header.

Returns#

void

Inherited from#

BaseKernel.publishExecuteError

Defined in#

packages/kernel/lib/kernel.d.ts:160

publishExecuteResult#

Protected publishExecuteResult(content, parentHeader?): void

Send an execute_result message.

Parameters#

Name

Type

Description

content

Object

The execute result content.

content.data

IMimeBundle

-

content.execution_count

ExecutionCount

-

content.metadata

PartialJSONObject

-

content.transient?

Object

-

content.transient.display_id?

string

-

parentHeader?

IHeader<MessageType>

The parent header.

Returns#

void

Inherited from#

BaseKernel.publishExecuteResult

Defined in#

packages/kernel/lib/kernel.d.ts:153

stream#

Protected stream(content, parentHeader?): void

Stream an event from the kernel

Parameters#

Name

Type

Description

content

Object

The stream content.

content.name

"stdout" | "stderr"

-

content.text

string

-

parentHeader?

IHeader<MessageType>

The parent header.

Returns#

void

Inherited from#

BaseKernel.stream

Defined in#

packages/kernel/lib/kernel.d.ts:132

updateDisplayData#

Protected updateDisplayData(content, parentHeader?): void

Send a update_display_data message to the client.

Parameters#

Name

Type

Description

content

{ data: IMimeBundle ; metadata: PartialJSONObject ; transient?: { display_id?: string } } & { transient: { display_id: string } }

The update_display_data content.

parentHeader?

IHeader<MessageType>

The parent header.

Returns#

void

Inherited from#

BaseKernel.updateDisplayData

Defined in#

packages/kernel/lib/kernel.d.ts:167