@rbxts/zircon
Version:
<div> <img src="https://i.imgur.com/YgpbX7G.png" align="left" width="128"/> <h1>ZIRCON</h1> <h3>A clean, sleek, runtime debugging console for Roblox</h3> <a href="https://npmjs.com/package/@rbxts/zircon"><img src="https://badge.fury.io
44 lines (43 loc) • 2.14 kB
TypeScript
/// <reference types="@rbxts/compiler-types" />
import { InferArguments, InferTypeFromValidator2, InferValidator, Validator, ZirconValidator } from "./ZirconTypeValidator";
import { ZirconFunction } from "./ZirconFunction";
import { ZirconContext } from "./ZirconContext";
import { ZrValue } from "@rbxts/zirconium/out/Data/Locals";
export declare class ZirconFunctionBuilder<V extends ZirconValidator<unknown, unknown>[] = [
]> {
private name;
private validators;
private varadicValidator?;
private hasVariadic;
private description?;
constructor(name: string);
private GetValidator;
private GetUnionableValidator;
/**
* Adds an argnument to this zircon function
* @param argValidator The argument type/validator
* @param description The description for this argument
* @returns The builder
*/
AddArgument<TValidation extends Validator>(argValidator: TValidation | TValidation[], description?: string): ZirconFunctionBuilder<[...V, InferValidator<TValidation>]>;
/**
* Adds an argnument to this zircon function
* @param argValidator The argument type/validator
* @param description The description for this argument
* @returns The builder
*/
AddArrayArgument<TValidation extends Validator>(argValidator: TValidation | TValidation[], description?: string): ZirconFunctionBuilder<[...V, ZirconValidator<InferTypeFromValidator2<InferValidator<TValidation>>[], never>]>;
/**
* Adds a varadic argument to this zircon function
* @param arg
* @returns
*/
AddVariadicArgument<TValidation extends Validator>(arg: TValidation | TValidation[]): Omit<ZirconFunctionBuilder<[...V, ...InferValidator<TValidation>[]]>, "AddArgument" | "AddVariadicArgument">;
/**
* Adds a description to the function
* @param description The description of this function
* @returns
*/
AddDescription(description: string): Omit<this, "AddDescription">;
Bind<R extends ZrValue | void>(fn: (context: ZirconContext, ...args: InferArguments<V>) => R): ZirconFunction<V, R>;
}