Acme.BookStore.HttpApi.Host/node_modules/undertaker/lib/helpers/createExtensions.js
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
'use strict';
var captureLastRun = require('last-run').capture;
var releaseLastRun = require('last-run').release;
var metadata = require('./metadata');
var uid = 0;
function Storage(fn) {
var meta = metadata.get(fn);
this.fn = meta.orig || fn;
this.uid = uid++;
this.name = meta.name;
this.branch = meta.branch || false;
this.captureTime = Date.now();
this.startHr = [];
}
Storage.prototype.capture = function() {
captureLastRun(this.fn, this.captureTime);
};
Storage.prototype.release = function() {
releaseLastRun(this.fn);
};
function createExtensions(ee) {
return {
create: function(fn) {
return new Storage(fn);
},
before: function(storage) {
storage.startHr = process.hrtime();
ee.emit('start', {
uid: storage.uid,
name: storage.name,
branch: storage.branch,
time: Date.now(),
});
},
after: function(result, storage) {
if (result && result.state === 'error') {
return this.error(result.value, storage);
}
storage.capture();
ee.emit('stop', {
uid: storage.uid,
name: storage.name,
branch: storage.branch,
duration: process.hrtime(storage.startHr),
time: Date.now(),
});
},
error: function(error, storage) {
if (Array.isArray(error)) {
error = error[0];
}
storage.release();
后面还有 13 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
