diff options
Diffstat (limited to 'js/globals.ts')
-rw-r--r-- | js/globals.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/js/globals.ts b/js/globals.ts new file mode 100644 index 000000000..cca72d172 --- /dev/null +++ b/js/globals.ts @@ -0,0 +1,32 @@ +// Copyright 2018 Ryan Dahl <ry@tinyclouds.org> +// All rights reserved. MIT License. +import * as timer from "./timers"; + +// 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. +// TODO The underscore is because it's conflicting with @types/node. +export const _global = globalEval("this"); + +_global["window"] = _global; // Create a window object. +import "./url"; + +_global["setTimeout"] = timer.setTimeout; +_global["setInterval"] = timer.setInterval; +_global["clearTimeout"] = timer.clearTimer; +_global["clearInterval"] = timer.clearTimer; + +import { Console } from "./console"; +_global["console"] = new Console(); + +import { fetch } from "./fetch"; +_global["fetch"] = fetch; + +import { TextEncoder, TextDecoder } from "text-encoding"; +_global["TextEncoder"] = TextEncoder; +_global["TextDecoder"] = TextDecoder; |