idmission-web-sdk 2.1.87 → 2.1.89

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.
@@ -215,7 +215,7 @@
215
215
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
216
216
  };
217
217
 
218
- var webSdkVersion = '2.1.87';
218
+ var webSdkVersion = '2.1.89';
219
219
 
220
220
  function getPlatform() {
221
221
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -11549,7 +11549,6 @@
11549
11549
  });
11550
11550
  });
11551
11551
  }
11552
- var lastNBoxes = [];
11553
11552
  var lastDetectionAt = 0;
11554
11553
  var lastDetectionTime = 0;
11555
11554
  function setLastDetectionAt(time) {
@@ -11557,6 +11556,18 @@
11557
11556
  lastDetectionAt = time;
11558
11557
  }
11559
11558
  var framesNeededSamples = [];
11559
+ function trackFramesNeeded(value) {
11560
+ framesNeededSamples.unshift(value);
11561
+ if (framesNeededSamples.length > 10) framesNeededSamples.length = 10;
11562
+ }
11563
+ var lastNBoxes = [];
11564
+ function trackBox(box, framesNeeded) {
11565
+ if (framesNeeded === void 0) {
11566
+ framesNeeded = 12;
11567
+ }
11568
+ lastNBoxes.unshift(box);
11569
+ if (lastNBoxes.length > framesNeeded) lastNBoxes.length = framesNeeded;
11570
+ }
11560
11571
  var defaultDocumentDetectionBoundaries = {
11561
11572
  top: 20,
11562
11573
  bottom: 20,
@@ -11642,14 +11653,10 @@
11642
11653
  documentTooClose = docWidth > 0.85 || docHeight > 0.85;
11643
11654
  if (detectionThresholdMet && documentInBounds && !documentTooClose) {
11644
11655
  var threshold_1 = (_m = thresholds.stability) !== null && _m !== void 0 ? _m : defaultDocumentDetectionThresholds.stability;
11645
- framesNeededSamples.unshift(1000 / lastDetectionTime);
11646
- framesNeededSamples = framesNeededSamples.slice(0, 10);
11656
+ trackFramesNeeded(1000 / lastDetectionTime);
11647
11657
  var framesNeeded = Math.ceil(average(framesNeededSamples));
11648
- lastNBoxes.unshift(bestDocument.box);
11649
- lastNBoxes = lastNBoxes.slice(0, framesNeeded);
11650
- var numFramesToConsider = Math.min(framesNeeded, 12);
11651
- var framesToConsider = lastNBoxes.slice(0, numFramesToConsider);
11652
- documentIsStable = lastNBoxes.length >= framesNeeded - 1 && !createPairs(framesToConsider).some(function (_a) {
11658
+ trackBox(bestDocument.box, framesNeeded);
11659
+ documentIsStable = lastNBoxes.length >= framesNeeded && !createPairs(lastNBoxes, 12).some(function (_a) {
11653
11660
  var a = _a[0],
11654
11661
  b = _a[1];
11655
11662
  return calculateIoU(a, b) < threshold_1;
@@ -11691,9 +11698,10 @@
11691
11698
  return !!obj;
11692
11699
  });
11693
11700
  }
11694
- function createPairs(arr) {
11701
+ function createPairs(arr, maxPairs) {
11695
11702
  var pairs = [];
11696
- for (var i = 0; i < arr.length - 1; i++) {
11703
+ var end = maxPairs ;
11704
+ for (var i = 0; i < end; i++) {
11697
11705
  pairs.push([arr[i], arr[i + 1]]);
11698
11706
  }
11699
11707
  return pairs;
@@ -11714,6 +11722,7 @@
11714
11722
  }
11715
11723
  function average(arr) {
11716
11724
  var len = arr.length;
11725
+ if (len === 0) return 0;
11717
11726
  var sum = 0;
11718
11727
  for (var i = 0; i < len; i++) sum += arr[i];
11719
11728
  return sum / len;