@biopassid/face-sdk-react-native
Version:
BioPass ID Face React Native module.
342 lines (341 loc) • 8.72 kB
JavaScript
"use strict";
import { FaceCameraLensDirection } from "../config/enums/FaceCameraLensDirection.js";
import { FaceImageFormat } from "../config/enums/FaceImageFormat.js";
import { FaceMaskFormat } from "../config/enums/FaceMaskFormat.js";
import { FaceResolutionPreset } from "../config/enums/FaceResolutionPreset.js";
const defaultConfig = {
licenseKey: '',
resolutionPreset: FaceResolutionPreset.VERYHIGH,
lensDirection: FaceCameraLensDirection.FRONT,
imageFormat: FaceImageFormat.JPEG,
flashEnabled: false,
fontFamily: 'facesdk_opensans_bold',
liveness: {
enabled: false,
debug: false,
timeToCapture: 3000,
maxFaceDetectionTime: 60000,
minFaceProp: 0.1,
maxFaceProp: 0.4,
minFaceWidth: 150,
minFaceHeight: 150,
ied: 90,
bboxPad: 20,
faceDetectionThresh: 0.5,
rollThresh: 4.0,
pitchThresh: 4.0,
yawThresh: 4.0,
closedEyesThresh: 0.7,
smilingThresh: 0.7,
tooDarkThresh: 50,
tooLightThresh: 170,
faceCentralizationThresh: 0.05
},
continuousCapture: {
enabled: false,
timeToCapture: 1000,
maxNumberFrames: 40
},
faceDetection: {
enabled: true,
autoCapture: true,
multipleFacesEnabled: false,
timeToCapture: 3000,
maxFaceDetectionTime: 40000,
scoreThreshold: 0.7
},
mask: {
enabled: true,
type: FaceMaskFormat.FACE,
backgroundColor: '#CC000000',
frameColor: '#FFFFFF',
frameEnabledColor: '#16AC81',
frameErrorColor: '#E25353'
},
titleText: {
enabled: true,
content: 'Capturing Face',
textColor: '#FFFFFF',
textSize: 20
},
loadingText: {
enabled: true,
content: 'Processing...',
textColor: '#FFFFFF',
textSize: 14
},
helpText: {
enabled: true,
content: 'Fit your face into the shape below',
textColor: '#FFFFFF',
textSize: 14
},
feedbackText: {
enabled: true,
messages: {
noDetection: 'No faces detected',
multipleFaces: 'Multiple faces detected',
faceCentered: 'Face centered. Do not move',
tooClose: 'Turn your face away',
tooFar: 'Bring your face closer',
tooLeft: 'Move your face to the right',
tooRight: 'Move your face to the left',
tooUp: 'Move your face down',
tooDown: 'Move your face up',
invalidIED: 'Invalid inter-eye distance',
faceAngleMisaligned: 'Misaligned face angle',
closedEyes: 'Open your eyes',
smiling: 'Do not smile',
tooDark: 'Too dark',
tooLight: 'Too light'
},
textColor: '#FFFFFF',
textSize: 14
},
backButton: {
enabled: true,
backgroundColor: '#00000000',
buttonPadding: 0,
buttonSize: {
width: 56,
height: 56
},
iconOptions: {
enabled: true,
iconFile: 'facesdk_ic_close',
iconColor: '#FFFFFF',
iconSize: {
width: 32,
height: 32
}
},
labelOptions: {
enabled: false,
content: 'Back',
textColor: '#FFFFFF',
textSize: 14
}
},
flashButton: {
enabled: false,
backgroundColor: '#FFFFFF',
buttonPadding: 0,
buttonSize: {
width: 56,
height: 56
},
flashOnIconOptions: {
enabled: true,
iconFile: 'facesdk_ic_flash_on',
iconColor: '#FFCC01',
iconSize: {
width: 32,
height: 32
}
},
flashOnLabelOptions: {
enabled: false,
content: 'Flash On',
textColor: '#323232',
textSize: 14
},
flashOffIconOptions: {
enabled: true,
iconFile: 'facesdk_ic_flash_off',
iconColor: '#323232',
iconSize: {
width: 32,
height: 32
}
},
flashOffLabelOptions: {
enabled: false,
content: 'Flash Off',
textColor: '#323232',
textSize: 14
}
},
switchCameraButton: {
enabled: true,
backgroundColor: '#FFFFFF',
buttonPadding: 0,
buttonSize: {
width: 56,
height: 56
},
iconOptions: {
enabled: true,
iconFile: 'facesdk_ic_switch_camera',
iconColor: '#323232',
iconSize: {
width: 32,
height: 32
}
},
labelOptions: {
enabled: false,
content: 'Switch Camera',
textColor: '#323232',
textSize: 14
}
},
captureButton: {
enabled: true,
backgroundColor: '#FFFFFF',
buttonPadding: 0,
buttonSize: {
width: 56,
height: 56
},
iconOptions: {
enabled: true,
iconFile: 'facesdk_ic_capture',
iconColor: '#323232',
iconSize: {
width: 32,
height: 32
}
},
labelOptions: {
enabled: false,
content: 'Capture',
textColor: '#323232',
textSize: 14
}
}
};
export function mergeConfigs(config) {
return {
...defaultConfig,
...config,
liveness: {
...defaultConfig.liveness,
...config.liveness
},
continuousCapture: {
...defaultConfig.continuousCapture,
...config.continuousCapture
},
faceDetection: {
...defaultConfig.faceDetection,
...config.faceDetection
},
mask: {
...defaultConfig.mask,
...config.mask
},
titleText: {
...defaultConfig.titleText,
...config.titleText
},
loadingText: {
...defaultConfig.loadingText,
...config.loadingText
},
helpText: {
...defaultConfig.helpText,
...config.helpText
},
feedbackText: {
...defaultConfig.feedbackText,
...config.feedbackText,
messages: {
...defaultConfig.feedbackText?.messages,
...config.feedbackText?.messages
}
},
backButton: {
...defaultConfig.backButton,
...config.backButton,
buttonSize: {
...defaultConfig.backButton?.buttonSize,
...config.backButton?.buttonSize
},
iconOptions: {
...defaultConfig.backButton?.iconOptions,
...config.backButton?.iconOptions,
iconSize: {
...defaultConfig.backButton?.iconOptions?.iconSize,
...config.backButton?.iconOptions?.iconSize
}
},
labelOptions: {
...defaultConfig.backButton?.labelOptions,
...config.backButton?.labelOptions
}
},
flashButton: {
...defaultConfig.flashButton,
...config.flashButton,
buttonSize: {
...defaultConfig.flashButton?.buttonSize,
...config.flashButton?.buttonSize
},
flashOnIconOptions: {
...defaultConfig.flashButton?.flashOnIconOptions,
...config.flashButton?.flashOnIconOptions,
iconSize: {
...defaultConfig.flashButton?.flashOnIconOptions?.iconSize,
...config.flashButton?.flashOnIconOptions?.iconSize
}
},
flashOnLabelOptions: {
...defaultConfig.flashButton?.flashOnLabelOptions,
...config.flashButton?.flashOnLabelOptions
},
flashOffIconOptions: {
...defaultConfig.flashButton?.flashOffIconOptions,
...config.flashButton?.flashOffIconOptions,
iconSize: {
...defaultConfig.flashButton?.flashOffIconOptions?.iconSize,
...config.flashButton?.flashOffIconOptions?.iconSize
}
},
flashOffLabelOptions: {
...defaultConfig.flashButton?.flashOffLabelOptions,
...config.flashButton?.flashOffLabelOptions
}
},
switchCameraButton: {
...defaultConfig.switchCameraButton,
...config.switchCameraButton,
buttonSize: {
...defaultConfig.switchCameraButton?.buttonSize,
...config.switchCameraButton?.buttonSize
},
iconOptions: {
...defaultConfig.switchCameraButton?.iconOptions,
...config.switchCameraButton?.iconOptions,
iconSize: {
...defaultConfig.switchCameraButton?.iconOptions?.iconSize,
...config.switchCameraButton?.iconOptions?.iconSize
}
},
labelOptions: {
...defaultConfig.switchCameraButton?.labelOptions,
...config.switchCameraButton?.labelOptions
}
},
captureButton: {
...defaultConfig.captureButton,
...config.captureButton,
buttonSize: {
...defaultConfig.captureButton?.buttonSize,
...config.captureButton?.buttonSize
},
iconOptions: {
...defaultConfig.captureButton?.iconOptions,
...config.captureButton?.iconOptions,
iconSize: {
...defaultConfig.captureButton?.iconOptions?.iconSize,
...config.captureButton?.iconOptions?.iconSize
}
},
labelOptions: {
...defaultConfig.captureButton?.labelOptions,
...config.captureButton?.labelOptions
}
}
};
}
//# sourceMappingURL=Utils.js.map