Skip to content

partob

Create a partob a function

62 bytes

Usage

Modern javascript destructuring means a lot of developers, libraries, and frameworks are all opting for unary functions that take a single object that contains the arguments. The _.partob function let’s you partob these unary functions.

import * as
import _
_
from 'radashi'
const
const add: (props: {
a: number;
b: number;
}) => number
add
= (
props: {
a: number;
b: number;
}
props
: {
a: number
a
: number;
b: number
b
: number }) =>
props: {
a: number;
b: number;
}
props
.
a: number
a
+
props: {
a: number;
b: number;
}
props
.
b: number
b
const
const addFive: (restObj: Omit<{
a: number;
b: number;
}, "a">) => number
addFive
=
import _
_
.
partob<{
a: number;
b: number;
}, number, {
a: number;
}>(fn: (args: {
a: number;
b: number;
}) => number, argObj: {
a: number;
}): (restObj: Omit<{
a: number;
b: number;
}, "a">) => number
export partob

Like partial but for unary functions that accept a single object argument

@seehttps://radashi.js.org/reference/curry/partob

@example

const add = (
{a = 0, b = 0, c = 0}: {
a?: number,
b?: number,
c?: number
}
) => a + b + c
const addPartial = partob(add, { a: 1 })
addPartial({ b: 2 }) // 3
addPartial({ b: 1, c: 5 }) // 7

@version12.1.0

partob
(
const add: (props: {
a: number;
b: number;
}) => number
add
, {
a: number
a
: 5 })
const addFive: (restObj: Omit<{
a: number;
b: number;
}, "a">) => number
addFive
({
b: number
b
: 2 }) // => 7