UNPKG

leumas-axios

Version:

An advanced Axios wrapper with extended features and Express multi-post middleware for conversational API endpoints.

63 lines (58 loc) 2.18 kB
// demo.js const AdvancedAxios = require('./index.js'); // Create an instance with optional Axios configuration. const advancedAxios = new AdvancedAxios({ timeout: 5000, }); // --- Example 1: multiGet --- // Retrieve data from multiple endpoints concurrently. advancedAxios .multiGet([ 'https://jsonplaceholder.typicode.com/posts/1', 'https://jsonplaceholder.typicode.com/posts/2', ]) .then((dataArray) => { console.log('multiGet responses:', dataArray); }) .catch((err) => { console.error('Error in multiGet:', err); }); // --- Example 2: multiPost --- // Simulate a multi-step post where the server may ask for missing data. advancedAxios .multiPost('http://example.com/api/multi-post', { data: { name: 'Alice' }, // initial data (e.g., missing "email") }, { // onFeedback is called with missing fields from the server. onFeedback: (missingFields) => { console.log('Server requires additional fields:', missingFields); // In a real application, you might prompt the user. Here, we simulate it. return Promise.resolve({ email: 'alice@example.com' }); }, }) .then((result) => { console.log('multiPost completed:', result); }) .catch((err) => { console.error('Error in multiPost:', err); }); // --- Example 3: generativePost --- // Simulate a POST request where missing fields are filled by AI. advancedAxios .generativePost('http://example.com/api/generative-post', { data: { name: 'Alice' }, // data missing some fields, e.g., "email" }, { // schemaGenerator simulates an AI that generates the complete data schema. schemaGenerator: (currentData) => { console.log('Generating complete schema from:', currentData); // In a real implementation, you could integrate with an AI service here. // For demonstration, we just add a missing email field. return Promise.resolve({ ...currentData, email: 'alice@example.com' }); }, }) .then((result) => { console.log('generativePost response:', result); }) .catch((err) => { console.error('Error in generativePost:', err); });