mirror of https://github.com/portainer/portainer
				
				
				
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			872 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			872 B
		
	
	
	
		
			TypeScript
		
	
	
function replaceBetween(
 | 
						|
  startIndex: number,
 | 
						|
  endIndex: number,
 | 
						|
  original: string,
 | 
						|
  insertion: string
 | 
						|
) {
 | 
						|
  const result =
 | 
						|
    original.substring(0, startIndex) +
 | 
						|
    insertion +
 | 
						|
    original.substring(endIndex);
 | 
						|
  return result;
 | 
						|
}
 | 
						|
 | 
						|
export function mockT(i18nKey: string, args?: Record<string, string>) {
 | 
						|
  let key = i18nKey;
 | 
						|
 | 
						|
  while (key.includes('{{') && args) {
 | 
						|
    const startIndex = key.indexOf('{{');
 | 
						|
    const endIndex = key.indexOf('}}');
 | 
						|
 | 
						|
    const currentArg = key.substring(startIndex + 2, endIndex);
 | 
						|
    const value = args[currentArg];
 | 
						|
 | 
						|
    key = replaceBetween(startIndex, endIndex + 2, key, value);
 | 
						|
  }
 | 
						|
 | 
						|
  return key;
 | 
						|
}
 | 
						|
 | 
						|
const i18next: Record<string, unknown> = jest.createMockFromModule('i18next');
 | 
						|
i18next.t = mockT;
 | 
						|
i18next.language = 'en';
 | 
						|
i18next.changeLanguage = () => new Promise(() => {});
 | 
						|
i18next.use = () => i18next;
 | 
						|
 | 
						|
export default i18next;
 |