@xbone-3/cordova-plugin-mlkit-barcodescanner 4.0.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.
@@ -0,0 +1,145 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const barcodeFormat = Object.freeze({
6
+ Code128: 1,
7
+ Code39: 2,
8
+ Code93: 4,
9
+ CodaBar: 8,
10
+ DataMatrix: 16,
11
+ EAN13: 32,
12
+ EAN8: 64,
13
+ ITF: 128,
14
+ QRCode: 256,
15
+ UPCA: 512,
16
+ UPCE: 1024,
17
+ PDF417: 2048,
18
+ Aztec: 4096,
19
+ });
20
+ const barcodeType = Object.freeze({
21
+ CONTACT_INFO: 1,
22
+ EMAIL: 2,
23
+ ISBN: 3,
24
+ PHONE: 4,
25
+ PRODUCT: 5,
26
+ SMS: 6,
27
+ TEXT: 7,
28
+ URL: 8,
29
+ WIFI: 9,
30
+ GEO: 10,
31
+ CALENDAR_EVENT: 11,
32
+ DRIVER_LICENSE: 12,
33
+ });
34
+
35
+ const defaultOptions = Object.freeze({
36
+ barcodeFormats: {
37
+ Code128: true,
38
+ Code39: true,
39
+ Code93: true,
40
+ CodaBar: true,
41
+ DataMatrix: true,
42
+ EAN13: true,
43
+ EAN8: true,
44
+ ITF: true,
45
+ QRCode: true,
46
+ UPCA: true,
47
+ UPCE: true,
48
+ PDF417: true,
49
+ Aztec: true,
50
+ },
51
+ beepOnSuccess: false,
52
+ vibrateOnSuccess: false,
53
+ detectorSize: 0.6,
54
+ rotateCamera: false,
55
+ continuous: false,
56
+ multiple: false,
57
+ drawDetectionBorder: false,
58
+ confirmation: false,
59
+ });
60
+
61
+ function keyByValue(obj, value) {
62
+ const keys = Object.keys(obj);
63
+ const index = keys.map((key) => obj[key]).indexOf(value);
64
+ return keys[index] || String(value);
65
+ }
66
+
67
+ class MLKitBarcodeScanner {
68
+ getBarcodeFormat(format) {
69
+ return keyByValue(barcodeFormat, format);
70
+ }
71
+ getBarcodeType(type) {
72
+ return keyByValue(barcodeType, type);
73
+ }
74
+ getBarcodeFormatFlags(barcodeFormats) {
75
+ let barcodeFormatFlag = 0;
76
+ let key;
77
+ const formats = barcodeFormats || defaultOptions.barcodeFormats;
78
+ // eslint-disable-next-line no-restricted-syntax
79
+ for (key in formats) {
80
+ if (barcodeFormat.hasOwnProperty(key) &&
81
+ formats.hasOwnProperty(key) &&
82
+ formats[key]) {
83
+ barcodeFormatFlag += barcodeFormat[key];
84
+ }
85
+ }
86
+ return barcodeFormatFlag;
87
+ }
88
+ scan(userOptions, success, failure) {
89
+ const barcodeFormats = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.barcodeFormats) || defaultOptions.barcodeFormats;
90
+ const config = {
91
+ ...defaultOptions,
92
+ ...userOptions,
93
+ barcodeFormats: this.getBarcodeFormatFlags(barcodeFormats),
94
+ };
95
+ this.sendScanRequest(config, success, failure);
96
+ }
97
+ sendScanRequest(config, successCallback, failureCallback) {
98
+ cordova.exec((data) => {
99
+ // A single scan can arrive as a flat triple [text, format, type]
100
+ // (iOS / legacy), while multi and continuous scans send an array of
101
+ // such triples. Normalise to an array either way.
102
+ const triples = Array.isArray(data[0])
103
+ ? data
104
+ : [data];
105
+ const results = triples.map(([text, format, type]) => ({
106
+ text,
107
+ format: this.getBarcodeFormat(format),
108
+ type: this.getBarcodeType(type),
109
+ }));
110
+ successCallback(config.multiple ? results : results[0]);
111
+ }, (err) => {
112
+ // Plugin errors arrive as an array ([code, ...]), but Cordova
113
+ // framework errors (e.g. "Class not found") arrive as a plain
114
+ // string. Normalise to the error code/message either way.
115
+ const code = Array.isArray(err) ? err[0] : err;
116
+ switch (code) {
117
+ case null:
118
+ case undefined:
119
+ case 'USER_CANCELLED':
120
+ failureCallback({
121
+ cancelled: true,
122
+ message: 'The scan was cancelled.',
123
+ });
124
+ break;
125
+ case 'SCANNER_OPEN':
126
+ failureCallback({
127
+ cancelled: false,
128
+ message: 'Scanner already open.',
129
+ });
130
+ break;
131
+ default:
132
+ failureCallback({
133
+ cancelled: false,
134
+ message: code || 'Unknown Error',
135
+ });
136
+ break;
137
+ }
138
+ }, 'cordova-plugin-mlkit-barcodescanner', 'startScan', [config]);
139
+ }
140
+ }
141
+ const barcodeScanner = new MLKitBarcodeScanner();
142
+ module.exports = barcodeScanner;
143
+
144
+ exports.MLKitBarcodeScanner = MLKitBarcodeScanner;
145
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFyY29kZVNjYW5uZXIucGx1Z2luLmpzIiwic291cmNlcyI6WyIuLi9zcmMtdHlwZXNjcmlwdC9EZXRlY3Rvci50cyIsIi4uL3NyYy10eXBlc2NyaXB0L09wdGlvbnMudHMiLCIuLi9zcmMtdHlwZXNjcmlwdC91dGlsL09iamVjdC50cyIsIi4uL3NyYy10eXBlc2NyaXB0L0JhcmNvZGVTY2FubmVyLnBsdWdpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYmFyY29kZUZvcm1hdCA9IE9iamVjdC5mcmVlemUoe1xyXG4gIENvZGUxMjg6IDEsXHJcbiAgQ29kZTM5OiAyLFxyXG4gIENvZGU5MzogNCxcclxuICBDb2RhQmFyOiA4LFxyXG4gIERhdGFNYXRyaXg6IDE2LFxyXG4gIEVBTjEzOiAzMixcclxuICBFQU44OiA2NCxcclxuICBJVEY6IDEyOCxcclxuICBRUkNvZGU6IDI1NixcclxuICBVUENBOiA1MTIsXHJcbiAgVVBDRTogMTAyNCxcclxuICBQREY0MTc6IDIwNDgsXHJcbiAgQXp0ZWM6IDQwOTYsXHJcbn0pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGJhcmNvZGVUeXBlID0gT2JqZWN0LmZyZWV6ZSh7XHJcbiAgQ09OVEFDVF9JTkZPOiAxLFxyXG4gIEVNQUlMOiAyLFxyXG4gIElTQk46IDMsXHJcbiAgUEhPTkU6IDQsXHJcbiAgUFJPRFVDVDogNSxcclxuICBTTVM6IDYsXHJcbiAgVEVYVDogNyxcclxuICBVUkw6IDgsXHJcbiAgV0lGSTogOSxcclxuICBHRU86IDEwLFxyXG4gIENBTEVOREFSX0VWRU5UOiAxMSxcclxuICBEUklWRVJfTElDRU5TRTogMTIsXHJcbn0pO1xyXG4iLCJpbXBvcnQgeyBJT3B0aW9ucyB9IGZyb20gJy4vSW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBkZWZhdWx0T3B0aW9uczogUmVxdWlyZWQ8SU9wdGlvbnM+ID0gT2JqZWN0LmZyZWV6ZSh7XHJcbiAgYmFyY29kZUZvcm1hdHM6IHtcclxuICAgIENvZGUxMjg6IHRydWUsXHJcbiAgICBDb2RlMzk6IHRydWUsXHJcbiAgICBDb2RlOTM6IHRydWUsXHJcbiAgICBDb2RhQmFyOiB0cnVlLFxyXG4gICAgRGF0YU1hdHJpeDogdHJ1ZSxcclxuICAgIEVBTjEzOiB0cnVlLFxyXG4gICAgRUFOODogdHJ1ZSxcclxuICAgIElURjogdHJ1ZSxcclxuICAgIFFSQ29kZTogdHJ1ZSxcclxuICAgIFVQQ0E6IHRydWUsXHJcbiAgICBVUENFOiB0cnVlLFxyXG4gICAgUERGNDE3OiB0cnVlLFxyXG4gICAgQXp0ZWM6IHRydWUsXHJcbiAgfSxcclxuICBiZWVwT25TdWNjZXNzOiBmYWxzZSxcclxuICB2aWJyYXRlT25TdWNjZXNzOiBmYWxzZSxcclxuICBkZXRlY3RvclNpemU6IDAuNixcclxuICByb3RhdGVDYW1lcmE6IGZhbHNlLFxyXG4gIGNvbnRpbnVvdXM6IGZhbHNlLFxyXG4gIG11bHRpcGxlOiBmYWxzZSxcclxuICBkcmF3RGV0ZWN0aW9uQm9yZGVyOiBmYWxzZSxcclxuICBjb25maXJtYXRpb246IGZhbHNlLFxyXG59KTtcclxuIiwiZXhwb3J0IGZ1bmN0aW9uIGtleUJ5VmFsdWU8VE9iamVjdD4oXHJcbiAgb2JqOiB7IFtzOiBzdHJpbmddOiBUT2JqZWN0IH0sXHJcbiAgdmFsdWU6IFRPYmplY3QsXHJcbik6IHN0cmluZyB7XHJcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XHJcbiAgY29uc3QgaW5kZXggPSBrZXlzLm1hcCgoa2V5KSA9PiBvYmpba2V5XSkuaW5kZXhPZih2YWx1ZSk7XHJcbiAgcmV0dXJuIGtleXNbaW5kZXhdIHx8IFN0cmluZyh2YWx1ZSk7XHJcbn1cclxuIiwiaW1wb3J0IHsgYmFyY29kZUZvcm1hdCwgYmFyY29kZVR5cGUgfSBmcm9tICcuL0RldGVjdG9yJztcclxuaW1wb3J0IHtcclxuICBJQmFyY29kZUZvcm1hdHMsXHJcbiAgSUNvbmZpZyxcclxuICBJRXJyb3IsXHJcbiAgSU9wdGlvbnMsXHJcbiAgSVJlc3VsdCxcclxufSBmcm9tICcuL0ludGVyZmFjZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi9PcHRpb25zJztcclxuaW1wb3J0IHsga2V5QnlWYWx1ZSB9IGZyb20gJy4vdXRpbC9PYmplY3QnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1MS2l0QmFyY29kZVNjYW5uZXIge1xyXG4gIHByaXZhdGUgZ2V0QmFyY29kZUZvcm1hdChmb3JtYXQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4ga2V5QnlWYWx1ZShiYXJjb2RlRm9ybWF0LCBmb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCYXJjb2RlVHlwZSh0eXBlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGtleUJ5VmFsdWUoYmFyY29kZVR5cGUsIHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCYXJjb2RlRm9ybWF0RmxhZ3MoYmFyY29kZUZvcm1hdHM/OiBJQmFyY29kZUZvcm1hdHMpOiBudW1iZXIge1xyXG4gICAgbGV0IGJhcmNvZGVGb3JtYXRGbGFnID0gMDtcclxuICAgIGxldCBrZXk6IGtleW9mIHR5cGVvZiBiYXJjb2RlRm9ybWF0O1xyXG4gICAgY29uc3QgZm9ybWF0cyA9IGJhcmNvZGVGb3JtYXRzIHx8IGRlZmF1bHRPcHRpb25zLmJhcmNvZGVGb3JtYXRzO1xyXG5cclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxyXG4gICAgZm9yIChrZXkgaW4gZm9ybWF0cykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgYmFyY29kZUZvcm1hdC5oYXNPd25Qcm9wZXJ0eShrZXkpICYmXHJcbiAgICAgICAgZm9ybWF0cy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmXHJcbiAgICAgICAgZm9ybWF0c1trZXldXHJcbiAgICAgICkge1xyXG4gICAgICAgIGJhcmNvZGVGb3JtYXRGbGFnICs9IGJhcmNvZGVGb3JtYXRba2V5XTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGJhcmNvZGVGb3JtYXRGbGFnO1xyXG4gIH1cclxuXHJcbiAgc2NhbihcclxuICAgIHVzZXJPcHRpb25zOiBJT3B0aW9ucyxcclxuICAgIHN1Y2Nlc3M6IChyZXN1bHQ6IElSZXN1bHQgfCBJUmVzdWx0W10pID0+IHVua25vd24sXHJcbiAgICBmYWlsdXJlOiAoZXJyb3I6IElFcnJvcikgPT4gdW5rbm93bixcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGJhcmNvZGVGb3JtYXRzID1cclxuICAgICAgdXNlck9wdGlvbnM/LmJhcmNvZGVGb3JtYXRzIHx8IGRlZmF1bHRPcHRpb25zLmJhcmNvZGVGb3JtYXRzO1xyXG4gICAgY29uc3QgY29uZmlnOiBJQ29uZmlnID0ge1xyXG4gICAgICAuLi5kZWZhdWx0T3B0aW9ucyxcclxuICAgICAgLi4udXNlck9wdGlvbnMsXHJcbiAgICAgIGJhcmNvZGVGb3JtYXRzOiB0aGlzLmdldEJhcmNvZGVGb3JtYXRGbGFncyhiYXJjb2RlRm9ybWF0cyksXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VuZFNjYW5SZXF1ZXN0KGNvbmZpZywgc3VjY2VzcywgZmFpbHVyZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbmRTY2FuUmVxdWVzdChcclxuICAgIGNvbmZpZzogSUNvbmZpZyxcclxuICAgIHN1Y2Nlc3NDYWxsYmFjazogKHJlc3VsdDogSVJlc3VsdCB8IElSZXN1bHRbXSkgPT4gdW5rbm93bixcclxuICAgIGZhaWx1cmVDYWxsYmFjazogKGVycm9yOiBJRXJyb3IpID0+IHVua25vd24sXHJcbiAgKTogdm9pZCB7XHJcbiAgICB0eXBlIFRyaXBsZSA9IFtzdHJpbmcsIG51bWJlciwgbnVtYmVyXTtcclxuICAgIGNvcmRvdmEuZXhlYyhcclxuICAgICAgKGRhdGE6IFRyaXBsZSB8IFRyaXBsZVtdKSA9PiB7XHJcbiAgICAgICAgLy8gQSBzaW5nbGUgc2NhbiBjYW4gYXJyaXZlIGFzIGEgZmxhdCB0cmlwbGUgW3RleHQsIGZvcm1hdCwgdHlwZV1cclxuICAgICAgICAvLyAoaU9TIC8gbGVnYWN5KSwgd2hpbGUgbXVsdGkgYW5kIGNvbnRpbnVvdXMgc2NhbnMgc2VuZCBhbiBhcnJheSBvZlxyXG4gICAgICAgIC8vIHN1Y2ggdHJpcGxlcy4gTm9ybWFsaXNlIHRvIGFuIGFycmF5IGVpdGhlciB3YXkuXHJcbiAgICAgICAgY29uc3QgdHJpcGxlczogVHJpcGxlW10gPSBBcnJheS5pc0FycmF5KGRhdGFbMF0pXHJcbiAgICAgICAgICA/IChkYXRhIGFzIFRyaXBsZVtdKVxyXG4gICAgICAgICAgOiBbZGF0YSBhcyBUcmlwbGVdO1xyXG5cclxuICAgICAgICBjb25zdCByZXN1bHRzOiBJUmVzdWx0W10gPSB0cmlwbGVzLm1hcCgoW3RleHQsIGZvcm1hdCwgdHlwZV0pID0+ICh7XHJcbiAgICAgICAgICB0ZXh0LFxyXG4gICAgICAgICAgZm9ybWF0OiB0aGlzLmdldEJhcmNvZGVGb3JtYXQoZm9ybWF0KSxcclxuICAgICAgICAgIHR5cGU6IHRoaXMuZ2V0QmFyY29kZVR5cGUodHlwZSksXHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICBzdWNjZXNzQ2FsbGJhY2soY29uZmlnLm11bHRpcGxlID8gcmVzdWx0cyA6IHJlc3VsdHNbMF0pO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyOiBzdHJpbmcgfCAoc3RyaW5nIHwgbnVsbClbXSB8IG51bGwpID0+IHtcclxuICAgICAgICAvLyBQbHVnaW4gZXJyb3JzIGFycml2ZSBhcyBhbiBhcnJheSAoW2NvZGUsIC4uLl0pLCBidXQgQ29yZG92YVxyXG4gICAgICAgIC8vIGZyYW1ld29yayBlcnJvcnMgKGUuZy4gXCJDbGFzcyBub3QgZm91bmRcIikgYXJyaXZlIGFzIGEgcGxhaW5cclxuICAgICAgICAvLyBzdHJpbmcuIE5vcm1hbGlzZSB0byB0aGUgZXJyb3IgY29kZS9tZXNzYWdlIGVpdGhlciB3YXkuXHJcbiAgICAgICAgY29uc3QgY29kZSA9IEFycmF5LmlzQXJyYXkoZXJyKSA/IGVyclswXSA6IGVycjtcclxuXHJcbiAgICAgICAgc3dpdGNoIChjb2RlKSB7XHJcbiAgICAgICAgICBjYXNlIG51bGw6XHJcbiAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcclxuICAgICAgICAgIGNhc2UgJ1VTRVJfQ0FOQ0VMTEVEJzpcclxuICAgICAgICAgICAgZmFpbHVyZUNhbGxiYWNrKHtcclxuICAgICAgICAgICAgICBjYW5jZWxsZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZTogJ1RoZSBzY2FuIHdhcyBjYW5jZWxsZWQuJyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnU0NBTk5FUl9PUEVOJzpcclxuICAgICAgICAgICAgZmFpbHVyZUNhbGxiYWNrKHtcclxuICAgICAgICAgICAgICBjYW5jZWxsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2U6ICdTY2FubmVyIGFscmVhZHkgb3Blbi4nLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBmYWlsdXJlQ2FsbGJhY2soe1xyXG4gICAgICAgICAgICAgIGNhbmNlbGxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZTogY29kZSB8fCAnVW5rbm93biBFcnJvcicsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgICdjb3Jkb3ZhLXBsdWdpbi1tbGtpdC1iYXJjb2Rlc2Nhbm5lcicsXHJcbiAgICAgICdzdGFydFNjYW4nLFxyXG4gICAgICBbY29uZmlnXSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBiYXJjb2RlU2Nhbm5lciA9IG5ldyBNTEtpdEJhcmNvZGVTY2FubmVyKCk7XHJcbm1vZHVsZS5leHBvcnRz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
@@ -0,0 +1,29 @@
1
+ export declare const barcodeFormat: Readonly<{
2
+ Code128: number;
3
+ Code39: number;
4
+ Code93: number;
5
+ CodaBar: number;
6
+ DataMatrix: number;
7
+ EAN13: number;
8
+ EAN8: number;
9
+ ITF: number;
10
+ QRCode: number;
11
+ UPCA: number;
12
+ UPCE: number;
13
+ PDF417: number;
14
+ Aztec: number;
15
+ }>;
16
+ export declare const barcodeType: Readonly<{
17
+ CONTACT_INFO: number;
18
+ EMAIL: number;
19
+ ISBN: number;
20
+ PHONE: number;
21
+ PRODUCT: number;
22
+ SMS: number;
23
+ TEXT: number;
24
+ URL: number;
25
+ WIFI: number;
26
+ GEO: number;
27
+ CALENDAR_EVENT: number;
28
+ DRIVER_LICENSE: number;
29
+ }>;
@@ -0,0 +1,65 @@
1
+ export interface IBarcodeFormats {
2
+ Aztec: boolean;
3
+ CodaBar: boolean;
4
+ Code39: boolean;
5
+ Code93: boolean;
6
+ Code128: boolean;
7
+ DataMatrix: boolean;
8
+ EAN8: boolean;
9
+ EAN13: boolean;
10
+ ITF: boolean;
11
+ PDF417: boolean;
12
+ QRCode: boolean;
13
+ UPCA: boolean;
14
+ UPCE: boolean;
15
+ }
16
+ export interface IOptions {
17
+ barcodeFormats?: IBarcodeFormats;
18
+ beepOnSuccess?: boolean;
19
+ vibrateOnSuccess?: boolean;
20
+ detectorSize?: number;
21
+ rotateCamera?: boolean;
22
+ /**
23
+ * Keep the camera open and stream every newly detected barcode back to the
24
+ * success callback (which may be invoked many times). The scanner closes
25
+ * when the user presses back, surfacing a cancelled error. Default: false.
26
+ */
27
+ continuous?: boolean;
28
+ /**
29
+ * Detect every barcode visible in a frame instead of just the first one.
30
+ * When enabled the success callback receives an array of results. Default:
31
+ * false.
32
+ */
33
+ multiple?: boolean;
34
+ /**
35
+ * Draw a border around each barcode as it is detected in the camera
36
+ * preview, tracing the code's corner points. Default: false.
37
+ */
38
+ drawDetectionBorder?: boolean;
39
+ /**
40
+ * Require the user to confirm a detected barcode before it is returned. The
41
+ * preview freezes on the detected frame with a Confirm/Retry prompt. Ignored
42
+ * in continuous mode. Default: false.
43
+ */
44
+ confirmation?: boolean;
45
+ }
46
+ export interface IConfig {
47
+ barcodeFormats: number;
48
+ beepOnSuccess: boolean;
49
+ vibrateOnSuccess: boolean;
50
+ detectorSize: number;
51
+ rotateCamera: boolean;
52
+ continuous: boolean;
53
+ multiple: boolean;
54
+ drawDetectionBorder: boolean;
55
+ confirmation: boolean;
56
+ }
57
+ export interface IResult {
58
+ text: string;
59
+ format: string;
60
+ type: string;
61
+ }
62
+ export interface IError {
63
+ cancelled: boolean;
64
+ message: string;
65
+ }
@@ -0,0 +1,2 @@
1
+ import { IOptions } from './Interface';
2
+ export declare const defaultOptions: Required<IOptions>;
@@ -0,0 +1,3 @@
1
+ export declare function keyByValue<TObject>(obj: {
2
+ [s: string]: TObject;
3
+ }, value: TObject): string;