@oaklean/profiler
Version:
A library to measure the energy consumption of your javascript/typescript code
70 lines • 4.32 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseSensorInterface = void 0;
class BaseSensorInterface {
type() {
throw new Error('BaseSensorInterface.type must be implemented');
}
couldBeExecuted() {
return __awaiter(this, void 0, void 0, function* () {
if (this._couldBeExecuted === undefined) {
this._couldBeExecuted = yield this.canBeExecuted();
}
return this._couldBeExecuted;
});
}
canBeExecuted() {
return __awaiter(this, void 0, void 0, function* () {
throw new Error('BaseSensorInterface.canBeExecuted must be implemented');
});
}
isRunning() {
throw new Error('BaseSensorInterface.isRunning must be implemented');
}
get startTime() {
throw new Error('BaseSensorInterface.startTime must be implemented');
}
readSensorValues(
// eslint-disable-next-line @typescript-eslint/no-unused-vars
pid) {
return __awaiter(this, void 0, void 0, function* () {
throw new Error('BaseSensorInterface.readSensorValues must be implemented');
});
}
startProfiling() {
return __awaiter(this, void 0, void 0, function* () {
throw new Error('BaseSensorInterface.startProfiling must be implemented');
});
}
measurementStarted() {
return __awaiter(this, void 0, void 0, function* () {
throw new Error('BaseSensorInterface.measurementStarted must be implemented');
});
}
stopProfiling() {
return __awaiter(this, void 0, void 0, function* () {
throw new Error('BaseSensorInterface.stopProfiling must be implemented');
});
}
static pidIsRunning(pid) {
try {
process.kill(pid, 0);
return true;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
}
catch (e) {
return false;
}
}
}
exports.BaseSensorInterface = BaseSensorInterface;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNlbnNvckludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnRlcmZhY2VzL0Jhc2VTZW5zb3JJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBTUEsTUFBYSxtQkFBbUI7SUFHL0IsSUFBSTtRQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRUssZUFBZTs7WUFDcEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtZQUNuRCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUE7UUFDN0IsQ0FBQztLQUFBO0lBRUssYUFBYTs7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFBO1FBQ3pFLENBQUM7S0FBQTtJQUVELFNBQVM7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUE7SUFDckUsQ0FBQztJQUVELElBQUksU0FBUztRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRUssZ0JBQWdCO0lBQ3JCLDZEQUE2RDtJQUM3RCxHQUFXOztZQUVYLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQTtRQUM1RSxDQUFDO0tBQUE7SUFFSyxjQUFjOztZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUE7UUFDMUUsQ0FBQztLQUFBO0lBRUssa0JBQWtCOztZQUN2QixNQUFNLElBQUksS0FBSyxDQUNkLDREQUE0RCxDQUM1RCxDQUFBO1FBQ0YsQ0FBQztLQUFBO0lBRUssYUFBYTs7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFBO1FBQ3pFLENBQUM7S0FBQTtJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBVztRQUM5QixJQUFJLENBQUM7WUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNwQixPQUFPLElBQUksQ0FBQTtZQUNYLDZEQUE2RDtRQUM5RCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNaLE9BQU8sS0FBSyxDQUFBO1FBQ2IsQ0FBQztJQUNGLENBQUM7Q0FDRDtBQXhERCxrREF3REMifQ==