index.js 794 B

123456789101112131415161718192021222324252627282930
  1. var debug = require('debug');
  2. var getModuleDebugId = require('./functions').getModuleDebugId;
  3. var filter;
  4. var cache = {};
  5. var api = module.exports = {
  6. configure: function(opts) {
  7. if ( !opts ) opts = {};
  8. if ( opts.filter && typeof opts.filter === 'function' ) {
  9. filter = opts.filter;
  10. cache = {};
  11. }
  12. },
  13. get: function( filename, submoduleName ) {
  14. return debug(api.getModuleDebugName(filename, submoduleName));
  15. },
  16. getModuleDebugName: function ( filename, submoduleName ) {
  17. var name = cache[filename];
  18. if ( !name ) {
  19. name = getModuleDebugId(filename, {platform: process.platform, filter:filter});
  20. cache[filename] = name;
  21. }
  22. if ( submoduleName ) {
  23. return name + ':' + submoduleName;
  24. } else {
  25. return name;
  26. }
  27. }
  28. };