@xmobitea/gn-typescript-client
Version:
GearN Typescript Client SDK by XmobiTea (Pro)
64 lines (63 loc) • 2.35 kB
JavaScript
import { RequestRole } from "./../constant/enumType/RequestRole";
import { RequestType } from "./../constant/enumType/RequestType";
import { ReturnCode } from "./../constant/ReturnCode";
class CodeHelperBase {
getCodeName(code) {
return this.codeDict.has(code) ? this.codeDict.get(code) : (CodeHelperBase.unknownCode + " (" + code + ")");
}
constructor(codeDict) {
this.codeDict = codeDict;
}
}
CodeHelperBase.unknownCode = "Unknown";
export class CodeHelper {
static getReturnCodeName(returnCode) {
return CodeHelper.returnCodeHelper.getCodeName(returnCode);
}
static getRequestTypeName(requestType) {
return CodeHelper.requestTypeHelper.getCodeName(requestType);
}
static getRequestRoleName(requestRole) {
return CodeHelper.requestRoleHelper.getCodeName(requestRole);
}
static init() {
this.setReturnCodeDic();
this.setRequestTypeDic();
this.setRequestRoleDic();
}
static setReturnCodeDic() {
this.returnCodeHelper = new CodeHelperBase(new Map());
this.addReturnCodeDic(ReturnCode);
}
static addReturnCodeDic(returnCode) {
let keys = Object.keys(returnCode);
let values = Object.values(returnCode);
for (let i = 0; i < keys.length; i++) {
this.returnCodeHelper.codeDict.set(values[i], keys[i]);
}
}
static setRequestTypeDic() {
this.requestTypeHelper = new CodeHelperBase(new Map());
this.addRequestTypeDic(RequestType);
}
static addRequestTypeDic(requestType) {
let keys = Object.keys(requestType);
let values = Object.values(requestType);
for (let i = 0; i < keys.length; i++) {
let key = keys[i];
this.requestTypeHelper.codeDict.set(values[i], key[0].toLowerCase() + key.slice(1));
}
}
static setRequestRoleDic() {
this.requestRoleHelper = new CodeHelperBase(new Map());
this.addRequestRoleDic(RequestRole);
}
static addRequestRoleDic(requestRole) {
let keys = Object.keys(requestRole);
let values = Object.values(requestRole);
for (let i = 0; i < keys.length; i++) {
let key = keys[i];
this.requestRoleHelper.codeDict.set(values[i], key[0].toLowerCase() + key.slice(1));
}
}
}