मेरे पास ईएस 6-शैली का फ़ंक्शन है जिसे फ़ंक्शन रचना का उपयोग करके परिभाषित किया गया है asyncPipe
।
import { getItemAsync } from 'expo-secure-store';
const asyncPipe = (...fns) => x => fns.reduce(async (y, f) => f(await y), x);
const getToken = () => getItemAsync('token');
const liftedGetToken = async ({ ...rest }) => ({
token: await getToken(),
...rest,
});
const liftedFetch = ({ body, route, token, method = 'GET' } = {}) =>
fetch(route, {
...(body && { body: JSON.stringify(body) }),
headers: {
'Content-Type': 'application/json',
...(token && { Authorization: `Bearer ${token}` }),
},
method,
});
const json = res => res.json();
/**
* @method
* @param {Object} fetchSettings the settings for the fetch request
* @param {Object} fetchSettings.body the body of the request
* @param {string} fetchSettings.route the URL of the request
* @param {string} fetchSettings.method the method of the request
* @param {string} fetchSettings.token should only be used for testing and unauthenticated requests
*/
const request = asyncPipe(liftedGetToken, liftedFetch, json);
जैसा कि आप देख सकते हैं मैंने इसमें JSDoc विवरण जोड़ने की कोशिश की। लेकिन जब मैं इसे अपने संपादक VSCode के रूप में कहीं भी उपयोग करता हूं, तो इसके मापदंडों का सुझाव नहीं देता है। आप JSDoc के साथ इस प्रकार के कार्यों की घोषणा कैसे करते हैं? और मुझे इस फ़ंक्शन के लिए इंटेलीसेंस के साथ काम करने के लिए कैसे परम मिलें?