From 2ff1d1167fc9b79393d29f44a81b42c9e630ea3f Mon Sep 17 00:00:00 2001 From: Jonathan Tran Date: Thu, 1 Aug 2024 13:15:43 -0400 Subject: [PATCH] Rename function since it's a type assertion, not cast --- src/clientSideScene/sceneEntities.ts | 17 +++++++---------- src/components/Toolbar/EqualAngle.tsx | 4 ++-- src/components/Toolbar/EqualLength.tsx | 4 ++-- src/components/Toolbar/HorzVert.tsx | 4 ++-- src/components/Toolbar/Intersect.tsx | 4 ++-- .../Toolbar/RemoveConstrainingValues.tsx | 4 ++-- src/components/Toolbar/SetAngleBetween.tsx | 4 ++-- src/components/Toolbar/SetHorzVertDistance.tsx | 4 ++-- src/lang/queryAst.ts | 6 +++--- src/lang/std/sketch.ts | 4 ++-- src/lang/std/sketchcombos.ts | 4 ++-- 11 files changed, 28 insertions(+), 31 deletions(-) diff --git a/src/clientSideScene/sceneEntities.ts b/src/clientSideScene/sceneEntities.ts index 8d43aa258..73a7df420 100644 --- a/src/clientSideScene/sceneEntities.ts +++ b/src/clientSideScene/sceneEntities.ts @@ -62,7 +62,7 @@ import { editorManager, } from 'lib/singletons' import { - castDynamicNode, + isNodeType, expectNodeOnPath, getNodeFromPath, getNodePathFromSourceRange, @@ -480,7 +480,7 @@ export class SceneEntities { 'CallExpression' ) if (err(callExp)) return - const callExpName = castDynamicNode( + const callExpName = isNodeType( callExp.node, 'CallExpression' ) @@ -606,7 +606,7 @@ export class SceneEntities { 'VariableDeclaration' ) if (trap(_node1)) return Promise.reject(_node1) - const variableDeclarationName = castDynamicNode( + const variableDeclarationName = isNodeType( _node1.node, 'VariableDeclaration' ) @@ -794,7 +794,7 @@ export class SceneEntities { 'VariableDeclaration' ) if (trap(_node)) return Promise.reject(_node) - const sketchInit = castDynamicNode( + const sketchInit = isNodeType( _node.node, 'VariableDeclaration' ) @@ -847,7 +847,7 @@ export class SceneEntities { 'VariableDeclaration' ) if (trap(_node)) return Promise.reject(_node) - const sketchInit = castDynamicNode( + const sketchInit = isNodeType( _node.node, 'VariableDeclaration' ) @@ -1829,7 +1829,7 @@ function prepareTruncatedMemoryAndAst( if (err(_node)) return _node if (isArray(_node.node)) return new Error('Expected node to be an object, but found Array') - const variableDeclarationName = castDynamicNode( + const variableDeclarationName = isNodeType( _node.node, 'VariableDeclaration' ) @@ -1959,10 +1959,7 @@ export function sketchGroupFromPathToNode({ const varDec = _varDec.node if (isArray(varDec)) return new Error('Expected node to be an object, but found Array') - const varName = castDynamicNode( - varDec, - 'VariableDeclarator' - ) + const varName = isNodeType(varDec, 'VariableDeclarator') ? varDec.id.name : '' const result = programMemory.get(varName) diff --git a/src/components/Toolbar/EqualAngle.tsx b/src/components/Toolbar/EqualAngle.tsx index 64167e558..062db8cfe 100644 --- a/src/components/Toolbar/EqualAngle.tsx +++ b/src/components/Toolbar/EqualAngle.tsx @@ -5,7 +5,7 @@ import { getNodePathFromSourceRange, getLastNodeFromPath, DynamicNode, - castDynamicNode, + isNodeType, expectNodeOnPath, } from '../../lang/queryAst' import { isSketchVariablesLinked } from '../../lang/std/sketchConstraints' @@ -68,7 +68,7 @@ export function equalAngleInfo({ ) const isAllTooltips = nodes.every( (node) => - castDynamicNode(node, 'CallExpression') && + isNodeType(node, 'CallExpression') && toolTips.includes(node.callee.name as any) ) diff --git a/src/components/Toolbar/EqualLength.tsx b/src/components/Toolbar/EqualLength.tsx index a3be4816f..ca878b0e6 100644 --- a/src/components/Toolbar/EqualLength.tsx +++ b/src/components/Toolbar/EqualLength.tsx @@ -5,7 +5,7 @@ import { getNodePathFromSourceRange, getLastNodeFromPath, DynamicNode, - castDynamicNode, + isNodeType, expectNodeOnPath, } from '../../lang/queryAst' import { isSketchVariablesLinked } from '../../lang/std/sketchConstraints' @@ -68,7 +68,7 @@ export function setEqualLengthInfo({ ) const isAllTooltips = nodes.every( (node) => - castDynamicNode(node, 'CallExpression') && + isNodeType(node, 'CallExpression') && toolTips.includes(node.callee.name as any) ) diff --git a/src/components/Toolbar/HorzVert.tsx b/src/components/Toolbar/HorzVert.tsx index 6e6cdd42b..86c46cf02 100644 --- a/src/components/Toolbar/HorzVert.tsx +++ b/src/components/Toolbar/HorzVert.tsx @@ -5,7 +5,7 @@ import { getNodePathFromSourceRange, getLastNodeFromPath, DynamicNode, - castDynamicNode, + isNodeType, } from '../../lang/queryAst' import { PathToNodeMap, @@ -45,7 +45,7 @@ export function horzVertInfo( const isAllTooltips = nodes.every( (node) => - castDynamicNode(node, 'CallExpression') && + isNodeType(node, 'CallExpression') && toolTips.includes(node.callee.name as any) ) diff --git a/src/components/Toolbar/Intersect.tsx b/src/components/Toolbar/Intersect.tsx index 06c3b3e7e..660c58fec 100644 --- a/src/components/Toolbar/Intersect.tsx +++ b/src/components/Toolbar/Intersect.tsx @@ -12,7 +12,7 @@ import { getLastNodeFromPath, expectNodeOnPath, DynamicNode, - castDynamicNode, + isNodeType, } from '../../lang/queryAst' import { isSketchVariablesLinked } from '../../lang/std/sketchConstraints' import { @@ -116,7 +116,7 @@ export function intersectInfo({ ) const isAllTooltips = nodes.every( (node) => - castDynamicNode(node, 'CallExpression') && + isNodeType(node, 'CallExpression') && [ ...toolTips, 'startSketchAt', // TODO probably a better place for this to live diff --git a/src/components/Toolbar/RemoveConstrainingValues.tsx b/src/components/Toolbar/RemoveConstrainingValues.tsx index 22dea8cec..0271cd6c4 100644 --- a/src/components/Toolbar/RemoveConstrainingValues.tsx +++ b/src/components/Toolbar/RemoveConstrainingValues.tsx @@ -5,7 +5,7 @@ import { getNodePathFromSourceRange, getLastNodeFromPath, DynamicNode, - castDynamicNode, + isNodeType, } from '../../lang/queryAst' import { PathToNodeMap, @@ -62,7 +62,7 @@ export function removeConstrainingValuesInfo({ : selectionRanges const isAllTooltips = nodes.every( (node) => - castDynamicNode(node, 'CallExpression') && + isNodeType(node, 'CallExpression') && toolTips.includes(node.callee.name as any) ) diff --git a/src/components/Toolbar/SetAngleBetween.tsx b/src/components/Toolbar/SetAngleBetween.tsx index 2c777c504..15a08423e 100644 --- a/src/components/Toolbar/SetAngleBetween.tsx +++ b/src/components/Toolbar/SetAngleBetween.tsx @@ -11,7 +11,7 @@ import { getLastNodeFromPath, DynamicNode, expectNodeOnPath, - castDynamicNode, + isNodeType, } from '../../lang/queryAst' import { isSketchVariablesLinked } from '../../lang/std/sketchConstraints' import { @@ -79,7 +79,7 @@ export function angleBetweenInfo({ ) const isAllTooltips = nodes.every( (node) => - castDynamicNode(node, 'CallExpression') && + isNodeType(node, 'CallExpression') && toolTips.includes(node.callee.name as any) ) diff --git a/src/components/Toolbar/SetHorzVertDistance.tsx b/src/components/Toolbar/SetHorzVertDistance.tsx index 3fc1817d4..18944050a 100644 --- a/src/components/Toolbar/SetHorzVertDistance.tsx +++ b/src/components/Toolbar/SetHorzVertDistance.tsx @@ -9,7 +9,7 @@ import { getNodePathFromSourceRange, getLastNodeFromPath, expectNodeOnPath, - castDynamicNode, + isNodeType, } from '../../lang/queryAst' import { isSketchVariablesLinked } from '../../lang/std/sketchConstraints' import { @@ -77,7 +77,7 @@ export function horzVertDistanceInfo({ ) const isAllTooltips = nodes.every( (node) => - castDynamicNode(node, 'CallExpression') && + isNodeType(node, 'CallExpression') && [ ...toolTips, 'startSketchAt', // TODO probably a better place for this to live diff --git a/src/lang/queryAst.ts b/src/lang/queryAst.ts index bf84c7fd3..455338c24 100644 --- a/src/lang/queryAst.ts +++ b/src/lang/queryAst.ts @@ -47,7 +47,7 @@ function isAstNode( * Given T and its corresponding SyntaxType, narrow the node to type T if * node.type matches. */ -export function castDynamicNode( +export function isNodeType( node: any, syntaxType: SyntaxType | SyntaxType[] ): node is T { @@ -117,7 +117,7 @@ export function getNodeFromPath( if (!stopAtNode) { pathsExplored.push(pathItem) } - if (stopAt && castDynamicNode(currentNode, stopAt)) { + if (stopAt && isNodeType(currentNode, stopAt)) { // it will match the deepest node of the type // instead of returning at the first match stopAtNode = currentNode @@ -169,7 +169,7 @@ export function expectLastNodeFromPath( ): T | Error { const result = getLastNodeFromPath(node, path) if (err(result)) return result - if (!castDynamicNode(result.node, syntaxType)) { + if (!isNodeType(result.node, syntaxType)) { return new Error( `Expected node of type ${syntaxType}: found ${JSON.stringify(result)}` ) diff --git a/src/lang/std/sketch.ts b/src/lang/std/sketch.ts index 2041e5e14..4922db987 100644 --- a/src/lang/std/sketch.ts +++ b/src/lang/std/sketch.ts @@ -14,7 +14,7 @@ import { Identifier, } from 'lang/wasm' import { - castDynamicNode, + isNodeType, expectLastNodeFromPath, expectNodeOnPath, getNodeFromPath, @@ -1670,7 +1670,7 @@ export function changeSketchArguments( if (isArray(callExpression)) { return new Error('Expected call expression but found array') } - if (!castDynamicNode(callExpression, 'CallExpression')) { + if (!isNodeType(callExpression, 'CallExpression')) { return new Error('Call expression not found') } diff --git a/src/lang/std/sketchcombos.ts b/src/lang/std/sketchcombos.ts index ea5c96ae1..6fcfd0365 100644 --- a/src/lang/std/sketchcombos.ts +++ b/src/lang/std/sketchcombos.ts @@ -12,7 +12,7 @@ import { ProgramMemory, } from '../wasm' import { - castDynamicNode, + isNodeType, expectNodeOnPath, getLastNodeFromPath, getNodeFromPath, @@ -1462,7 +1462,7 @@ export function getRemoveConstraintsTransforms( console.error('Expected node, but found Array') return false } - if (castDynamicNode(node, 'CallExpression')) + if (isNodeType(node, 'CallExpression')) return getRemoveConstraintsTransform(node, constraintType) return false