@mleonard9/vin-scanner 1.4.7 → 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 +18 -7
- 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
|
|
@@ -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":"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","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
|
};
|