in financial_functions/lambda_handlers.py [0:0]
def nper_handler(request, context):
"""
Number of periodic payments required to pay off a loan.
:param request: Dict containing the parameters to pass to the formula.
:param context: Lambda execution context
:return: Dict with a 'result' entry containing the result of the calculation
"""
logger.info("NPER request: {}".format(request))
validation_result = __validate_arguments('NPER', request, schemas.nper_schema)
if not validation_result.get('isValid'):
return {'error': validation_result.get('error')}
args = [request['rate'], request.get('pmt', 0), request['pv'], request.get('fv', 0), request.get('type', 0)]
result = __call_numpy('nper', args)
# numpy.nper returns a numpy.ndarray object with the result in it . Need to unwrap the result.
return dict(map(lambda entry: (entry[0], entry[1].item(0)), result.items()))