react-native-neuroscan 0.1.1 → 0.1.2

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
@@ -57,7 +57,7 @@ Camera permission is declared in the library's `AndroidManifest.xml` and will be
57
57
  ### Scan documents
58
58
 
59
59
  ```tsx
60
- import { NeuroScan } from 'react-native-neuroscan';
60
+ import { NeuroScan, isNeuroScanError } from 'react-native-neuroscan';
61
61
 
62
62
  async function scan() {
63
63
  try {
@@ -68,7 +68,7 @@ async function scan() {
68
68
  console.log(`Scanned ${result.pageCount} pages`);
69
69
  console.log(result.imageUrls); // ['file:///...page1.jpg', ...]
70
70
  } catch (error) {
71
- if (error.code === 'SCANNER_CANCELLED') {
71
+ if (isNeuroScanError(error) && error.code === 'SCANNER_CANCELLED') {
72
72
  // User dismissed the scanner
73
73
  return;
74
74
  }
@@ -1,5 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  import { TurboModuleRegistry } from 'react-native';
4
+
5
+ /**
6
+ * Error codes thrown by NeuroScan methods.
7
+ */
8
+
9
+ /**
10
+ * Typed error thrown by NeuroScan methods.
11
+ */
12
+
13
+ /**
14
+ * Type guard to check if an unknown error is a NeuroScanError.
15
+ */
16
+ export function isNeuroScanError(error) {
17
+ return error instanceof Error && 'code' in error && typeof error.code === 'string';
18
+ }
4
19
  export default TurboModuleRegistry.getEnforcing('Neuroscan');
5
20
  //# sourceMappingURL=NativeNeuroscan.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeNeuroscan.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAkDlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","isNeuroScanError","error","Error","code","getEnforcing"],"sourceRoot":"../../src","sources":["NativeNeuroscan.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;AACA;AACA;;AAQA;AACA;AACA;;AAKA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAAc,EAA2B;EACxE,OACEA,KAAK,YAAYC,KAAK,IACtB,MAAM,IAAID,KAAK,IACf,OAAQA,KAAK,CAAoBE,IAAI,KAAK,QAAQ;AAEtD;AAkDA,eAAeJ,mBAAmB,CAACK,YAAY,CAAO,WAAW,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export { default as NeuroScan } from "./NativeNeuroscan.js";
3
+ export { default as NeuroScan, isNeuroScanError } from "./NativeNeuroscan.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","NeuroScan"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,sBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["default","NeuroScan","isNeuroScanError"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,SAAS,EAAEC,gBAAgB,QAAQ,sBAAmB","ignoreList":[]}
@@ -1,4 +1,18 @@
1
1
  import type { TurboModule } from 'react-native';
2
+ /**
3
+ * Error codes thrown by NeuroScan methods.
4
+ */
5
+ export type NeuroScanErrorCode = 'CAMERA_UNAVAILABLE' | 'SCANNER_CANCELLED' | 'SCANNER_FAILED' | 'PROCESS_FAILED' | 'CLEANUP_FAILED';
6
+ /**
7
+ * Typed error thrown by NeuroScan methods.
8
+ */
9
+ export interface NeuroScanError extends Error {
10
+ code: NeuroScanErrorCode;
11
+ }
12
+ /**
13
+ * Type guard to check if an unknown error is a NeuroScanError.
14
+ */
15
+ export declare function isNeuroScanError(error: unknown): error is NeuroScanError;
2
16
  export interface Spec extends TurboModule {
3
17
  /**
4
18
  * Launch native document scanner UI
@@ -1 +1 @@
1
- {"version":3,"file":"NativeNeuroscan.d.ts","sourceRoot":"","sources":["../../../src/NativeNeuroscan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IAEH;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IAEH;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAGrC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAmE"}
1
+ {"version":3,"file":"NativeNeuroscan.d.ts","sourceRoot":"","sources":["../../../src/NativeNeuroscan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAMxE;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IAEH;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IAEH;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAGrC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAmE"}
@@ -1,3 +1,3 @@
1
- export { default as NeuroScan } from './NativeNeuroscan';
2
- export type { Spec as NeuroScanSpec } from './NativeNeuroscan';
1
+ export { default as NeuroScan, isNeuroScanError } from './NativeNeuroscan';
2
+ export type { Spec as NeuroScanSpec, NeuroScanError, NeuroScanErrorCode, } from './NativeNeuroscan';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,YAAY,EACV,IAAI,IAAI,aAAa,EACrB,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-neuroscan",
3
- "version": "0.1.1",
4
- "description": "Document scanner with edge detection, perspective correction, and advanced color correction via OpenCV",
3
+ "version": "0.1.2",
4
+ "description": "React Native native document scanner with edge detection, perspective correction, and advanced image processing",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
7
7
  "exports": {
@@ -1,6 +1,34 @@
1
1
  import type { TurboModule } from 'react-native';
2
2
  import { TurboModuleRegistry } from 'react-native';
3
3
 
4
+ /**
5
+ * Error codes thrown by NeuroScan methods.
6
+ */
7
+ export type NeuroScanErrorCode =
8
+ | 'CAMERA_UNAVAILABLE'
9
+ | 'SCANNER_CANCELLED'
10
+ | 'SCANNER_FAILED'
11
+ | 'PROCESS_FAILED'
12
+ | 'CLEANUP_FAILED';
13
+
14
+ /**
15
+ * Typed error thrown by NeuroScan methods.
16
+ */
17
+ export interface NeuroScanError extends Error {
18
+ code: NeuroScanErrorCode;
19
+ }
20
+
21
+ /**
22
+ * Type guard to check if an unknown error is a NeuroScanError.
23
+ */
24
+ export function isNeuroScanError(error: unknown): error is NeuroScanError {
25
+ return (
26
+ error instanceof Error &&
27
+ 'code' in error &&
28
+ typeof (error as NeuroScanError).code === 'string'
29
+ );
30
+ }
31
+
4
32
  export interface Spec extends TurboModule {
5
33
  /**
6
34
  * Launch native document scanner UI
package/src/index.tsx CHANGED
@@ -1,2 +1,6 @@
1
- export { default as NeuroScan } from './NativeNeuroscan';
2
- export type { Spec as NeuroScanSpec } from './NativeNeuroscan';
1
+ export { default as NeuroScan, isNeuroScanError } from './NativeNeuroscan';
2
+ export type {
3
+ Spec as NeuroScanSpec,
4
+ NeuroScanError,
5
+ NeuroScanErrorCode,
6
+ } from './NativeNeuroscan';