@mleonard9/vin-scanner 1.2.6 → 1.4.0

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.
Files changed (70) hide show
  1. package/README.md +287 -16
  2. package/android/src/main/java/com/visioncamerabarcodescanner/VisionCameraBarcodeScannerModule.kt +76 -23
  3. package/android/src/main/java/com/visioncameratextrecognition/VisionCameraTextRecognitionModule.kt +69 -26
  4. package/ios/VisionCameraBarcodeScanner.m +60 -6
  5. package/ios/VisionCameraTextRecognition.m +67 -13
  6. package/lib/commonjs/ManualVinInput.js +147 -0
  7. package/lib/commonjs/ManualVinInput.js.map +1 -0
  8. package/lib/commonjs/PendingVinBanner.js +120 -0
  9. package/lib/commonjs/PendingVinBanner.js.map +1 -0
  10. package/lib/commonjs/TextVinPrompt.js +132 -0
  11. package/lib/commonjs/TextVinPrompt.js.map +1 -0
  12. package/lib/commonjs/haptics.js +36 -0
  13. package/lib/commonjs/haptics.js.map +1 -0
  14. package/lib/commonjs/index.js +196 -15
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/scanBarcodes.js +14 -3
  17. package/lib/commonjs/scanBarcodes.js.map +1 -1
  18. package/lib/commonjs/scanText.js +14 -3
  19. package/lib/commonjs/scanText.js.map +1 -1
  20. package/lib/commonjs/useVinScanner.js +205 -33
  21. package/lib/commonjs/useVinScanner.js.map +1 -1
  22. package/lib/commonjs/vinUtils.js +165 -32
  23. package/lib/commonjs/vinUtils.js.map +1 -1
  24. package/lib/module/ManualVinInput.js +139 -0
  25. package/lib/module/ManualVinInput.js.map +1 -0
  26. package/lib/module/PendingVinBanner.js +112 -0
  27. package/lib/module/PendingVinBanner.js.map +1 -0
  28. package/lib/module/TextVinPrompt.js +124 -0
  29. package/lib/module/TextVinPrompt.js.map +1 -0
  30. package/lib/module/haptics.js +27 -0
  31. package/lib/module/haptics.js.map +1 -0
  32. package/lib/module/index.js +179 -16
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/scanBarcodes.js +14 -3
  35. package/lib/module/scanBarcodes.js.map +1 -1
  36. package/lib/module/scanText.js +14 -3
  37. package/lib/module/scanText.js.map +1 -1
  38. package/lib/module/useVinScanner.js +206 -34
  39. package/lib/module/useVinScanner.js.map +1 -1
  40. package/lib/module/vinUtils.js +165 -32
  41. package/lib/module/vinUtils.js.map +1 -1
  42. package/lib/typescript/src/ManualVinInput.d.ts +11 -0
  43. package/lib/typescript/src/ManualVinInput.d.ts.map +1 -0
  44. package/lib/typescript/src/PendingVinBanner.d.ts +17 -0
  45. package/lib/typescript/src/PendingVinBanner.d.ts.map +1 -0
  46. package/lib/typescript/src/TextVinPrompt.d.ts +20 -0
  47. package/lib/typescript/src/TextVinPrompt.d.ts.map +1 -0
  48. package/lib/typescript/src/haptics.d.ts +4 -0
  49. package/lib/typescript/src/haptics.d.ts.map +1 -0
  50. package/lib/typescript/src/index.d.ts +4 -1
  51. package/lib/typescript/src/index.d.ts.map +1 -1
  52. package/lib/typescript/src/scanBarcodes.d.ts.map +1 -1
  53. package/lib/typescript/src/scanText.d.ts.map +1 -1
  54. package/lib/typescript/src/types.d.ts +136 -7
  55. package/lib/typescript/src/types.d.ts.map +1 -1
  56. package/lib/typescript/src/useVinScanner.d.ts +3 -1
  57. package/lib/typescript/src/useVinScanner.d.ts.map +1 -1
  58. package/lib/typescript/src/vinUtils.d.ts +12 -3
  59. package/lib/typescript/src/vinUtils.d.ts.map +1 -1
  60. package/package.json +8 -2
  61. package/src/ManualVinInput.tsx +145 -0
  62. package/src/PendingVinBanner.tsx +128 -0
  63. package/src/TextVinPrompt.tsx +139 -0
  64. package/src/haptics.ts +32 -0
  65. package/src/index.tsx +203 -24
  66. package/src/scanBarcodes.ts +16 -4
  67. package/src/scanText.ts +16 -4
  68. package/src/types.ts +140 -11
  69. package/src/useVinScanner.ts +232 -39
  70. package/src/vinUtils.ts +210 -79
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.triggerWarningHaptic = exports.triggerSuccessHaptic = exports.triggerSoftHaptic = void 0;
7
+ let haptic = null;
8
+ try {
9
+ // Optional dependency: react-native-haptic-feedback
10
+ // eslint-disable-next-line global-require, @typescript-eslint/no-var-requires
11
+ haptic = require('react-native-haptic-feedback');
12
+ } catch {
13
+ haptic = null;
14
+ }
15
+ const trigger = type => {
16
+ var _haptic;
17
+ if (!((_haptic = haptic) !== null && _haptic !== void 0 && (_haptic = _haptic.default) !== null && _haptic !== void 0 && _haptic.trigger)) {
18
+ return;
19
+ }
20
+ const map = {
21
+ success: 'notificationSuccess',
22
+ warning: 'notificationWarning',
23
+ impactLight: 'impactLight'
24
+ };
25
+ haptic.default.trigger(map[type] ?? 'impactLight', {
26
+ enableVibrateFallback: true,
27
+ ignoreAndroidSystemSettings: false
28
+ });
29
+ };
30
+ const triggerSuccessHaptic = () => trigger('success');
31
+ exports.triggerSuccessHaptic = triggerSuccessHaptic;
32
+ const triggerWarningHaptic = () => trigger('warning');
33
+ exports.triggerWarningHaptic = triggerWarningHaptic;
34
+ const triggerSoftHaptic = () => trigger('impactLight');
35
+ exports.triggerSoftHaptic = triggerSoftHaptic;
36
+ //# sourceMappingURL=haptics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["haptic","require","trigger","type","_haptic","default","map","success","warning","impactLight","enableVibrateFallback","ignoreAndroidSystemSettings","triggerSuccessHaptic","exports","triggerWarningHaptic","triggerSoftHaptic"],"sourceRoot":"../../src","sources":["haptics.ts"],"mappings":";;;;;;AAAA,IAAIA,MAAW,GAAG,IAAI;AACtB,IAAI;EACF;EACA;EACAA,MAAM,GAAGC,OAAO,CAAC,8BAA8B,CAAC;AAClD,CAAC,CAAC,MAAM;EACND,MAAM,GAAG,IAAI;AACf;AAOA,MAAME,OAAO,GAAIC,IAAgB,IAAK;EAAA,IAAAC,OAAA;EACpC,IAAI,GAAAA,OAAA,GAACJ,MAAM,cAAAI,OAAA,gBAAAA,OAAA,GAANA,OAAA,CAAQC,OAAO,cAAAD,OAAA,eAAfA,OAAA,CAAiBF,OAAO,GAAE;IAC7B;EACF;EACA,MAAMI,GAA+B,GAAG;IACtCC,OAAO,EAAE,qBAAqB;IAC9BC,OAAO,EAAE,qBAAqB;IAC9BC,WAAW,EAAE;EACf,CAAC;EACDT,MAAM,CAACK,OAAO,CAACH,OAAO,CAACI,GAAG,CAACH,IAAI,CAAC,IAAI,aAAa,EAAE;IACjDO,qBAAqB,EAAE,IAAI;IAC3BC,2BAA2B,EAAE;EAC/B,CAAC,CAAC;AACJ,CAAC;AAEM,MAAMC,oBAAoB,GAAGA,CAAA,KAAMV,OAAO,CAAC,SAAS,CAAC;AAACW,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AACtD,MAAME,oBAAoB,GAAGA,CAAA,KAAMZ,OAAO,CAAC,SAAS,CAAC;AAACW,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AACtD,MAAMC,iBAAiB,GAAGA,CAAA,KAAMb,OAAO,CAAC,aAAa,CAAC;AAACW,OAAA,CAAAE,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -4,6 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Camera = void 0;
7
+ Object.defineProperty(exports, "ManualVinInput", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _ManualVinInput.ManualVinInput;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "PendingVinBanner", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _PendingVinBanner.PendingVinBanner;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "TextVinPrompt", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _TextVinPrompt.TextVinPrompt;
23
+ }
24
+ });
7
25
  Object.defineProperty(exports, "isValidVin", {
8
26
  enumerable: true,
9
27
  get: function () {
@@ -19,13 +37,19 @@ Object.defineProperty(exports, "useVinScanner", {
19
37
  var _react = _interopRequireWildcard(require("react"));
20
38
  var _reactNativeVisionCamera = require("react-native-vision-camera");
21
39
  var _reactNativeWorkletsCore = require("react-native-worklets-core");
40
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
41
+ var _reactNativeReanimated = require("react-native-reanimated");
22
42
  var _scanBarcodes = require("./scanBarcodes");
23
43
  var _scanText = require("./scanText");
24
44
  var _vinUtils = require("./vinUtils");
25
45
  var _useVinScanner = require("./useVinScanner");
46
+ var _TextVinPrompt = require("./TextVinPrompt");
47
+ var _PendingVinBanner = require("./PendingVinBanner");
48
+ var _ManualVinInput = require("./ManualVinInput");
26
49
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
27
50
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
28
51
  const Camera = exports.Camera = /*#__PURE__*/(0, _react.forwardRef)(function Camera(props, ref) {
52
+ var _options$cameraSettin, _options$cameraSettin2, _options$cameraSettin3;
29
53
  const {
30
54
  device,
31
55
  callback,
@@ -35,41 +59,198 @@ const Camera = exports.Camera = /*#__PURE__*/(0, _react.forwardRef)(function Cam
35
59
  const resolvedOptions = (0, _react.useMemo)(() => (0, _vinUtils.resolveOptions)(options), [options]);
36
60
  const barcodeScanner = useBarcodeScanner(resolvedOptions.barcode);
37
61
  const textScanner = useTextScanner(resolvedOptions.text);
62
+ const lastEmittedVin = _react.default.useRef(null);
63
+ const lastEmitTimestamp = _react.default.useRef(0);
64
+ const lastFrameTimestampRef = _react.default.useRef(0);
65
+ const frameCounterRef = _react.default.useRef(0);
66
+ const sessionSeen = _react.default.useRef(new Set());
38
67
  const handleDetections = (0, _reactNativeWorkletsCore.useRunOnJS)(payload => {
39
68
  const candidates = (0, _vinUtils.buildVinCandidates)(payload, resolvedOptions);
40
- const best = (0, _vinUtils.pickFirstCandidate)(candidates, resolvedOptions);
41
- const mode = resolvedOptions.detection.resultMode;
42
- const filteredCandidates = mode === 'all' ? candidates : best ? [best] : [];
69
+ const barcodeCandidates = candidates.filter(c => c.source === 'barcode');
70
+ const textCandidates = candidates.filter(c => c.source === 'text');
71
+ if (barcodeCandidates.length > 0) {
72
+ const first = (0, _vinUtils.pickFirstCandidate)(barcodeCandidates, resolvedOptions);
73
+ callback({
74
+ timestamp: payload.timestamp,
75
+ duration: 0,
76
+ candidates: barcodeCandidates,
77
+ firstCandidate: first,
78
+ raw: {
79
+ barcodes: payload.barcodes ?? [],
80
+ textBlocks: payload.textBlocks ?? []
81
+ }
82
+ });
83
+ return;
84
+ }
85
+ if (resolvedOptions.text.requireConfirmation && textCandidates.length > 0) {
86
+ var _options$onTextPendin;
87
+ options === null || options === void 0 || (_options$onTextPendin = options.onTextPending) === null || _options$onTextPendin === void 0 || _options$onTextPendin.call(options, textCandidates);
88
+ return;
89
+ }
90
+ const firstCandidate = (0, _vinUtils.pickFirstCandidate)(candidates, resolvedOptions);
43
91
  callback({
44
- mode,
45
92
  timestamp: payload.timestamp,
46
- candidates: filteredCandidates,
47
- best: best ?? null,
93
+ duration: 0,
94
+ candidates,
95
+ firstCandidate,
48
96
  raw: {
49
97
  barcodes: payload.barcodes ?? [],
50
98
  textBlocks: payload.textBlocks ?? []
51
99
  }
52
100
  });
53
- }, [callback, resolvedOptions]);
101
+ }, [callback, options === null || options === void 0 ? void 0 : options.onTextPending, resolvedOptions]);
54
102
  const scanBarcodes = barcodeScanner === null || barcodeScanner === void 0 ? void 0 : barcodeScanner.scanBarcodes;
55
103
  const scanText = textScanner === null || textScanner === void 0 ? void 0 : textScanner.scanText;
104
+ const noBarcodeFrameCount = _react.default.useRef(0);
105
+ const useBarcodeFallback = _react.default.useRef(false);
56
106
  const frameProcessor = (0, _reactNativeVisionCamera.useFrameProcessor)(frame => {
57
107
  'worklet';
58
108
 
59
- const barcodes = scanBarcodes ? scanBarcodes(frame) : [];
60
- const textBlocks = scanText ? scanText(frame) : [];
61
- handleDetections({
109
+ const now = typeof (frame === null || frame === void 0 ? void 0 : frame.timestamp) === 'number' ? frame.timestamp : Date.now();
110
+
111
+ // Max FPS throttle (matches hook behavior)
112
+ const maxFps = resolvedOptions.detection.maxFrameRate;
113
+ if (maxFps > 0) {
114
+ const minInterval = 1000 / maxFps;
115
+ if (lastFrameTimestampRef.current > 0 && now - lastFrameTimestampRef.current < minInterval) {
116
+ return;
117
+ }
118
+ lastFrameTimestampRef.current = now;
119
+ }
120
+ const orientationOverride = resolvedOptions.detection.forceOrientation ?? null;
121
+ const regionOverride = resolvedOptions.detection.scanRegion ?? null;
122
+
123
+ // Frame quality gate (luma + sharpness)
124
+ const minLuma = resolvedOptions.detection.minLuma;
125
+ const minSharpness = resolvedOptions.detection.minSharpness;
126
+ if (minLuma > 0 || minSharpness > 0) {
127
+ const planes = frame === null || frame === void 0 ? void 0 : frame.planes;
128
+ if ((planes === null || planes === void 0 ? void 0 : planes.length) > 0) {
129
+ const yPlane = planes[0];
130
+ const bytes = yPlane === null || yPlane === void 0 ? void 0 : yPlane.bytes;
131
+ const width = yPlane === null || yPlane === void 0 ? void 0 : yPlane.width;
132
+ const height = yPlane === null || yPlane === void 0 ? void 0 : yPlane.height;
133
+ const stride = yPlane === null || yPlane === void 0 ? void 0 : yPlane.bytesPerRow;
134
+ if (bytes && width && height && stride) {
135
+ let lumaSum = 0;
136
+ const sampleStep = 8;
137
+ const sampleCount = Math.floor(bytes.length / sampleStep);
138
+ for (let i = 0; i < bytes.length; i += sampleStep) {
139
+ lumaSum += bytes[i];
140
+ }
141
+ const meanLuma = lumaSum / Math.max(1, sampleCount);
142
+ if (minLuma > 0 && meanLuma < minLuma) {
143
+ return;
144
+ }
145
+ if (minSharpness > 0) {
146
+ const step = Math.max(2, Math.floor(width / 96));
147
+ let sharpAccum = 0;
148
+ let sharpCount = 0;
149
+ for (let y = step; y < height - step; y += step) {
150
+ const row = y * stride;
151
+ for (let x = step; x < width - step; x += step) {
152
+ const idx = row + x;
153
+ const gx = bytes[idx + 1] - bytes[idx - 1];
154
+ const gy = bytes[idx + stride] - bytes[idx - stride];
155
+ sharpAccum += Math.abs(gx) + Math.abs(gy);
156
+ sharpCount += 1;
157
+ }
158
+ }
159
+ const sharpness = sharpAccum / Math.max(1, sharpCount);
160
+ if (sharpness < minSharpness) {
161
+ return;
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ const pluginArgs = orientationOverride || regionOverride ? {
168
+ ...(orientationOverride && {
169
+ orientation: orientationOverride
170
+ }),
171
+ ...(regionOverride && {
172
+ scanRegion: regionOverride
173
+ })
174
+ } : undefined;
175
+
176
+ // Run barcode every frame
177
+ const barcodes = scanBarcodes ? scanBarcodes(frame, useBarcodeFallback.current ? {
178
+ all: true
179
+ } : pluginArgs) : [];
180
+
181
+ // Run text every Nth frame per textScanInterval
182
+ frameCounterRef.current += 1;
183
+ const frameIndex = frameCounterRef.current;
184
+ const textScanInterval = resolvedOptions.detection.textScanInterval;
185
+ const shouldRunText = scanText && (textScanInterval <= 1 || frameIndex % textScanInterval === 0);
186
+ let textBlocks = shouldRunText && scanText ? scanText(frame, pluginArgs) ?? [] : [];
187
+ if (scanText && (textBlocks ?? []).length === 0 && (barcodes ?? []).length === 0 && !shouldRunText) {
188
+ textBlocks = scanText(frame, pluginArgs) ?? [];
189
+ }
190
+ const payload = {
62
191
  barcodes: barcodes ?? [],
63
192
  textBlocks: textBlocks ?? [],
64
- timestamp: typeof (frame === null || frame === void 0 ? void 0 : frame.timestamp) === 'number' ? frame.timestamp : Date.now()
193
+ timestamp: now
194
+ };
195
+ const candidates = (0, _vinUtils.buildVinCandidates)(payload, resolvedOptions).filter(c => c.confidence >= resolvedOptions.detection.minConfidence);
196
+ const firstCandidate = (0, _vinUtils.pickFirstCandidate)(candidates, resolvedOptions);
197
+
198
+ // Adaptive barcode fallback: if no barcode hits for N frames, scan all formats.
199
+ const hasBarcode = (payload.barcodes ?? []).length > 0;
200
+ if (!hasBarcode) {
201
+ noBarcodeFrameCount.current += 1;
202
+ if (noBarcodeFrameCount.current >= resolvedOptions.detection.barcodeFallbackAfter) {
203
+ useBarcodeFallback.current = true;
204
+ }
205
+ } else {
206
+ noBarcodeFrameCount.current = 0;
207
+ useBarcodeFallback.current = false;
208
+ }
209
+
210
+ // Duplicate debounce (matches hook behavior)
211
+ if (firstCandidate) {
212
+ const debounceMs = resolvedOptions.duplicateDebounceMs ?? 1500;
213
+ const isDuplicate = firstCandidate.value === lastEmittedVin.current && now - lastEmitTimestamp.current < debounceMs;
214
+ const seen = sessionSeen.current.has(firstCandidate.value);
215
+ if (isDuplicate || seen) {
216
+ return;
217
+ }
218
+ lastEmittedVin.current = firstCandidate.value;
219
+ lastEmitTimestamp.current = now;
220
+ sessionSeen.current.add(firstCandidate.value);
221
+ }
222
+ handleDetections(payload);
223
+ }, [scanBarcodes, scanText, handleDetections, resolvedOptions]);
224
+
225
+ // Tap to focus callback
226
+ const focus = (0, _react.useCallback)(point => {
227
+ const camera = ref === null || ref === void 0 ? void 0 : ref.current;
228
+ if (camera == null) return;
229
+ camera.focus(point);
230
+ }, [ref]);
231
+
232
+ // Create tap gesture for focus
233
+ const tapGesture = _reactNativeGestureHandler.Gesture.Tap().onEnd(({
234
+ x,
235
+ y
236
+ }) => {
237
+ (0, _reactNativeReanimated.runOnJS)(focus)({
238
+ x,
239
+ y
65
240
  });
66
- }, [scanBarcodes, scanText, handleDetections]);
67
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !!device && /*#__PURE__*/_react.default.createElement(_reactNativeVisionCamera.Camera, _extends({
241
+ });
242
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !!device && /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureDetector, {
243
+ gesture: tapGesture
244
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeVisionCamera.Camera, _extends({
68
245
  pixelFormat: "yuv",
69
246
  ref: ref,
70
247
  frameProcessor: frameProcessor,
71
- device: device
72
- }, rest)));
248
+ device: device,
249
+ enableZoomGesture: true,
250
+ lowLightBoost: (options === null || options === void 0 || (_options$cameraSettin = options.cameraSettings) === null || _options$cameraSettin === void 0 ? void 0 : _options$cameraSettin.lowLightBoost) ?? true,
251
+ videoStabilizationMode: (options === null || options === void 0 || (_options$cameraSettin2 = options.cameraSettings) === null || _options$cameraSettin2 === void 0 ? void 0 : _options$cameraSettin2.videoStabilizationMode) ?? 'cinematic',
252
+ fps: Math.min(30, Math.max(24, (options === null || options === void 0 || (_options$cameraSettin3 = options.cameraSettings) === null || _options$cameraSettin3 === void 0 ? void 0 : _options$cameraSettin3.fps) ?? 24))
253
+ }, rest))));
73
254
  });
74
255
  function useBarcodeScanner(options) {
75
256
  return (0, _react.useMemo)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeVisionCamera","_reactNativeWorkletsCore","_scanBarcodes","_scanText","_vinUtils","_useVinScanner","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","Camera","exports","forwardRef","props","ref","device","callback","options","rest","resolvedOptions","useMemo","resolveOptions","barcodeScanner","useBarcodeScanner","barcode","textScanner","useTextScanner","text","handleDetections","useRunOnJS","payload","candidates","buildVinCandidates","best","pickFirstCandidate","mode","detection","resultMode","filteredCandidates","timestamp","raw","barcodes","textBlocks","scanBarcodes","scanText","frameProcessor","useFrameProcessor","frame","Date","now","createElement","Fragment","pixelFormat","enabled","createBarcodeScannerPlugin","formats","createTextRecognitionPlugin","language"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeVisionCamera","_reactNativeWorkletsCore","_reactNativeGestureHandler","_reactNativeReanimated","_scanBarcodes","_scanText","_vinUtils","_useVinScanner","_TextVinPrompt","_PendingVinBanner","_ManualVinInput","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","Camera","exports","forwardRef","props","ref","_options$cameraSettin","_options$cameraSettin2","_options$cameraSettin3","device","callback","options","rest","resolvedOptions","useMemo","resolveOptions","barcodeScanner","useBarcodeScanner","barcode","textScanner","useTextScanner","text","lastEmittedVin","React","useRef","lastEmitTimestamp","lastFrameTimestampRef","frameCounterRef","sessionSeen","Set","handleDetections","useRunOnJS","payload","candidates","buildVinCandidates","barcodeCandidates","filter","c","source","textCandidates","first","pickFirstCandidate","timestamp","duration","firstCandidate","raw","barcodes","textBlocks","requireConfirmation","_options$onTextPendin","onTextPending","scanBarcodes","scanText","noBarcodeFrameCount","useBarcodeFallback","frameProcessor","useFrameProcessor","frame","now","Date","maxFps","detection","maxFrameRate","minInterval","current","orientationOverride","forceOrientation","regionOverride","scanRegion","minLuma","minSharpness","planes","yPlane","bytes","width","height","stride","bytesPerRow","lumaSum","sampleStep","sampleCount","Math","floor","meanLuma","max","step","sharpAccum","sharpCount","y","row","x","idx","gx","gy","abs","sharpness","pluginArgs","orientation","undefined","all","frameIndex","textScanInterval","shouldRunText","confidence","minConfidence","hasBarcode","barcodeFallbackAfter","debounceMs","duplicateDebounceMs","isDuplicate","value","seen","add","focus","useCallback","point","camera","tapGesture","Gesture","Tap","onEnd","runOnJS","createElement","Fragment","GestureDetector","gesture","pixelFormat","enableZoomGesture","lowLightBoost","cameraSettings","videoStabilizationMode","fps","min","enabled","createBarcodeScannerPlugin","formats","createTextRecognitionPlugin","language"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -70,7 +70,7 @@ const normalizeBarcodeDetections = payload => {
70
70
  return output;
71
71
  });
72
72
  };
73
- const mergeArgs = (baseArgs, overrides, orientation) => {
73
+ const mergeArgs = (baseArgs, overrides, orientation, scanRegion) => {
74
74
  'worklet';
75
75
 
76
76
  const merged = {
@@ -79,18 +79,29 @@ const mergeArgs = (baseArgs, overrides, orientation) => {
79
79
  if (overrides) {
80
80
  const {
81
81
  orientation: overrideOrientation,
82
+ scanRegion: overrideScanRegion,
82
83
  ...formatMap
83
84
  } = overrides;
84
85
  Object.entries(formatMap).forEach(([key, value]) => {
85
86
  merged[key] = value;
86
87
  });
88
+ if (overrideScanRegion) {
89
+ merged.scanRegion = overrideScanRegion;
90
+ } else if (scanRegion) {
91
+ merged.scanRegion = scanRegion;
92
+ }
87
93
  if (overrideOrientation) {
88
94
  merged.orientation = overrideOrientation;
89
95
  } else if (orientation) {
90
96
  merged.orientation = orientation;
91
97
  }
92
- } else if (orientation) {
93
- merged.orientation = orientation;
98
+ } else {
99
+ if (orientation) {
100
+ merged.orientation = orientation;
101
+ }
102
+ if (scanRegion) {
103
+ merged.scanRegion = scanRegion;
104
+ }
94
105
  }
95
106
  return merged;
96
107
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeVisionCamera","LINKING_ERROR","Platform","select","ios","default","DEFAULT_FORMATS","KNOWN_FORMATS","toNativeBarcodeOptions","formats","sanitized","length","includes","all","reduce","acc","format","BOX_STRIDE","toFloat32Array","input","Float32Array","undefined","normalizeBarcodeDetections","payload","Array","isArray","record","detections","buffer","boxes","map","detection","index","output","boxIndex","offset","top","bottom","left","right","width","height","mergeArgs","baseArgs","overrides","orientation","merged","overrideOrientation","formatMap","Object","entries","forEach","key","value","createBarcodeScannerPlugin","baseOptions","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","scanBarcodes","frame","args","result","call"],"sourceRoot":"../../src","sources":["scanBarcodes.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeVisionCamera","LINKING_ERROR","Platform","select","ios","default","DEFAULT_FORMATS","KNOWN_FORMATS","toNativeBarcodeOptions","formats","sanitized","length","includes","all","reduce","acc","format","BOX_STRIDE","toFloat32Array","input","Float32Array","undefined","normalizeBarcodeDetections","payload","Array","isArray","record","detections","buffer","boxes","map","detection","index","output","boxIndex","offset","top","bottom","left","right","width","height","mergeArgs","baseArgs","overrides","orientation","scanRegion","merged","overrideOrientation","overrideScanRegion","formatMap","Object","entries","forEach","key","value","createBarcodeScannerPlugin","baseOptions","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","scanBarcodes","frame","args","result","call"],"sourceRoot":"../../src","sources":["scanBarcodes.ts"],"mappings":"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","ignoreList":[]}
@@ -60,7 +60,7 @@ const normalizeTextDetections = payload => {
60
60
  return output;
61
61
  });
62
62
  };
63
- const mergeTextArgs = (base, overrides, orientation) => {
63
+ const mergeTextArgs = (base, overrides, orientation, scanRegion) => {
64
64
  'worklet';
65
65
 
66
66
  const merged = {
@@ -69,16 +69,27 @@ const mergeTextArgs = (base, overrides, orientation) => {
69
69
  if (overrides) {
70
70
  const {
71
71
  orientation: overrideOrientation,
72
+ scanRegion: overrideScanRegion,
72
73
  ...rest
73
74
  } = overrides;
74
75
  Object.assign(merged, rest);
76
+ if (overrideScanRegion) {
77
+ merged.scanRegion = overrideScanRegion;
78
+ } else if (scanRegion) {
79
+ merged.scanRegion = scanRegion;
80
+ }
75
81
  if (overrideOrientation) {
76
82
  merged.orientation = overrideOrientation;
77
83
  } else if (orientation) {
78
84
  merged.orientation = orientation;
79
85
  }
80
- } else if (orientation) {
81
- merged.orientation = orientation;
86
+ } else {
87
+ if (orientation) {
88
+ merged.orientation = orientation;
89
+ }
90
+ if (scanRegion) {
91
+ merged.scanRegion = scanRegion;
92
+ }
82
93
  }
83
94
  return merged;
84
95
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeVisionCamera","LINKING_ERROR","Platform","select","ios","default","TEXT_BOX_STRIDE","toFloat32Array","input","Float32Array","undefined","normalizeTextDetections","payload","Array","isArray","record","detections","buffer","boxes","map","detection","index","output","boxIndex","offset","length","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","mergeTextArgs","base","overrides","orientation","merged","overrideOrientation","rest","Object","assign","createTextRecognitionPlugin","options","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","scanText","frame","args","result","call"],"sourceRoot":"../../src","sources":["scanText.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeVisionCamera","LINKING_ERROR","Platform","select","ios","default","TEXT_BOX_STRIDE","toFloat32Array","input","Float32Array","undefined","normalizeTextDetections","payload","Array","isArray","record","detections","buffer","boxes","map","detection","index","output","boxIndex","offset","length","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","mergeTextArgs","base","overrides","orientation","scanRegion","merged","overrideOrientation","overrideScanRegion","rest","Object","assign","createTextRecognitionPlugin","options","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","scanText","frame","args","result","call"],"sourceRoot":"../../src","sources":["scanText.ts"],"mappings":"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","ignoreList":[]}