UNPKG

@xmobitea/gn-typescript-client

Version:

GearN Typescript Client SDK by XmobiTea (Pro)

64 lines (63 loc) 2.35 kB
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)); } } }