define([],function(){'use strict';function LogUtils(logger){this.logger=logger;} LogUtils.prototype.asyncLog=function(promise,config){var levels,messages,wait;config=config||{};levels=config.levels||this.createLevels();messages=config.messages||this.createMessages();wait=config.wait||5000;this.logger[levels.requested](messages.requested,config.data);setTimeout(function(){promise.state()==='pending'?this.logger[levels.failed](messages.failed,config.data):this.logger[levels.loaded](messages.loaded,config.data);}.bind(this),wait);};LogUtils.prototype.createMessages=function(requested,loaded,failed){return{requested:requested||'',loaded:loaded||'',failed:failed||''};};LogUtils.prototype.createLevels=function(requested,loaded,failed){return{requested:requested||'info',loaded:loaded||'info',failed:failed||'warn'};};return LogUtils;});