{"version":3,"sources":["jsdelivr-header.js","/npm/uyghur-char-utils@2.0.5/src/index.js"],"names":[],"mappings":"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","file":"/npm/uyghur-char-utils@2.0.5/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/uyghur-char-utils@2.0.5/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// +----------------------------------------------------------------------\r\n// | Update: 2020-08-04 00:00\r\n// +----------------------------------------------------------------------\r\n// | Author: Kerindax <1482152356@qq.com>\r\n// +----------------------------------------------------------------------\r\n(function (global, factory) {\r\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n        // typeof define === 'function' && define.amd ? define(factory) :\r\n        (global = global || self, global.UyghurCharUtils = factory());\r\n}(this, function () {\r\n    'use strict';\r\n    function UyghurCharUtils() {\r\n        var BASIC = 0; //基本区形式  A\r\n        var ALONE = 1; //单独形式    A\r\n        var HEAD = 2; //头部形式    A_\r\n        var CENTR = 3; //中部形式   _A_\r\n        var REAR = 4; //后部形式   _A\r\n\r\n        var convertRang = /[\\u0622-\\u064a\\u0675-\\u06d5]+/g; //转换范围；不包含哈语的0x0621字母,问号,双引号和Unicode区域的符号\r\n        var suffixRang = /[^\\u0627\\u062F-\\u0632\\u0648\\u0688-\\u0699\\u06C0-\\u06CB\\u06D5]/g; //分割范围，有后尾的字符表达式\r\n        var extendRang = /[\\ufb50-\\ufdff\\ufe70-\\ufeff]/g; //扩展区范围；FB50-FDFF ->区域A    FE70-FEFF -> 区域B\r\n        var notExtendRang = /[^\\ufb50-\\ufdff\\ufe70-\\ufeff\\s]+(\\s[^\\ufb50-\\ufdff\\ufe70-\\ufeff\\s]+)*/g; //不包含扩展区中部包含空格字符集；FB50-FDFF ->区域A    FE70-FEFF -> 区域B\r\n\r\n        //特助转换区，扩展区反向转换的时候需要替换\r\n        var symbolRang = /[}{><»«)([\\]]/g;\r\n        var symbolList = {\r\n            ')': '(',\r\n            '(': ')',\r\n            ']': '[',\r\n            '[': ']',\r\n            '}': '{',\r\n            '{': '}',\r\n            '>': '<',\r\n            '<': '>',\r\n            '»': '«',\r\n            '«': '»',\r\n        };\r\n\r\n        var fromCharCode = String.fromCharCode\r\n        // 单字母列表\r\n        var charCode = {};\r\n        // 双目字列表，转换扩展区的时候需要替换\r\n        var special = [\r\n            { basic: [0x644, 0x627], extend: [0xfefc], link: [0xfee0, 0xfe8e], },// LA\r\n            { basic: [0x644, 0x627], extend: [0xfefb], link: [0xfedf, 0xfe8e], },//_LA\r\n        ];\r\n        /**\r\n         * 基本码, 单独形式, 头部形式, 中部形式, 后部形式]\r\n         * [  A  ,     A   ,    A_   ,   _A_  ,   _A   ]\r\n         */\r\n        [\r\n            [0x626, 0xfe8b, 0xfe8b, 0xfe8c, 0xfe8c], // 1 --- 00-Hemze\r\n            [0x627, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8e], // 0 --- 01-a   \r\n            [0x6d5, 0xfee9, 0xfee9, 0xfeea, 0xfeea], // 0 --- 02-:e  \r\n            [0x628, 0xfe8f, 0xfe91, 0xfe92, 0xfe90], // 1 --- 03-b   \r\n            [0x67e, 0xfb56, 0xfb58, 0xfb59, 0xfb57], // 1 --- 04-p   \r\n            [0x62a, 0xfe95, 0xfe97, 0xfe98, 0xfe96], // 1 --- 05-t   \r\n            [0x62c, 0xfe9d, 0xfe9f, 0xfea0, 0xfe9e], // 1 --- 06-j   \r\n            [0x686, 0xfb7a, 0xfb7c, 0xfb7d, 0xfb7b], // 1 --- 07-q   \r\n            [0x62e, 0xfea5, 0xfea7, 0xfea8, 0xfea6], // 1 --- 08-h   \r\n            [0x62f, 0xfea9, 0xfea9, 0xfeaa, 0xfeaa], // 0 --- 09-d   \r\n            [0x631, 0xfead, 0xfead, 0xfeae, 0xfeae], // 0 --- 10-r   \r\n            [0x632, 0xfeaf, 0xfeaf, 0xfeb0, 0xfeb0], // 0 --- 11-z   \r\n            [0x698, 0xfb8a, 0xfb8a, 0xfb8b, 0xfb8b], // 0 --- 12-:zh \r\n            [0x633, 0xfeb1, 0xfeb3, 0xfeb4, 0xfeb2], // 1 --- 13-s   \r\n            [0x634, 0xfeb5, 0xfeb7, 0xfeb8, 0xfeb6], // 1 --- 14-x   \r\n            [0x63a, 0xfecd, 0xfecf, 0xfed0, 0xfece], // 1 --- 15-:gh \r\n            [0x641, 0xfed1, 0xfed3, 0xfed4, 0xfed2], // 1 --- 16-f   \r\n            [0x642, 0xfed5, 0xfed7, 0xfed8, 0xfed6], // 1 --- 17-:k  \r\n            [0x643, 0xfed9, 0xfedb, 0xfedc, 0xfeda], // 1 --- 18-k   \r\n            [0x6af, 0xfb92, 0xfb94, 0xfb95, 0xfb93], // 1 --- 19-g   \r\n            [0x6ad, 0xfbd3, 0xfbd5, 0xfbd6, 0xfbd4], // 1 --- 20-:ng \r\n            [0x644, 0xfedd, 0xfedf, 0xfee0, 0xfede], // 1 --- 21-l   \r\n            [0x645, 0xfee1, 0xfee3, 0xfee4, 0xfee2], // 1 --- 22-m   \r\n            [0x646, 0xfee5, 0xfee7, 0xfee8, 0xfee6], // 1 --- 23-n   \r\n            [0x6be, 0xfbaa, 0xfbac, 0xfbad, 0xfbab], // 1 --- 24-:h  \r\n            [0x648, 0xfeed, 0xfeed, 0xfeee, 0xfeee], // 0 --- 25-o   \r\n            [0x6c7, 0xfbd7, 0xfbd7, 0xfbd8, 0xfbd8], // 0 --- 26-u   \r\n            [0x6c6, 0xfbd9, 0xfbd9, 0xfbda, 0xfbda], // 0 --- 27-:o  \r\n            [0x6c8, 0xfbdb, 0xfbdb, 0xfbdc, 0xfbdc], // 0 --- 28-v   \r\n            [0x6cb, 0xfbde, 0xfbde, 0xfbdf, 0xfbdf], // 0 --- 29-w   \r\n            [0x6d0, 0xfbe4, 0xfbe6, 0xfbe7, 0xfbe5], // 1 --- 30-e   \r\n            [0x649, 0xfeef, 0xfbe8, 0xfbe9, 0xfef0], // 1 --- 31-i   \r\n            [0x64a, 0xfef1, 0xfef3, 0xfef4, 0xfef2], // 1 --- 32-y \r\n\r\n            [0x6c5, 0xfbe0, 0xfbe0, 0xfbe1, 0xfbe1], // 0 --- kz o_\r\n            [0x6c9, 0xfbe2, 0xfbe2, 0xfbe3, 0xfbe3], // 0 --- kz o^\r\n            [0x62d, 0xfea1, 0xfea3, 0xfea4, 0xfea2], // 1 --- kz h\r\n            [0x639, 0xfec9, 0xfecb, 0xfecc, 0xfeca], // 1 --- kz c\r\n        ].forEach(function (row) {\r\n            row.map(function (item) {\r\n                return fromCharCode(item)\r\n            }).forEach(function (item, index, list) {\r\n                return charCode[item] = list;\r\n            })\r\n        });\r\n        /**\r\n        * 基本区->转换->扩展区\r\n        * @param source 要转换的内容，可以包含混合字符串\r\n        * @return 已转换的内容\r\n        */\r\n        this.Basic2Extend = function (source) {\r\n            return source.replace(convertRang, function (word) {\r\n                var returns = word\r\n                    .replace(suffixRang, function (ch) {\r\n                        return ch + '  ';\r\n                    })\r\n                    .trim()\r\n                    .replace(/(?<=^|\\S)(\\S)(?=$|\\S)/g, function (ch, $1) {\r\n                        return getChar($1, ALONE);\r\n                    })\r\n                    .replace(/(?<=\\S|^)(\\S)\\s/g, function (ch, $1) {\r\n                        return getChar($1, HEAD);\r\n                    })\r\n                    .replace(/\\s(\\S)\\s/g, function (ch, $1) {\r\n                        return getChar($1, CENTR);\r\n                    })\r\n                    .replace(/\\s(\\S)(?=\\S|$)/g, function (ch, $1) {\r\n                        return getChar($1, REAR);\r\n                    })\r\n                return extendLa(returns);\r\n            });\r\n        };\r\n        /**\r\n         * 扩展区   转换   基本区\r\n         * @param source 要转换的内容\r\n         * @return 已转换的内容\r\n         */\r\n        this.Extend2Basic = function (source) {\r\n            return basicLa(source).replace(extendRang, function (ch) {\r\n                return getChar(ch, BASIC)\r\n            });\r\n        };\r\n        /**\r\n         * 基本区  转换   反向扩展区\r\n         * @param source 要转换的内容\r\n         * @return 已转换的内容\r\n         */\r\n        this.Basic2RExtend = function (source) {\r\n            return this.reverseAscii(this.reverseSubject(this.Basic2Extend(source)));\r\n        };\r\n        /**\r\n         * 反顺序扩展区   转换   基本区\r\n         * @param source 要转换的内容\r\n         * @return 已转换的内容\r\n         */\r\n        this.RExtend2Basic = function (source) {\r\n            return this.Extend2Basic(this.reverseSubject(this.reverseAscii(source)));\r\n        };\r\n        /**\r\n         * Ascii区反转\r\n         */\r\n        this.reverseAscii = function (source) {\r\n            return source.replace(notExtendRang, function (word) {\r\n                return word.split(\"\").reverse().join(\"\")\r\n                    .replace(symbolRang, function (ch) {\r\n                        return symbolList[ch] || ch;\r\n                    });\r\n            });\r\n        };\r\n        /**\r\n         * 对象反转\r\n         */\r\n        this.reverseSubject = function (str) {\r\n            return str.replace(/.+/g, function (subject) {\r\n                return subject.split(\"\").reverse().join(\"\");\r\n            });\r\n        };\r\n        /**\r\n         * 获取对应字母\r\n         */\r\n        var getChar = function (ch, index) {\r\n            var item = charCode[ch];\r\n            return item ? item[index] : ch;\r\n        };\r\n        /**\r\n         * La字母转换扩展区\r\n         */\r\n        var extendLa = function (source) {\r\n            special.forEach(function (item) {\r\n                source = source.replace(getString(item.link), getString(item.extend));\r\n            });\r\n            return source;\r\n        };\r\n        /**\r\n         * La字母转换基本区\r\n         */\r\n        var basicLa = function (source) {\r\n            special.forEach(function (item) {\r\n                source = source.replace(getString(item.extend), getString(item.basic));\r\n            });\r\n            return source;\r\n        };\r\n        /**\r\n         * 双目字母转换字符串\r\n         */\r\n        var getString = function (value) {\r\n            return value.map(function (el) {\r\n                return fromCharCode(el)\r\n            }).join('')\r\n        }\r\n    }\r\n    return UyghurCharUtils;\r\n}));\r\n"]}