@eslint-react/ast 3.0.0-next.58 → 3.0.0-next.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +10 -1
- package/dist/index.js +21 -2
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -505,4 +505,13 @@ declare function isViMockCallback(node: TSESTree.Node | null | unit): boolean;
|
|
|
505
505
|
*/
|
|
506
506
|
declare function getPropertyName(node: TSESTree.Node): string | unit;
|
|
507
507
|
//#endregion
|
|
508
|
-
|
|
508
|
+
//#region src/property-traverse.d.ts
|
|
509
|
+
/**
|
|
510
|
+
* Recursively traverses an object expression's properties to find a property with the specified name
|
|
511
|
+
* @param properties The properties of the object expression to traverse
|
|
512
|
+
* @param name The name of the property to find
|
|
513
|
+
* @returns The matching property node, or undefined if not found
|
|
514
|
+
*/
|
|
515
|
+
declare function findProperty(properties: TSESTree.ObjectLiteralElement[], name: string): TSESTree.Property | unit;
|
|
516
|
+
//#endregion
|
|
517
|
+
export { DirectiveKind, DisplayNameAssignmentExpression, FunctionID, FunctionInitPath, ImplicitReturnArrowFunctionExpression, ObjectDestructuringVariableDeclarator, SEL_DISPLAY_NAME_ASSIGNMENT_EXPRESSION, SEL_IMPLICIT_RETURN_ARROW_FUNCTION_EXPRESSION, SEL_OBJECT_DESTRUCTURING_VARIABLE_DECLARATOR, TSESTreeArrayTupleType, TSESTreeClass, TSESTreeDestructuringPattern, TSESTreeDirective, TSESTreeDirectiveLike, TSESTreeFunction, TSESTreeFunctionType, TSESTreeJSX, TSESTreeJSXAttributeLike, TSESTreeLoop, TSESTreeMethodOrProperty, TSESTreeProperty, TSESTreeTypeAssertionExpression, TSESTreeTypeDeclaration, TSESTreeTypeExpression, findParentNode, findProperty, getClassId, getFileDirectives, getFullyQualifiedName, getFunctionDirectives, getFunctionId, getFunctionInitPath, getHumanReadableKind, getNestedCallExpressions, getNestedExpressionsOfType, getNestedIdentifiers, getNestedNewExpressions, getNestedReturnStatements, getPropertyName, getRootIdentifier, getUnderlyingExpression, hasCallInFunctionInitPath, is, isClass, isConditional, isControlFlow, isDirective, isDirectiveInFile, isDirectiveInFunction, isDirectiveKind, isDirectiveLike, isDirectiveName, isFunction, isFunctionEmpty, isFunctionImmediatelyInvoked, isFunctionType, isIdentifier, isIdentifierName, isJSX, isJSXElement, isJSXFragment, isJSXTagNameExpression, isLineBreak, isLiteral, isLoop, isMethodOrProperty, isMultiLine, isNodeEqual, isOneOf, isProcessEnvNodeEnv, isProcessEnvNodeEnvCompare, isProperty, isThisExpressionLoose, isTypeAssertionExpression, isTypeExpression, isViMock, isViMockCallback };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { dual, or, unit } from "@eslint-react/eff";
|
|
2
|
-
import { AST_NODE_TYPES } from "@typescript-eslint/types";
|
|
2
|
+
import { AST_NODE_TYPES, TSESTree } from "@typescript-eslint/types";
|
|
3
3
|
import { ASTUtils } from "@typescript-eslint/utils";
|
|
4
4
|
import { simpleTraverse } from "@typescript-eslint/typescript-estree";
|
|
5
5
|
import { delimiterCase, replace, toLowerCase } from "string-ts";
|
|
@@ -817,4 +817,23 @@ function getPropertyName(node) {
|
|
|
817
817
|
}
|
|
818
818
|
|
|
819
819
|
//#endregion
|
|
820
|
-
|
|
820
|
+
//#region src/property-traverse.ts
|
|
821
|
+
/**
|
|
822
|
+
* Recursively traverses an object expression's properties to find a property with the specified name
|
|
823
|
+
* @param properties The properties of the object expression to traverse
|
|
824
|
+
* @param name The name of the property to find
|
|
825
|
+
* @returns The matching property node, or undefined if not found
|
|
826
|
+
*/
|
|
827
|
+
function findProperty(properties, name) {
|
|
828
|
+
for (const prop of properties) {
|
|
829
|
+
if (prop.type === AST_NODE_TYPES.Property && getPropertyName(prop.key) === name) return prop;
|
|
830
|
+
if (prop.type === AST_NODE_TYPES.SpreadElement && prop.argument.type === AST_NODE_TYPES.ObjectExpression) {
|
|
831
|
+
const found = findProperty(prop.argument.properties, name);
|
|
832
|
+
if (found != null) return found;
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
return unit;
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
//#endregion
|
|
839
|
+
export { SEL_DISPLAY_NAME_ASSIGNMENT_EXPRESSION, SEL_IMPLICIT_RETURN_ARROW_FUNCTION_EXPRESSION, SEL_OBJECT_DESTRUCTURING_VARIABLE_DECLARATOR, findParentNode, findProperty, getClassId, getFileDirectives, getFullyQualifiedName, getFunctionDirectives, getFunctionId, getFunctionInitPath, getHumanReadableKind, getNestedCallExpressions, getNestedExpressionsOfType, getNestedIdentifiers, getNestedNewExpressions, getNestedReturnStatements, getPropertyName, getRootIdentifier, getUnderlyingExpression, hasCallInFunctionInitPath, is, isClass, isConditional, isControlFlow, isDirective, isDirectiveInFile, isDirectiveInFunction, isDirectiveKind, isDirectiveLike, isDirectiveName, isFunction, isFunctionEmpty, isFunctionImmediatelyInvoked, isFunctionType, isIdentifier, isIdentifierName, isJSX, isJSXElement, isJSXFragment, isJSXTagNameExpression, isLineBreak, isLiteral, isLoop, isMethodOrProperty, isMultiLine, isNodeEqual, isOneOf, isProcessEnvNodeEnv, isProcessEnvNodeEnvCompare, isProperty, isThisExpressionLoose, isTypeAssertionExpression, isTypeExpression, isViMock, isViMockCallback };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eslint-react/ast",
|
|
3
|
-
"version": "3.0.0-next.
|
|
3
|
+
"version": "3.0.0-next.59",
|
|
4
4
|
"description": "ESLint React's TSESTree AST utility module.",
|
|
5
5
|
"homepage": "https://github.com/Rel1cx/eslint-react",
|
|
6
6
|
"bugs": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@typescript-eslint/typescript-estree": "canary",
|
|
35
35
|
"@typescript-eslint/utils": "canary",
|
|
36
36
|
"string-ts": "^2.3.1",
|
|
37
|
-
"@eslint-react/eff": "3.0.0-next.
|
|
37
|
+
"@eslint-react/eff": "3.0.0-next.59"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"tsdown": "^0.21.0-beta.2",
|