@mleonard9/vin-scanner 1.4.8 → 1.5.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.
package/README.md CHANGED
@@ -10,15 +10,17 @@ 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` >= 4.6.0 < 5
14
- - `react-native-worklets-core` >= 1.3.3 < 1.6
13
+ - `react-native-vision-camera` >= 4.6.0
14
+ - `react-native-worklets-core` >= 1.3.3
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
19
  ## Compatibility
20
20
 
21
- Tested combinations:
21
+ This package keeps peer dependency ranges broad so consuming apps can control their React Native, VisionCamera, and Worklets versions.
22
+
23
+ Tested matrix:
22
24
 
23
25
  | Package | Recommended |
24
26
  | --- | --- |
@@ -26,16 +28,20 @@ Tested combinations:
26
28
  | `react-native-worklets-core` | `1.3.3` |
27
29
 
28
30
  Notes:
31
+ - The package's own dev/test environment stays pinned to the matrix above, but published peer ranges remain open to support newer app stacks.
29
32
  - `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.
33
+ - The package includes a frame unwrap compatibility shim to improve compatibility with newer Worklets wrappers.
34
+ - If your app is on newer Worklets or React Native, test carefully and prefer keeping VisionCamera and Worklets aligned to versions already validated in your app.
32
35
 
33
36
  ## Installation
34
37
 
