core/predicates/code.typescript.predicate.ts
core/predicates/code.typescript.predicate.ts is a file in GovLab Docs. 22 lines of code and 5 definitions.
import ts from "typescript";
const CREATE = "create";
export const isFunctionLike = function isFunctionLike(
node: ts.Node,
): node is ts.ArrowFunction | ts.FunctionDeclaration | ts.FunctionExpression | ts.MethodDeclaration {
return (
ts.isFunctionDeclaration(node) ||
ts.isFunctionExpression(node) ||
ts.isArrowFunction(node) ||
ts.isMethodDeclaration(node)
);
};
export const isFactoryName = function isFactoryName(name: string): boolean {
if (!name.startsWith(CREATE) || name.length <= CREATE.length) {
return false;
}
const char = name.charAt(CREATE.length);
return char >= "A" && char <= "Z";
};
export const inPackage = function inPackage(decl: ts.Declaration, dirPosix: string): boolean {
return decl.getSourceFile().fileName.split("\\").join("/").startsWith(dirPosix);
};