20 lines
		
	
	
		
			460 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			460 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
export function autoUnfoldCW (settings, status) {
 | 
						|
  if (!settings.getIn(['content_warnings', 'auto_unfold'])) {
 | 
						|
    return false;
 | 
						|
  }
 | 
						|
 | 
						|
  const rawRegex = settings.getIn(['content_warnings', 'filter']);
 | 
						|
  let regex      = null;
 | 
						|
 | 
						|
  try {
 | 
						|
    regex = rawRegex && new RegExp(rawRegex.trim(), 'i');
 | 
						|
  } catch (e) {
 | 
						|
    // Bad regex, don't affect filters
 | 
						|
  }
 | 
						|
 | 
						|
  if (!(status && regex)) {
 | 
						|
    return undefined;
 | 
						|
  }
 | 
						|
  return !regex.test(status.get('spoiler_text'));
 | 
						|
}
 |