sodiumjs
Version:
A Functional Reactive Programming (FRP) library for JavaScript
58 lines (57 loc) • 1.67 kB
TypeScript
import { Set } from "typescript-collections";
export declare function getTotalRegistrations(): number;
export declare class Source {
constructor(origin: Vertex, register_: () => () => void);
origin: Vertex;
private register_;
private registered;
private deregister_;
register(target: Vertex): void;
deregister(target: Vertex): void;
}
export declare enum Color {
black = 0,
gray = 1,
white = 2,
purple = 3
}
export declare function setVerbose(v: boolean): void;
export declare function describeAll(v: Vertex, visited: Set<number>): void;
export declare class Vertex {
static NULL: Vertex;
static collectingCycles: boolean;
static toBeFreedList: Vertex[];
id: number;
constructor(name: string, rank: number, sources: Source[]);
name: string;
rank: number;
sources: Source[];
targets: Vertex[];
childrn: Vertex[];
refCount(): number;
visited: boolean;
register(target: Vertex): boolean;
deregister(target: Vertex): void;
private incRefCount;
private decRefCount;
addSource(src: Source): void;
private ensureBiggerThan;
descr(): string;
color: Color;
buffered: boolean;
refCountAdj: number;
children(): Vertex[];
increment(referrer: Vertex): boolean;
decrement(referrer: Vertex): void;
release(): void;
free(): void;
possibleRoots(): void;
static collectCycles(): void;
static markRoots(): void;
static scanRoots(): void;
static collectRoots(): void;
markGray(): void;
scan(): void;
scanBlack(): void;
collectWhite(): void;
}