Bye 'is-url'
This commit is contained in:
		
							parent
							
								
									8f2f4b6d2d
								
							
						
					
					
						commit
						8b71006fbe
					
				
					 3 changed files with 9 additions and 13 deletions
				
			
		
							
								
								
									
										7
									
								
								src/@types/is-url.d.ts
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								src/@types/is-url.d.ts
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -1,7 +0,0 @@
 | 
			
		|||
declare module 'is-url' {
 | 
			
		||||
	function isUrl(string: string): boolean;
 | 
			
		||||
 | 
			
		||||
	namespace isUrl {} // Hack
 | 
			
		||||
 | 
			
		||||
	export = isUrl;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -6,7 +6,6 @@ import * as fs from 'fs';
 | 
			
		|||
import { URL } from 'url';
 | 
			
		||||
import * as yaml from 'js-yaml';
 | 
			
		||||
import { Source, Mixin } from './types';
 | 
			
		||||
import * as isUrl from 'is-url';
 | 
			
		||||
import * as pkg from '../../package.json';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -26,10 +25,7 @@ export default function load() {
 | 
			
		|||
 | 
			
		||||
	const mixin = {} as Mixin;
 | 
			
		||||
 | 
			
		||||
	// Validate URLs
 | 
			
		||||
	if (!isUrl(config.url)) throw `url="${config.url}" is not a valid URL`;
 | 
			
		||||
 | 
			
		||||
	const url = new URL(config.url);
 | 
			
		||||
	const url = validateUrl(config.url);
 | 
			
		||||
	config.url = normalizeUrl(config.url);
 | 
			
		||||
 | 
			
		||||
	mixin.host = url.host;
 | 
			
		||||
| 
						 | 
				
			
			@ -51,6 +47,14 @@ export default function load() {
 | 
			
		|||
	return Object.assign(config, mixin);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function validateUrl(url: string) {
 | 
			
		||||
	try {
 | 
			
		||||
		return new URL(url);
 | 
			
		||||
	} catch (e) {
 | 
			
		||||
		throw `url="${url}" is not a valid URL`;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function normalizeUrl(url: string) {
 | 
			
		||||
	return url.endsWith('/') ? url.substr(0, url.length - 1) : url;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue