mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-20 05:37:54 +01:00
6cf7d1ab5f
* ports the chat settings update * . * . * follow up changes * zod * migration changes from jl * this will blow up badly * yuck * . * . * order * . * : * be gone * . * . * logging * dix logging * move to its own atom * fix settings import * . * fix audio * tgui fix * . * archiving as atom * more changes from JL * bring back default archive all * no stale state * no need to run twice * - * we need both anyway * dep up * . * build fixes port * Fix file path replacement in build script * backend update * . * . * use the tg method * only use as unchunked fallback for say etc * . * linter errors * tg's chunking methód should be sane enough * sadly still not * update for tg chunking * force those * jl suggestion * . * needs game atom * push * have this * we only want to store if a page was changed or added * only store what we really care about * fixes import port * we need settings first * recoloring shouldn't be a pain * partial * . * some type fixing * . * no throw of events * ree map might not be there yet * . * always store our settings * this is a valid crash * ss early assets * saver image access * missed unsafe access * . * move chat loading order * . * . * . * . * missing unregs * keep the ref map name, just don't bother * await the asset like redux did before * try that? * . * use await * biome up * better handling as JL did on tg * rename * last dep up * major bump here * major bump --------- Co-authored-by: Cameron Lennox <killer65311@gmail.com>
43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
/**
|
|
* Tools for dealing with Windows Registry bullshit.
|
|
*
|
|
* Adapted from `tgui/packages/tgui-dev-server/winreg.js`.
|
|
*
|
|
* @file
|
|
* @copyright 2021 Aleksej Komarov
|
|
* @license MIT
|
|
*/
|
|
|
|
import { exec } from 'node:child_process';
|
|
import { promisify } from 'node:util';
|
|
|
|
export async function regQuery(
|
|
path: string,
|
|
key: string,
|
|
): Promise<string | undefined> {
|
|
if (process.platform !== 'win32') {
|
|
return;
|
|
}
|
|
try {
|
|
const command = `reg query "${path}" /v ${key}`;
|
|
const { stdout } = await promisify(exec)(command);
|
|
const keyPattern = ` ${key} `;
|
|
const indexOfKey = stdout.indexOf(keyPattern);
|
|
if (indexOfKey === -1) {
|
|
return;
|
|
}
|
|
const indexOfEol = stdout.indexOf('\r\n', indexOfKey);
|
|
if (indexOfEol === -1) {
|
|
return;
|
|
}
|
|
const indexOfValue = stdout.indexOf(' ', indexOfKey + keyPattern.length);
|
|
if (indexOfValue === -1) {
|
|
return;
|
|
}
|
|
const value = stdout.substring(indexOfValue + 4, indexOfEol);
|
|
return value;
|
|
} catch (err) {
|
|
return;
|
|
}
|
|
}
|