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 +```