UNPKG

@lazy-cjk/fullhalf-char-code

Version:

Determines whether the specified character code is full-width or half-width.

1 lines 3.56 kB
{"version":3,"file":"index.cjs.development.cjs","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":";;;;AACkBA,uCAKjB;AALD,CAAA,UAAkBA,qBAAqB,EAAA;EAEtCA,qBAAA,CAAAA,qBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;EACdA,qBAAA,CAAAA,qBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;EACdA,qBAAA,CAAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,UAAa,CAAA;AACd,CAAC,EALiBA,6BAAqB,KAArBA,6BAAqB,GAKtC,EAAA,CAAA,CAAA,CAAA;AAKK,SAAUC,sBAAsBA,CAACC,QAAgB,EAAA;AAEtD,EAAA,IAAI,MAAM,IAAIA,QAAQ,IAAIA,QAAQ,GAAG,MAAM,EAC3C;AACC,IAAA,OAAwC,CAAA,wCAAA;AACzC,GAAA;;EAEA,IAAI,MAAM,KAAKA,QAAQ,IAAI,MAAM,GAAGA,QAAQ,IAAIA,QAAQ,GAAG,MAAM,EACjE;AACC,IAAA,OAAwC,CAAA,wCAAA;AACzC,GAAA;;EAEA,OAAsC,CAAA,CAAA,sCAAA;AACvC,CAAA;;AAKM,SAAUC,kBAAkBA,CAACD,QAAgB,EAAA;AAElD,EAAA,MAAME,CAAC,GAAGH,sBAAsB,CAACC,QAAQ,CAAC,CAAA;AAE1C,EAAA,IAAIE,CAAC,KAAqC,CAAA,yCAC1C;AACC,IAAA,OAAO,IAAI,CAAA;AACZ,GAAC,MACI,IAAIA,CAAC,KAAqC,CAAA,yCAC/C;AACC,IAAA,OAAO,KAAK,CAAA;AACb,GAAC,MAED,CAEA;AAEA,EAAA,OAAO,IAAI,CAAA;AACZ,CAAA;AAEA;;;;AAIG;AACG,SAAUC,mBAAmBA,CAACH,QAAgB,EAAA;AAEnD,EAAA,IAAI,MAAM,GAAGA,QAAQ,IAAIA,QAAQ,GAAG,MAAM,EAC1C;AACC,IAAA,OAAO,MAAM,IAAIA,QAAQ,GAAG,MAAM,CAAC,CAAA;AACpC,GAAA;EAEA,IAAI,MAAM,KAAKA,QAAQ,EACvB;AACC,IAAA,OAAO,MAAM,CAAA;AACd,GAAA;AAEA,EAAA,OAAOA,QAAQ,CAAA;AAChB,CAAA;AAEA;;;;AAIG;AACG,SAAUI,mBAAmBA,CAACJ,QAAgB,EAAA;AAEnD,EAAA,IAAI,MAAM,GAAGA,QAAQ,IAAIA,QAAQ,GAAG,MAAM,EAC1C;AACC,IAAA,OAAO,MAAM,IAAIA,QAAQ,GAAG,MAAM,CAAC,CAAA;AACpC,GAAA;EAEA,IAAI,MAAM,KAAKA,QAAQ,EACvB;AACC,IAAA,OAAO,MAAM,CAAA;AACd,GAAA;AAEA,EAAA,OAAOA,QAAQ,CAAA;AAChB;;;;;;;"}