arcticpackage
Version:
A library for making Arctic packages in typescript.
21 lines (20 loc) • 795 B
TypeScript
/// <reference types="node" />
import { Callable } from './Callable';
import util from 'util';
import CallableFunction from './CallableFunction';
import Instance from './Instance';
export default class Class implements Callable {
readonly name: string;
readonly superclass: Class;
private readonly methods;
readonly properties: Map<string, any>;
constructor(name: string, superclass: Class, methods: Map<string, CallableFunction>, properties: Map<string, any>);
findMethod(name: string): CallableFunction;
findProperty(name: string): any;
set(name: string, value: any): void;
setMethod(method: CallableFunction): void;
createInstance(args: any[]): Instance;
get arity(): number;
call(args: any[]): Instance;
[util.inspect.custom](): string;
}