@mleonard9/vin-scanner 0.2.0 → 0.2.1

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.
@@ -115,9 +115,6 @@ const OCR_SUBSTITUTIONS = {
115
115
  'V': ['U']
116
116
  };
117
117
 
118
- // VIN prefix patterns to detect context
119
- const VIN_PREFIX_PATTERNS = [/(?:^|[\s:])VIN[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])V\.?I\.?N\.?[:\s]+([A-Z0-9]{17,})/i, /Vehicle\s+(?:Identification\s+)?(?:Number|ID|Id)[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])Chassis\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])Serial\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i];
120
-
121
118
  /**
122
119
  * Generate character substitution candidates for OCR error correction
123
120
  * This creates variations of the input by substituting commonly misread characters
@@ -168,13 +165,17 @@ const generateSubstitutionCandidates = (value, maxSubstitutions = 3) => {
168
165
 
169
166
  /**
170
167
  * Extract VINs using context-aware patterns (looking for VIN: prefix, etc.)
168
+ * Note: Regex patterns must be defined inside worklet for proper serialization
171
169
  */
172
170
  const extractWithContext = text => {
173
171
  'worklet';
174
172
 
175
173
  const matches = new Set();
176
174
  const VIN_PATTERN = /^[A-HJ-NPR-Z0-9]{17}$/;
177
- VIN_PREFIX_PATTERNS.forEach(pattern => {
175
+
176
+ // Define patterns inside worklet to ensure they're available in the worklet context
177
+ const patterns = [/(?:^|[\s:])VIN[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])V\.?I\.?N\.?[:\s]+([A-Z0-9]{17,})/i, /Vehicle\s+(?:Identification\s+)?(?:Number|ID|Id)[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])Chassis\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])Serial\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i];
178
+ patterns.forEach(pattern => {
178
179
  const match = pattern.exec(text);
179
180
  if (match && match[1]) {
180
181
  const captured = match[1].replace(/[^A-Z0-9]/gi, '');
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_RESOLVED_OPTIONS","barcode","enabled","formats","text","language","detection","resultMode","preferBarcode","validateChecksum","emitDuplicates","resolveOptions","options","_options$detection","_options$detection2","_options$barcode","_options$barcode2","_options$text","_options$text2","_options$detection3","_options$detection4","length","exports","transliteration","A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z","weights","OCR_SUBSTITUTIONS","VIN_PREFIX_PATTERNS","generateSubstitutionCandidates","value","maxSubstitutions","candidates","Set","positions","i","char","push","positionsToTry","slice","generate","current","posIndex","substitutionCount","add","pos","undefined","replacements","forEach","replacement","newValue","Array","from","extractWithContext","matches","VIN_PATTERN","pattern","match","exec","captured","replace","candidate","toUpperCase","test","tokenizeCandidate","normalized","vin","cleaned","tokens","split","filter","token","hasSubstitutableChars","substitutions","sub","isValidVin","chars","sum","numeric","Number","parseInt","weight","remainder","expected","toString","checkDigit","toBoundingBox","preferred","maybe","top","bottom","left","right","width","height","block","blockBox","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineBox","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementBox","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","calculateBarcodeConfidence","confidence","checksumValid","candidateFromBarcode","values","rawValue","displayValue","boundingBox","map","source","origin","rawPayload","calculateTextConfidence","rawText","hasVinPrefix","Math","min","candidateFromText","valueMap","Map","elementText","order","lineText","blockText","resultText","v","_valueMap$get","has","get","set","entries","_detection$elementTex","_detection$lineText","includes","dedupeCandidates","_candidate$boundingBo","_candidate$boundingBo2","key","join","existing","buildVinCandidates","payload","list","barcodes","textBlocks","textBlock","pickBestCandidate","sorted","sort","a","b"],"sourceRoot":"../../src","sources":["vinUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_RESOLVED_OPTIONS","barcode","enabled","formats","text","language","detection","resultMode","preferBarcode","validateChecksum","emitDuplicates","resolveOptions","options","_options$detection","_options$detection2","_options$barcode","_options$barcode2","_options$text","_options$text2","_options$detection3","_options$detection4","length","exports","transliteration","A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z","weights","OCR_SUBSTITUTIONS","generateSubstitutionCandidates","value","maxSubstitutions","candidates","Set","positions","i","char","push","positionsToTry","slice","generate","current","posIndex","substitutionCount","add","pos","undefined","replacements","forEach","replacement","newValue","Array","from","extractWithContext","matches","VIN_PATTERN","patterns","pattern","match","exec","captured","replace","candidate","toUpperCase","test","tokenizeCandidate","normalized","vin","cleaned","tokens","split","filter","token","hasSubstitutableChars","substitutions","sub","isValidVin","chars","sum","numeric","Number","parseInt","weight","remainder","expected","toString","checkDigit","toBoundingBox","preferred","maybe","top","bottom","left","right","width","height","block","blockBox","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineBox","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementBox","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","calculateBarcodeConfidence","confidence","checksumValid","candidateFromBarcode","values","rawValue","displayValue","boundingBox","map","source","origin","rawPayload","calculateTextConfidence","rawText","hasVinPrefix","Math","min","candidateFromText","valueMap","Map","elementText","order","lineText","blockText","resultText","v","_valueMap$get","has","get","set","entries","_detection$elementTex","_detection$lineText","includes","dedupeCandidates","_candidate$boundingBo","_candidate$boundingBo2","key","join","existing","buildVinCandidates","payload","list","barcodes","textBlocks","textBlock","pickBestCandidate","sorted","sort","a","b"],"sourceRoot":"../../src","sources":["vinUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -108,9 +108,6 @@ const OCR_SUBSTITUTIONS = {
108
108
  'V': ['U']
109
109
  };
110
110
 
111
- // VIN prefix patterns to detect context
112
- const VIN_PREFIX_PATTERNS = [/(?:^|[\s:])VIN[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])V\.?I\.?N\.?[:\s]+([A-Z0-9]{17,})/i, /Vehicle\s+(?:Identification\s+)?(?:Number|ID|Id)[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])Chassis\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])Serial\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i];
113
-
114
111
  /**
115
112
  * Generate character substitution candidates for OCR error correction
116
113
  * This creates variations of the input by substituting commonly misread characters
@@ -161,13 +158,17 @@ const generateSubstitutionCandidates = (value, maxSubstitutions = 3) => {
161
158
 
162
159
  /**
163
160
  * Extract VINs using context-aware patterns (looking for VIN: prefix, etc.)
161
+ * Note: Regex patterns must be defined inside worklet for proper serialization
164
162
  */
