From 84c38f34eeb2a6f9f6786aba0f5da5eb9efa422b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sat, 25 Aug 2018 21:42:49 +0200 Subject: Prevent circular imports in ts code (#576) --- js/globals.ts | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'js/globals.ts') diff --git a/js/globals.ts b/js/globals.ts index beecbf58d..80e00ea15 100644 --- a/js/globals.ts +++ b/js/globals.ts @@ -2,10 +2,11 @@ import { Console } from "./console"; import { exit } from "./os"; -import { RawSourceMap } from "./types"; import * as timers from "./timers"; -import { TextEncoder, TextDecoder } from "./text_encoding"; +import { TextDecoder, TextEncoder } from "./text_encoding"; import * as fetch_ from "./fetch"; +import { libdeno } from "./libdeno"; +import { globalEval } from "./global-eval"; declare global { interface Window { @@ -36,27 +37,10 @@ declare global { // tslint:enable:variable-name } -// If you use the eval function indirectly, by invoking it via a reference -// other than eval, as of ECMAScript 5 it works in the global scope rather than -// the local scope. This means, for instance, that function declarations create -// global functions, and that the code being evaluated doesn't have access to -// local variables within the scope where it's being called. -export const globalEval = eval; - // A reference to the global object. export const window = globalEval("this"); window.window = window; -// The libdeno functions are moved so that users can't access them. -type MessageCallback = (msg: Uint8Array) => void; -interface Libdeno { - recv(cb: MessageCallback): void; - send(msg: ArrayBufferView): null | Uint8Array; - print(x: string): void; - mainSource: string; - mainSourceMap: RawSourceMap; -} -export const libdeno = window.libdeno as Libdeno; window.libdeno = null; // import "./url"; -- cgit v1.2.3