123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- /**
- * @param {boolean} fatal If true, decoding errors raise an exception.
- * @param {number=} opt_code_point Override the standard fallback code point.
- * @return {number} The code point to insert on a decoding error.
- */
- function decoderError(fatal, opt_code_point) {
- if (opt_code_point === void 0) { opt_code_point = undefined; }
- if (fatal)
- throw TypeError("Decoder error");
- return opt_code_point || 0xfffd;
- }
- exports.decoderError = decoderError;
- /**
- * @param {number} code_point The code point that could not be encoded.
- * @return {number} Always throws, no value is actually returned.
- */
- function encoderError(code_point) {
- throw TypeError("The code point " + code_point + " could not be encoded.");
- }
- exports.encoderError = encoderError;
- // 5.2 Names and labels
- // TODO: Define @typedef for Encoding: {name:string,labels:Array.<string>}
- // https://github.com/google/closure-compiler/issues/247
- /**
- * @param {string} label The encoding label.
- * @return {?{name:string,labels:Array.<string>}}
- */
- function getEncoding(label) {
- // 1. Remove any leading and trailing ASCII whitespace from label.
- var keyLabel = String(label).trim().toLowerCase();
- // 2. If label is an ASCII case-insensitive match for any of the
- // labels listed in the table below, return the corresponding
- // encoding, and failure otherwise.
- if (keyLabel in label_to_encoding) {
- return label_to_encoding[keyLabel];
- }
- return null;
- }
- exports.getEncoding = getEncoding;
- /**
- * Encodings table: https://encoding.spec.whatwg.org/encodings.json
- * @const
- * @type {!Array.<{
- * heading: string,
- * encodings: Array.<{name:string,labels:Array.<string>}>
- * }>}
- */
- var encodings = [
- {
- encodings: [
- {
- labels: ["unicode-1-1-utf-8", "utf-8", "utf8"],
- name: "UTF-8",
- },
- ],
- heading: "The Encoding",
- },
- {
- encodings: [
- {
- labels: ["866", "cp866", "csibm866", "ibm866"],
- name: "IBM866",
- },
- {
- labels: [
- "csisolatin2",
- "iso-8859-2",
- "iso-ir-101",
- "iso8859-2",
- "iso88592",
- "iso_8859-2",
- "iso_8859-2:1987",
- "l2",
- "latin2",
- ],
- name: "ISO-8859-2",
- },
- {
- labels: [
- "csisolatin3",
- "iso-8859-3",
- "iso-ir-109",
- "iso8859-3",
- "iso88593",
- "iso_8859-3",
- "iso_8859-3:1988",
- "l3",
- "latin3",
- ],
- name: "ISO-8859-3",
- },
- {
- labels: [
- "csisolatin4",
- "iso-8859-4",
- "iso-ir-110",
- "iso8859-4",
- "iso88594",
- "iso_8859-4",
- "iso_8859-4:1988",
- "l4",
- "latin4",
- ],
- name: "ISO-8859-4",
- },
- {
- labels: [
- "csisolatincyrillic",
- "cyrillic",
- "iso-8859-5",
- "iso-ir-144",
- "iso8859-5",
- "iso88595",
- "iso_8859-5",
- "iso_8859-5:1988",
- ],
- name: "ISO-8859-5",
- },
- {
- labels: [
- "arabic",
- "asmo-708",
- "csiso88596e",
- "csiso88596i",
- "csisolatinarabic",
- "ecma-114",
- "iso-8859-6",
- "iso-8859-6-e",
- "iso-8859-6-i",
- "iso-ir-127",
- "iso8859-6",
- "iso88596",
- "iso_8859-6",
- "iso_8859-6:1987",
- ],
- name: "ISO-8859-6",
- },
- {
- labels: [
- "csisolatingreek",
- "ecma-118",
- "elot_928",
- "greek",
- "greek8",
- "iso-8859-7",
- "iso-ir-126",
- "iso8859-7",
- "iso88597",
- "iso_8859-7",
- "iso_8859-7:1987",
- "sun_eu_greek",
- ],
- name: "ISO-8859-7",
- },
- {
- labels: [
- "csiso88598e",
- "csisolatinhebrew",
- "hebrew",
- "iso-8859-8",
- "iso-8859-8-e",
- "iso-ir-138",
- "iso8859-8",
- "iso88598",
- "iso_8859-8",
- "iso_8859-8:1988",
- "visual",
- ],
- name: "ISO-8859-8",
- },
- {
- labels: ["csiso88598i", "iso-8859-8-i", "logical"],
- name: "ISO-8859-8-I",
- },
- {
- labels: [
- "csisolatin6",
- "iso-8859-10",
- "iso-ir-157",
- "iso8859-10",
- "iso885910",
- "l6",
- "latin6",
- ],
- name: "ISO-8859-10",
- },
- {
- labels: ["iso-8859-13", "iso8859-13", "iso885913"],
- name: "ISO-8859-13",
- },
- {
- labels: ["iso-8859-14", "iso8859-14", "iso885914"],
- name: "ISO-8859-14",
- },
- {
- labels: [
- "csisolatin9",
- "iso-8859-15",
- "iso8859-15",
- "iso885915",
- "iso_8859-15",
- "l9",
- ],
- name: "ISO-8859-15",
- },
- {
- labels: ["iso-8859-16"],
- name: "ISO-8859-16",
- },
- {
- labels: ["cskoi8r", "koi", "koi8", "koi8-r", "koi8_r"],
- name: "KOI8-R",
- },
- {
- labels: ["koi8-ru", "koi8-u"],
- name: "KOI8-U",
- },
- {
- labels: ["csmacintosh", "mac", "macintosh", "x-mac-roman"],
- name: "macintosh",
- },
- {
- labels: [
- "dos-874",
- "iso-8859-11",
- "iso8859-11",
- "iso885911",
- "tis-620",
- "windows-874",
- ],
- name: "windows-874",
- },
- {
- labels: ["cp1250", "windows-1250", "x-cp1250"],
- name: "windows-1250",
- },
- {
- labels: ["cp1251", "windows-1251", "x-cp1251"],
- name: "windows-1251",
- },
- {
- labels: [
- "ansi_x3.4-1968",
- "cp1252",
- "cp819",
- "ibm819",
- "iso-ir-100",
- "windows-1252",
- "x-cp1252",
- ],
- name: "windows-1252",
- },
- {
- labels: [
- "ascii",
- "us-ascii",
- "iso-8859-1",
- "iso8859-1",
- "iso88591",
- "iso_8859-1",
- "iso_8859-1:1987",
- "l1",
- "latin1",
- "csisolatin1",
- ],
- name: "iso-8859-1",
- },
- {
- labels: ["cp1253", "windows-1253", "x-cp1253"],
- name: "windows-1253",
- },
- {
- labels: [
- "cp1254",
- "csisolatin5",
- "iso-8859-9",
- "iso-ir-148",
- "iso8859-9",
- "iso88599",
- "iso_8859-9",
- "iso_8859-9:1989",
- "l5",
- "latin5",
- "windows-1254",
- "x-cp1254",
- ],
- name: "windows-1254",
- },
- {
- labels: ["cp1255", "windows-1255", "x-cp1255"],
- name: "windows-1255",
- },
- {
- labels: ["cp1256", "windows-1256", "x-cp1256"],
- name: "windows-1256",
- },
- {
- labels: ["cp1257", "windows-1257", "x-cp1257"],
- name: "windows-1257",
- },
- {
- labels: ["cp1258", "windows-1258", "x-cp1258"],
- name: "windows-1258",
- },
- {
- labels: ["x-mac-cyrillic", "x-mac-ukrainian"],
- name: "x-mac-cyrillic",
- },
- ],
- heading: "Legacy single-byte encodings",
- },
- {
- encodings: [
- {
- labels: [
- "chinese",
- "csgb2312",
- "csiso58gb231280",
- "gb2312",
- "gb_2312",
- "gb_2312-80",
- "gbk",
- "iso-ir-58",
- "x-gbk",
- ],
- name: "GBK",
- },
- {
- labels: ["gb18030"],
- name: "gb18030",
- },
- ],
- heading: "Legacy multi-byte Chinese (simplified) encodings",
- },
- {
- encodings: [
- {
- labels: ["big5", "big5-hkscs", "cn-big5", "csbig5", "x-x-big5"],
- name: "Big5",
- },
- ],
- heading: "Legacy multi-byte Chinese (traditional) encodings",
- },
- {
- encodings: [
- {
- labels: ["cseucpkdfmtjapanese", "euc-jp", "x-euc-jp"],
- name: "EUC-JP",
- },
- {
- labels: ["csiso2022jp", "iso-2022-jp"],
- name: "ISO-2022-JP",
- },
- {
- labels: [
- "csshiftjis",
- "ms932",
- "ms_kanji",
- "shift-jis",
- "shift_jis",
- "sjis",
- "windows-31j",
- "x-sjis",
- ],
- name: "Shift_JIS",
- },
- ],
- heading: "Legacy multi-byte Japanese encodings",
- },
- {
- encodings: [
- {
- labels: [
- "cseuckr",
- "csksc56011987",
- "euc-kr",
- "iso-ir-149",
- "korean",
- "ks_c_5601-1987",
- "ks_c_5601-1989",
- "ksc5601",
- "ksc_5601",
- "windows-949",
- ],
- name: "EUC-KR",
- },
- ],
- heading: "Legacy multi-byte Korean encodings",
- },
- {
- encodings: [
- {
- labels: [
- "csiso2022kr",
- "hz-gb-2312",
- "iso-2022-cn",
- "iso-2022-cn-ext",
- "iso-2022-kr",
- ],
- name: "replacement",
- },
- {
- labels: ["utf-16be"],
- name: "UTF-16BE",
- },
- {
- labels: ["utf-16", "utf-16le"],
- name: "UTF-16LE",
- },
- {
- labels: ["x-user-defined"],
- name: "x-user-defined",
- },
- ],
- heading: "Legacy miscellaneous encodings",
- },
- ];
- exports.encodings = encodings;
- // Label to encoding registry.
- /** @type {Object.<string,{name:string,labels:Array.<string>}>} */
- var label_to_encoding = {};
- encodings.forEach(function (category) {
- category.encodings.forEach(function (encoding) {
- encoding.labels.forEach(function (label) {
- label_to_encoding[label] = encoding;
- });
- });
- });
- //# sourceMappingURL=encodings.js.map
|