30 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| exports.codes = {
 | |
|     EMPTY_STRING: 'Address must be a non-empty string',
 | |
|     FORBIDDEN_UNICODE: 'Address contains forbidden Unicode characters',
 | |
|     MULTIPLE_AT_CHAR: 'Address cannot contain more than one @ character',
 | |
|     MISSING_AT_CHAR: 'Address must contain one @ character',
 | |
|     EMPTY_LOCAL: 'Address local part cannot be empty',
 | |
|     ADDRESS_TOO_LONG: 'Address too long',
 | |
|     LOCAL_TOO_LONG: 'Address local part too long',
 | |
|     EMPTY_LOCAL_SEGMENT: 'Address local part contains empty dot-separated segment',
 | |
|     INVALID_LOCAL_CHARS: 'Address local part contains invalid character',
 | |
|     DOMAIN_NON_EMPTY_STRING: 'Domain must be a non-empty string',
 | |
|     DOMAIN_TOO_LONG: 'Domain too long',
 | |
|     DOMAIN_INVALID_UNICODE_CHARS: 'Domain contains forbidden Unicode characters',
 | |
|     DOMAIN_INVALID_CHARS: 'Domain contains invalid character',
 | |
|     DOMAIN_INVALID_TLDS_CHARS: 'Domain contains invalid tld character',
 | |
|     DOMAIN_SEGMENTS_COUNT: 'Domain lacks the minimum required number of segments',
 | |
|     DOMAIN_SEGMENTS_COUNT_MAX: 'Domain contains too many segments',
 | |
|     DOMAIN_FORBIDDEN_TLDS: 'Domain uses forbidden TLD',
 | |
|     DOMAIN_EMPTY_SEGMENT: 'Domain contains empty dot-separated segment',
 | |
|     DOMAIN_LONG_SEGMENT: 'Domain contains dot-separated segment that is too long'
 | |
| };
 | |
| 
 | |
| 
 | |
| exports.code = function (code) {
 | |
| 
 | |
|     return { code, error: exports.codes[code] };
 | |
| };
 |