CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-babel--helper-get-function-arity

Helper function to get function arity by analyzing parameter lists for assignment patterns and rest parameters

95

1.06x
Overview
Eval results
Files

task.mdevals/scenario-5/

Function Arity Analyzer

Build a utility that analyzes JavaScript function definitions to determine their required parameter counts, handling various edge cases correctly.

Capabilities

Edge case handling

Your utility should correctly handle the following edge cases when analyzing function arity:

  • A function with no parameters returns arity 0 @test
  • A function with all default parameters returns arity 0 @test
  • A function with only a rest parameter returns arity 0 @test
  • A function mixing required parameters followed by default parameters correctly identifies only required parameters @test
  • A function with required parameters followed by a rest parameter correctly counts only the required parameters @test

Implementation

@generates

API

/**
 * Analyzes a function AST node and returns its arity (number of required parameters)
 *
 * @param {Object} functionNode - A Babel AST node representing a function
 * @returns {number} The number of required parameters before any optional or rest parameters
 */
function getRequiredParamCount(functionNode) {
  // IMPLEMENTATION HERE
}

module.exports = { getRequiredParamCount };

Dependencies { .dependencies }

@babel/helper-get-function-arity { .dependency }

Provides function arity analysis capabilities for Babel AST nodes.

@satisfied-by

@babel/types { .dependency }

Provides utilities for creating and manipulating Babel AST nodes for testing.

@satisfied-by

Install with Tessl CLI

npx tessl i tessl/npm-babel--helper-get-function-arity

tile.json