35
38
  ```sh
36
- yarn add @mleonard9/vin-scanner react-native-worklets-core@1.3.3 react-native-vision-camera@4.7.3
39
+ yarn add @mleonard9/vin-scanner
37
40
  # or
38
- npm install @mleonard9/vin-scanner react-native-worklets-core@1.3.3 react-native-vision-camera@4.7.3
41
+ npm install @mleonard9/vin-scanner
42
+
43
+ # If you need a known-good baseline, start with:
44
+ # yarn add react-native-vision-camera@4.7.3 react-native-worklets-core@1.3.3
39
45
 
40
46
  # Optional (for haptic cues)
41
47
  # yarn add react-native-haptic-feedback
@@ -33,6 +33,33 @@ const unwrapPluginFrame = frame => {
33
33
  const candidate = frame;
34
34
  return candidate.__frame ?? frame;
35
35
  };
36
+ const toSerializableValue = value => {
37
+ 'worklet';
38
+
39
+ if (value == null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
40
+ return value;
41
+ }
42
+ if (value instanceof ArrayBuffer) {
43
+ return value;
44
+ }
45
+ if (Array.isArray(value)) {
46
+ return value.map(item => toSerializableValue(item));
47
+ }
48
+ if (typeof value === 'object') {
49
+ const record = value;
50
+ const output = {};
51
+ Object.keys(record).forEach(key => {
52
+ output[key] = toSerializableValue(record[key]);
53
+ });
54
+ return output;
55
+ }
56
+ return undefined;
57
+ };
58
+ const toSerializableArgs = args => {
59
+ 'worklet';
60
+
61
+ return toSerializableValue(args);
62
+ };
36
63
  const toFloat32Array = input => {
37
64
  'worklet';
38
65
 
@@ -125,7 +152,7 @@ function createBarcodeScannerPlugin(formats) {
125
152
 
126
153
  const orientation = overrides === null || overrides === void 0 ? void 0 : overrides.orientation;
127
154
  const args = overrides || orientation ? mergeArgs(baseOptions, overrides, orientation ?? null) : baseOptions;
128
- const result = plugin.call(unwrapPluginFrame(frame), args);
155
+ const result = plugin.call(unwrapPluginFrame(frame), toSerializableArgs(args));
129
156
  return normalizeBarcodeDetections(result);
130
157
  }
131
158
  };
@@ -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","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":[]}
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","toSerializableValue","value","ArrayBuffer","Array","isArray","map","item","record","output","Object","keys","forEach","key","undefined","toSerializableArgs","args","toFloat32Array","input","Float32Array","normalizeBarcodeDetections","payload","detections","buffer","boxes","detection","index","boxIndex","offset","top","bottom","left","right","width","height","mergeArgs","baseArgs","overrides","orientation","scanRegion","merged","overrideOrientation","overrideScanRegion","formatMap","entries","createBarcodeScannerPlugin","baseOptions","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","scanBarcodes","result","call"],"sourceRoot":"../../src","sources":["scanBarcodes.ts"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,33 @@ const unwrapPluginFrame = frame => {
17
17
  const candidate = frame;
18
18
  return candidate.__frame ?? frame;
19
19
  };
20
+ const toSerializableValue = value => {
21
+ 'worklet';
22
+
23
+ if (value == null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
24
+ return value;
25
+ }
26
+ if (value instanceof ArrayBuffer) {
27
+ return value;
28
+ }
29
+ if (Array.isArray(value)) {
30
+ return value.map(item => toSerializableValue(item));
31
+ }
32
+ if (typeof value === 'object') {
33
+ const record = value;
34
+ const output = {};
35
+ Object.keys(record).forEach(key => {
36
+ output[key] = toSerializableValue(record[key]);
37
+ });
38
+ return output;
39
+ }
40
+ return undefined;
41
+ };
42
+ const toSerializableArgs = args => {
43
+ 'worklet';
44
+
45
+ return toSerializableValue(args);
46
+ };
20
47
  const toFloat32Array = input => {
21
48
  'worklet';
22
49
 
@@ -112,7 +139,7 @@ function createTextRecognitionPlugin(options) {
112
139
 
113
140
  const orientation = overrides === null || overrides === void 0 ? void 0 : overrides.orientation;
114
141
  const args = overrides || orientation ? mergeTextArgs(options, overrides, orientation ?? null) : options;
115
- const result = plugin.call(unwrapPluginFrame(frame), args);
142
+ const result = plugin.call(unwrapPluginFrame(frame), toSerializableArgs(args));
116
143
  return normalizeTextDetections(result);
117
144
  }
118
145
  };
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeVisionCamera","LINKING_ERROR","Platform","select","ios","default","TEXT_BOX_STRIDE","unwrapPluginFrame","frame","candidate","__frame","toSerializableValue","value","ArrayBuffer","Array","isArray","map","item","record","output","Object","keys","forEach","key","undefined","toSerializableArgs","args","toFloat32Array","input","Float32Array","normalizeTextDetections","payload","detections","buffer","boxes","detection","index","boxIndex","offset","length","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","mergeTextArgs","base","overrides","orientation","scanRegion","merged","overrideOrientation","overrideScanRegion","rest","assign","createTextRecognitionPlugin","options","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","scanText","result","call"],"sourceRoot":"../../src","sources":["scanText.ts"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,33 @@ const unwrapPluginFrame = frame => {
27
27
  const candidate = frame;
28
28
  return candidate.__frame ?? frame;
29
29
  };
30
+ const toSerializableValue = value => {
31
+ 'worklet';
32
+
33
+ if (value == null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
34
+ return value;
35
+ }
36
+ if (value instanceof ArrayBuffer) {
37
+ return value;
38
+ }
39
+ if (Array.isArray(value)) {
40
+ return value.map(item => toSerializableValue(item));
41
+ }
42
+ if (typeof value === 'object') {
43
+ const record = value;
44
+ const output = {};
45
+ Object.keys(record).forEach(key => {
46
+ output[key] = toSerializableValue(record[key]);
47
+ });
48
+ return output;
49
+ }
50
+ return undefined;
51
+ };
52
+ const toSerializableArgs = args => {
53
+ 'worklet';
54
+
55
+ return toSerializableValue(args);
56
+ };
30
57
  const toFloat32Array = input => {
31
58
  'worklet';
32
59
 
@@ -119,7 +146,7 @@ export function createBarcodeScannerPlugin(formats) {
119
146
 
120
147
  const orientation = overrides === null || overrides === void 0 ? void 0 : overrides.orientation;
121
148
  const args = overrides || orientation ? mergeArgs(baseOptions, overrides, orientation ?? null) : baseOptions;
122
- const result = plugin.call(unwrapPluginFrame(frame), args);
149
+ const result = plugin.call(unwrapPluginFrame(frame), toSerializableArgs(args));
123
150
  return normalizeBarcodeDetections(result);
124
151
  }
125
152
  };
@@ -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","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":[]}
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","toSerializableValue","value","ArrayBuffer","Array","isArray","map","item","record","output","Object","keys","forEach","key","undefined","toSerializableArgs","args","toFloat32Array","input","Float32Array","normalizeBarcodeDetections","payload","detections","buffer","boxes","detection","index","boxIndex","offset","top","bottom","left","right","width","height","mergeArgs","baseArgs","overrides","orientation","scanRegion","merged","overrideOrientation","overrideScanRegion","formatMap","entries","createBarcodeScannerPlugin","baseOptions","plugin","initFrameProcessorPlugin","Error","scanBarcodes","result","call"],"sourceRoot":"../../src","sources":["scanBarcodes.ts"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,33 @@ const unwrapPluginFrame = frame => {
11
11
  const candidate = frame;
12
12
  return candidate.__frame ?? frame;
13
13
  };
14
+ const toSerializableValue = value => {
15
+ 'worklet';
16
+
17
+ if (value == null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
18
+ return value;
19
+ }
20
+ if (value instanceof ArrayBuffer) {
21
+ return value;
22
+ }
23
+ if (Array.isArray(value)) {
24
+ return value.map(item => toSerializableValue(item));
25
+ }
26
+ if (typeof value === 'object') {
27
+ const record = value;
28
+ const output = {};
29
+ Object.keys(record).forEach(key => {
30
+ output[key] = toSerializableValue(record[key]);
31
+ });
32
+ return output;
33
+ }
34
+ return undefined;
35
+ };
36
+ const toSerializableArgs = args => {
37
+ 'worklet';
38
+
39
+ return toSerializableValue(args);
40
+ };
14
41
  const toFloat32Array = input => {
15
42
  'worklet';
16
43
 
@@ -106,7 +133,7 @@ export function createTextRecognitionPlugin(options) {
106
133
 
107
134
  const orientation = overrides === null || overrides === void 0 ? void 0 : overrides.orientation;
108
135
  const args = overrides || orientation ? mergeTextArgs(options, overrides, orientation ?? null) : options;
109
- const result = plugin.call(unwrapPluginFrame(frame), args);
136
+ const result = plugin.call(unwrapPluginFrame(frame), toSerializableArgs(args));
110
137
  return normalizeTextDetections(result);
111
138
  }
112
139
  };
@@ -1 +1 @@
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
+ {"version":3,"names":["Platform","VisionCameraProxy","LINKING_ERROR","select","ios","default","TEXT_BOX_STRIDE","unwrapPluginFrame","frame","candidate","__frame","toSerializableValue","value","ArrayBuffer","Array","isArray","map","item","record","output","Object","keys","forEach","key","undefined","toSerializableArgs","args","toFloat32Array","input","Float32Array","normalizeTextDetections","payload","detections","buffer","boxes","detection","index","boxIndex","offset","length","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","mergeTextArgs","base","overrides","orientation","scanRegion","merged","overrideOrientation","overrideScanRegion","rest","assign","createTextRecognitionPlugin","options","plugin","initFrameProcessorPlugin","Error","scanText","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;AA2IjB,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,kBAAkB,GAC1B,oBAAoB,CAwBtB"}
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;AAoLjB,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,kBAAkB,GAC1B,oBAAoB,CA2BtB"}
@@ -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;AAiHjB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAyBvB"}
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;AAiKjB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CA4BvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mleonard9/vin-scanner",
3
- "version": "1.4.8",
3
+ "version": "1.5.0",
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",
@@ -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": ">=4.6 <5",
94
- "react-native-worklets-core": ">=1.3.3 <1.6"
93
+ "react-native-vision-camera": ">=4.6",
94
+ "react-native-worklets-core": ">=1.3.3"
95
95
  },
96
96
  "workspaces": [
97
97
  "example"
@@ -171,4 +171,4 @@
171
171
  ]
172
172
  ]
173
173
  }
174
- }
174
+ }
@@ -40,6 +40,15 @@ const KNOWN_FORMATS: BarcodeFormat[] = [
40
40
  ];
41
41
 
42
42
  type NativeBarcodeOptionMap = Partial<Record<BarcodeFormat, boolean>>;
43
+ type SerializableValue =
44
+ | string
45
+ | number
46
+ | boolean
47
+ | null
48
+ | undefined
49
+ | ArrayBuffer
50
+ | SerializableValue[]
51
+ | { [key: string]: SerializableValue };
43
52
 
44
53
  const toNativeBarcodeOptions = (
45
54
  formats?: ScanBarcodeOptions
@@ -64,6 +73,38 @@ const unwrapPluginFrame = (frame: Frame): Frame => {
64
73
  return candidate.__frame ?? frame;
65
74
  };
66
75
 
76
+ const toSerializableValue = (value: unknown): SerializableValue => {
77
+ 'worklet';
78
+ if (
79
+ value == null ||
80
+ typeof value === 'string' ||
81
+ typeof value === 'number' ||
82
+ typeof value === 'boolean'
83
+ ) {
84
+ return value;
85
+ }
86
+ if (value instanceof ArrayBuffer) {
87
+ return value;
88
+ }
89
+ if (Array.isArray(value)) {
90
+ return value.map((item) => toSerializableValue(item));
91
+ }
92
+ if (typeof value === 'object') {
93
+ const record = value as Record<string, unknown>;
94
+ const output: { [key: string]: SerializableValue } = {};
95
+ Object.keys(record).forEach((key) => {
96
+ output[key] = toSerializableValue(record[key]);
97
+ });
98
+ return output;
99
+ }
100
+ return undefined;
101
+ };
102
+
103
+ const toSerializableArgs = (args: BarcodePluginArgs): BarcodePluginArgs => {
104
+ 'worklet';
105
+ return toSerializableValue(args) as BarcodePluginArgs;
106
+ };
107
+
67
108
  const toFloat32Array = (input: unknown): Float32Array | undefined => {
68
109
  'worklet';
69
110
  if (
@@ -173,7 +214,10 @@ export function createBarcodeScannerPlugin(
173
214
  overrides || orientation
174
215
  ? mergeArgs(baseOptions, overrides, orientation ?? null)
175
216
  : baseOptions;
176
- const result = plugin.call(unwrapPluginFrame(frame), args);
217
+ const result = plugin.call(
218
+ unwrapPluginFrame(frame),
219
+ toSerializableArgs(args)
220
+ );
177
221
  return normalizeBarcodeDetections(result);
178
222
  },
179
223
  };
package/src/scanText.ts CHANGED
@@ -12,6 +12,16 @@ import type {
12
12
  TextRecognitionPlugin,
13
13
  } from './types';
14
14
 
15
+ type SerializableValue =
16
+ | string
17
+ | number
18
+ | boolean
19
+ | null
20
+ | undefined
21
+ | ArrayBuffer
22
+ | SerializableValue[]
23
+ | { [key: string]: SerializableValue };
24
+
15
25
  const LINKING_ERROR: string =
16
26
  `The package '@mleonard9/vin-scanner' doesn't seem to be linked. Make sure: \n\n` +
