mirror of
				https://github.com/actions/setup-node.git
				synced 2025-10-26 07:16:44 +08:00 
			
		
		
		
	* Updates * Update * Update * Update * Update * Yarn sometimes prefers npmrc, so use same token * Description * Update readme * Feedback * Add type * new toolkit and scoped registries * npmrc in RUNNER_TEMP * Dont always auth * Try exporting blank token * Get auth working for now pending runner changes * Fix string interpolation for auth token. * Don't export both userconfigs * Update authutil.js * Add single quotes for authString * Fix the registry string. * Use userconfig and append trailing slash * Keep in root of repo * Try just adding auth token * Remove auth token * Try changes again * Add tests * Npm and GPR samples * Add types
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| const pump = require('pump');
 | |
| const bufferStream = require('./buffer-stream');
 | |
| 
 | |
| class MaxBufferError extends Error {
 | |
| 	constructor() {
 | |
| 		super('maxBuffer exceeded');
 | |
| 		this.name = 'MaxBufferError';
 | |
| 	}
 | |
| }
 | |
| 
 | |
| function getStream(inputStream, options) {
 | |
| 	if (!inputStream) {
 | |
| 		return Promise.reject(new Error('Expected a stream'));
 | |
| 	}
 | |
| 
 | |
| 	options = Object.assign({maxBuffer: Infinity}, options);
 | |
| 
 | |
| 	const {maxBuffer} = options;
 | |
| 
 | |
| 	let stream;
 | |
| 	return new Promise((resolve, reject) => {
 | |
| 		const rejectPromise = error => {
 | |
| 			if (error) { // A null check
 | |
| 				error.bufferedData = stream.getBufferedValue();
 | |
| 			}
 | |
| 			reject(error);
 | |
| 		};
 | |
| 
 | |
| 		stream = pump(inputStream, bufferStream(options), error => {
 | |
| 			if (error) {
 | |
| 				rejectPromise(error);
 | |
| 				return;
 | |
| 			}
 | |
| 
 | |
| 			resolve();
 | |
| 		});
 | |
| 
 | |
| 		stream.on('data', () => {
 | |
| 			if (stream.getBufferedLength() > maxBuffer) {
 | |
| 				rejectPromise(new MaxBufferError());
 | |
| 			}
 | |
| 		});
 | |
| 	}).then(() => stream.getBufferedValue());
 | |
| }
 | |
| 
 | |
| module.exports = getStream;
 | |
| module.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'}));
 | |
| module.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true}));
 | |
| module.exports.MaxBufferError = MaxBufferError;
 |