mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-23 22:52:29 +01:00
commit
b00d2acc00
@ -1,4 +1,3 @@
|
||||
import {registerEnv, unregisterEnv, makeEnvHeader} from "./NetscriptJSPreamble";
|
||||
import {makeRuntimeRejectMsg} from "./NetscriptEvaluator";
|
||||
|
||||
// Makes a blob that contains the code of a given script.
|
||||
|
@ -1,42 +0,0 @@
|
||||
// A utility function that adds a preamble to each Netscript JS
|
||||
// script. This preamble will set all the global functions and
|
||||
// variables appropriately for the module.
|
||||
//
|
||||
// One caveat is that we don't allow the variables in the preable
|
||||
// to change. Unlike in normal Javascript, this would not change
|
||||
// properties of self. It would instead just change the variable
|
||||
// within the given module -- not good! Users should not really
|
||||
// need to do this anyway.
|
||||
|
||||
import uuidv4 from "uuid/v4";
|
||||
import {sprintf} from "sprintf-js";
|
||||
|
||||
window.__NSJS__environments = {};
|
||||
|
||||
// Returns the UUID for the env.
|
||||
export function registerEnv(env) {
|
||||
const uuid = uuidv4();
|
||||
window.__NSJS__environments[uuid] = env;
|
||||
return uuid;
|
||||
}
|
||||
|
||||
export function unregisterEnv(uuid) {
|
||||
delete window.__NSJS__environments[uuid];
|
||||
}
|
||||
|
||||
export function makeEnvHeader(uuid) {
|
||||
if (!(uuid in window.__NSJS__environments)) throw new Error("uuid is not in the environment" + uuid);
|
||||
|
||||
const env = window.__NSJS__environments[uuid];
|
||||
var envLines = [];
|
||||
for (const prop in env) {
|
||||
envLines.push("const ", prop, " = ", "__NSJS_ENV[\"", prop, "\"];\n");
|
||||
}
|
||||
|
||||
return sprintf(`
|
||||
'use strict';
|
||||
const __NSJS_ENV = window.__NSJS__environments['%s'];
|
||||
// The global variable assignments (hack, weaken, etc.).
|
||||
%s
|
||||
`, uuid, envLines.join(""));
|
||||
}
|
Loading…
Reference in New Issue
Block a user