@mleonard9/vin-scanner 1.4.9 → 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/lib/commonjs/scanBarcodes.js +28 -1
- package/lib/commonjs/scanBarcodes.js.map +1 -1
- package/lib/commonjs/scanText.js +28 -1
- package/lib/commonjs/scanText.js.map +1 -1
- package/lib/module/scanBarcodes.js +28 -1
- package/lib/module/scanBarcodes.js.map +1 -1
- package/lib/module/scanText.js +28 -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 +2 -2
- package/src/scanBarcodes.ts +45 -1
- package/src/scanText.ts +52 -1
|
@@ -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","
|
|
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":[]}
|
package/lib/commonjs/scanText.js
CHANGED
|
@@ -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","
|
|
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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAuBA,MAAME,aAAqB,GACzB,iFAAiF,GACjFC,qBAAQ,CAACC,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,mBAAmB,GAAIC,KAAc,IAAwB;EACjE,SAAS;;EACT,IACEA,KAAK,IAAI,IAAI,IACb,OAAOA,KAAK,KAAK,QAAQ,IACzB,OAAOA,KAAK,KAAK,QAAQ,IACzB,OAAOA,KAAK,KAAK,SAAS,EAC1B;IACA,OAAOA,KAAK;EACd;EACA,IAAIA,KAAK,YAAYC,WAAW,EAAE;IAChC,OAAOD,KAAK;EACd;EACA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACI,GAAG,CAAEC,IAAI,IAAKN,mBAAmB,CAACM,IAAI,CAAC,CAAC;EACvD;EACA,IAAI,OAAOL,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAMM,MAAM,GAAGN,KAAgC;IAC/C,MAAMO,MAA4C,GAAG,CAAC,CAAC;IACvDC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC,CAACI,OAAO,CAAEC,GAAG,IAAK;MACnCJ,MAAM,CAACI,GAAG,CAAC,GAAGZ,mBAAmB,CAACO,MAAM,CAACK,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,OAAOJ,MAAM;EACf;EACA,OAAOK,SAAS;AAClB,CAAC;AAED,MAAMC,kBAAkB,GACtBC,IAEC,IACE;EACH,SAAS;;EACT,OAAOf,mBAAmB,CAACe,IAAI,CAAC;AAGlC,CAAC;AAED,MAAMC,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,OAAOJ,SAAS;IAClB;EACF;EACA,OAAOA,SAAS;AAClB,CAAC;AAED,MAAMM,uBAAuB,GAAIC,OAAgB,IAAsB;EACrE,SAAS;;EACT,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,EAAE;EACX;EACA,IAAIjB,KAAK,CAACC,OAAO,CAACgB,OAAO,CAAC,EAAE;IAC1B,OAAOA,OAAO;EAChB;EACA,MAAMb,MAAM,GAAGa,OAGd;EACD,MAAMC,UAAU,GAAGlB,KAAK,CAACC,OAAO,CAACG,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,UAAU,CAAC,GAAGd,MAAM,CAACc,UAAU,GAAG,EAAE;EAC7E,MAAMC,MAAM,GAAGN,cAAc,CAACT,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEgB,KAAK,CAAC;EAC5C,OAAOF,UAAU,CAAChB,GAAG,CAAC,CAACmB,SAAS,EAAEC,KAAK,KAAK;IAC1C,MAAMjB,MAAqB,GAAG;MAAE,GAAGgB;IAAU,CAAC;IAC9C,MAAME,QAAQ,GACZ,QAAOF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEE,QAAQ,MAAK,QAAQ,GAAGF,SAAS,CAACE,QAAQ,GAAGD,KAAK;IACtE,IAAIH,MAAM,IAAII,QAAQ,IAAI,CAAC,EAAE;MAC3B,MAAMC,MAAM,GAAGD,QAAQ,GAAG/B,eAAe;MACzC,IAAIgC,MAAM,GAAGhC,eAAe,IAAI2B,MAAM,CAACM,MAAM,EAAE;QAC7CpB,MAAM,CAACqB,aAAa,GAAGP,MAAM,CAACK,MAAM,CAAC;QACrCnB,MAAM,CAACsB,gBAAgB,GAAGR,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QAC5CnB,MAAM,CAACuB,cAAc,GAAGT,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QAC1CnB,MAAM,CAACwB,eAAe,GAAGV,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QAC3CnB,MAAM,CAACyB,YAAY,GAAGX,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QACxCnB,MAAM,CAAC0B,eAAe,GAAGZ,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QAC3CnB,MAAM,CAAC2B,aAAa,GAAGb,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QACzCnB,MAAM,CAAC4B,cAAc,GAAGd,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QAC1CnB,MAAM,CAAC6B,eAAe,GAAGf,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QAC3CnB,MAAM,CAAC8B,kBAAkB,GAAGhB,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;QAC9CnB,MAAM,CAAC+B,gBAAgB,GAAGjB,MAAM,CAACK,MAAM,GAAG,EAAE,CAAC;QAC7CnB,MAAM,CAACgC,iBAAiB,GAAGlB,MAAM,CAACK,MAAM,GAAG,EAAE,CAAC;MAChD;IACF;IACA,OAAOnB,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAMiC,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;IACblC,MAAM,CAACyC,MAAM,CAACJ,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;AAEM,SAASK,2BAA2BA,CACzCC,OAA+B,EACR;EACvB,MAAMC,MAAwC,GAC5CC,0CAAiB,CAACC,wBAAwB,CAAC,gBAAgB,EAAE;IAC3D,GAAGH;EACL,CAAC,CAAC;EACJ,IAAI,CAACC,MAAM,EAAE;IACX,MAAM,IAAIG,KAAK,CAAClE,aAAa,CAAC;EAChC;EACA,OAAO;IACLmE,QAAQ,EAAEA,CACR5D,KAAY,EACZ8C,SAEC,KACmB;MACpB,SAAS;;MACT,MAAMC,WAAW,GAAGD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEC,WAAW;MAC1C,MAAM7B,IAAI,GACR4B,SAAS,IAAIC,WAAW,GACpBH,aAAa,CAACW,OAAO,EAAET,SAAS,EAAEC,WAAW,IAAI,IAAI,CAAC,GACtDQ,OAAO;MACb,MAAMM,MAAM,GAAGL,MAAM,CAACM,IAAI,CACxB/D,iBAAiB,CAACC,KAAK,CAAC,EACxBiB,kBAAkB,CAACC,IAAI,CACzB,CAAC;MACD,OAAOI,uBAAuB,CAACuC,MAAM,CAAC;IACxC;EACF,CAAC;AACH","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","
|
|
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":[]}
|
package/lib/module/scanText.js
CHANGED
|
@@ -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","
|
|
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;
|
|
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;
|
|
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.
|
|
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",
|
|
@@ -171,4 +171,4 @@
|
|
|
171
171
|
]
|
|
172
172
|
]
|
|
173
173
|
}
|
|
174
|
-
}
|
|
174
|
+
}
|
package/src/scanBarcodes.ts
CHANGED
|
@@ -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(
|
|
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(
|
|
197
|
+
const result = plugin.call(
|
|
198
|
+
unwrapPluginFrame(frame),
|
|
199
|
+
toSerializableArgs(args)
|
|
200
|
+
);
|
|
150
201
|
return normalizeTextDetections(result);
|
|
151
202
|
},
|
|
152
203
|
};
|