UNPKG

sc4

Version:

A command line utility for automating SimCity 4 modding tasks & modifying savegames

65 lines (64 loc) 1.99 kB
import type { byte, double, dword, float, qword, word } from 'sc4/types'; import type Stream from './stream.js'; import type WriteBuffer from './write-buffer.js'; type UnknownType = number | boolean | bigint | Uint8Array | UnknownType[]; export default class Unknown extends Array<UnknownType> { bool(value: boolean): this; byte(value: byte): this; word(value: word): this; dword(value?: dword): this; qword(value: qword): this; float(value: float): this; double(value: double): this; bytes(value: number[] | Uint8Array): this; array(value?: UnknownType[]): this; repeat(n: number, fn: (u: Unknown) => any): this; reader(rs: Stream): UnknownReader; writer(ws: WriteBuffer): UnknownWriter; generator(): (() => unknown) & { bool: () => boolean; byte: () => byte; word: () => word; dword: () => dword; qword: () => qword; float: () => float; double: () => double; bytes: () => Uint8Array; array: () => Array<Unknown>; assert: () => void; }; clear(): this; } declare class UnknownReader { unknown: Unknown; rs: Stream; constructor(unknown: Unknown, rs: Stream); bool(): void; byte(): void; word(): void; dword(_expected?: number): void; qword(): void; float(): void; double(): void; bytes(length?: number): void; array(fn: (this: this, u: this, i?: number) => any): void; repeat(n: number, fn: (unknown: this) => void): void; } declare class UnknownWriter { unknown: Unknown; ws: WriteBuffer; generator: ReturnType<Unknown['generator']>; constructor(unknown: Unknown, ws: WriteBuffer); bool(): void; byte(): void; word(): void; dword(): void; qword(): void; float(): void; double(): void; bytes(): void; assert(): void; array(fn: (this: this, u: this, i?: number) => any): void; repeat(n: number, fn: (unknown: this) => void): void; } export {};