23 lines
		
	
	
		
			914 B
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			914 B
		
	
	
	
		
			TypeScript
		
	
	
	
import { expectType, expectAssignable } from "tsd";
 | 
						|
import slowRedact from ".";
 | 
						|
import type { redactFn, redactFnNoSerialize } from ".";
 | 
						|
 | 
						|
// should return redactFn
 | 
						|
expectType<redactFn>(slowRedact());
 | 
						|
expectType<redactFn>(slowRedact({ paths: [] }));
 | 
						|
expectType<redactFn>(slowRedact({ paths: ["some.path"] }));
 | 
						|
expectType<redactFn>(slowRedact({ paths: [], censor: "[REDACTED]" }));
 | 
						|
expectType<redactFn>(slowRedact({ paths: [], strict: true }));
 | 
						|
expectType<redactFn>(slowRedact({ paths: [], serialize: JSON.stringify }));
 | 
						|
expectType<redactFn>(slowRedact({ paths: [], serialize: true }));
 | 
						|
expectType<redactFnNoSerialize>(slowRedact({ paths: [], serialize: false }));
 | 
						|
expectType<redactFn>(slowRedact({ paths: [], remove: true }));
 | 
						|
 | 
						|
// should return string
 | 
						|
expectType<string>(slowRedact()(""));
 | 
						|
 | 
						|
// should return string or T
 | 
						|
expectAssignable<string | { someField: string }>(
 | 
						|
  slowRedact()({ someField: "someValue" })
 | 
						|
);
 |