UNPKG

muddler

Version:

A minifier for hackmud scripts

120 lines (118 loc) 3.04 kB
//It's externs time. const fs = require('fs'); const prefixes = ['$s', '$fs', '$ms', '$ls', '$ns', '$4s', '$3s', '$2s', '$1s'] const scripts = ['accts.balance', 'chats.leave', 'corps.quit', 'gui.vol', 'scripts.ensure_midsec', 'scripts.nullsec', 'sys.loc', 'users.active', 'accts.transactions', 'chats.send', 'corps.top', 'kernel.hardline', 'scripts.ensure_nullsec', 'scripts.sys', 'sys.manage', 'users.last_action', 'accts.xfer_gc_to', 'chats.tell', 'escrow.charge', 'market.browse', 'scripts.fullsec', 'scripts.trust', 'sys.specs', 'users.top', 'accts.xfer_gc_to_caller', 'chats.users', 'escrow.confirm', 'market.buy', 'scripts.get_access_level', 'scripts.user', 'sys.status', 'autos.reset', 'corps.create', 'escrow.stats', 'market.sell', 'scripts.get_level', 'sys.access_log', 'sys.upgrade_log', 'chats.channels', 'corps.hire', 'gui.chats', 'market.stats', 'scripts.highsec', 'sys.breach', 'sys.upgrades', 'chats.create', 'corps.manage', 'gui.quiet', 'scripts.ensure_highsec', 'scripts.lowsec', 'sys.cull', 'sys.xfer_upgrade_to', 'chats.join', 'corps.offers', 'gui.vfx', 'scripts.ensure_lowsec', 'scripts.midsec', 'sys.init', 'trust.me', "scripts", "scripts.lib()", "scripts.lib().ok()", "scripts.lib().not_impl()", "scripts.lib().log()", "scripts.lib().get_log()", "scripts.lib().rand_int()", "scripts.lib().are_ids_eq()", "scripts.lib().is_obj()", "scripts.lib().is_str()", "scripts.lib().is_num()", "scripts.lib().is_int()", "scripts.lib().is_neg()", "scripts.lib().is_arr()", "scripts.lib().is_func()", "scripts.lib().is_def()", "scripts.lib().is_valid_name()", "scripts.lib().dump()", "scripts.lib().clone()", "scripts.lib().merge()", "scripts.lib().get_values()", "scripts.lib().hash_code()", "scripts.lib().to_gc_str()", "scripts.lib().to_gc_num()", "scripts.lib().to_game_timestr()" , "scripts.lib().cap_str_len()", "scripts.lib().each()", "scripts.lib().select()", "scripts.lib().count()", "scripts.lib().select_one()", "scripts.lib().map()", "scripts.lib().shuffle()", "scripts.lib().sort_asc()", "scripts.lib().sort_desc()", "scripts.lib().num_sort_asc()", "scripts.lib().num_sort_desc()", "scripts.lib().max_val_index()", "scripts.lib().add_time()", "scripts.lib().security_level_names()", "scripts.lib().get_security_level_name()", "scripts.lib().create_rand_string()", "scripts.lib().get_user_from_script()", "scripts.lib().u_sort_num_arr_desc()", "scripts.lib().can_continue_execution()", "scripts.lib().can_continue_execution_error()", "scripts.lib().date()", "scripts.lib().get_date()", "scripts.lib().get_date_utcsecs()",] const dbs = ['$db', '$db.i()', '$db.r()', '$db.f()', '$db.u()']; let out = scripts.map(script => prefixes.map(prefix => `${prefix}.${script}`)) as any out = prefixes.concat(out as any) out = dbs.concat(out as any); out = out.reduce((acc, i) => acc.concat(i), []) let strOut = out.join(';\n'); console.log(JSON.stringify(strOut)); fs.writeFileSync('dist/externs.js', strOut, 'utf8')