-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.js
232 lines (215 loc) · 7.22 KB
/
types.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
/**
* Represents a date extracted from image.
*/
export class Date {
constructor(nativeDate) {
/** day in month */
this.day = nativeDate.day;
/** month in year */
this.month = nativeDate.month;
/** year */
this.year = nativeDate.year;
/** original date string */
this.originalDateStringResult = nativeDate.originalDateStringResult;
/** isFilledByDomainKnowledge */
this.isFilledByDomainKnowledge = nativeDate.isFilledByDomainKnowledge;
}
}
/**
* Represents a point in image
*/
export class Point {
constructor(nativePoint) {
/** x coordinate of the point */
this.x = nativePoint.x;
/** y coordinate of the point */
this.y = nativePoint.y;
}
}
/**
* Represents a quadrilateral location in the image
*/
export class Quadrilateral {
constructor(nativeQuad) {
/** upper left point of the quadrilateral */
this.upperLeft = new Point(nativeQuad.upperLeft);
/** upper right point of the quadrilateral */
this.upperRight = new Point(nativeQuad.upperRight);
/** lower left point of the quadrilateral */
this.lowerLeft = new Point(nativeQuad.lowerLeft);
/** lower right point of the quadrilateral */
this.lowerRight = new Point(nativeQuad.lowerRight);
}
}
/**
* Supported BlinkCard card issuer values.
*/
export const Issuer = Object.freeze(
{
/* Unidentified Card */
Other: 0,
/* The American Express Company Card */
AmericanExpress: 1,
/* China UnionPay Card */
ChinaUnionPay: 2,
/* Diners Club International Card */
Diners: 3,
/* Discover Card */
DiscoverCard: 4,
/* Elo card association */
Elo: 5,
/* The JCB Company Card */
Jcb: 6,
/* Maestro Debit Card */
Maestro: 7,
/* Mastercard Inc. Card */
Mastercard: 8,
/* RuPay */
RuPay: 9,
/* Interswitch Verve Card */
Verve: 10,
/* Visa Inc. Card */
Visa: 11,
/* VPay */
VPay: 12
}
);
/**
* Supported BLinkCard processing status
*/
export const BlinkCardProcessingStatus = Object.freeze(
{
/** Recognition was successful. */
Success: 0,
/** Detection of the document failed. */
DetectionFailed: 1,
/** Preprocessing of the input image has failed. */
ImagePreprocessingFailed: 2,
/** Recognizer has inconsistent results. */
StabilityTestFailed: 3,
/** Wrong side of the document has been scanned. */
ScanningWrongSide: 4,
/** Identification of the fields present on the document has failed. */
FieldIdentificationFailed: 5,
/** Failed to return a requested image. */
ImageReturnFailed: 6,
/** Payment card currently not supported by the recognizer. */
UnsupportedCard: 7
}
);
/**
*Enumerates the possible match levels indicating the strictness of a check result. Higher is stricter.
*/
export const BlinkCardMatchLevel = Object.freeze(
{
/** Match level is disabled */
Disabled: 0,
/** Match level one. */
Level1: 1,
/** Match level two */
Level2: 2,
/** Match level three */
Level3: 3,
/** Match level four */
Level4: 4,
/** Match level five */
Level5: 5,
/** Match level six */
Level6: 6,
/** Match level seven */
Level7: 7,
/** Match level eight */
Level8: 8,
/** Match level nine */
Level9: 9,
/** Match level ten. Most strict match level */
Level10: 10
}
);
/**
* Enumerates the possible results of BlinkCard's document liveness checks.
*/
export const BlinkCardCheckResult = Object.freeze(
{
/** Indicates that the check was not performed. */
NotPerformed: 0,
/** Indicates that the document passed the check successfully. */
Pass: 1,
/** Indicates that the document failed the check. */
Fail: 2,
}
);
/**
* Determines which data is anonymized in the returned recognizer result.
*/
export const BlinkCardAnonymizationMode = Object.freeze(
{
/** No anonymization is performed in this mode. */
None: 0,
/** Sensitive data in the document image is anonymized with black boxes covering selected sensitive data. Data returned in result fields is not changed. */
ImageOnly: 1,
/** Document image is not changed. Data returned in result fields is redacted. */
ResultFieldsOnly: 2,
/** Sensitive data in the image is anonymized with black boxes covering selected sensitive data. Data returned in result fields is redacted. */
FullResult: 3
}
);
/**
* Holds the settings which control card number anonymization.
*/
export class CardNumberAnonymizationSettings {
constructor() {
/** Defines the mode of card number anonymization. */
this.mode = BlinkCardAnonymizationMode.None;
/** Defines how many digits at the beginning of the card number remain visible after anonymization. */
this.prefixDigitsVisible = 0;
/** Defines how many digits at the end of the card number remain visible after anonymization. */
this.suffixDigitsVisible = 0;
}
}
/**
* Holds the settings which control card anonymization.
*/
export class BlinkCardAnonymizationSettings {
constructor() {
/** Defines the parameters of card number anonymization. */
this.cardNumberAnonymizationSettings = new CardNumberAnonymizationSettings();
/** Defines the mode of card number prefix anonymization. */
this.cardNumberPrefixAnonymizationMode = BlinkCardAnonymizationMode.None;
/** Defines the mode of CVV anonymization. */
this.cvvAnonymizationMode = BlinkCardAnonymizationMode.None;
/** Defines the mode of IBAN anonymization. */
this.ibanAnonymizationMode = BlinkCardAnonymizationMode.None;
/** Defines the mode of owner anonymization. */
this.ownerAnonymizationMode = BlinkCardAnonymizationMode.None;
}
}
/**
* Extension factors relative to corresponding dimension of the full image. For example,
* upFactor and downFactor define extensions relative to image height, e.g.
* when upFactor is 0.5, upper image boundary will be extended for half of image's full
* height.
*/
export class ImageExtensionFactors {
constructor() {
/** image extension factor relative to full image height in UP direction. */
this.upFactor = 0.0;
/** image extension factor relative to full image height in RIGHT direction. */
this.rightFactor = 0.0;
/** image extension factor relative to full image height in DOWN direction. */
this.downFactor = 0.0;
/** image extension factor relative to full image height in LEFT direction. */
this.leftFactor = 0.0;
}
};
/** Result of the data matching algorithm for scanned parts/sides of the document. */
export const DataMatchState = Object.freeze(
{
/** Data matching has not been performed. */
NotPerformed : 0,
/** Data does not match. */
Failed : 1,
/** Data match. */
Success : 2
}
);