@jsenv/terminal-recorder 1.4.23 → 1.4.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -836,8 +836,7 @@ function requireHe () {
836
836
  var freeExports = exports;
837
837
 
838
838
  // Detect free variable `module`.
839
- var freeModule = module &&
840
- module.exports == freeExports && module;
839
+ var freeModule = module.exports == freeExports && module;
841
840
 
842
841
  // Detect free variable `globalThis`, from Node.js or Browserified code,
843
842
  // and use it as `root`.
@@ -1589,8 +1588,7 @@ const renderTerminalSvg = (
1589
1588
  // Some SVG implementations do not support underline and
1590
1589
  // strikethrough for <text> elements (see Sketch 49.2)
1591
1590
  if (style.underline) {
1592
- const yOffset = font.height * 0.14;
1593
- const ys = y - -yOffset;
1591
+ const ys = y - -1.9600000000000002;
1594
1592
  const xw = x + w;
1595
1593
  const path = svg.createNode("path", {
1596
1594
  d: `M${x},${ys} L${xw},${ys} Z`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/terminal-recorder",
3
- "version": "1.4.23",
3
+ "version": "1.4.25",
4
4
  "description": "Record terminal output as .svg, .gif, .webm, .mp4",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1256,7 +1256,42 @@ window.__supervisor__ = (() => {
1256
1256
  }
1257
1257
  return exception;
1258
1258
  };
1259
- window.addEventListener("error", (errorEvent) => {
1259
+ const addEventListenerCalledLast = (
1260
+ object,
1261
+ eventNameListened,
1262
+ eventCallback,
1263
+ ) => {
1264
+ const eventCallbackSet = new Set();
1265
+ object.addEventListener(eventNameListened, (event) => {
1266
+ for (const callback of eventCallbackSet) {
1267
+ callback(event);
1268
+ }
1269
+ eventCallback(event);
1270
+ });
1271
+ const addEventListener = object.addEventListener;
1272
+ const removeEventListener = object.removeEventListener;
1273
+ object.addEventListener = function (eventName, callback) {
1274
+ if (eventName === eventNameListened) {
1275
+ eventCallbackSet.add(callback);
1276
+ return;
1277
+ }
1278
+ addEventListener.call(this, eventName, callback);
1279
+ };
1280
+ object.removeEventListener = function (eventName, callback) {
1281
+ if (eventName === eventNameListened) {
1282
+ eventCallbackSet.delete(callback);
1283
+ return;
1284
+ }
1285
+ removeEventListener.call(this, eventName, callback);
1286
+ };
1287
+ };
1288
+ addEventListenerCalledLast(window, "error", (errorEvent) => {
1289
+ if (errorEvent.defaultPrevented) {
1290
+ if (logs) {
1291
+ console.log("ignore prevented error event", errorEvent);
1292
+ }
1293
+ return;
1294
+ }
1260
1295
  if (!errorEvent.isTrusted) {
1261
1296
  // ignore custom error event (not sent by browser)
1262
1297
  if (logs) {
@@ -1279,7 +1314,7 @@ window.__supervisor__ = (() => {
1279
1314
  });
1280
1315
  supervisor.reportException(exception);
1281
1316
  });
1282
- window.addEventListener("unhandledrejection", (event) => {
1317
+ addEventListenerCalledLast(window, "unhandledrejection", (event) => {
1283
1318
  if (event.defaultPrevented) {
1284
1319
  return;
1285
1320
  }