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 +2 -2
- package/lib/module/NativeNeuroscan.js +15 -0
- package/lib/module/NativeNeuroscan.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NativeNeuroscan.d.ts +14 -0
- package/lib/typescript/src/NativeNeuroscan.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/NativeNeuroscan.ts +28 -0
- package/src/index.tsx +6 -2
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;
|
|
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":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -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;
|
|
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.
|
|
4
|
-
"description": "
|
|
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": {
|
package/src/NativeNeuroscan.ts
CHANGED
|
@@ -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 {
|
|
1
|
+
export { default as NeuroScan, isNeuroScanError } from './NativeNeuroscan';
|
|
2
|
+
export type {
|
|
3
|
+
Spec as NeuroScanSpec,
|
|
4
|
+
NeuroScanError,
|
|
5
|
+
NeuroScanErrorCode,
|
|
6
|
+
} from './NativeNeuroscan';
|