trace.js
49 lines
| 1.4 KiB
| application/javascript
|
JavascriptLexer
|
|
r10 | define(["./TraceSource"], function (TraceSource) { | |
|
|
r0 | 'use strict'; | |
|
|
r10 | return { | |
|
|
r0 | ||
|
|
r10 | on: function (filter, cb) { | |
| if (arguments.length == 1) { | |||
| cb = filter; | |||
| filter = undefined; | |||
| } | |||
| var test; | |||
| if (filter instanceof RegExp) { | |||
| test = function (chId) { | |||
| return filter.test(chId); | |||
| }; | |||
| } else if (filter instanceof Function) { | |||
| test = filter; | |||
| } else if (filter) { | |||
| test = function (chId) { | |||
| return chId == filter; | |||
| }; | |||
| } | |||
|
|
r0 | ||
|
|
r10 | if (test) { | |
| TraceSource.on(function (source) { | |||
| if (test(source.id)) | |||
| source.on(cb); | |||
| }); | |||
| } else { | |||
| TraceSource.on(function (source) { | |||
| source.on(cb); | |||
| }); | |||
| } | |||
| }, | |||
|
|
r0 | ||
|
|
r10 | load: function (id, require, cb) { | |
| if (id) { | |||
| cb(TraceSource.get(id)); | |||
| } else if (require.module && require.module.mid) { | |||
| cb(TraceSource.get(require.module.mid)); | |||
| } else { | |||
| require(['module'], function (module) { | |||
| cb(TraceSource.get(module && module.id)); | |||
| }); | |||
| } | |||
| }, | |||
|
|
r0 | ||
|
|
r10 | dynamic: true, | |
|
|
r0 | }; | |
| }); |
