File size: 866 Bytes
5fae594 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
export interface IOptions {
allowIcannDomains: boolean;
allowPrivateDomains: boolean;
detectIp: boolean;
extractHostname: boolean;
mixedInputs: boolean;
validHosts: string[] | null;
validateHostname: boolean;
}
function setDefaultsImpl({
allowIcannDomains = true,
allowPrivateDomains = false,
detectIp = true,
extractHostname = true,
mixedInputs = true,
validHosts = null,
validateHostname = true,
}: Partial<IOptions>): IOptions {
return {
allowIcannDomains,
allowPrivateDomains,
detectIp,
extractHostname,
mixedInputs,
validHosts,
validateHostname,
};
}
const DEFAULT_OPTIONS = /*@__INLINE__*/ setDefaultsImpl({});
export function setDefaults(options?: Partial<IOptions>): IOptions {
if (options === undefined) {
return DEFAULT_OPTIONS;
}
return /*@__INLINE__*/ setDefaultsImpl(options);
}
|