17
27
  Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
@@ -26,6 +36,44 @@ const unwrapPluginFrame = (frame: Frame): Frame => {
26
36
  return candidate.__frame ?? frame;
27
37
  };
28
38
 
39
+ const toSerializableValue = (value: unknown): SerializableValue => {
40
+ 'worklet';
41
+ if (
42
+ value == null ||
43
+ typeof value === 'string' ||
44
+ typeof value === 'number' ||
45
+ typeof value === 'boolean'
46
+ ) {
47
+ return value;
48
+ }
49
+ if (value instanceof ArrayBuffer) {
50
+ return value;
51
+ }
52
+ if (Array.isArray(value)) {
53
+ return value.map((item) => toSerializableValue(item));
54
+ }
55
+ if (typeof value === 'object') {
56
+ const record = value as Record<string, unknown>;
57
+ const output: { [key: string]: SerializableValue } = {};
58
+ Object.keys(record).forEach((key) => {
59
+ output[key] = toSerializableValue(record[key]);
60
+ });
61
+ return output;
62
+ }
63
+ return undefined;
64
+ };
65
+
66
+ const toSerializableArgs = (
67
+ args: TextRecognitionOptions & {
68
+ orientation?: FrameOrientation;
69
+ }
70
+ ) => {
71
+ 'worklet';
72
+ return toSerializableValue(args) as TextRecognitionOptions & {
73
+ orientation?: FrameOrientation;
74
+ };
75
+ };
76
+
29
77
  const toFloat32Array = (input: unknown): Float32Array | undefined => {
30
78
  'worklet';
31
79
  if (
@@ -146,7 +194,10 @@ export function createTextRecognitionPlugin(
146
194
  overrides || orientation
147
195
  ? mergeTextArgs(options, overrides, orientation ?? null)
148
196
  : options;
149
- const result = plugin.call(unwrapPluginFrame(frame), args);
197
+ const result = plugin.call(
198
+ unwrapPluginFrame(frame),
199
+ toSerializableArgs(args)
200
+ );
150
201
  return normalizeTextDetections(result);
151
202
  },
152
203
  };