mortgage-calculator
Version:
package for basic calculation mortgage
2 lines (1 loc) • 25.9 kB
JavaScript
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.mortgageCalculator=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){function getAmortization(capital,pay,periods,interest){var amortizationTable=[];var updateAmortizationTable=function(capital,periods){var amortizationInterest=capital*(interest/12),amortizationCapital=pay-amortizationInterest;if(capital<pay){pay=capital+amortizationInterest;amortizationCapital=pay-amortizationInterest;updateTable(pay,amortizationCapital);return}else{updateTable(pay,amortizationCapital);updateAmortizationTable(capital-amortizationCapital,periods-1)}function updateTable(pay,amortizationCapital){amortizationTable.push({period:amortizationTable.length+1,amortizationInterest:amortizationInterest,amortizationCapital:amortizationCapital,remainingCapital:capital-amortizationCapital})}};updateAmortizationTable(capital,periods);return amortizationTable}if(typeof module!=="undefined"){module.exports=getAmortization}},{}],2:[function(require,module,exports){if(typeof require!=="undefined"){var defaults=require("lodash/object/defaults");var forEach=require("lodash/collection/forEach");var compose=require("lodash/function/compose");var amortization=require("./amortization.js")}var defaultMortgageOptions={initialDeposit:0,age:18,monthlyIncome:1,interest:.1,term:10,monthlyExpenses:0,settings:{maxAge:65,personalTaxRate:0,riskRate:.36}},clone=compose(JSON.parse,JSON.stringify);function calculateMortgage(options){options=defaults(clone(options||{}),defaultMortgageOptions);var settings=defaults(clone(options.settings||{}),defaultMortgageOptions.settings);forEach(options,function(n,key){if(n<defaultMortgageOptions[key]||isNaN(n)){n=defaultMortgageOptions[key];options[key]=defaultMortgageOptions[key]}});if(+options.monthlyExpenses>+options.monthlyIncome){options.monthlyExpenses=options.monthlyIncome}var findMaxPay=function(monthlyIncome,monthlyExpenses){var maxPay=(monthlyIncome-monthlyExpenses)*settings.riskRate;return maxPay};var findMortgage=function(pay,monthlyInterest,totalPeriods){var mortgage=pay*(1-Math.pow(1+monthlyInterest/100,-totalPeriods))/(monthlyInterest/100);return mortgage};var periodsRequested=options.payments||options.term*12,totalPeriods=getMaxTerm(options.age,settings.maxAge,periodsRequested),maxMonthlyPayment=findMaxPay(options.monthlyIncome,options.monthlyExpenses),mortgageTotal=findMortgage(maxMonthlyPayment,options.interest/12,totalPeriods),totalPriceHouse=mortgageTotal+options.initialDeposit,totalInterest=0;if(mortgageTotal!==0){totalInterest=totalAmortization({mortgageTotal:mortgageTotal,maxMonthlyPayment:maxMonthlyPayment,term:periodsRequested,interest:options.interest/12})}return{maxMonthlyPayment:maxMonthlyPayment,mortgageTotal:+mortgageTotal.toFixed(7),totalPriceHouse:+totalPriceHouse.toFixed(7),totalInterest:+totalInterest.toFixed(7)}}function getMaxTerm(age,maxAge,periodsRequested){var maxPeriods=(maxAge-age)*12;if(maxPeriods>periodsRequested){return periodsRequested}else{return maxPeriods}}function totalAmortization(argument){var amortizationResult=amortization(argument.mortgageTotal,argument.maxMonthlyPayment,argument.term,argument.interest/100);var totalInterest=0;function getTotalInterest(element){totalInterest+=element.amortizationInterest}amortizationResult.forEach(getTotalInterest);return totalInterest}if(typeof module!=="undefined"){module.exports=calculateMortgage}},{"./amortization.js":1,"lodash/collection/forEach":6,"lodash/function/compose":7,"lodash/object/defaults":51}],3:[function(require,module,exports){if(typeof require!=="undefined"){var defaults=require("lodash/object/defaults");var compose=require("lodash/function/compose")}var defaultOptions={places:2,symbol:"$",thousand:",",decimal:"."},clone=compose(JSON.parse,JSON.stringify);function negativeValue(number){return number<0?"-":""}function formatMoney(number,options){number=+number||0;options=defaults(clone(options||{}),defaultOptions);var negative=negativeValue(number),i=parseInt(number=Math.abs(number).toFixed(options.places),10)+"",j=(j=i.length)>3?j%3:0;return options.symbol+negative+(j?i.substr(0,j)+options.thousand:"")+i.substr(j).replace(/(\d{3})(?=\d)/g,"$1"+options.thousand)+(options.places?options.decimal+Math.abs(number-i).toFixed(options.places).slice(2):"")}if(typeof module!=="undefined"){module.exports=formatMoney}},{"lodash/function/compose":7,"lodash/object/defaults":51}],4:[function(require,module,exports){module.exports={formatMoney:require("./format_money.js"),calculateMortgage:require("./calculate_mortgage.js"),amortization:require("./amortization.js")}},{"./amortization.js":1,"./calculate_mortgage.js":2,"./format_money.js":3}],5:[function(require,module,exports){var LazyWrapper=require("../internal/LazyWrapper"),LodashWrapper=require("../internal/LodashWrapper"),baseLodash=require("../internal/baseLodash"),isArray=require("../lang/isArray"),isObjectLike=require("../internal/isObjectLike"),wrapperClone=require("../internal/wrapperClone");var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper){return value}if(hasOwnProperty.call(value,"__chain__")&&hasOwnProperty.call(value,"__wrapped__")){return wrapperClone(value)}}return new LodashWrapper(value)}lodash.prototype=baseLodash.prototype;module.exports=lodash},{"../internal/LazyWrapper":10,"../internal/LodashWrapper":11,"../internal/baseLodash":22,"../internal/isObjectLike":40,"../internal/wrapperClone":45,"../lang/isArray":47}],6:[function(require,module,exports){var arrayEach=require("../internal/arrayEach"),baseEach=require("../internal/baseEach"),createForEach=require("../internal/createForEach");var forEach=createForEach(arrayEach,baseEach);module.exports=forEach},{"../internal/arrayEach":13,"../internal/baseEach":19,"../internal/createForEach":30}],7:[function(require,module,exports){module.exports=require("./flowRight")},{"./flowRight":8}],8:[function(require,module,exports){var createFlow=require("../internal/createFlow");var flowRight=createFlow(true);module.exports=flowRight},{"../internal/createFlow":29}],9:[function(require,module,exports){var FUNC_ERROR_TEXT="Expected a function";var nativeMax=Math.max;function restParam(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:+start||0,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);while(++index<length){rest[index]=args[start+index]}switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);index=-1;while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=rest;return func.apply(this,otherArgs)}}module.exports=restParam},{}],10:[function(require,module,exports){var baseCreate=require("./baseCreate"),baseLodash=require("./baseLodash");var POSITIVE_INFINITY=Number.POSITIVE_INFINITY;function LazyWrapper(value){this.__wrapped__=value;this.__actions__=null;this.__dir__=1;this.__dropCount__=0;this.__filtered__=false;this.__iteratees__=null;this.__takeCount__=POSITIVE_INFINITY;this.__views__=null}LazyWrapper.prototype=baseCreate(baseLodash.prototype);LazyWrapper.prototype.constructor=LazyWrapper;module.exports=LazyWrapper},{"./baseCreate":18,"./baseLodash":22}],11:[function(require,module,exports){var baseCreate=require("./baseCreate"),baseLodash=require("./baseLodash");function LodashWrapper(value,chainAll,actions){this.__wrapped__=value;this.__actions__=actions||[];this.__chain__=!!chainAll}LodashWrapper.prototype=baseCreate(baseLodash.prototype);LodashWrapper.prototype.constructor=LodashWrapper;module.exports=LodashWrapper},{"./baseCreate":18,"./baseLodash":22}],12:[function(require,module,exports){function arrayCopy(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}module.exports=arrayCopy},{}],13:[function(require,module,exports){function arrayEach(array,iteratee){var index=-1,length=array.length;while(++index<length){if(iteratee(array[index],index,array)===false){break}}return array}module.exports=arrayEach},{}],14:[function(require,module,exports){function assignDefaults(objectValue,sourceValue){return objectValue===undefined?sourceValue:objectValue}module.exports=assignDefaults},{}],15:[function(require,module,exports){var keys=require("../object/keys");function assignWith(object,source,customizer){var index=-1,props=keys(source),length=props.length;while(++index<length){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);if((result===result?result!==value:value===value)||value===undefined&&!(key in object)){object[key]=result}}return object}module.exports=assignWith},{"../object/keys":52}],16:[function(require,module,exports){var baseCopy=require("./baseCopy"),keys=require("../object/keys");function baseAssign(object,source){return source==null?object:baseCopy(source,keys(source),object)}module.exports=baseAssign},{"../object/keys":52,"./baseCopy":17}],17:[function(require,module,exports){function baseCopy(source,props,object){object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];object[key]=source[key]}return object}module.exports=baseCopy},{}],18:[function(require,module,exports){var isObject=require("../lang/isObject");var baseCreate=function(){function object(){}return function(prototype){if(isObject(prototype)){object.prototype=prototype;var result=new object;object.prototype=null}return result||{}}}();module.exports=baseCreate},{"../lang/isObject":49}],19:[function(require,module,exports){var baseForOwn=require("./baseForOwn"),createBaseEach=require("./createBaseEach");var baseEach=createBaseEach(baseForOwn);module.exports=baseEach},{"./baseForOwn":21,"./createBaseEach":27}],20:[function(require,module,exports){var createBaseFor=require("./createBaseFor");var baseFor=createBaseFor();module.exports=baseFor},{"./createBaseFor":28}],21:[function(require,module,exports){var baseFor=require("./baseFor"),keys=require("../object/keys");function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}module.exports=baseForOwn},{"../object/keys":52,"./baseFor":20}],22:[function(require,module,exports){function baseLodash(){}module.exports=baseLodash},{}],23:[function(require,module,exports){function baseProperty(key){return function(object){return object==null?undefined:object[key]}}module.exports=baseProperty},{}],24:[function(require,module,exports){function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}module.exports=baseToString},{}],25:[function(require,module,exports){var identity=require("../utility/identity");function bindCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(thisArg===undefined){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}module.exports=bindCallback},{"../utility/identity":55}],26:[function(require,module,exports){var bindCallback=require("./bindCallback"),isIterateeCall=require("./isIterateeCall"),restParam=require("../function/restParam");function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=object==null?0:sources.length,customizer=length>2?sources[length-2]:undefined,guard=length>2?sources[2]:undefined,thisArg=length>1?sources[length-1]:undefined;if(typeof customizer=="function"){customizer=bindCallback(customizer,thisArg,5);length-=2}else{customizer=typeof thisArg=="function"?thisArg:undefined;length-=customizer?1:0}if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}while(++index<length){var source=sources[index];if(source){assigner(object,source,customizer)}}return object})}module.exports=createAssigner},{"../function/restParam":9,"./bindCallback":25,"./isIterateeCall":37}],27:[function(require,module,exports){var getLength=require("./getLength"),isLength=require("./isLength"),toObject=require("./toObject");function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length)){return eachFunc(collection,iteratee)}var index=fromRight?length:-1,iterable=toObject(collection);while(fromRight?index--:++index<length){if(iteratee(iterable[index],index,iterable)===false){break}}return collection}}module.exports=createBaseEach},{"./getLength":33,"./isLength":39,"./toObject":44}],28:[function(require,module,exports){var toObject=require("./toObject");function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){var key=props[index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}module.exports=createBaseFor},{"./toObject":44}],29:[function(require,module,exports){var LodashWrapper=require("./LodashWrapper"),getData=require("./getData"),getFuncName=require("./getFuncName"),isArray=require("../lang/isArray"),isLaziable=require("./isLaziable");var CURRY_FLAG=8,PARTIAL_FLAG=32,ARY_FLAG=128,REARG_FLAG=256;var FUNC_ERROR_TEXT="Expected a function";function createFlow(fromRight){return function(){var wrapper,length=arguments.length,index=fromRight?length:-1,leftIndex=0,funcs=Array(length);while(fromRight?index--:++index<length){var func=funcs[leftIndex++]=arguments[index];if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}if(!wrapper&&LodashWrapper.prototype.thru&&getFuncName(func)=="wrapper"){wrapper=new LodashWrapper([])}}index=wrapper?-1:length;while(++index<length){func=funcs[index];var funcName=getFuncName(func),data=funcName=="wrapper"?getData(func):null;if(data&&isLaziable(data[0])&&data[1]==(ARY_FLAG|CURRY_FLAG|PARTIAL_FLAG|REARG_FLAG)&&!data[4].length&&data[9]==1){wrapper=wrapper[getFuncName(data[0])].apply(wrapper,data[3])}else{wrapper=func.length==1&&isLaziable(func)?wrapper[funcName]():wrapper.thru(func)}}return function(){var args=arguments;if(wrapper&&args.length==1&&isArray(args[0])){return wrapper.plant(args[0]).value()}var index=0,result=length?funcs[index].apply(this,args):args[0];while(++index<length){result=funcs[index].call(this,result)}return result}}}module.exports=createFlow},{"../lang/isArray":47,"./LodashWrapper":11,"./getData":31,"./getFuncName":32,"./isLaziable":38}],30:[function(require,module,exports){var bindCallback=require("./bindCallback"),isArray=require("../lang/isArray");function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return typeof iteratee=="function"&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}module.exports=createForEach},{"../lang/isArray":47,"./bindCallback":25}],31:[function(require,module,exports){var metaMap=require("./metaMap"),noop=require("../utility/noop");var getData=!metaMap?noop:function(func){return metaMap.get(func)};module.exports=getData},{"../utility/noop":56,"./metaMap":41}],32:[function(require,module,exports){var realNames=require("./realNames");function getFuncName(func){var result=func.name,array=realNames[result],length=array?array.length:0;while(length--){var data=array[length],otherFunc=data.func;if(otherFunc==null||otherFunc==func){return data.name}}return result}module.exports=getFuncName},{"./realNames":42}],33:[function(require,module,exports){var baseProperty=require("./baseProperty");var getLength=baseProperty("length");module.exports=getLength},{"./baseProperty":23}],34:[function(require,module,exports){var isNative=require("../lang/isNative");function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}module.exports=getNative},{"../lang/isNative":48}],35:[function(require,module,exports){var getLength=require("./getLength"),isLength=require("./isLength");function isArrayLike(value){return value!=null&&isLength(getLength(value))}module.exports=isArrayLike},{"./getLength":33,"./isLength":39}],36:[function(require,module,exports){var reIsUint=/^\d+$/;var MAX_SAFE_INTEGER=9007199254740991;function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}module.exports=isIndex},{}],37:[function(require,module,exports){var isArrayLike=require("./isArrayLike"),isIndex=require("./isIndex"),isObject=require("../lang/isObject");function isIterateeCall(value,index,object){if(!isObject(object)){return false}var type=typeof index;if(type=="number"?isArrayLike(object)&&isIndex(index,object.length):type=="string"&&index in object){var other=object[index];return value===value?value===other:other!==other}return false}module.exports=isIterateeCall},{"../lang/isObject":49,"./isArrayLike":35,"./isIndex":36}],38:[function(require,module,exports){var LazyWrapper=require("./LazyWrapper"),getData=require("./getData"),getFuncName=require("./getFuncName"),lodash=require("../chain/lodash");function isLaziable(func){var funcName=getFuncName(func);if(!(funcName in LazyWrapper.prototype)){return false}var other=lodash[funcName];if(func===other){return true}var data=getData(other);return!!data&&func===data[0]}module.exports=isLaziable},{"../chain/lodash":5,"./LazyWrapper":10,"./getData":31,"./getFuncName":32}],39:[function(require,module,exports){var MAX_SAFE_INTEGER=9007199254740991;function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}module.exports=isLength},{}],40:[function(require,module,exports){function isObjectLike(value){return!!value&&typeof value=="object"}module.exports=isObjectLike},{}],41:[function(require,module,exports){(function(global){var getNative=require("./getNative");var WeakMap=getNative(global,"WeakMap");var metaMap=WeakMap&&new WeakMap;module.exports=metaMap}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./getNative":34}],42:[function(require,module,exports){var realNames={};module.exports=realNames},{}],43:[function(require,module,exports){var isArguments=require("../lang/isArguments"),isArray=require("../lang/isArray"),isIndex=require("./isIndex"),isLength=require("./isLength"),keysIn=require("../object/keysIn");var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function shimKeys(object){var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length;var allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object));var index=-1,result=[];while(++index<propsLength){var key=props[index];if(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key)){result.push(key)}}return result}module.exports=shimKeys},{"../lang/isArguments":46,"../lang/isArray":47,"../object/keysIn":53,"./isIndex":36,"./isLength":39}],44:[function(require,module,exports){var isObject=require("../lang/isObject");function toObject(value){return isObject(value)?value:Object(value)}module.exports=toObject},{"../lang/isObject":49}],45:[function(require,module,exports){var LazyWrapper=require("./LazyWrapper"),LodashWrapper=require("./LodashWrapper"),arrayCopy=require("./arrayCopy");function wrapperClone(wrapper){return wrapper instanceof LazyWrapper?wrapper.clone():new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__,arrayCopy(wrapper.__actions__))}module.exports=wrapperClone},{"./LazyWrapper":10,"./LodashWrapper":11,"./arrayCopy":12}],46:[function(require,module,exports){var isArrayLike=require("../internal/isArrayLike"),isObjectLike=require("../internal/isObjectLike");var argsTag="[object Arguments]";var objectProto=Object.prototype;var objToString=objectProto.toString;function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&objToString.call(value)==argsTag}module.exports=isArguments},{"../internal/isArrayLike":35,"../internal/isObjectLike":40}],47:[function(require,module,exports){var getNative=require("../internal/getNative"),isLength=require("../internal/isLength"),isObjectLike=require("../internal/isObjectLike");var arrayTag="[object Array]";var objectProto=Object.prototype;var objToString=objectProto.toString;var nativeIsArray=getNative(Array,"isArray");var isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};module.exports=isArray},{"../internal/getNative":34,"../internal/isLength":39,"../internal/isObjectLike":40}],48:[function(require,module,exports){var escapeRegExp=require("../string/escapeRegExp"),isObjectLike=require("../internal/isObjectLike");var funcTag="[object Function]";var reIsHostCtor=/^\[object .+?Constructor\]$/;var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}module.exports=isNative},{"../internal/isObjectLike":40,"../string/escapeRegExp":54}],49:[function(require,module,exports){function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=isObject},{}],50:[function(require,module,exports){var assignWith=require("../internal/assignWith"),baseAssign=require("../internal/baseAssign"),createAssigner=require("../internal/createAssigner");var assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)});module.exports=assign},{"../internal/assignWith":15,"../internal/baseAssign":16,"../internal/createAssigner":26}],51:[function(require,module,exports){var assign=require("./assign"),assignDefaults=require("../internal/assignDefaults"),restParam=require("../function/restParam");var defaults=restParam(function(args){var object=args[0];if(object==null){return object}args.push(assignDefaults);return assign.apply(undefined,args)});module.exports=defaults},{"../function/restParam":9,"../internal/assignDefaults":14,"./assign":50}],52:[function(require,module,exports){var getNative=require("../internal/getNative"),isArrayLike=require("../internal/isArrayLike"),isObject=require("../lang/isObject"),shimKeys=require("../internal/shimKeys");var nativeKeys=getNative(Object,"keys");var keys=!nativeKeys?shimKeys:function(object){var Ctor=object==null?null:object.constructor;if(typeof Ctor=="function"&&Ctor.prototype===object||typeof object!="function"&&isArrayLike(object)){return shimKeys(object)}return isObject(object)?nativeKeys(object):[]};module.exports=keys},{"../internal/getNative":34,"../internal/isArrayLike":35,"../internal/shimKeys":43,"../lang/isObject":49}],53:[function(require,module,exports){var isArguments=require("../lang/isArguments"),isArray=require("../lang/isArray"),isIndex=require("../internal/isIndex"),isLength=require("../internal/isLength"),isObject=require("../lang/isObject");var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function keysIn(object){if(object==null){return[]}if(!isObject(object)){object=Object(object)}var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;var Ctor=object.constructor,index=-1,isProto=typeof Ctor=="function"&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;while(++index<length){result[index]=index+""}for(var key in object){if(!(skipIndexes&&isIndex(key,length))&&!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}module.exports=keysIn},{"../internal/isIndex":36,"../internal/isLength":39,"../lang/isArguments":46,"../lang/isArray":47,"../lang/isObject":49}],54:[function(require,module,exports){var baseToString=require("../internal/baseToString");var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=escapeRegExp},{"../internal/baseToString":24}],55:[function(require,module,exports){function identity(value){return value}module.exports=identity},{}],56:[function(require,module,exports){function noop(){}module.exports=noop},{}]},{},[1,2,3,4])(4)});