const object_constants = {
string_url: "http://127.0.0.1:8080/",
string_prefix: "nicoty.",
get string_prefix_url() {
return this.string_url + this.string_prefix;
},
string_suffix: ".js",
array_lib: [
"kill",
"no.netscript",
"time",
"ls",
"servers",
"cp",
"root",
"score",
"ram.server",
"ps",
"ram.script",
"mri",
"lodash",
"guiframework",
],
array_sbin: [
"4s.tix.api",
"botnet",
"grow",
"hack",
"hacker",
"nop",
"programs",
"ram",
"servers",
"stock.trader",
"tor",
"weaken.cyclic",
"weaken",
"weaken.manager",
],
array_bin: [
"contracts",
"cp",
"hacknet",
"installer",
"kill",
"lshw",
"main",
"rm",
"stocks",
"gui",
],
};
export const main = async (object_netscript) => {
const array_fetch = async ({ string_prefix: p, array_files: a }) => {
const string_prefix_concatenated_url =
object_constants.string_prefix_url + p,
string_prefix_concatenated_file = object_constants.string_prefix + p;
return await Promise.all(
a.map(
async (string_file) =>
await fetch(
string_prefix_concatenated_url +
string_file +
object_constants.string_suffix
).then(async (object_response) => {
const string_file_name =
string_prefix_concatenated_file +
string_file +
object_constants.string_suffix;
await object_response
.text()
.then((string_text) =>
object_netscript.write(string_file_name, string_text, "w")
);
return string_file_name;
})
)
);
};
const string_from_array = ({ array_input: a, string_delimiter: d }) =>
a.reduce(
(string_accumulator, string_element, integer_index, array_input) =>
integer_index < array_input.length
? string_accumulator + string_element + d
: string_accumulator + string_element,
""
);
const void_main = async () => {
object_netscript.tprint(
"\nInstalled:\n" +
[
await array_fetch({
string_prefix: "lib.",
array_files: object_constants.array_lib,
}),
await array_fetch({
string_prefix: "sbin.",
array_files: object_constants.array_sbin,
}),
await array_fetch({
string_prefix: "bin.",
array_files: object_constants.array_bin,
}),
].reduce(
(string_accumulator, array_current) =>
string_accumulator +
string_from_array({
array_input: array_current,
string_delimiter: "\n",
}),
""
)
);
};
await void_main();
};