first
This commit is contained in:
80
debug-parameters.js
Normal file
80
debug-parameters.js
Normal file
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Debug parameter extraction
|
||||
*/
|
||||
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
// Test parameter extraction
|
||||
const testParameterText = `
|
||||
username: { type: "string", required: true, description: "Username" },
|
||||
password: { type: "string", required: true, description: "Password" },
|
||||
`;
|
||||
|
||||
console.log('Testing parameter extraction...');
|
||||
console.log('Input text:', testParameterText);
|
||||
|
||||
// Current regex
|
||||
const paramRegex = /(\w+):\s*\{([^}]*)\}/g;
|
||||
|
||||
let match;
|
||||
const parameters = [];
|
||||
|
||||
while ((match = paramRegex.exec(testParameterText)) !== null) {
|
||||
const [, name, paramContent] = match;
|
||||
console.log(`Found parameter: ${name}`);
|
||||
console.log(`Content: ${paramContent}`);
|
||||
|
||||
// Extract type
|
||||
const typeMatch = paramContent.match(/type:\s*["']([^"']+)["']/);
|
||||
const type = typeMatch ? typeMatch[1] : 'string';
|
||||
|
||||
// Extract required
|
||||
const requiredMatch = paramContent.match(/required:\s*(true|false)/);
|
||||
const required = requiredMatch ? requiredMatch[1] === 'true' : false;
|
||||
|
||||
// Extract description
|
||||
const descMatch = paramContent.match(/description:\s*["']([^"']*?)["']/);
|
||||
const description = descMatch ? descMatch[1] : '';
|
||||
|
||||
console.log(`Extracted - Type: ${type}, Required: ${required}, Description: ${description}`);
|
||||
|
||||
parameters.push({
|
||||
name: name.trim(),
|
||||
type: type.trim(),
|
||||
required,
|
||||
description: description.trim(),
|
||||
});
|
||||
}
|
||||
|
||||
console.log('Final parameters:', parameters);
|
||||
|
||||
// Test with actual endpoint
|
||||
const endpointsPath = path.join(process.cwd(), 'src/config/endpoints.js');
|
||||
const content = fs.readFileSync(endpointsPath, 'utf8');
|
||||
|
||||
// Find the login endpoint
|
||||
const loginMatch = content.match(/\{[\s\S]*?path:\s*["']\/api\/login["'][\s\S]*?\}/);
|
||||
if (loginMatch) {
|
||||
console.log('\nFound login endpoint:');
|
||||
console.log(loginMatch[0]);
|
||||
|
||||
// Extract parameters section
|
||||
const paramMatch = loginMatch[0].match(/parameters:\s*\{([\s\S]*?)\}/);
|
||||
if (paramMatch) {
|
||||
console.log('\nParameters section:');
|
||||
console.log(paramMatch[1]);
|
||||
|
||||
// Test extraction
|
||||
const paramText = paramMatch[1];
|
||||
const testRegex = /(\w+):\s*\{([^}]*)\}/g;
|
||||
|
||||
console.log('\nTesting extraction on actual data:');
|
||||
let testMatch;
|
||||
while ((testMatch = testRegex.exec(paramText)) !== null) {
|
||||
console.log(`Parameter: ${testMatch[1]}, Content: ${testMatch[2]}`);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user