@mleonard9/vin-scanner 1.4.6 → 1.4.8
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.
- package/README.md +21 -9
- package/android/src/main/java/com/visioncamerabarcodescanner/VisionCameraBarcodeScannerModule.kt +5 -1
- package/android/src/main/java/com/visioncameratextrecognition/VisionCameraTextRecognitionModule.kt +5 -1
- package/lib/commonjs/scanBarcodes.js +7 -1
- package/lib/commonjs/scanBarcodes.js.map +1 -1
- package/lib/commonjs/scanText.js +7 -1
- package/lib/commonjs/scanText.js.map +1 -1
- package/lib/module/scanBarcodes.js +7 -1
- package/lib/module/scanBarcodes.js.map +1 -1
- package/lib/module/scanText.js +7 -1
- package/lib/module/scanText.js.map +1 -1
- package/lib/typescript/src/scanBarcodes.d.ts.map +1 -1
- package/lib/typescript/src/scanText.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/scanBarcodes.ts +7 -1
- package/src/scanText.ts +7 -1
package/README.md
CHANGED
|
@@ -10,21 +10,32 @@ High-performance VIN detection for React Native powered by Google ML Kit barcode
|
|
|
10
10
|
|
|
11
11
|
## Requirements
|
|
12
12
|
|
|
13
|
-
- `react-native-vision-camera` >=
|
|
14
|
-
- `react-native-worklets-core` >=
|
|
13
|
+
- `react-native-vision-camera` >= 4.6.0 < 5
|
|
14
|
+
- `react-native-worklets-core` >= 1.3.3 < 1.6
|
|
15
15
|
- `react-native-gesture-handler` >= 2.0.0 (for tap-to-focus)
|
|
16
16
|
- `react-native-reanimated` >= 3.0.0 (for tap-to-focus)
|
|
17
17
|
- iOS 13+ / Android 21+
|
|
18
18
|
|
|
19
|
+
## Compatibility
|
|
20
|
+
|
|
21
|
+
Tested combinations:
|
|
22
|
+
|
|
23
|
+
| Package | Recommended |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| `react-native-vision-camera` | `4.7.3` |
|
|
26
|
+
| `react-native-worklets-core` | `1.3.3` |
|
|
27
|
+
|
|
28
|
+
Notes:
|
|
29
|
+
- `react-native-worklets-core` `1.6.x` has caused frame-processor HostObject compatibility issues with VisionCamera v4 in some apps.
|
|
30
|
+
- The package includes a frame unwrap compatibility shim, but the recommended production setup is still `VisionCamera 4.7.3` + `Worklets Core 1.3.3`.
|
|
31
|
+
- If your app is already on newer Worklets, test carefully before upgrading this package in production.
|
|
32
|
+
|
|
19
33
|
## Installation
|
|
20
34
|
|
|
21
35
|
```sh
|
|
22
|
-
yarn add @mleonard9/vin-scanner
|
|
36
|
+
yarn add @mleonard9/vin-scanner react-native-worklets-core@1.3.3 react-native-vision-camera@4.7.3
|
|
23
37
|
# or
|
|
24
|
-
npm install @mleonard9/vin-scanner
|
|
25
|
-
|
|
26
|
-
# Required for frame processors
|
|
27
|
-
yarn add react-native-worklets-core
|
|
38
|
+
npm install @mleonard9/vin-scanner react-native-worklets-core@1.3.3 react-native-vision-camera@4.7.3
|
|
28
39
|
|
|
29
40
|
# Optional (for haptic cues)
|
|
30
41
|
# yarn add react-native-haptic-feedback
|
|
@@ -51,7 +62,8 @@ export function VinScannerExample(): JSX.Element {
|
|
|
51
62
|
|
|
52
63
|
const options = useMemo(
|
|
53
64
|
() => ({
|
|
54
|
-
|
|
65
|
+
// Include QR for corner codes on auction tags
|
|
66
|
+
barcode: { formats: ['code-39', 'code-128', 'pdf-417', 'qr'] },
|
|
55
67
|
onResult: (candidates, event) => {
|
|
56
68
|
setResults(candidates);
|
|
57
69
|
console.log(`Scan took ${event.duration}ms`);
|
|
@@ -340,7 +352,7 @@ Phase 1 optimizations dramatically improve scanning performance through native R
|
|
|
340
352
|
```tsx
|
|
341
353
|
const { frameProcessor } = useVinScanner({
|
|
342
354
|
detection: {
|
|
343
|
-
// Focus on center 50% of frame
|
|
355
|
+
// Focus on center 50% of frame (set null to cover full frame / corner QR)
|
|
344
356
|
scanRegion: { x: 0.25, y: 0.25, width: 0.5, height: 0.5 },
|
|
345
357
|
textScanInterval: 2,
|
|
346
358
|
},
|
package/android/src/main/java/com/visioncamerabarcodescanner/VisionCameraBarcodeScannerModule.kt
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package com.visioncamerabarcodescanner
|
|
2
2
|
|
|
3
3
|
import android.media.Image
|
|
4
|
+
import android.util.Log
|
|
4
5
|
import com.google.android.gms.tasks.Task
|
|
5
6
|
import com.google.android.gms.tasks.Tasks
|
|
6
7
|
import com.google.mlkit.vision.barcode.BarcodeScannerOptions
|
|
@@ -182,7 +183,10 @@ class VisionCameraBarcodeScannerModule(
|
|
|
182
183
|
}
|
|
183
184
|
response
|
|
184
185
|
} catch (e: Exception) {
|
|
185
|
-
|
|
186
|
+
Log.e("vinScannerBarcode", "Error processing barcode scanner", e)
|
|
187
|
+
val response = HashMap<String, Any?>()
|
|
188
|
+
response["detections"] = emptyList<Map<String, Any?>>()
|
|
189
|
+
return response
|
|
186
190
|
}
|
|
187
191
|
}
|
|
188
192
|
}
|
package/android/src/main/java/com/visioncameratextrecognition/VisionCameraTextRecognitionModule.kt
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package com.visioncameratextrecognition
|
|
2
2
|
|
|
3
3
|
import android.media.Image
|
|
4
|
+
import android.util.Log
|
|
4
5
|
import com.google.android.gms.tasks.Task
|
|
5
6
|
import com.google.android.gms.tasks.Tasks
|
|
6
7
|
import com.google.mlkit.vision.common.InputImage
|
|
@@ -224,7 +225,10 @@ class VisionCameraTextRecognitionModule(
|
|
|
224
225
|
}
|
|
225
226
|
return response
|
|
226
227
|
} catch (e: Exception) {
|
|
227
|
-
|
|
228
|
+
Log.e("vinScannerText", "Error processing text recognition", e)
|
|
229
|
+
val response = HashMap<String, Any?>()
|
|
230
|
+
response["detections"] = ArrayList<Map<String, Any?>>()
|
|
231
|
+
return response
|
|
228
232
|
}
|
|
229
233
|
}
|
|
230
234
|
}
|
|
@@ -27,6 +27,12 @@ const toNativeBarcodeOptions = formats => {
|
|
|
27
27
|
}, {});
|
|
28
28
|
};
|
|
29
29
|
const BOX_STRIDE = 6;
|
|
30
|
+
const unwrapPluginFrame = frame => {
|
|
31
|
+
'worklet';
|
|
32
|
+
|
|
33
|
+
const candidate = frame;
|
|
34
|
+
return candidate.__frame ?? frame;
|
|
35
|
+
};
|
|
30
36
|
const toFloat32Array = input => {
|
|
31
37
|
'worklet';
|
|
32
38
|
|
|
@@ -119,7 +125,7 @@ function createBarcodeScannerPlugin(formats) {
|
|
|
119
125
|
|
|
120
126
|
const orientation = overrides === null || overrides === void 0 ? void 0 : overrides.orientation;
|
|
121
127
|
const args = overrides || orientation ? mergeArgs(baseOptions, overrides, orientation ?? null) : baseOptions;
|
|
122
|
-
const result = plugin.call(frame, args);
|
|
128
|
+
const result = plugin.call(unwrapPluginFrame(frame), args);
|
|
123
129
|
return normalizeBarcodeDetections(result);
|
|
124
130
|
}
|
|
125
131
|
};
|
|
@@ -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","scanRegion","merged","overrideOrientation","overrideScanRegion","formatMap","Object","entries","forEach","key","value","createBarcodeScannerPlugin","baseOptions","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","scanBarcodes","
|
|
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","unwrapPluginFrame","frame","candidate","__frame","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","args","result","call"],"sourceRoot":"../../src","sources":["scanBarcodes.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/scanText.js
CHANGED
|
@@ -11,6 +11,12 @@ const LINKING_ERROR = `The package '@mleonard9/vin-scanner' doesn't seem to be l
|
|
|
11
11
|
default: ''
|
|
12
12
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
13
13
|
const TEXT_BOX_STRIDE = 12;
|
|
14
|
+
const unwrapPluginFrame = frame => {
|
|
15
|
+
'worklet';
|
|
16
|
+
|
|
17
|
+
const candidate = frame;
|
|
18
|
+
return candidate.__frame ?? frame;
|
|
19
|
+
};
|
|
14
20
|
const toFloat32Array = input => {
|
|
15
21
|
'worklet';
|
|
16
22
|
|
|
@@ -106,7 +112,7 @@ function createTextRecognitionPlugin(options) {
|
|
|
106
112
|
|
|
107
113
|
const orientation = overrides === null || overrides === void 0 ? void 0 : overrides.orientation;
|
|
108
114
|
const args = overrides || orientation ? mergeTextArgs(options, overrides, orientation ?? null) : options;
|
|
109
|
-
const result = plugin.call(frame, args);
|
|
115
|
+
const result = plugin.call(unwrapPluginFrame(frame), args);
|
|
110
116
|
return normalizeTextDetections(result);
|
|
111
117
|
}
|
|
112
118
|
};
|
|
@@ -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","scanRegion","merged","overrideOrientation","overrideScanRegion","rest","Object","assign","createTextRecognitionPlugin","options","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","scanText","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeVisionCamera","LINKING_ERROR","Platform","select","ios","default","TEXT_BOX_STRIDE","unwrapPluginFrame","frame","candidate","__frame","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","args","result","call"],"sourceRoot":"../../src","sources":["scanText.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,6 +21,12 @@ const toNativeBarcodeOptions = formats => {
|
|
|
21
21
|
}, {});
|
|
22
22
|
};
|
|
23
23
|
const BOX_STRIDE = 6;
|
|
24
|
+
const unwrapPluginFrame = frame => {
|
|
25
|
+
'worklet';
|
|
26
|
+
|
|
27
|
+
const candidate = frame;
|
|
28
|
+
return candidate.__frame ?? frame;
|
|
29
|
+
};
|
|
24
30
|
const toFloat32Array = input => {
|
|
25
31
|
'worklet';
|
|
26
32
|
|
|
@@ -113,7 +119,7 @@ export function createBarcodeScannerPlugin(formats) {
|
|
|
113
119
|
|
|
114
120
|
const orientation = overrides === null || overrides === void 0 ? void 0 : overrides.orientation;
|
|
115
121
|
const args = overrides || orientation ? mergeArgs(baseOptions, overrides, orientation ?? null) : baseOptions;
|
|
116
|
-
const result = plugin.call(frame, args);
|
|
122
|
+
const result = plugin.call(unwrapPluginFrame(frame), args);
|
|
117
123
|
return normalizeBarcodeDetections(result);
|
|
118
124
|
}
|
|
119
125
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","VisionCameraProxy","LINKING_ERROR","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","initFrameProcessorPlugin","Error","scanBarcodes","
|
|
1
|
+
{"version":3,"names":["Platform","VisionCameraProxy","LINKING_ERROR","select","ios","default","DEFAULT_FORMATS","KNOWN_FORMATS","toNativeBarcodeOptions","formats","sanitized","length","includes","all","reduce","acc","format","BOX_STRIDE","unwrapPluginFrame","frame","candidate","__frame","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","initFrameProcessorPlugin","Error","scanBarcodes","args","result","call"],"sourceRoot":"../../src","sources":["scanBarcodes.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/scanText.js
CHANGED
|
@@ -5,6 +5,12 @@ const LINKING_ERROR = `The package '@mleonard9/vin-scanner' doesn't seem to be l
|
|
|
5
5
|
default: ''
|
|
6
6
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
7
7
|
const TEXT_BOX_STRIDE = 12;
|
|
8
|
+
const unwrapPluginFrame = frame => {
|
|
9
|
+
'worklet';
|
|
10
|
+
|
|
11
|
+
const candidate = frame;
|
|
12
|
+
return candidate.__frame ?? frame;
|
|
13
|
+
};
|
|
8
14
|
const toFloat32Array = input => {
|
|
9
15
|
'worklet';
|
|
10
16
|
|
|
@@ -100,7 +106,7 @@ export function createTextRecognitionPlugin(options) {
|
|
|
100
106
|
|
|
101
107
|
const orientation = overrides === null || overrides === void 0 ? void 0 : overrides.orientation;
|
|
102
108
|
const args = overrides || orientation ? mergeTextArgs(options, overrides, orientation ?? null) : options;
|
|
103
|
-
const result = plugin.call(frame, args);
|
|
109
|
+
const result = plugin.call(unwrapPluginFrame(frame), args);
|
|
104
110
|
return normalizeTextDetections(result);
|
|
105
111
|
}
|
|
106
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","VisionCameraProxy","LINKING_ERROR","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","initFrameProcessorPlugin","Error","scanText","
|
|
1
|
+
{"version":3,"names":["Platform","VisionCameraProxy","LINKING_ERROR","select","ios","default","TEXT_BOX_STRIDE","unwrapPluginFrame","frame","candidate","__frame","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","initFrameProcessorPlugin","Error","scanText","args","result","call"],"sourceRoot":"../../src","sources":["scanText.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAEEC,iBAAiB,QACZ,4BAA4B;AAUnC,MAAMC,aAAqB,GACzB,iFAAiF,GACjFF,QAAQ,CAACG,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,eAAe,GAAG,EAAE;AAE1B,MAAMC,iBAAiB,GAAIC,KAAY,IAAY;EACjD,SAAS;;EACT,MAAMC,SAAS,GAAGD,KAAoC;EACtD,OAAOC,SAAS,CAACC,OAAO,IAAIF,KAAK;AACnC,CAAC;AAED,MAAMG,cAAc,GAAIC,KAAc,IAA+B;EACnE,SAAS;;EACT,IACEA,KAAK,IACL,OAAOA,KAAK,KAAK,QAAQ,IACzB,YAAY,IAAKA,KAAqB,EACtC;IACA,IAAI;MACF,OAAO,IAAIC,YAAY,CAACD,KAAoB,CAAC;IAC/C,CAAC,CAAC,MAAM;MACN,OAAOE,SAAS;IAClB;EACF;EACA,OAAOA,SAAS;AAClB,CAAC;AAED,MAAMC,uBAAuB,GAAIC,OAAgB,IAAsB;EACrE,SAAS;;EACT,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,EAAE;EACX;EACA,IAAIC,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,EAAE;IAC1B,OAAOA,OAAO;EAChB;EACA,MAAMG,MAAM,GAAGH,OAGd;EACD,MAAMI,UAAU,GAAGH,KAAK,CAACC,OAAO,CAACC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,UAAU,CAAC,GAAGD,MAAM,CAACC,UAAU,GAAG,EAAE;EAC7E,MAAMC,MAAM,GAAGV,cAAc,CAACQ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,KAAK,CAAC;EAC5C,OAAOF,UAAU,CAACG,GAAG,CAAC,CAACC,SAAS,EAAEC,KAAK,KAAK;IAC1C,MAAMC,MAAqB,GAAG;MAAE,GAAGF;IAAU,CAAC;IAC9C,MAAMG,QAAQ,GACZ,QAAOH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,QAAQ,MAAK,QAAQ,GAAGH,SAAS,CAACG,QAAQ,GAAGF,KAAK;IACtE,IAAIJ,MAAM,IAAIM,QAAQ,IAAI,CAAC,EAAE;MAC3B,MAAMC,MAAM,GAAGD,QAAQ,GAAGrB,eAAe;MACzC,IAAIsB,MAAM,GAAGtB,eAAe,IAAIe,MAAM,CAACQ,MAAM,EAAE;QAC7CH,MAAM,CAACI,aAAa,GAAGT,MAAM,CAACO,MAAM,CAAC;QACrCF,MAAM,CAACK,gBAAgB,GAAGV,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QAC5CF,MAAM,CAACM,cAAc,GAAGX,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QAC1CF,MAAM,CAACO,eAAe,GAAGZ,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QAC3CF,MAAM,CAACQ,YAAY,GAAGb,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QACxCF,MAAM,CAACS,eAAe,GAAGd,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QAC3CF,MAAM,CAACU,aAAa,GAAGf,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QACzCF,MAAM,CAACW,cAAc,GAAGhB,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QAC1CF,MAAM,CAACY,eAAe,GAAGjB,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QAC3CF,MAAM,CAACa,kBAAkB,GAAGlB,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;QAC9CF,MAAM,CAACc,gBAAgB,GAAGnB,MAAM,CAACO,MAAM,GAAG,EAAE,CAAC;QAC7CF,MAAM,CAACe,iBAAiB,GAAGpB,MAAM,CAACO,MAAM,GAAG,EAAE,CAAC;MAChD;IACF;IACA,OAAOF,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAMgB,aAAa,GAAGA,CACpBC,IAA4B,EAC5BC,SAEC,EACDC,WAAqC,EACrCC,UAA8B,KAC3B;EACH,SAAS;;EACT,MAAMC,MAEL,GAAG;IACF,GAAGJ;EACL,CAAC;EACD,IAAIC,SAAS,EAAE;IACb,MAAM;MACJC,WAAW,EAAEG,mBAAmB;MAChCF,UAAU,EAAEG,kBAAkB;MAC9B,GAAGC;IACL,CAAC,GAAGN,SAAS;IACbO,MAAM,CAACC,MAAM,CAACL,MAAM,EAAEG,IAAI,CAAC;IAC3B,IAAID,kBAAkB,EAAE;MACtBF,MAAM,CAACD,UAAU,GAAGG,kBAAkB;IACxC,CAAC,MAAM,IAAIH,UAAU,EAAE;MACrBC,MAAM,CAACD,UAAU,GAAGA,UAAU;IAChC;IACA,IAAIE,mBAAmB,EAAE;MACvBD,MAAM,CAACF,WAAW,GAAGG,mBAAmB;IAC1C,CAAC,MAAM,IAAIH,WAAW,EAAE;MACtBE,MAAM,CAACF,WAAW,GAAGA,WAAW;IAClC;EACF,CAAC,MAAM;IACL,IAAIA,WAAW,EAAE;MACfE,MAAM,CAACF,WAAW,GAAGA,WAAW;IAClC;IACA,IAAIC,UAAU,EAAE;MACdC,MAAM,CAACD,UAAU,GAAGA,UAAU;IAChC;EACF;EACA,OAAOC,MAAM;AACf,CAAC;AAED,OAAO,SAASM,2BAA2BA,CACzCC,OAA+B,EACR;EACvB,MAAMC,MAAwC,GAC5CtD,iBAAiB,CAACuD,wBAAwB,CAAC,gBAAgB,EAAE;IAC3D,GAAGF;EACL,CAAC,CAAC;EACJ,IAAI,CAACC,MAAM,EAAE;IACX,MAAM,IAAIE,KAAK,CAACvD,aAAa,CAAC;EAChC;EACA,OAAO;IACLwD,QAAQ,EAAEA,CACRlD,KAAY,EACZoC,SAEC,KACmB;MACpB,SAAS;;MACT,MAAMC,WAAW,GAAGD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEC,WAAW;MAC1C,MAAMc,IAAI,GACRf,SAAS,IAAIC,WAAW,GACpBH,aAAa,CAACY,OAAO,EAAEV,SAAS,EAAEC,WAAW,IAAI,IAAI,CAAC,GACtDS,OAAO;MACb,MAAMM,MAAM,GAAGL,MAAM,CAACM,IAAI,CAACtD,iBAAiB,CAACC,KAAK,CAAC,EAAEmD,IAAI,CAAC;MAC1D,OAAO5C,uBAAuB,CAAC6C,MAAM,CAAC;IACxC;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanBarcodes.d.ts","sourceRoot":"","sources":["../../../src/scanBarcodes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,oBAAoB,EAIpB,kBAAkB,EAEnB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"scanBarcodes.d.ts","sourceRoot":"","sources":["../../../src/scanBarcodes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,oBAAoB,EAIpB,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AA2IjB,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,kBAAkB,GAC1B,oBAAoB,CAwBtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanText.d.ts","sourceRoot":"","sources":["../../../src/scanText.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAKV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"scanText.d.ts","sourceRoot":"","sources":["../../../src/scanText.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAKV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAiHjB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAyBvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mleonard9/vin-scanner",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.8",
|
|
4
4
|
"description": "High-performance VIN scanner for React Native Vision Camera powered by Google ML Kit barcode + text recognition.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"react-native-builder-bob": "^0.20.0",
|
|
77
77
|
"react-native-gesture-handler": "^2.14.0",
|
|
78
78
|
"react-native-reanimated": "^3.6.0",
|
|
79
|
-
"react-native-vision-camera": "
|
|
80
|
-
"react-native-worklets-core": "
|
|
79
|
+
"react-native-vision-camera": "4.7.3",
|
|
80
|
+
"react-native-worklets-core": "1.3.3",
|
|
81
81
|
"release-it": "^15.0.0",
|
|
82
82
|
"turbo": "^1.10.7",
|
|
83
83
|
"typescript": "^5.2.2"
|
|
@@ -90,8 +90,8 @@
|
|
|
90
90
|
"react-native": "*",
|
|
91
91
|
"react-native-gesture-handler": ">=2.0.0",
|
|
92
92
|
"react-native-reanimated": ">=3.0.0",
|
|
93
|
-
"react-native-vision-camera": "
|
|
94
|
-
"react-native-worklets-core": ">=1.
|
|
93
|
+
"react-native-vision-camera": ">=4.6 <5",
|
|
94
|
+
"react-native-worklets-core": ">=1.3.3 <1.6"
|
|
95
95
|
},
|
|
96
96
|
"workspaces": [
|
|
97
97
|
"example"
|
|
@@ -171,4 +171,4 @@
|
|
|
171
171
|
]
|
|
172
172
|
]
|
|
173
173
|
}
|
|
174
|
-
}
|
|
174
|
+
}
|
package/src/scanBarcodes.ts
CHANGED
|
@@ -58,6 +58,12 @@ const toNativeBarcodeOptions = (
|
|
|
58
58
|
|
|
59
59
|
const BOX_STRIDE = 6;
|
|
60
60
|
|
|
61
|
+
const unwrapPluginFrame = (frame: Frame): Frame => {
|
|
62
|
+
'worklet';
|
|
63
|
+
const candidate = frame as Frame & { __frame?: Frame };
|
|
64
|
+
return candidate.__frame ?? frame;
|
|
65
|
+
};
|
|
66
|
+
|
|
61
67
|
const toFloat32Array = (input: unknown): Float32Array | undefined => {
|
|
62
68
|
'worklet';
|
|
63
69
|
if (
|
|
@@ -167,7 +173,7 @@ export function createBarcodeScannerPlugin(
|
|
|
167
173
|
overrides || orientation
|
|
168
174
|
? mergeArgs(baseOptions, overrides, orientation ?? null)
|
|
169
175
|
: baseOptions;
|
|
170
|
-
const result = plugin.call(frame, args);
|
|
176
|
+
const result = plugin.call(unwrapPluginFrame(frame), args);
|
|
171
177
|
return normalizeBarcodeDetections(result);
|
|
172
178
|
},
|
|
173
179
|
};
|
package/src/scanText.ts
CHANGED
|
@@ -20,6 +20,12 @@ const LINKING_ERROR: string =
|
|
|
20
20
|
|
|
21
21
|
const TEXT_BOX_STRIDE = 12;
|
|
22
22
|
|
|
23
|
+
const unwrapPluginFrame = (frame: Frame): Frame => {
|
|
24
|
+
'worklet';
|
|
25
|
+
const candidate = frame as Frame & { __frame?: Frame };
|
|
26
|
+
return candidate.__frame ?? frame;
|
|
27
|
+
};
|
|
28
|
+
|
|
23
29
|
const toFloat32Array = (input: unknown): Float32Array | undefined => {
|
|
24
30
|
'worklet';
|
|
25
31
|
if (
|
|
@@ -140,7 +146,7 @@ export function createTextRecognitionPlugin(
|
|
|
140
146
|
overrides || orientation
|
|
141
147
|
? mergeTextArgs(options, overrides, orientation ?? null)
|
|
142
148
|
: options;
|
|
143
|
-
const result = plugin.call(frame, args);
|
|
149
|
+
const result = plugin.call(unwrapPluginFrame(frame), args);
|
|
144
150
|
return normalizeTextDetections(result);
|
|
145
151
|
},
|
|
146
152
|
};
|