@lazy-cjk/fullhalf-char-code
Version:
Determines whether the specified character code is full-width or half-width.
1 lines • 2.62 kB
Source Map (JSON)
{"version":3,"file":"index.esm.mjs","sources":["../src/index.ts"],"sourcesContent":["\nexport const enum EnumFullHalfTableType\n{\n\tFULL_WIDTH = 1,\n\tHALF_WIDTH = 0,\n\tNO_EXIST = -1,\n}\n\n/**\n * Determines whether the specified character code is full-width or half-width.\n */\nexport function detectFullHalfCharCode(charCode: number)\n{\n\tif (0x0020 <= charCode && charCode < 0x007F)\n\t{\n\t\treturn EnumFullHalfTableType.HALF_WIDTH;\n\t}\n\n\tif (0x3000 === charCode || 0xFF00 < charCode && charCode < 0xFF5F)\n\t{\n\t\treturn EnumFullHalfTableType.FULL_WIDTH;\n\t}\n\n\treturn EnumFullHalfTableType.NO_EXIST;\n}\n\n/**\n * Determines whether the specified character code is full-width or half-width.\n */\nexport function isFullHalfCharCode(charCode: number)\n{\n\tconst r = detectFullHalfCharCode(charCode);\n\n\tif (r === EnumFullHalfTableType.FULL_WIDTH)\n\t{\n\t\treturn true;\n\t}\n\telse if (r === EnumFullHalfTableType.HALF_WIDTH)\n\t{\n\t\treturn false;\n\t}\n\telse\n\t{\n\t\t// @todo add more...\n\t}\n\n\treturn null;\n}\n\n/**\n * Converts a half-width character code to a full-width character code.\n * @param {number} charCode - The half-width character code to convert.\n * @returns {number} The full-width character code.\n */\nexport function toFullWidthCharCode(charCode: number)\n{\n\tif (0x0020 < charCode && charCode < 0x007F)\n\t{\n\t\treturn 0xFF00 + (charCode - 0x0020);\n\t}\n\n\tif (0x0020 === charCode)\n\t{\n\t\treturn 0x3000;\n\t}\n\n\treturn charCode;\n}\n\n/**\n * Converts a full-width character code to a half-width character code.\n * @param {number} charCode - The full-width character code to convert.\n * @returns {number} The half-width character code.\n */\nexport function toHalfWidthCharCode(charCode: number)\n{\n\tif (0xFF00 < charCode && charCode < 0xFF5F)\n\t{\n\t\treturn 0x0020 + (charCode - 0xFF00);\n\t}\n\n\tif (0x3000 === charCode)\n\t{\n\t\treturn 0x0020;\n\t}\n\n\treturn charCode;\n}\n"],"names":["EnumFullHalfTableType","detectFullHalfCharCode","charCode","isFullHalfCharCode","r","toFullWidthCharCode","toHalfWidthCharCode"],"mappings":"IACkBA;;AAUZ,SAAUC,uBAAuBC;EAEtC,OAAI,UAAUA,KAAYA,IAAW,SAEI,IAGrC,WAAWA,KAAY,SAASA,KAAYA,IAAW,SAElB,KAGH;AACvC;;AAKM,SAAUC,mBAAmBD;EAElC,MAAME,IAAIH,uBAAuBC;EAEjC,OAA0C,MAAtCE,KAI2C,MAAtCA,KASF;AACR;;AAOM,SAAUC,oBAAoBH;EAEnC,OAAI,SAASA,KAAYA,IAAW,SAElBA,IAAW,SAArB,SAGJ,WAAWA,IAEP,SAGDA;AACR;;AAOM,SAAUI,oBAAoBJ;EAEnC,OAAI,SAASA,KAAYA,IAAW,SAElBA,IAAW,SAArB,SAGJ,WAAWA,IAEP,SAGDA;AACR;;CAtFA,SAAkBF;EAEjBA,EAAAA,EAAA,aAAA,KAAA,cACAA,EAAAA,EAAA,aAAA,KAAA,cACAA,EAAAA,EAAA,YAAA,KAAA;AACA,CALD,CAAkBA,MAAAA,IAKjB,CAAA;;"}