core.log.js 866 B

1234567891011121314151617181920212223242526
  1. var $ = require('./$')
  2. , global = require('./$.global')
  3. , $export = require('./$.export')
  4. , log = {}
  5. , enabled = true;
  6. // Methods from https://github.com/DeveloperToolsWG/console-object/blob/master/api.md
  7. $.each.call((
  8. 'assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,' +
  9. 'info,isIndependentlyComposed,log,markTimeline,profile,profileEnd,table,' +
  10. 'time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn'
  11. ).split(','), function(key){
  12. log[key] = function(){
  13. var $console = global.console;
  14. if(enabled && $console && $console[key]){
  15. return Function.apply.call($console[key], $console, arguments);
  16. }
  17. };
  18. });
  19. $export($export.G + $export.F, {log: require('./$.object-assign')(log.log, log, {
  20. enable: function(){
  21. enabled = true;
  22. },
  23. disable: function(){
  24. enabled = false;
  25. }
  26. })});