Skip to main content
Module

x/tsafe/lab/withDefaults.ts>withDefaults

🔩 The missing TypeScript utils
Go to Latest
function withDefaults
import { withDefaults } from "https://deno.land/x/tsafe@v1.4.1/lab/withDefaults.ts";

Like Function.prototype.bind() but for a function that receives their parameters wrapped in an object. See documentation for more details: https://docs.tsafe.dev/withdefaults

Type Parameters

Params extends Record<string, unknown>
DefaultKey extends keyof Params
R

Parameters

f: (params: Params) => R
defaultParams: keyof Params extends never ? Record<string, never> : [Key in DefaultKey]: Params[Key]

Returns

(params: [Key in keyof Omit<Params, DefaultKey>]: Params[Key] & { defaultsOverwrite?: [Key in DefaultKey]?: [Params[Key]]; }) => R