js-slang
Version:
Javascript-based implementations of Source, written in Typescript
25 lines (24 loc) • 585 B
TypeScript
/**
* Stack is implemented for control and stash registers.
*/
interface IStack<T> {
push(...items: T[]): void;
pop(): T | undefined;
peek(): T | undefined;
size(): number;
isEmpty(): boolean;
getStack(): T[];
}
export declare class Stack<T> implements IStack<T> {
private storage;
constructor();
push(...items: T[]): void;
pop(): T | undefined;
peek(): T | undefined;
size(): number;
isEmpty(): boolean;
getStack(): T[];
some(predicate: (value: T) => boolean): boolean;
setTo(otherStack: Stack<T>): void;
}
export {};