Skip to content

Commit f98e08d

Browse files
committed
feat: allow retrieval of last processed image
1 parent 98c2ebc commit f98e08d

File tree

14 files changed

+656
-585
lines changed

14 files changed

+656
-585
lines changed

packages/mlkit-barcode-scanning/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@nativescript/mlkit-barcode-scanning",
3-
"version": "1.0.0-alpha.5",
3+
"version": "1.0.0-alpha.6",
44
"description": "NativeScript MLKit Barcode Scanner module",
55
"main": "index",
66
"typings": "index.d.ts",

packages/mlkit-core/common.ts

+78-85
Original file line numberDiff line numberDiff line change
@@ -1,157 +1,150 @@
1-
import { booleanConverter, ContainerView, CSSType, Property } from '@nativescript/core';
1+
import { booleanConverter, ContainerView, CSSType, ImageSource, Property } from '@nativescript/core';
22

33
export enum DetectionType {
4-
Barcode = "barcode",
5-
DigitalInk = "digitalInk",
6-
Face = "face",
7-
Image = "image",
8-
Object = "object",
9-
Pose = "pose",
10-
Text = "text",
11-
All = "all",
12-
Selfie = "selfie",
13-
None = "none"
4+
Barcode = 'barcode',
5+
DigitalInk = 'digitalInk',
6+
Face = 'face',
7+
Image = 'image',
8+
Object = 'object',
9+
Pose = 'pose',
10+
Text = 'text',
11+
All = 'all',
12+
Selfie = 'selfie',
13+
None = 'none',
1414
}
1515

1616
export enum CameraPosition {
17-
FRONT = 'front',
18-
BACK = 'back'
17+
FRONT = 'front',
18+
BACK = 'back',
1919
}
2020

21-
2221
export enum BarcodeFormats {
23-
ALL = 'all',
24-
CODE_128 = 'code_128',
25-
CODE_39 = 'code_39',
26-
CODE_93 = 'code_93',
27-
CODABAR = 'codabar',
28-
DATA_MATRIX = 'data_matrix',
29-
EAN_13 = 'ean_13',
30-
EAN_8 = 'ean_8',
31-
ITF = 'itf',
32-
QR_CODE = 'qr_code',
33-
UPC_A = 'upc_a',
34-
UPC_E = 'upc_e',
35-
PDF417 = 'pdf417',
36-
AZTEC = 'aztec',
37-
UNKOWN = 'unknown'
22+
ALL = 'all',
23+
CODE_128 = 'code_128',
24+
CODE_39 = 'code_39',
25+
CODE_93 = 'code_93',
26+
CODABAR = 'codabar',
27+
DATA_MATRIX = 'data_matrix',
28+
EAN_13 = 'ean_13',
29+
EAN_8 = 'ean_8',
30+
ITF = 'itf',
31+
QR_CODE = 'qr_code',
32+
UPC_A = 'upc_a',
33+
UPC_E = 'upc_e',
34+
PDF417 = 'pdf417',
35+
AZTEC = 'aztec',
36+
UNKOWN = 'unknown',
3837
}
3938

40-
4139
export enum FaceDetectionPerformanceMode {
42-
Fast = 'fast',
43-
Accurate = 'accurate'
40+
Fast = 'fast',
41+
Accurate = 'accurate',
4442
}
4543

4644
@CSSType('MLKitView')
4745
export class MLKitViewBase extends ContainerView {
48-
static detectionEvent = 'detection';
49-
cameraPosition: CameraPosition;
50-
detectionType: DetectionType;
51-
barcodeFormats: BarcodeFormats[];
52-
faceDetectionPerformanceMode: FaceDetectionPerformanceMode;
53-
faceDetectionTrackingEnabled: boolean;
54-
faceDetectionMinFaceSize: number;
55-
imageLabelerConfidenceThreshold: number;
56-
objectDetectionMultiple: boolean;
57-
objectDetectionClassify: boolean;
58-
torchOn: boolean;
59-
pause: boolean;
60-
processEveryNthFrame: number;
46+
static detectionEvent = 'detection';
47+
cameraPosition: CameraPosition;
48+
detectionType: DetectionType;
49+
barcodeFormats: BarcodeFormats[];
50+
faceDetectionPerformanceMode: FaceDetectionPerformanceMode;
51+
faceDetectionTrackingEnabled: boolean;
52+
faceDetectionMinFaceSize: number;
53+
imageLabelerConfidenceThreshold: number;
54+
objectDetectionMultiple: boolean;
55+
objectDetectionClassify: boolean;
56+
torchOn: boolean;
57+
pause: boolean;
58+
processEveryNthFrame: number;
59+
readonly latestImage?: ImageSource;
60+
retrieveLatestImage: boolean;
6161
}
6262

