mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-05-20 22:18:18 -05:00
This commit changes the TypeScript global variable of `Config` from `AnyObject` to `Config & AnyObject`. It still falls back to `AnyObject` (hence the 'Take steps') because of the main-specific `Config` properties that are used without being in the `Config` object itself. These can be added by someone with access to the PS main server. Regardlesss, this is an improvement as IntelliSense can display and autocomplete the known properies. In addition, the TypeScript compiler will now report bugs concerning the types of the properties, which I have fixed in this commit.
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import * as ChatType from './chat';
|
|
import * as RoomsType from './rooms';
|
|
import * as RoomlogsType from './roomlogs';
|
|
import * as SocketsType from './sockets';
|
|
import * as TeamValidatorAsyncType from './team-validator-async';
|
|
import * as UsersType from './users';
|
|
import * as VerifierType from './verifier';
|
|
|
|
import * as ConfigType from "../config/config-example";
|
|
|
|
import * as StreamsType from '../lib/streams';
|
|
|
|
import {IPTools as IPToolsType} from './ip-tools';
|
|
import {LadderStore as LadderStoreType} from './ladders-remote';
|
|
import {Ladders as LaddersType} from './ladders';
|
|
import {LoginServer as LoginServerType} from './loginserver';
|
|
import {Monitor as MonitorType} from './monitor';
|
|
import {Punishments as PunishmentsType} from './punishments';
|
|
|
|
declare global {
|
|
namespace NodeJS {
|
|
interface Global {
|
|
IPTools: any;
|
|
Config: any;
|
|
Chat: any;
|
|
__version: {head: string, origin?: string, tree?: string};
|
|
}
|
|
}
|
|
const Config: typeof ConfigType & AnyObject;
|
|
const Chat: typeof ChatType.Chat;
|
|
const IPTools: typeof IPToolsType;
|
|
const Ladders: typeof LaddersType
|
|
const LadderStoreT: typeof LadderStoreType;
|
|
const LoginServer: typeof LoginServerType;
|
|
const Monitor: typeof MonitorType;
|
|
const Punishments: typeof PunishmentsType;
|
|
const Sockets: typeof SocketsType;
|
|
const TeamValidatorAsync: typeof TeamValidatorAsyncType;
|
|
const Rooms: typeof RoomsType.Rooms;
|
|
const Roomlogs: typeof RoomlogsType.Roomlogs;
|
|
const Users: typeof UsersType.Users
|
|
const Verifier: typeof VerifierType;
|
|
}
|