Pinsave/counterstrike
1
1export {}; // Make this a module2 3// #region Fetch and friends4// Conditional type aliases, used at the end of this file.5// Will either be empty if lib.dom (or lib.webworker) is included, or the undici version otherwise.6type _Request = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").Request;7type _Response = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").Response;8type _FormData = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").FormData;9type _Headers = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").Headers;10type _MessageEvent = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").MessageEvent;11type _RequestInit = typeof globalThis extends { onmessage: any } ? {}12 : import("undici-types").RequestInit;13type _ResponseInit = typeof globalThis extends { onmessage: any } ? {}14 : import("undici-types").ResponseInit;15type _WebSocket = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").WebSocket;16type _EventSource = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").EventSource;17type _CloseEvent = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").CloseEvent;18// #endregion Fetch and friends19 20// Conditional type definitions for webstorage interface, which conflicts with lib.dom otherwise.21type _Storage = typeof globalThis extends { onabort: any } ? {} : {22 readonly length: number;23 clear(): void;24 getItem(key: string): string | null;25 key(index: number): string | null;26 removeItem(key: string): void;27 setItem(key: string, value: string): void;28 [key: string]: any;29};30 31// #region DOMException32type _DOMException = typeof globalThis extends { onmessage: any } ? {} : NodeDOMException;33interface NodeDOMException extends Error {34 readonly code: number;35 readonly message: string;36 readonly name: string;37 readonly INDEX_SIZE_ERR: 1;38 readonly DOMSTRING_SIZE_ERR: 2;39 readonly HIERARCHY_REQUEST_ERR: 3;40 readonly WRONG_DOCUMENT_ERR: 4;41 readonly INVALID_CHARACTER_ERR: 5;42 readonly NO_DATA_ALLOWED_ERR: 6;43 readonly NO_MODIFICATION_ALLOWED_ERR: 7;44 readonly NOT_FOUND_ERR: 8;45 readonly NOT_SUPPORTED_ERR: 9;46 readonly INUSE_ATTRIBUTE_ERR: 10;47 readonly INVALID_STATE_ERR: 11;48 readonly SYNTAX_ERR: 12;49 readonly INVALID_MODIFICATION_ERR: 13;50 readonly NAMESPACE_ERR: 14;51 readonly INVALID_ACCESS_ERR: 15;52 readonly VALIDATION_ERR: 16;53 readonly TYPE_MISMATCH_ERR: 17;54 readonly SECURITY_ERR: 18;55 readonly NETWORK_ERR: 19;56 readonly ABORT_ERR: 20;57 readonly URL_MISMATCH_ERR: 21;58 readonly QUOTA_EXCEEDED_ERR: 22;59 readonly TIMEOUT_ERR: 23;60 readonly INVALID_NODE_TYPE_ERR: 24;61 readonly DATA_CLONE_ERR: 25;62}63interface NodeDOMExceptionConstructor {64 prototype: DOMException;65 new(message?: string, nameOrOptions?: string | { name?: string; cause?: unknown }): DOMException;66 readonly INDEX_SIZE_ERR: 1;67 readonly DOMSTRING_SIZE_ERR: 2;68 readonly HIERARCHY_REQUEST_ERR: 3;69 readonly WRONG_DOCUMENT_ERR: 4;70 readonly INVALID_CHARACTER_ERR: 5;71 readonly NO_DATA_ALLOWED_ERR: 6;72 readonly NO_MODIFICATION_ALLOWED_ERR: 7;73 readonly NOT_FOUND_ERR: 8;74 readonly NOT_SUPPORTED_ERR: 9;75 readonly INUSE_ATTRIBUTE_ERR: 10;76 readonly INVALID_STATE_ERR: 11;77 readonly SYNTAX_ERR: 12;78 readonly INVALID_MODIFICATION_ERR: 13;79 readonly NAMESPACE_ERR: 14;80 readonly INVALID_ACCESS_ERR: 15;81 readonly VALIDATION_ERR: 16;82 readonly TYPE_MISMATCH_ERR: 17;83 readonly SECURITY_ERR: 18;84 readonly NETWORK_ERR: 19;85 readonly ABORT_ERR: 20;86 readonly URL_MISMATCH_ERR: 21;87 readonly QUOTA_EXCEEDED_ERR: 22;88 readonly TIMEOUT_ERR: 23;89 readonly INVALID_NODE_TYPE_ERR: 24;90 readonly DATA_CLONE_ERR: 25;91}92// #endregion DOMException93 94declare global {95 var global: typeof globalThis;96 97 var process: NodeJS.Process;98 var console: Console;99 100 interface ErrorConstructor {101 /**102 * Creates a `.stack` property on `targetObject`, which when accessed returns103 * a string representing the location in the code at which104 * `Error.captureStackTrace()` was called.105 *106 * ```js107 * const myObject = {};108 * Error.captureStackTrace(myObject);109 * myObject.stack; // Similar to `new Error().stack`110 * ```111 *112 * The first line of the trace will be prefixed with113 * `${myObject.name}: ${myObject.message}`.114 *115 * The optional `constructorOpt` argument accepts a function. If given, all frames116 * above `constructorOpt`, including `constructorOpt`, will be omitted from the117 * generated stack trace.118 *119 * The `constructorOpt` argument is useful for hiding implementation120 * details of error generation from the user. For instance:121 *122 * ```js123 * function a() {124 * b();125 * }126 *127 * function b() {128 * c();129 * }130 *131 * function c() {132 * // Create an error without stack trace to avoid calculating the stack trace twice.133 * const { stackTraceLimit } = Error;134 * Error.stackTraceLimit = 0;135 * const error = new Error();136 * Error.stackTraceLimit = stackTraceLimit;137 *138 * // Capture the stack trace above function b139 * Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace140 * throw error;141 * }142 *143 * a();144 * ```145 */146 captureStackTrace(targetObject: object, constructorOpt?: Function): void;147 /**148 * @see https://v8.dev/docs/stack-trace-api#customizing-stack-traces149 */150 prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;151 /**152 * The `Error.stackTraceLimit` property specifies the number of stack frames153 * collected by a stack trace (whether generated by `new Error().stack` or154 * `Error.captureStackTrace(obj)`).155 *156 * The default value is `10` but may be set to any valid JavaScript number. Changes157 * will affect any stack trace captured _after_ the value has been changed.158 *159 * If set to a non-number value, or set to a negative number, stack traces will160 * not capture any frames.161 */162 stackTraceLimit: number;163 }164 165 /**166 * Enable this API with the `--expose-gc` CLI flag.167 */168 var gc: NodeJS.GCFunction | undefined;169 170 namespace NodeJS {171 interface CallSite {172 getColumnNumber(): number | null;173 getEnclosingColumnNumber(): number | null;174 getEnclosingLineNumber(): number | null;175 getEvalOrigin(): string | undefined;176 getFileName(): string | null;177 getFunction(): Function | undefined;178 getFunctionName(): string | null;179 getLineNumber(): number | null;180 getMethodName(): string | null;181 getPosition(): number;182 getPromiseIndex(): number | null;183 getScriptHash(): string;184 getScriptNameOrSourceURL(): string | null;185 getThis(): unknown;186 getTypeName(): string | null;187 isAsync(): boolean;188 isConstructor(): boolean;189 isEval(): boolean;190 isNative(): boolean;191 isPromiseAll(): boolean;192 isToplevel(): boolean;193 }194 195 interface ErrnoException extends Error {196 errno?: number | undefined;197 code?: string | undefined;198 path?: string | undefined;199 syscall?: string | undefined;200 }201 202 interface ReadableStream extends EventEmitter {203 readable: boolean;204 read(size?: number): string | Buffer;205 setEncoding(encoding: BufferEncoding): this;206 pause(): this;207 resume(): this;208 isPaused(): boolean;209 pipe<T extends WritableStream>(destination: T, options?: { end?: boolean | undefined }): T;210 unpipe(destination?: WritableStream): this;211 unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void;212 wrap(oldStream: ReadableStream): this;213 [Symbol.asyncIterator](): AsyncIterableIterator<string | Buffer>;214 }215 216 interface WritableStream extends EventEmitter {217 writable: boolean;218 write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean;219 write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean;220 end(cb?: () => void): this;221 end(data: string | Uint8Array, cb?: () => void): this;222 end(str: string, encoding?: BufferEncoding, cb?: () => void): this;223 }224 225 interface ReadWriteStream extends ReadableStream, WritableStream {}226 227 interface RefCounted {228 ref(): this;229 unref(): this;230 }231 232 interface Dict<T> {233 [key: string]: T | undefined;234 }235 236 interface ReadOnlyDict<T> {237 readonly [key: string]: T | undefined;238 }239 240 interface GCFunction {241 (minor?: boolean): void;242 (options: NodeJS.GCOptions & { execution: "async" }): Promise<void>;243 (options: NodeJS.GCOptions): void;244 }245 246 interface GCOptions {247 execution?: "sync" | "async" | undefined;248 flavor?: "regular" | "last-resort" | undefined;249 type?: "major-snapshot" | "major" | "minor" | undefined;250 filename?: string | undefined;251 }252 253 /** An iterable iterator returned by the Node.js API. */254 interface Iterator<T, TReturn = undefined, TNext = any> extends IteratorObject<T, TReturn, TNext> {255 [Symbol.iterator](): NodeJS.Iterator<T, TReturn, TNext>;256 }257 258 /** An async iterable iterator returned by the Node.js API. */259 interface AsyncIterator<T, TReturn = undefined, TNext = any> extends AsyncIteratorObject<T, TReturn, TNext> {260 [Symbol.asyncIterator](): NodeJS.AsyncIterator<T, TReturn, TNext>;261 }262 }263 264 // Global DOM types265 266 interface DOMException extends _DOMException {}267 var DOMException: typeof globalThis extends { onmessage: any; DOMException: infer T } ? T268 : NodeDOMExceptionConstructor;269 270 // #region AbortController271 interface AbortController {272 readonly signal: AbortSignal;273 abort(reason?: any): void;274 }275 var AbortController: typeof globalThis extends { onmessage: any; AbortController: infer T } ? T276 : {277 prototype: AbortController;278 new(): AbortController;279 };280 281 interface AbortSignal extends EventTarget {282 readonly aborted: boolean;283 onabort: ((this: AbortSignal, ev: Event) => any) | null;284 readonly reason: any;285 throwIfAborted(): void;286 }287 var AbortSignal: typeof globalThis extends { onmessage: any; AbortSignal: infer T } ? T288 : {289 prototype: AbortSignal;290 new(): AbortSignal;291 abort(reason?: any): AbortSignal;292 any(signals: AbortSignal[]): AbortSignal;293 timeout(milliseconds: number): AbortSignal;294 };295 // #endregion AbortController296 297 // #region Storage298 interface Storage extends _Storage {}299 // Conditional on `onabort` rather than `onmessage`, in order to exclude lib.webworker300 var Storage: typeof globalThis extends { onabort: any; Storage: infer T } ? T301 : {302 prototype: Storage;303 new(): Storage;304 };305 306 var localStorage: Storage;307 var sessionStorage: Storage;308 // #endregion Storage309 310 // #region fetch311 interface RequestInit extends _RequestInit {}312 313 function fetch(314 input: string | URL | globalThis.Request,315 init?: RequestInit,316 ): Promise<Response>;317 318 interface Request extends _Request {}319 var Request: typeof globalThis extends {320 onmessage: any;321 Request: infer T;322 } ? T323 : typeof import("undici-types").Request;324 325 interface ResponseInit extends _ResponseInit {}326 327 interface Response extends _Response {}328 var Response: typeof globalThis extends {329 onmessage: any;330 Response: infer T;331 } ? T332 : typeof import("undici-types").Response;333 334 interface FormData extends _FormData {}335 var FormData: typeof globalThis extends {336 onmessage: any;337 FormData: infer T;338 } ? T339 : typeof import("undici-types").FormData;340 341 interface Headers extends _Headers {}342 var Headers: typeof globalThis extends {343 onmessage: any;344 Headers: infer T;345 } ? T346 : typeof import("undici-types").Headers;347 348 interface MessageEvent extends _MessageEvent {}349 var MessageEvent: typeof globalThis extends {350 onmessage: any;351 MessageEvent: infer T;352 } ? T353 : typeof import("undici-types").MessageEvent;354 355 interface WebSocket extends _WebSocket {}356 var WebSocket: typeof globalThis extends { onmessage: any; WebSocket: infer T } ? T357 : typeof import("undici-types").WebSocket;358 359 interface EventSource extends _EventSource {}360 var EventSource: typeof globalThis extends { onmessage: any; EventSource: infer T } ? T361 : typeof import("undici-types").EventSource;362 363 interface CloseEvent extends _CloseEvent {}364 var CloseEvent: typeof globalThis extends { onmessage: any; CloseEvent: infer T } ? T365 : typeof import("undici-types").CloseEvent;366 // #endregion fetch367}368 