165
163
  const extractWithContext = text => {
166
164
  'worklet';
167
165
 
168
166
  const matches = new Set();
169
167
  const VIN_PATTERN = /^[A-HJ-NPR-Z0-9]{17}$/;
170
- VIN_PREFIX_PATTERNS.forEach(pattern => {
168
+
169
+ // Define patterns inside worklet to ensure they're available in the worklet context
170
+ const patterns = [/(?:^|[\s:])VIN[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])V\.?I\.?N\.?[:\s]+([A-Z0-9]{17,})/i, /Vehicle\s+(?:Identification\s+)?(?:Number|ID|Id)[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])Chassis\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i, /(?:^|[\s:])Serial\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i];
171
+ patterns.forEach(pattern => {
171
172
  const match = pattern.exec(text);
172
173
  if (match && match[1]) {
173
174
  const captured = match[1].replace(/[^A-Z0-9]/gi, '');
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_RESOLVED_OPTIONS","barcode","enabled","formats","text","language","detection","resultMode","preferBarcode","validateChecksum","emitDuplicates","resolveOptions","options","_options$detection","_options$detection2","_options$barcode","_options$barcode2","_options$text","_options$text2","_options$detection3","_options$detection4","length","transliteration","A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z","weights","OCR_SUBSTITUTIONS","VIN_PREFIX_PATTERNS","generateSubstitutionCandidates","value","maxSubstitutions","candidates","Set","positions","i","char","push","positionsToTry","slice","generate","current","posIndex","substitutionCount","add","pos","undefined","replacements","forEach","replacement","newValue","Array","from","extractWithContext","matches","VIN_PATTERN","pattern","match","exec","captured","replace","candidate","toUpperCase","test","tokenizeCandidate","normalized","vin","cleaned","tokens","split","filter","token","hasSubstitutableChars","substitutions","sub","isValidVin","chars","sum","numeric","Number","parseInt","weight","remainder","expected","toString","checkDigit","toBoundingBox","preferred","maybe","top","bottom","left","right","width","height","block","blockBox","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineBox","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementBox","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","calculateBarcodeConfidence","confidence","checksumValid","candidateFromBarcode","values","rawValue","displayValue","boundingBox","map","source","origin","rawPayload","calculateTextConfidence","rawText","hasVinPrefix","Math","min","candidateFromText","valueMap","Map","elementText","order","lineText","blockText","resultText","v","_valueMap$get","has","get","set","entries","_detection$elementTex","_detection$lineText","includes","dedupeCandidates","_candidate$boundingBo","_candidate$boundingBo2","key","join","existing","buildVinCandidates","payload","list","barcodes","textBlocks","textBlock","pickBestCandidate","sorted","sort","a","b"],"sourceRoot":"../../src","sources":["vinUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_RESOLVED_OPTIONS","barcode","enabled","formats","text","language","detection","resultMode","preferBarcode","validateChecksum","emitDuplicates","resolveOptions","options","_options$detection","_options$detection2","_options$barcode","_options$barcode2","_options$text","_options$text2","_options$detection3","_options$detection4","length","transliteration","A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z","weights","OCR_SUBSTITUTIONS","generateSubstitutionCandidates","value","maxSubstitutions","candidates","Set","positions","i","char","push","positionsToTry","slice","generate","current","posIndex","substitutionCount","add","pos","undefined","replacements","forEach","replacement","newValue","Array","from","extractWithContext","matches","VIN_PATTERN","patterns","pattern","match","exec","captured","replace","candidate","toUpperCase","test","tokenizeCandidate","normalized","vin","cleaned","tokens","split","filter","token","hasSubstitutableChars","substitutions","sub","isValidVin","chars","sum","numeric","Number","parseInt","weight","remainder","expected","toString","checkDigit","toBoundingBox","preferred","maybe","top","bottom","left","right","width","height","block","blockBox","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineBox","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementBox","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","calculateBarcodeConfidence","confidence","checksumValid","candidateFromBarcode","values","rawValue","displayValue","boundingBox","map","source","origin","rawPayload","calculateTextConfidence","rawText","hasVinPrefix","Math","min","candidateFromText","valueMap","Map","elementText","order","lineText","blockText","resultText","v","_valueMap$get","has","get","set","entries","_detection$elementTex","_detection$lineText","includes","dedupeCandidates","_candidate$boundingBo","_candidate$boundingBo2","key","join","existing","buildVinCandidates","payload","list","barcodes","textBlocks","textBlock","pickBestCandidate","sorted","sort","a","b"],"sourceRoot":"../../src","sources":["vinUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"vinUtils.d.ts","sourceRoot":"","sources":["../../../src/vinUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAElB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,kBAAkB,CAAC;KAC7B,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,uBAAuB,CAAC;KACnC,CAAC;IACF,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG;QAAE,UAAU,EAAE,aAAa,CAAA;KAAE,CAAC;CACvE,CAAC;AAmBF,eAAO,MAAM,cAAc,GACzB,UAAU,iBAAiB,KAC1B,yBAmCF,CAAC;AAmMF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,OA6B1C,CAAC;AAgQF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,cAAc,EACvB,SAAS,yBAAyB,KACjC,YAAY,EAkBd,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,YAAY,EAAE,EAC1B,SAAS,yBAAyB,KACjC,YAAY,GAAG,IAejB,CAAC"}
1
+ {"version":3,"file":"vinUtils.d.ts","sourceRoot":"","sources":["../../../src/vinUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAElB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,kBAAkB,CAAC;KAC7B,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,uBAAuB,CAAC;KACnC,CAAC;IACF,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG;QAAE,UAAU,EAAE,aAAa,CAAA;KAAE,CAAC;CACvE,CAAC;AAmBF,eAAO,MAAM,cAAc,GACzB,UAAU,iBAAiB,KAC1B,yBAmCF,CAAC;AAoMF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,OA6B1C,CAAC;AAgQF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,cAAc,EACvB,SAAS,yBAAyB,KACjC,YAAY,EAkBd,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,YAAY,EAAE,EAC1B,SAAS,yBAAyB,KACjC,YAAY,GAAG,IAejB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mleonard9/vin-scanner",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
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",
package/src/vinUtils.ts CHANGED
@@ -141,15 +141,6 @@ const OCR_SUBSTITUTIONS: Record<string, string[]> = {
141
141
  'V': ['U'],
142
142
  };
143
143
 
144
- // VIN prefix patterns to detect context
145
- const VIN_PREFIX_PATTERNS = [
146
- /(?:^|[\s:])VIN[:\s]+([A-Z0-9]{17,})/i,
147
- /(?:^|[\s:])V\.?I\.?N\.?[:\s]+([A-Z0-9]{17,})/i,
148
- /Vehicle\s+(?:Identification\s+)?(?:Number|ID|Id)[:\s]+([A-Z0-9]{17,})/i,
149
- /(?:^|[\s:])Chassis\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i,
150
- /(?:^|[\s:])Serial\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i,
151
- ];
152
-
153
144
  /**
154
145
  * Generate character substitution candidates for OCR error correction
155
146
  * This creates variations of the input by substituting commonly misread characters
@@ -211,13 +202,23 @@ const generateSubstitutionCandidates = (
211
202
 
212
203
  /**
213
204
  * Extract VINs using context-aware patterns (looking for VIN: prefix, etc.)
205
+ * Note: Regex patterns must be defined inside worklet for proper serialization
214
206
  */
215
207
  const extractWithContext = (text: string): string[] => {
216
208
  'worklet';
217
209
  const matches = new Set<string>();
218
210
  const VIN_PATTERN = /^[A-HJ-NPR-Z0-9]{17}$/;
219
211
 
220
- VIN_PREFIX_PATTERNS.forEach((pattern) => {
212
+ // Define patterns inside worklet to ensure they're available in the worklet context
213
+ const patterns = [
214
+ /(?:^|[\s:])VIN[:\s]+([A-Z0-9]{17,})/i,
215
+ /(?:^|[\s:])V\.?I\.?N\.?[:\s]+([A-Z0-9]{17,})/i,
216
+ /Vehicle\s+(?:Identification\s+)?(?:Number|ID|Id)[:\s]+([A-Z0-9]{17,})/i,
217
+ /(?:^|[\s:])Chassis\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i,
218
+ /(?:^|[\s:])Serial\s+(?:Number|No\.?)[:\s]+([A-Z0-9]{17,})/i,
219
+ ];
220
+
221
+ patterns.forEach((pattern) => {
221
222
  const match = pattern.exec(text);
222
223
  if (match && match[1]) {
223
224
  const captured = match[1].replace(/[^A-Z0-9]/gi, '');