mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-11-04 15:53:46 +00: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)
 | 
						|
    });
 | 
						|
}
 |