Created
May 26, 2023 17:22
-
-
Save stevekrouse/d87a152586b02316f0ae99a136084596 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
declare global { | |
const console: { | |
log(...data: any[]): void; | |
error(...data: any[]): void; | |
debug(...data: any[]): void; | |
info(...data: any[]): void; | |
warn(...data: any[]): void; | |
email(log: any, subject?: string | number): void; | |
}; | |
type HeaderSuggestions = { | |
"A-IM": string, | |
"Accept": string, | |
"Accept-Charset": string, | |
"Accept-Datetime": string, | |
"Accept-Encoding": string, | |
"Accept-Language": string, | |
"Access-Control-Request-Method,": string, | |
"Access-Control-Request-Headers": string, | |
"Authorization": string, | |
"Cache-Control": string, | |
"Connection": string, | |
"Content-Encoding": string, | |
"Content-Length": string, | |
"Content-MD5": string, | |
"Content-Type": string, | |
"Cookie": string, | |
"Date": string, | |
"Expect": string, | |
"Forwarded": string, | |
"From": string, | |
"Host": string, | |
"HTTP2-Settings": string, | |
"If-Match": string, | |
"If-Modified-Since": string, | |
"If-None-Match": string, | |
"If-Range": string, | |
"If-Unmodified-Since": string, | |
"Max-Forwards": string, | |
"Origin": string, | |
"Pragma": string, | |
"Prefer": string, | |
"Proxy-Authorization": string, | |
"Range": string, | |
"Referer": string, | |
"TE": string, | |
"Trailer": string, | |
"Transfer-Encoding": string, | |
"User-Agent": string, | |
"Upgrade": string, | |
"Via": string, | |
"Warning": string, | |
[k: string]: string | |
} | |
type HeadersInit = [string, string][] | Record<string, string> | HeaderSuggestions; // | Headers; | |
interface RequestInit { | |
/** A BodyInit object or null to set request's body. */ | |
body?: any | null; | |
/** A string indicating how the request will interact with the browser's cache to set request's cache. */ | |
cache?: any; | |
/** A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials. */ | |
credentials?: any; | |
/** A Headers object, an object literal, or an array of two-item arrays to set request's headers. */ | |
headers?: HeadersInit; | |
/** A cryptographic hash of the resource to be fetched by request. Sets request's integrity. */ | |
integrity?: string; | |
/** A boolean to set request's keepalive. */ | |
keepalive?: boolean; | |
/** A string to set request's method. */ | |
method?: string; | |
/** A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. */ | |
mode?: any; | |
/** A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect. */ | |
redirect?: any; | |
/** A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer. */ | |
referrer?: string; | |
/** A referrer policy to set request's referrerPolicy. */ | |
referrerPolicy?: any; | |
/** An AbortSignal to set request's signal. */ | |
signal?: any | null; | |
/** Can only be null. Used to disassociate request from any Window. */ | |
window?: null; | |
} | |
interface Body { | |
readonly body: ReadableStream<Uint8Array> | null; | |
readonly bodyUsed: boolean; | |
arrayBuffer(): Promise<ArrayBuffer>; | |
blob(): Promise<Blob>; | |
formData(): Promise<FormData>; | |
json(): Promise<any>; | |
text(): Promise<string>; | |
} | |
interface Response extends Body { | |
readonly headers: Headers; | |
readonly ok: boolean; | |
readonly redirected: boolean; | |
readonly status: number; | |
readonly statusText: string; | |
readonly type: ResponseType; | |
readonly url: string; | |
clone(): Response; | |
} | |
declare var Response: { | |
prototype: Response; | |
new(body?: BodyInit | null, init?: ResponseInit): Response; | |
error(): Response; | |
redirect(url: string | URL, status?: number): Response; | |
}; | |
function fetch(input: string, init?: RequestInit): Promise<Response>; | |
class URLSearchParams implements Iterable<[string, string]> { | |
constructor(init?: URLSearchParams | string | Record<string, string | ReadonlyArray<string>> | Iterable<[string, string]> | ReadonlyArray<[string, string]>); | |
append(name: string, value: string): void; | |
delete(name: string): void; | |
entries(): IterableIterator<[string, string]>; | |
forEach<TThis = this>(callback: (this: TThis, value: string, name: string, searchParams: URLSearchParams) => void, thisArg?: TThis): void; | |
get(name: string): string | null; | |
getAll(name: string): string[]; | |
has(name: string): boolean; | |
keys(): IterableIterator<string>; | |
set(name: string, value: string): void; | |
sort(): void; | |
toString(): string; | |
values(): IterableIterator<string>; | |
[Symbol.iterator](): IterableIterator<[string, string]>; | |
} | |
const parseXML: (xml: string) => any; | |
type BufferEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'; | |
type WithImplicitCoercion<T> = | |
| T | |
| { | |
valueOf(): T; | |
}; | |
interface BufferConstructor { | |
new (str: string, encoding?: BufferEncoding): Buffer; | |
new (size: number): Buffer; | |
new (array: Uint8Array): Buffer; | |
new (arrayBuffer: ArrayBuffer | SharedArrayBuffer): Buffer; | |
new (array: ReadonlyArray<any>): Buffer; | |
new (buffer: Buffer): Buffer; | |
from(arrayBuffer: WithImplicitCoercion<ArrayBuffer | SharedArrayBuffer>, byteOffset?: number, length?: number): Buffer; | |
from(data: Uint8Array | ReadonlyArray<number>): Buffer; | |
from(data: WithImplicitCoercion<Uint8Array | ReadonlyArray<number> | string>): Buffer; | |
from( | |
str: | |
| WithImplicitCoercion<string> | |
| { | |
[Symbol.toPrimitive](hint: 'string'): string; | |
}, | |
encoding?: BufferEncoding | |
): Buffer; | |
of(...items: number[]): Buffer; | |
isBuffer(obj: any): obj is Buffer; | |
isEncoding(encoding: string): encoding is BufferEncoding; | |
byteLength(string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number; | |
concat(list: ReadonlyArray<Uint8Array>, totalLength?: number): Buffer; | |
compare(buf1: Uint8Array, buf2: Uint8Array): number; | |
alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer; | |
allocUnsafe(size: number): Buffer; | |
allocUnsafeSlow(size: number): Buffer; | |
poolSize: number; | |
} | |
interface Buffer extends Uint8Array { | |
write(string: string, encoding?: BufferEncoding): number; | |
write(string: string, offset: number, encoding?: BufferEncoding): number; | |
write(string: string, offset: number, length: number, encoding?: BufferEncoding): number; | |
toString(encoding?: BufferEncoding, start?: number, end?: number): string; | |
toJSON(): { | |
type: 'Buffer'; | |
data: number[]; | |
}; | |
equals(otherBuffer: Uint8Array): boolean; | |
compare(target: Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number; | |
copy(target: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; | |
slice(start?: number, end?: number): Buffer; | |
subarray(start?: number, end?: number): Buffer; | |
writeBigInt64BE(value: bigint, offset?: number): number; | |
writeBigInt64LE(value: bigint, offset?: number): number; | |
writeBigUInt64BE(value: bigint, offset?: number): number; | |
writeBigUint64BE(value: bigint, offset?: number): number; | |
writeBigUInt64LE(value: bigint, offset?: number): number; | |
writeBigUint64LE(value: bigint, offset?: number): number; | |
writeUIntLE(value: number, offset: number, byteLength: number): number; | |
writeUintLE(value: number, offset: number, byteLength: number): number; | |
writeUIntBE(value: number, offset: number, byteLength: number): number; | |
writeUintBE(value: number, offset: number, byteLength: number): number; | |
writeIntLE(value: number, offset: number, byteLength: number): number; | |
writeIntBE(value: number, offset: number, byteLength: number): number; | |
readBigUInt64BE(offset?: number): bigint; | |
readBigUint64BE(offset?: number): bigint; | |
readBigUInt64LE(offset?: number): bigint; | |
readBigUint64LE(offset?: number): bigint; | |
readBigInt64BE(offset?: number): bigint; | |
readBigInt64LE(offset?: number): bigint; | |
readUIntLE(offset: number, byteLength: number): number; | |
readUintLE(offset: number, byteLength: number): number; | |
readUIntBE(offset: number, byteLength: number): number; | |
readUintBE(offset: number, byteLength: number): number; | |
readIntLE(offset: number, byteLength: number): number; | |
readIntBE(offset: number, byteLength: number): number; | |
readUInt8(offset?: number): number; | |
readUint8(offset?: number): number; | |
readUInt16LE(offset?: number): number; | |
readUint16LE(offset?: number): number; | |
readUInt16BE(offset?: number): number; | |
readUint16BE(offset?: number): number; | |
readUInt32LE(offset?: number): number; | |
readUint32LE(offset?: number): number; | |
readUInt32BE(offset?: number): number; | |
readUint32BE(offset?: number): number; | |
readInt8(offset?: number): number; | |
readInt16LE(offset?: number): number; | |
readInt16BE(offset?: number): number; | |
readInt32LE(offset?: number): number; | |
readInt32BE(offset?: number): number; | |
readFloatLE(offset?: number): number; | |
readFloatBE(offset?: number): number; | |
readDoubleLE(offset?: number): number; | |
readDoubleBE(offset?: number): number; | |
reverse(): this; | |
swap16(): Buffer; | |
swap32(): Buffer; | |
swap64(): Buffer; | |
writeUInt8(value: number, offset?: number): number; | |
writeUint8(value: number, offset?: number): number; | |
writeUInt16LE(value: number, offset?: number): number; | |
writeUint16LE(value: number, offset?: number): number; | |
writeUInt16BE(value: number, offset?: number): number; | |
writeUint16BE(value: number, offset?: number): number; | |
writeUInt32LE(value: number, offset?: number): number; | |
writeUint32LE(value: number, offset?: number): number; | |
writeUInt32BE(value: number, offset?: number): number; | |
writeUint32BE(value: number, offset?: number): number; | |
writeInt8(value: number, offset?: number): number; | |
writeInt16LE(value: number, offset?: number): number; | |
writeInt16BE(value: number, offset?: number): number; | |
writeInt32LE(value: number, offset?: number): number; | |
writeInt32BE(value: number, offset?: number): number; | |
writeFloatLE(value: number, offset?: number): number; | |
writeFloatBE(value: number, offset?: number): number; | |
writeDoubleLE(value: number, offset?: number): number; | |
writeDoubleBE(value: number, offset?: number): number; | |
fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this; | |
indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; | |
lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; | |
entries(): IterableIterator<[number, number]>; | |
includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean; | |
keys(): IterableIterator<number>; | |
values(): IterableIterator<number>; | |
} | |
var Buffer: BufferConstructor; | |
interface FeedOptions { | |
title: string; | |
description?: string | undefined; | |
generator?: string | undefined; | |
feed_url: string; | |
site_url: string; | |
image_url?: string | undefined; | |
docs?: string | undefined; | |
managingEditor?: string | undefined; | |
webMaster?: string | undefined; | |
copyright?: string | undefined; | |
language?: string | undefined; | |
categories?: string[] | undefined; | |
pubDate?: Date | string | undefined; | |
ttl?: number | undefined; | |
hub?: string | undefined; | |
custom_namespaces?: Object | undefined; | |
custom_elements?: any[] | undefined; | |
} | |
interface EnclosureObject { | |
url: string; | |
file?: string | undefined; | |
size?: number | undefined; | |
type?: string | undefined; | |
} | |
interface ItemOptions { | |
title: string; | |
description: string; | |
url: string; | |
guid?: string | undefined; | |
categories?: string[] | undefined; | |
author?: string | undefined; | |
date: Date | string; | |
lat?: number | undefined; | |
long?: number | undefined; | |
custom_elements?: any[] | undefined; | |
enclosure?: EnclosureObject | undefined; | |
} | |
interface XmlOptions { | |
indent?: boolean | string | undefined; | |
} | |
class RSS { | |
constructor(feedOptions: FeedOptions); | |
item(itemOptions: ItemOptions): RSS; | |
xml(): string; | |
xml(xmlOptions: XmlOptions): string; | |
} | |
// this is manually kept in sync | |
interface Interval { | |
id: string, | |
code: string, | |
delay: number, | |
author: string, | |
registeredAt: Date, | |
clearedAt: Date | undefined, | |
lastRunAt: Date | undefined | |
} | |
interface ParsedQs { [key: string]: undefined | string | string[] | ParsedQs | ParsedQs[] } | |
namespace express { | |
interface Request { | |
get(name: 'set-cookie'): string[] | undefined; | |
get(name: string): string | undefined; | |
header(name: 'set-cookie'): string[] | undefined; | |
header(name: string): string | undefined; | |
is(type: string | string[]): string | false | null; | |
protocol: string; | |
secure: boolean; | |
ip: string; | |
ips: string[]; | |
subdomains: string[]; | |
path: string; | |
hostname: string; | |
host: string; | |
fresh: boolean; | |
stale: boolean; | |
xhr: boolean; | |
body: any; | |
cookies: any; | |
method: string; | |
params: Record<string, string>; | |
query: ParsedQs; | |
signedCookies: any; | |
originalUrl: string; | |
url: string; | |
baseUrl: string; | |
} | |
interface Response { | |
status(code: number): this; | |
send(body?: any): this; | |
json(body?: any): this; | |
jsonp(body?: any): this; | |
type(type: string): this; | |
set(field: any): this; | |
set(field: string, value?: string | string[]): this; | |
get(field: string): string|undefined; | |
redirect(url: string): void; | |
redirect(status: number, url: string): void; | |
redirect(url: string, status: number): void; | |
end(cb?: () => void): this; | |
end(chunk: any, cb?: () => void): this; | |
end(chunk: any, encoding: BufferEncoding, cb?: () => void): this; | |
} | |
} | |
declare namespace WebAssembly { | |
interface CompileError extends Error { | |
} | |
var CompileError: { | |
prototype: CompileError; | |
new(message?: string): CompileError; | |
(message?: string): CompileError; | |
}; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global) */ | |
interface Global { | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global/value) */ | |
value: any; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global/valueOf) */ | |
valueOf(): any; | |
} | |
var Global: { | |
prototype: Global; | |
new(descriptor: GlobalDescriptor, v?: any): Global; | |
}; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance) */ | |
interface Instance { | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance/exports) */ | |
readonly exports: Exports; | |
} | |
var Instance: { | |
prototype: Instance; | |
new(module: Module, importObject?: Imports): Instance; | |
}; | |
interface LinkError extends Error { | |
} | |
var LinkError: { | |
prototype: LinkError; | |
new(message?: string): LinkError; | |
(message?: string): LinkError; | |
}; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory) */ | |
interface Memory { | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory/buffer) */ | |
readonly buffer: ArrayBuffer; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory/grow) */ | |
grow(delta: number): number; | |
} | |
var Memory: { | |
prototype: Memory; | |
new(descriptor: MemoryDescriptor): Memory; | |
}; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module) */ | |
interface Module { | |
} | |
var Module: { | |
prototype: Module; | |
new(bytes: BufferSource): Module; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module/customSections) */ | |
customSections(moduleObject: Module, sectionName: string): ArrayBuffer[]; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module/exports) */ | |
exports(moduleObject: Module): ModuleExportDescriptor[]; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module/imports) */ | |
imports(moduleObject: Module): ModuleImportDescriptor[]; | |
}; | |
interface RuntimeError extends Error { | |
} | |
var RuntimeError: { | |
prototype: RuntimeError; | |
new(message?: string): RuntimeError; | |
(message?: string): RuntimeError; | |
}; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Table) */ | |
interface Table { | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/length) */ | |
readonly length: number; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/get) */ | |
get(index: number): any; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/grow) */ | |
grow(delta: number, value?: any): number; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/set) */ | |
set(index: number, value?: any): void; | |
} | |
var Table: { | |
prototype: Table; | |
new(descriptor: TableDescriptor, value?: any): Table; | |
}; | |
interface GlobalDescriptor { | |
mutable?: boolean; | |
value: ValueType; | |
} | |
interface MemoryDescriptor { | |
initial: number; | |
maximum?: number; | |
shared?: boolean; | |
} | |
interface ModuleExportDescriptor { | |
kind: ImportExportKind; | |
name: string; | |
} | |
interface ModuleImportDescriptor { | |
kind: ImportExportKind; | |
module: string; | |
name: string; | |
} | |
interface TableDescriptor { | |
element: TableKind; | |
initial: number; | |
maximum?: number; | |
} | |
interface WebAssemblyInstantiatedSource { | |
instance: Instance; | |
module: Module; | |
} | |
type ImportExportKind = "function" | "global" | "memory" | "table"; | |
type TableKind = "anyfunc" | "externref"; | |
type ValueType = "anyfunc" | "externref" | "f32" | "f64" | "i32" | "i64" | "v128"; | |
type ExportValue = Function | Global | Memory | Table; | |
type Exports = Record<string, ExportValue>; | |
type ImportValue = ExportValue | number; | |
type Imports = Record<string, ModuleImports>; | |
type ModuleImports = Record<string, ImportValue>; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/compile) */ | |
function compile(bytes: BufferSource): Promise<Module>; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/compileStreaming) */ | |
function compileStreaming(source: Response | PromiseLike<Response>): Promise<Module>; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiate) */ | |
function instantiate(bytes: BufferSource, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>; | |
function instantiate(moduleObject: Module, importObject?: Imports): Promise<Instance>; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming) */ | |
function instantiateStreaming(source: Response | PromiseLike<Response>, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>; | |
/** [MDN Reference](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/validate) */ | |
function validate(bytes: BufferSource): boolean; | |
} | |
export type JsonPrimitive = string | number | boolean | null; | |
export type JsonObject = {[Key in string]: JsonValue} & {[Key in string]?: JsonValue | undefined}; | |
export type JsonValue = JsonPrimitive | JsonObject | JsonArray; | |
export type JsonArray = JsonValue[] | readonly JsonValue[]; | |
} | |
export {}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Extra comma here?
https://gist.github.com/stevekrouse/d87a152586b02316f0ae99a136084596#file-vt_environment-ts-L18