Socket
Socket
Sign inDemoInstall

perf-marks

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

perf-marks - npm Package Compare versions

Comparing version 1.5.0 to 1.5.1

dist/umd/perf-marks.min.js

12

CHANGELOG.md

@@ -10,2 +10,8 @@ # Change Log

## [1.5.1][] - 2019-11-08
### Updated
- Updated UMD bundle module to use `rollup` as UMD resolver
## [1.5.0][] - 2019-11-06

@@ -144,5 +150,7 @@

[1.4.1]: https://github.com/willmendesneto/perf-marks/tree/v1.4.1
[unreleased]: https://github.com/willmendesneto/perf-marks/compare/v1.5.0...HEAD
[1.5.0]: https://github.com/willmendesneto/perf-marks/tree/v1.5.0
[Unreleased]: https://github.com/willmendesneto/perf-marks/compare/v1.5.0...HEAD
[1.5.0]: https://github.com/willmendesneto/perf-marks/tree/v1.5.0
[Unreleased]: https://github.com/willmendesneto/perf-marks/compare/v1.5.1...HEAD
[1.5.1]: https://github.com/willmendesneto/perf-marks/tree/v1.5.1

274

dist/umd/perf-marks.js
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define("PerfMarks", ["exports", "./is-user-timing-api-supported"], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require("./is-user-timing-api-supported"));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.isUserTimingApiSupported);
global.PerfMarks = mod.exports;
}
})(this, function (_exports, _isUserTimingApiSupported) {
"use strict";
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = global || self, factory(global.PerfMarks = {}));
}(this, (function (exports) { 'use strict';
Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports.clearAll = _exports.clear = _exports.end = _exports.start = void 0;
// Map() is not used in order to decrease the bundle
var marksMap = {};
/**
* Get the current time based on User Timing API or Date
*
* @returns number
*
*/
/**
* Boolean with the result of the check if User Timing API
* is supported for the current browser/NodeJS version
*
* @returns boolean
*
*/
var isUserTimingAPISupported = typeof performance !== 'undefined' &&
typeof performance.now !== 'undefined' &&
typeof performance.mark === 'function' &&
typeof performance.clearMarks === 'function' &&
typeof performance.measure === 'function' &&
typeof performance.clearMeasures === 'function';
var getTimeNow = function getTimeNow() {
if (_isUserTimingApiSupported.isUserTimingAPISupported) {
return performance.now();
}
// Map() is not used in order to decrease the bundle
var marksMap = {};
/**
* Get the current time based on User Timing API or Date
*
* @returns number
*
*/
var getTimeNow = function () {
if (isUserTimingAPISupported) {
return performance.now();
}
return Date.now ? Date.now() : +new Date();
};
/**
* Clear marks and measure of performance event
*
* @param markName - Performance marker to be checked
*
* @returns void
*
*/
var clear = function (markName) {
marksMap[markName] = undefined;
if (!isUserTimingAPISupported) {
return;
}
performance.clearMeasures(markName);
performance.clearMarks(markName);
};
/**
* Start performance measure of event
*
* @param markName - Performance marker to be started
*
* @returns number
*
*/
var start = function (markName) {
if (isUserTimingAPISupported) {
performance.mark(markName);
}
marksMap[markName] = getTimeNow();
};
/**
* Finishes performance measure of event and
* clear marks and measure if applicable
*
* @param markName - Performance marker to be checked
* @param markNameToCompare - Optional mark to compare to
*
* @returns PerfMarksPerformanceEntry
*
*/
var end = function (markName, markNameToCompare) {
try {
var startTime = marksMap[markName];
if (!isUserTimingAPISupported) {
return startTime ? { duration: getTimeNow() - startTime, startTime: startTime } : {};
}
performance.measure(markName, markName, markNameToCompare || undefined);
var entry = performance.getEntriesByName(markName).pop();
if (entry) {
return entry;
}
return {};
}
catch (e) {
// If previous mark was missing for some reason, this will throw.
// This could only happen if something in event loop crashed
// in an unexpected place earlier.
// Don't pile on with more errors.
return {};
}
finally {
// Clear marks immediately to avoid growing buffer.
clear(markName);
}
};
/**
* Clear all marks and measures of performance event
*
* @returns void
*
*/
var clearAll = function () {
marksMap = {};
if (!isUserTimingAPISupported) {
return;
}
performance.clearMeasures();
performance.clearMarks();
};
return Date.now ? Date.now() : +new Date();
};
/**
* Clear marks and measure of performance event
*
* @param markName - Performance marker to be checked
*
* @returns void
*
*/
/**
* Gets the result for all marks that matches with the given mark name
*
* @param markName - Performance marker to be checked
*
* @returns PerfMarksPerformanceNavigationTiming[]
*
*/
var getEntriesByType = function (entryName) {
if (!isUserTimingAPISupported) {
return [];
}
return performance.getEntriesByType(entryName) || [];
};
/**
* Gets the marks for `navigation` loaded mark
*
* @returns PerfMarksPerformanceNavigationTiming[]
*
*/
var getNavigationMarker = function () { return getEntriesByType('navigation').pop() || {}; };
exports.clear = clear;
exports.clearAll = clearAll;
exports.end = end;
exports.getEntriesByType = getEntriesByType;
exports.getNavigationMarker = getNavigationMarker;
exports.isUserTimingAPISupported = isUserTimingAPISupported;
exports.start = start;
var clear = function clear(markName) {
marksMap[markName] = undefined;
Object.defineProperty(exports, '__esModule', { value: true });
if (!_isUserTimingApiSupported.isUserTimingAPISupported) {
return;
}
performance.clearMeasures(markName);
performance.clearMarks(markName);
};
/**
* Start performance measure of event
*
* @param markName - Performance marker to be started
*
* @returns number
*
*/
_exports.clear = clear;
var start = function start(markName) {
if (_isUserTimingApiSupported.isUserTimingAPISupported) {
performance.mark(markName);
}
marksMap[markName] = getTimeNow();
};
/**
* Finishes performance measure of event and
* clear marks and measure if applicable
*
* @param markName - Performance marker to be checked
* @param markNameToCompare - Optional mark to compare to
*
* @returns PerfMarksPerformanceEntry
*
*/
_exports.start = start;
var end = function end(markName, markNameToCompare) {
try {
var startTime = marksMap[markName];
if (!_isUserTimingApiSupported.isUserTimingAPISupported) {
return startTime ? {
duration: getTimeNow() - startTime,
startTime: startTime
} : {};
}
performance.measure(markName, markName, markNameToCompare || undefined);
var entry = performance.getEntriesByName(markName).pop();
if (entry) {
return entry;
}
return {};
} catch (e) {
// If previous mark was missing for some reason, this will throw.
// This could only happen if something in event loop crashed
// in an unexpected place earlier.
// Don't pile on with more errors.
return {};
} finally {
// Clear marks immediately to avoid growing buffer.
clear(markName);
}
};
/**
* Clear all marks and measures of performance event
*
* @returns void
*
*/
_exports.end = end;
var clearAll = function clearAll() {
marksMap = {};
if (!_isUserTimingApiSupported.isUserTimingAPISupported) {
return;
}
performance.clearMeasures();
performance.clearMarks();
};
_exports.clearAll = clearAll;
});
})));
{
"name": "perf-marks",
"version": "1.5.0",
"version": "1.5.1",
"author": "Will Mendes <willmendesneto@gmail.com>",

@@ -12,3 +12,3 @@ "description": "The simplest and lightweight solution for User Timing API in Javascript.",

"license": "MIT",
"browser": "dist/umd/index.js",
"browser": "dist/umd/perf-marks.js",
"jsnext:main": "dist/esm/index.js",

@@ -54,2 +54,3 @@ "module": "dist/esm/index.js",

"prettier": "^1.18.2",
"rollup": "^1.26.3",
"ts-jest": "^24.1.0",

@@ -59,2 +60,3 @@ "ts-node": "^8.4.1",

"typings": "^2.1.1",
"uglifyjs": "^2.4.11",
"usertiming": "^0.1.8",

@@ -71,3 +73,4 @@ "version-changelog": "^3.1.0"

"build": "yarn build:es2015 && yarn build:cjs && yarn build:esm && yarn build:umd && yarn build:entrypoints:clean && yarn build:entrypoints",
"build:umd": "tsc --module esnext --target es5 --outDir dist/umd && babel dist/umd --out-dir dist/umd",
"build:umd": "rollup dist/esm/index.js --format umd --name PerfMarks -o dist/umd/perf-marks.js && yarn build:umd:min",
"build:umd:min": "uglifyjs --compress --mangle --screw-ie8 --comments -o dist/umd/perf-marks.min.js -- dist/umd/perf-marks.js && gzip dist/umd/perf-marks.min.js -c > dist/umd/perf-marks.min.js.gz",
"build:es2015": "tsc --module es2015 --target es2015 --outDir dist/es2015",

@@ -101,4 +104,8 @@ "build:esm": "tsc --module esnext --target es5 --outDir dist/esm",

{
"path": "./dist/umd/index.js",
"maxSize": "455B"
"path": "./dist/umd/perf-marks.js",
"maxSize": "1.21KB"
},
{
"path": "./dist/umd/perf-marks.min.js",
"maxSize": "530B"
}

@@ -105,0 +112,0 @@ ],

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc