From 94dce697ea58aac7afbeec9172e3b05fe66eb093 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Mon, 13 Jan 2020 10:07:21 +0200 Subject: [PATCH] Update flip.md --- snippets/flip.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/snippets/flip.md b/snippets/flip.md index a6419f811..803dfb2ed 100644 --- a/snippets/flip.md +++ b/snippets/flip.md @@ -1,22 +1,22 @@ ---- -title: flip -tags: adapter,function,intermediate ---- - +--- +title: flip +tags: function,intermediate +--- + Flip takes a function as an argument, then makes the first argument the last. -Return a closure that takes variadic inputs, and splices the last argument to make it the first argument before applying the rest. - -```js -const flip = fn => (first, ...rest) => fn(...rest, first); -``` - -```js -let a = { name: 'John Smith' }; -let b = {}; -const mergeFrom = flip(Object.assign); -let mergePerson = mergeFrom.bind(null, a); -mergePerson(b); // == b -b = {}; -Object.assign(b, a); // == b -``` \ No newline at end of file +Return a closure that takes variadic inputs, and splices the last argument to make it the first argument before applying the rest. + +```js +const flip = fn => (first, ...rest) => fn(...rest, first); +``` + +```js +let a = { name: 'John Smith' }; +let b = {}; +const mergeFrom = flip(Object.assign); +let mergePerson = mergeFrom.bind(null, a); +mergePerson(b); // == b +b = {}; +Object.assign(b, a); // == b +```