MCPcopy Index your code
hub / github.com/bytebase/dbhub / mapArgumentsToArray

Function mapArgumentsToArray

src/utils/parameter-mapper.ts:179–210  ·  view source on GitHub ↗
(
  parameters: ParameterConfig[] | undefined,
  args: Record<string, any>
)

Source from the content-addressed store, hash-verified

177 * @returns Array of parameter values in order
178 */
179export function mapArgumentsToArray(
180 parameters: ParameterConfig[] | undefined,
181 args: Record<string, any>
182): any[] {
183 if (!parameters || parameters.length === 0) {
184 return [];
185 }
186
187 return parameters.map((param) => {
188 const value = args[param.name];
189
190 // Use provided value if available
191 if (value !== undefined) {
192 return value;
193 }
194
195 // Use default value if parameter is optional
196 if (param.default !== undefined) {
197 return param.default;
198 }
199
200 // This should be caught by Zod validation, but add a safety check
201 if (param.required !== false) {
202 throw new Error(
203 `Required parameter '${param.name}' is missing and has no default value.`
204 );
205 }
206
207 // Optional parameter with no default
208 return null;
209 });
210}

Callers 2

createCustomToolHandlerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected