diff options
Diffstat (limited to 'core/libdeno/libdeno.d.ts')
-rw-r--r-- | core/libdeno/libdeno.d.ts | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/core/libdeno/libdeno.d.ts b/core/libdeno/libdeno.d.ts new file mode 100644 index 000000000..1bc7367d9 --- /dev/null +++ b/core/libdeno/libdeno.d.ts @@ -0,0 +1,40 @@ +// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. + +interface EvalErrorInfo { + // Is the object thrown a native Error? + isNativeError: boolean; + // Was the error happened during compilation? + isCompileError: boolean; + // The actual thrown entity + // (might be an Error or anything else thrown by the user) + // If isNativeError is true, this is an Error + // eslint-disable-next-line @typescript-eslint/no-explicit-any + thrown: any; +} + +declare interface MessageCallback { + (msg: Uint8Array): void; +} + +declare interface DenoCore { + recv(cb: MessageCallback): void; + + send( + control: null | ArrayBufferView, + data?: ArrayBufferView + ): null | Uint8Array; + + print(x: string, isErr?: boolean): void; + + shared: SharedArrayBuffer; + + /** Evaluate provided code in the current context. + * It differs from eval(...) in that it does not create a new context. + * Returns an array: [output, errInfo]. + * If an error occurs, `output` becomes null and `errInfo` is non-null. + */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + evalContext(code: string): [any, EvalErrorInfo | null]; + + errorToJSON: (e: Error) => string; +} |