mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-04 04:45:28 -05:00 
			
		
		
		
	
		
			
	
	
		
			23 lines
		
	
	
		
			891 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			891 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								import fetchWrapper from "./fetch-wrapper";
							 | 
						||
| 
								 | 
							
								export default function withDefaults(oldEndpoint, newDefaults) {
							 | 
						||
| 
								 | 
							
								    const endpoint = oldEndpoint.defaults(newDefaults);
							 | 
						||
| 
								 | 
							
								    const newApi = function (route, parameters) {
							 | 
						||
| 
								 | 
							
								        const endpointOptions = endpoint.merge(route, parameters);
							 | 
						||
| 
								 | 
							
								        if (!endpointOptions.request || !endpointOptions.request.hook) {
							 | 
						||
| 
								 | 
							
								            return fetchWrapper(endpoint.parse(endpointOptions));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        const request = (route, parameters) => {
							 | 
						||
| 
								 | 
							
								            return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								        Object.assign(request, {
							 | 
						||
| 
								 | 
							
								            endpoint,
							 | 
						||
| 
								 | 
							
								            defaults: withDefaults.bind(null, endpoint)
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								        return endpointOptions.request.hook(request, endpointOptions);
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    return Object.assign(newApi, {
							 | 
						||
| 
								 | 
							
								        endpoint,
							 | 
						||
| 
								 | 
							
								        defaults: withDefaults.bind(null, endpoint)
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								}
							 |