| /** @license MIT License (c) copyright 2010-2014 original author or authors */ |
| /** @author Brian Cavalier */ |
| /** @author John Hann */ |
| |
| (function(define) { 'use strict'; |
| define(function() { |
| |
| return function liftAll(liftOne, combine, dst, src) { |
| if(typeof combine === 'undefined') { |
| combine = defaultCombine; |
| } |
| |
| return Object.keys(src).reduce(function(dst, key) { |
| var f = src[key]; |
| return typeof f === 'function' ? combine(dst, liftOne(f), key) : dst; |
| }, typeof dst === 'undefined' ? defaultDst(src) : dst); |
| }; |
| |
| function defaultCombine(o, f, k) { |
| o[k] = f; |
| return o; |
| } |
| |
| function defaultDst(src) { |
| return typeof src === 'function' ? src.bind() : Object.create(src); |
| } |
| }); |
| }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); |