6363
export const cameraPositionProperty = new Property<MLKitViewBase, CameraPosition>({
64-
name: 'cameraPosition',
65-
defaultValue: CameraPosition.BACK
64+
name: 'cameraPosition',
65+
defaultValue: CameraPosition.BACK,
6666
});
6767

6868
cameraPositionProperty.register(MLKitViewBase);
6969

7070
export const detectionTypeProperty = new Property<MLKitViewBase, DetectionType>({
71-
name: 'detectionType',
72-
defaultValue: DetectionType.None
71+
name: 'detectionType',
72+
defaultValue: DetectionType.None,
7373
});
7474

7575
detectionTypeProperty.register(MLKitViewBase);
7676

7777
export const barcodeFormatsProperty = new Property<MLKitViewBase, BarcodeFormats[]>({
78-
name: 'barcodeFormats',
79-
defaultValue: [BarcodeFormats.ALL]
80-
})
78+
name: 'barcodeFormats',
79+
defaultValue: [BarcodeFormats.ALL],
80+
});
8181

8282
barcodeFormatsProperty.register(MLKitViewBase);
8383

84-
8584
export const faceDetectionPerformanceModeProperty = new Property<MLKitViewBase, FaceDetectionPerformanceMode>({
86-
name: 'faceDetectionPerformanceMode',
87-
defaultValue: FaceDetectionPerformanceMode.Fast
88-
})
85+
name: 'faceDetectionPerformanceMode',
86+
defaultValue: FaceDetectionPerformanceMode.Fast,
87+
});
8988

9089
faceDetectionPerformanceModeProperty.register(MLKitViewBase);
9190

92-
9391
export const faceDetectionTrackingEnabledProperty = new Property<MLKitViewBase, boolean>({
94-
name: 'faceDetectionTrackingEnabled',
95-
defaultValue: false,
96-
valueConverter: booleanConverter
92+
name: 'faceDetectionTrackingEnabled',
93+
defaultValue: false,
94+
valueConverter: booleanConverter,
9795
});
9896

9997
faceDetectionTrackingEnabledProperty.register(MLKitViewBase);
10098

101-
10299
export const faceDetectionMinFaceSizeProperty = new Property<MLKitViewBase, number>({
103-
name: 'faceDetectionMinFaceSize',
104-
defaultValue: 0.1
105-
})
100+
name: 'faceDetectionMinFaceSize',
101+
defaultValue: 0.1,
102+
});
106103

107104
faceDetectionMinFaceSizeProperty.register(MLKitViewBase);
108105

109-
110106
export const imageLabelerConfidenceThresholdProperty = new Property<MLKitViewBase, number>({
111-
name: 'imageLabelerConfidenceThreshold',
112-
defaultValue: 0.5
107+
name: 'imageLabelerConfidenceThreshold',
108+
defaultValue: 0.5,
113109
});
114110

115111
imageLabelerConfidenceThresholdProperty.register(MLKitViewBase);
116112

117113
export const objectDetectionMultipleProperty = new Property<MLKitViewBase, boolean>({
118-
name: 'objectDetectionMultiple',
119-
defaultValue: false,
120-
valueConverter: booleanConverter
114+
name: 'objectDetectionMultiple',
115+
defaultValue: false,
116+
valueConverter: booleanConverter,
121117
});
122118

123119
objectDetectionMultipleProperty.register(MLKitViewBase);
124120

125-
126121
export const objectDetectionClassifyProperty = new Property<MLKitViewBase, boolean>({
127-
name: 'objectDetectionClassify',
128-
defaultValue: false,
129-
valueConverter: booleanConverter
122+
name: 'objectDetectionClassify',
123+
defaultValue: false,
124+
valueConverter: booleanConverter,
130125
});
131126

132127
objectDetectionClassifyProperty.register(MLKitViewBase);
133128

134-
135129
export const torchOnProperty = new Property<MLKitViewBase, boolean>({
136-
name: 'torchOn',
137-
defaultValue: false,
138-
valueConverter: booleanConverter
130+
name: 'torchOn',
131+
defaultValue: false,
132+
valueConverter: booleanConverter,
139133
});
140134

141135
torchOnProperty.register(MLKitViewBase);
142136

143-
144137
export const pauseProperty = new Property<MLKitViewBase, boolean>({
145-
name: 'pause',
146-
defaultValue: false,
147-
valueConverter: booleanConverter
138+
name: 'pause',
139+
defaultValue: false,
140+
valueConverter: booleanConverter,
148141
});
149142

150143
pauseProperty.register(MLKitViewBase);
151144

152145
export const processEveryNthFrameProperty = new Property<MLKitViewBase, number>({
153-
name: 'processEveryNthFrame',
154-
defaultValue: 0
146+
name: 'processEveryNthFrame',
147+
defaultValue: 0,
155148
});
156149

157-
processEveryNthFrameProperty.register(MLKitViewBase);
150+
processEveryNthFrameProperty.register(MLKitViewBase);

0 commit comments

Comments
 (0)