UNPKG

foop

Version:

interfaces that describe their intentions.

39 lines (35 loc) 3.45 kB
var bind = require('../fp/bind') var flip2 = require('../fp/flip2') var curry = require('../fp/curry') var dotSet = require('../dot/set') var dotGet = require('../dot/get') var dotHas = require('../dot/has') var dotDelete = require('../dot/delete') var set = curry(2, flip2(dotSet)) var get = curry(2, flip2(dotGet)) var has = curry(2, flip2(dotHas)) var del = curry(2, flip2(dotDelete)) var thisBind = flip2(bind) /** * @name bindMethod * @since 5.0.0-beta.6 * @memberOf flipped * * @param {Object} thisArg context * @param {Primitive} method method name * @return {Function} * * @see fp/bind * @see fp/flip2 * @see fp/curry * @see dot/get * * @example * const eh = {oh() {console.log(this)}} * eh.oh = bindMethod(eh, 'oh') */ module.exports = function (thisArg, method) { var fn = get(thisArg, method) return thisBind(thisArg, fn) } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZE1ldGhvZC5qcyIsInNvdXJjZXMiOlsiYmluZE1ldGhvZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBiaW5kID0gcmVxdWlyZSgnLi4vZnAvYmluZCcpXG5jb25zdCBmbGlwMiA9IHJlcXVpcmUoJy4uL2ZwL2ZsaXAyJylcbmNvbnN0IGN1cnJ5ID0gcmVxdWlyZSgnLi4vZnAvY3VycnknKVxuY29uc3QgZG90U2V0ID0gcmVxdWlyZSgnLi4vZG90L3NldCcpXG5jb25zdCBkb3RHZXQgPSByZXF1aXJlKCcuLi9kb3QvZ2V0JylcbmNvbnN0IGRvdEhhcyA9IHJlcXVpcmUoJy4uL2RvdC9oYXMnKVxuY29uc3QgZG90RGVsZXRlID0gcmVxdWlyZSgnLi4vZG90L2RlbGV0ZScpXG5cbmNvbnN0IHNldCA9IGN1cnJ5KDIsIGZsaXAyKGRvdFNldCkpXG5jb25zdCBnZXQgPSBjdXJyeSgyLCBmbGlwMihkb3RHZXQpKVxuY29uc3QgaGFzID0gY3VycnkoMiwgZmxpcDIoZG90SGFzKSlcbmNvbnN0IGRlbCA9IGN1cnJ5KDIsIGZsaXAyKGRvdERlbGV0ZSkpXG5cbmNvbnN0IHRoaXNCaW5kID0gZmxpcDIoYmluZClcblxuLyoqXG4gKiBAbmFtZSBiaW5kTWV0aG9kXG4gKiBAc2luY2UgNS4wLjAtYmV0YS42XG4gKiBAbWVtYmVyT2YgZmxpcHBlZFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB0aGlzQXJnIGNvbnRleHRcbiAqIEBwYXJhbSB7UHJpbWl0aXZlfSBtZXRob2QgbWV0aG9kIG5hbWVcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufVxuICpcbiAqIEBzZWUgZnAvYmluZFxuICogQHNlZSBmcC9mbGlwMlxuICogQHNlZSBmcC9jdXJyeVxuICogQHNlZSBkb3QvZ2V0XG4gKlxuICogQGV4YW1wbGVcbiAqICAgIGNvbnN0IGVoID0ge29oKCkge2NvbnNvbGUubG9nKHRoaXMpfX1cbiAqICAgIGVoLm9oID0gYmluZE1ldGhvZChlaCwgJ29oJylcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSAodGhpc0FyZywgbWV0aG9kKSA9PiB7XG4gIGNvbnN0IGZuID0gZ2V0KHRoaXNBcmcsIG1ldGhvZClcbiAgcmV0dXJuIHRoaXNCaW5kKHRoaXNBcmcsIGZuKVxufVxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0FBQ2xDQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFDcENBLEdBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztBQUNwQ0EsR0FBSyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0FBQ3BDQSxHQUFLLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDcENBLEdBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUNwQ0EsR0FBSyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDOztBQUUxQ0EsR0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuQ0EsR0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuQ0EsR0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuQ0EsR0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzs7QUFFdENBLEdBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQjVCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBQSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQUFBRztFQUNwQ0EsR0FBSyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztFQUMvQixPQUFPLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0NBQzdCOyJ9