@mikezimm/npmfunctions
Version:
Functions used in my SPFx webparts
95 lines • 3.67 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.startPerformOpDetail = exports.updatePerformOpSimple = exports.updatePerformanceEnd = exports.startPerformOp = exports.startPerformanceInit_SS7 = exports.startPerformanceInit_ALVFM = exports.createBasePerformanceInit = void 0;
function createBasePerformanceInit(editMode, monitor) {
var loadPerformance = {
onInit: new Date(),
constructor: null,
sets: {},
ops: {
fetch: null,
analyze: null,
},
monitor: monitor,
history: [],
mode: editMode,
};
return loadPerformance;
}
exports.createBasePerformanceInit = createBasePerformanceInit;
function startPerformanceInit_ALVFM(editMode, monitor) {
var loadPerformance = createBasePerformanceInit(editMode, monitor);
return loadPerformance;
}
exports.startPerformanceInit_ALVFM = startPerformanceInit_ALVFM;
function startPerformanceInit_SS7(classic, modern, reload, editMode, monitor) {
var loadPerformance = createBasePerformanceInit(editMode, monitor);
loadPerformance.spPageContextInfoClassic = classic;
loadPerformance.spPageContextInfoModern = modern;
loadPerformance.forceReloadScripts = reload;
loadPerformance.jsEval = null;
return loadPerformance;
}
exports.startPerformanceInit_SS7 = startPerformanceInit_SS7;
/**
*
* @param label
* @param editMode
* @param includeMsStr - Add time MS to startStr so that it is easier to verify timing. https://github.com/mikezimm/pivottiles7/issues/192
* @returns
*/
function startPerformOp(label, editMode, includeMsStr) {
if (includeMsStr === void 0) { includeMsStr = false; }
var start = new Date();
var startStr = includeMsStr === true ? "".concat(start.toLocaleTimeString(), " : ").concat(start.getMilliseconds()) : start.toLocaleTimeString();
var result = {
label: label,
start: start,
startStr: startStr,
mode: editMode,
details: [], //Could be used to trace individual file loads
};
return result;
}
exports.startPerformOp = startPerformOp;
function updatePerformanceEnd(op, updateMiliseconds, count) {
op.end = new Date();
op.endStr = op.end.toLocaleTimeString();
if (updateMiliseconds === true)
op.ms = op.end.getTime() - op.start.getTime();
if (count !== null && count > 0 && op.ms) {
op.c = count;
op.a = Math.round((op.ms / count) * 10) / 10;
}
return op;
}
exports.updatePerformanceEnd = updatePerformanceEnd;
function updatePerformOpSimple(ops, count) {
if (ops.length > 0) {
var last = ops.length - 1;
ops[last] = updatePerformanceEnd(ops[last], true, count);
}
return ops;
}
exports.updatePerformOpSimple = updatePerformOpSimple;
function startPerformOpDetail(ops, label, editMode, update, count) {
if (update === void 0) { update = true; }
if (count === void 0) { count = null; }
if (ops) {
var last = ops.length - 1;
if (update === true && ops.length > 0) {
ops[last] = updatePerformanceEnd(ops[last], update, count);
}
if (label && ops[last]) {
if (typeof ops[last].details === 'object') {
ops[last].details.push(startPerformOp(label, editMode));
}
}
else {
console.log("IPerformance ERROR: startPerformOpDetail label: ".concat(label, " ; last: ").concat(last));
}
}
return ops;
}
exports.startPerformOpDetail = startPerformOpDetail;
//# sourceMappingURL=functions.js.map
;