react-native-esc-pos-printer
Version:
102 lines (85 loc) • 4 kB
text/typescript
import { Platform } from 'react-native';
import { remapConstants } from '../core/utils';
import { EscPosPrinterDiscovery } from '../specs';
export const DEFAULT_DISCOVERY_TIMEOUT = Platform.OS === 'ios' ? 5000 : 10000;
const DiscoveryModuleConstants = EscPosPrinterDiscovery.getConstants();
export enum DiscoveryDeviceType {
TYPE_ALL = DiscoveryModuleConstants.TYPE_ALL,
TYPE_PRINTER = DiscoveryModuleConstants.TYPE_PRINTER,
TYPE_HYBRID_PRINTER = DiscoveryModuleConstants.TYPE_HYBRID_PRINTER,
TYPE_DISPLAY = DiscoveryModuleConstants.TYPE_DISPLAY,
TYPE_KEYBOARD = DiscoveryModuleConstants.TYPE_KEYBOARD,
TYPE_SCANNER = DiscoveryModuleConstants.TYPE_SCANNER,
TYPE_SERIAL = DiscoveryModuleConstants.TYPE_SERIAL,
TYPE_POS_KEYBOARD = DiscoveryModuleConstants.TYPE_POS_KEYBOARD,
TYPE_MSR = DiscoveryModuleConstants.TYPE_MSR,
TYPE_GFE = DiscoveryModuleConstants.TYPE_GFE,
TYPE_OTHER_PERIPHERAL = DiscoveryModuleConstants.TYPE_OTHER_PERIPHERAL,
}
export enum DiscoveryFilterType { // Android only
FILTER_NAME = DiscoveryModuleConstants.FILTER_NAME,
FILTER_NONE = DiscoveryModuleConstants.FILTER_NONE,
}
export enum DiscoveryPortType {
PORTTYPE_ALL = DiscoveryModuleConstants.PORTTYPE_ALL,
PORTTYPE_TCP = DiscoveryModuleConstants.PORTTYPE_TCP,
PORTTYPE_BLUETOOTH = DiscoveryModuleConstants.PORTTYPE_BLUETOOTH,
PORTTYPE_USB = DiscoveryModuleConstants.PORTTYPE_USB,
PORTTYPE_BLUETOOTH_LE = DiscoveryModuleConstants.PORTTYPE_BLUETOOTH_LE, // iOS only
}
export enum DiscoveryDeviceModel {
MODEL_ALL = DiscoveryModuleConstants.MODEL_ALL,
}
export enum DiscoveryBooleanParams { // Android only
TRUE = DiscoveryModuleConstants.PRINTER_TRUE,
FALSE = DiscoveryModuleConstants.PRINTER_FALSE,
}
export enum PrinterPairBluetoothError {
BT_ERR_PARAM = DiscoveryModuleConstants.BT_ERR_PARAM,
BT_ERR_UNSUPPORTED = DiscoveryModuleConstants.BT_ERR_UNSUPPORTED,
BT_ERR_CANCEL = DiscoveryModuleConstants.BT_ERR_CANCEL,
BT_ERR_ILLEGAL_DEVICE = DiscoveryModuleConstants.BT_ERR_ILLEGAL_DEVICE,
ERR_FAILURE = DiscoveryModuleConstants.ERR_FAILURE,
}
export const DiscoveryFilterOption = {
...DiscoveryDeviceType,
...DiscoveryFilterType,
...DiscoveryPortType,
...DiscoveryDeviceModel,
...DiscoveryBooleanParams,
} as const;
export enum DiscoveryErrorResult {
ERR_PARAM = DiscoveryModuleConstants.ERR_PARAM,
ERR_ILLEGAL = DiscoveryModuleConstants.ERR_ILLEGAL,
ERR_MEMORY = DiscoveryModuleConstants.ERR_MEMORY,
ERR_FAILURE = DiscoveryModuleConstants.ERR_FAILURE,
ERR_PROCESSING = DiscoveryModuleConstants.ERR_PROCESSING,
PERMISSION_ERROR = -2,
}
export const DiscoveryErrorMessageMapping = {
[ ]: 'An invalid parameter was passed.',
[ ]:
'Tried to start search when search had been already done.' +
(Platform.OS === 'android'
? '\nBluetooth is OFF\nThere is no permission for the position information'
: ''),
[ ]:
'Memory necessary for processing could not be allo- cated.',
[ ]: 'An unknown error occurred.',
[ ]: 'Could not run the process.',
[ ]: 'Permission error',
};
export const PrinterPairBluetoothErrorMessageMapping = {
[ ]: 'Pairing connection was canceled.',
[ ]: 'An invalid parameter was passed.',
[ ]:
'The function was executed on an unsupported OS.',
[ ]:
'An invalid device was selected.',
[ ]: 'An unknown error occurred.',
};
export const DiscoveryErrorStatusMapping = remapConstants(DiscoveryErrorResult);
export const PrinterPairBluetoothErrorStatusMapping = remapConstants(
PrinterPairBluetoothError
);
export const DiscoveryDeviceTypeMapping = remapConstants(DiscoveryDeviceType);