UNPKG

roblox-ts

Version:

<div align="center"><img width=25% src="https://i.imgur.com/yCjHmng.png"></div> <h1 align="center"><a href="https://roblox-ts.github.io/">roblox-ts</a></h1> <div align="center">A TypeScript-to-Lua Compiler for Roblox</div> <br> <div align="center"> <a hr

52 lines (51 loc) 3.84 kB
import * as ts from "ts-morph"; import { CompilerDirective } from "./compiler"; import { PrecedingStatementContext } from "./CompilerState"; export declare const RBX_SERVICES: Array<string>; export declare function isRbxService(name: string): boolean; export declare function isTypeStatement(node: ts.Node): boolean; export declare function isType(node: ts.Node): boolean; export declare function isUsedAsType(node: ts.Identifier): boolean; export declare function inheritsFrom(type: ts.Type, className: string): boolean; export declare function isTypeOnlyNamespace(node: ts.NamespaceDeclaration): boolean; export declare function typeConstraint(type: ts.Type, cb: (type: ts.Type) => boolean): boolean; export declare function laxTypeConstraint(type: ts.Type, cb: (type: ts.Type) => boolean): boolean; export declare function strictTypeConstraint(type: ts.Type, cb: (type: ts.Type) => boolean): boolean; export declare function isAnyType(type: ts.Type): boolean; export declare function isNullableType(type: ts.Type): boolean; export declare function isBooleanType(type: ts.Type): boolean; export declare function isNumberType(type: ts.Type): boolean; export declare function isNumberTypeStrict(type: ts.Type): boolean; export declare function isStringType(type: ts.Type): boolean; export declare function isObjectType(type: ts.Type): boolean; export declare function isEnumType(type: ts.Type): boolean; export declare function isIterableIterator(type: ts.Type, node: ts.Node): boolean; export declare function isIterableFunction(type: ts.Type): boolean; export declare function getCompilerDirectiveWithConstraint(type: ts.Type, directive: CompilerDirective, orCallback?: (t: ts.Type<ts.ts.Type>) => boolean): boolean; export declare function getCompilerDirectiveWithStrictConstraint(type: ts.Type, directive: CompilerDirective, orCallback?: (t: ts.Type<ts.ts.Type>) => boolean): boolean; export declare function getCompilerDirectiveWithLaxConstraint(type: ts.Type, directive: CompilerDirective, orCallback?: (t: ts.Type<ts.ts.Type>) => boolean): boolean; export declare function superExpressionClassInheritsFromSetOrMap(node: ts.Expression): boolean; export declare function superExpressionClassInheritsFromArray(node: ts.Expression, recursive?: boolean): boolean; export declare function classDeclarationInheritsFromArray(classExp: ts.ClassDeclaration | ts.ClassExpression, recursive?: boolean): boolean; export declare function isArrayTypeLax(type: ts.Type): boolean; export declare function isStringMethodType(type: ts.Type): boolean; export declare function isArrayType(type: ts.Type): boolean; export declare function isMapType(type: ts.Type): boolean; export declare function isSetType(type: ts.Type): boolean; export declare function isMethodType(type: ts.Type): boolean; export declare function isArrayMethodType(type: ts.Type): boolean; export declare function isMapMethodType(type: ts.Type): boolean; export declare function isSetMethodType(type: ts.Type): boolean; export declare function isTupleType(node: ts.TypeNode | ts.Type): boolean; export declare function isTupleReturnType(node: ts.ReturnTypedNode): boolean; export declare function isTupleReturnTypeCall(node: ts.CallExpression): boolean; export declare function shouldHoist(ancestor: ts.Node, id: ts.Identifier, checkAncestor?: boolean): boolean; export declare function shouldPushToPrecedingStatement(arg: ts.Expression, argStr: string, argContext: PrecedingStatementContext): boolean; /** Returns whether or not the given expression is an expression containing only: * - constants * - numeric/string literals * - unary/binary/ternary expressions */ export declare function isConstantExpression(node: ts.Expression, maxDepth?: number): boolean; /** Calls skipNodesUpwards and returns getType() */ export declare function getType(node: ts.Node): ts.Type<ts.ts.Type>;