@atxp/server 0.2.21 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +8 -0
  2. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/dist/_virtual/bom-handling.js +4 -0
  4. package/dist/_virtual/bom-handling.js.map +1 -0
  5. package/dist/_virtual/dbcs-codec.js +4 -0
  6. package/dist/_virtual/dbcs-codec.js.map +1 -0
  7. package/dist/_virtual/index.js +8 -0
  8. package/dist/_virtual/index.js.map +1 -0
  9. package/dist/_virtual/index2.js +4 -0
  10. package/dist/_virtual/index2.js.map +1 -0
  11. package/dist/_virtual/index3.js +4 -0
  12. package/dist/_virtual/index3.js.map +1 -0
  13. package/dist/_virtual/index4.js +4 -0
  14. package/dist/_virtual/index4.js.map +1 -0
  15. package/dist/_virtual/index5.js +4 -0
  16. package/dist/_virtual/index5.js.map +1 -0
  17. package/dist/_virtual/inherits.js +4 -0
  18. package/dist/_virtual/inherits.js.map +1 -0
  19. package/dist/_virtual/inherits_browser.js +4 -0
  20. package/dist/_virtual/inherits_browser.js.map +1 -0
  21. package/dist/_virtual/sbcs-codec.js +4 -0
  22. package/dist/_virtual/sbcs-codec.js.map +1 -0
  23. package/dist/_virtual/utf16.js +4 -0
  24. package/dist/_virtual/utf16.js.map +1 -0
  25. package/dist/_virtual/utf32.js +4 -0
  26. package/dist/_virtual/utf32.js.map +1 -0
  27. package/dist/_virtual/utf7.js +4 -0
  28. package/dist/_virtual/utf7.js.map +1 -0
  29. package/dist/atxpContext.js +9 -6
  30. package/dist/atxpContext.js.map +1 -1
  31. package/dist/atxpServer.js +19 -27
  32. package/dist/atxpServer.js.map +1 -1
  33. package/dist/core/mcp.js +39 -0
  34. package/dist/core/mcp.js.map +1 -0
  35. package/dist/{oAuthChallenge.js → core/oauth.js} +21 -12
  36. package/dist/core/oauth.js.map +1 -0
  37. package/dist/{token.js → core/token.js} +13 -7
  38. package/dist/core/token.js.map +1 -0
  39. package/dist/getResource.js +5 -3
  40. package/dist/getResource.js.map +1 -1
  41. package/dist/index.cjs +13727 -0
  42. package/dist/index.cjs.map +1 -0
  43. package/dist/index.d.ts +141 -5
  44. package/dist/index.js +13708 -5
  45. package/dist/index.js.map +1 -1
  46. package/dist/{http.js → node/http.js} +21 -20
  47. package/dist/node/http.js.map +1 -0
  48. package/dist/node/oauth.js +23 -0
  49. package/dist/node/oauth.js.map +1 -0
  50. package/dist/node/token.js +15 -0
  51. package/dist/node/token.js.map +1 -0
  52. package/dist/node_modules/bytes/index.js +181 -0
  53. package/dist/node_modules/bytes/index.js.map +1 -0
  54. package/dist/node_modules/depd/index.js +551 -0
  55. package/dist/node_modules/depd/index.js.map +1 -0
  56. package/dist/node_modules/http-errors/index.js +307 -0
  57. package/dist/node_modules/http-errors/index.js.map +1 -0
  58. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +599 -0
  59. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js.map +1 -0
  60. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +207 -0
  61. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js.map +1 -0
  62. package/dist/node_modules/iconv-lite/encodings/index.js +45 -0
  63. package/dist/node_modules/iconv-lite/encodings/index.js.map +1 -0
  64. package/dist/node_modules/iconv-lite/encodings/internal.js +211 -0
  65. package/dist/node_modules/iconv-lite/encodings/internal.js.map +1 -0
  66. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +84 -0
  67. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js.map +1 -0
  68. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +461 -0
  69. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js.map +1 -0
  70. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +188 -0
  71. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js.map +1 -0
  72. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json.js +507 -0
  73. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json.js.map +1 -0
  74. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json.js +2622 -0
  75. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json.js.map +1 -0
  76. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json.js +2381 -0
  77. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json.js.map +1 -0
  78. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json.js +730 -0
  79. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json.js.map +1 -0
  80. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json.js +823 -0
  81. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json.js.map +1 -0
  82. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js +425 -0
  83. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js.map +1 -0
  84. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json.js +265 -0
  85. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json.js.map +1 -0
  86. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json.js +549 -0
  87. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json.js.map +1 -0
  88. package/dist/node_modules/iconv-lite/encodings/utf16.js +207 -0
  89. package/dist/node_modules/iconv-lite/encodings/utf16.js.map +1 -0
  90. package/dist/node_modules/iconv-lite/encodings/utf32.js +330 -0
  91. package/dist/node_modules/iconv-lite/encodings/utf32.js.map +1 -0
  92. package/dist/node_modules/iconv-lite/encodings/utf7.js +298 -0
  93. package/dist/node_modules/iconv-lite/encodings/utf7.js.map +1 -0
  94. package/dist/node_modules/iconv-lite/lib/bom-handling.js +62 -0
  95. package/dist/node_modules/iconv-lite/lib/bom-handling.js.map +1 -0
  96. package/dist/node_modules/iconv-lite/lib/index.js +193 -0
  97. package/dist/node_modules/iconv-lite/lib/index.js.map +1 -0
  98. package/dist/node_modules/iconv-lite/lib/streams.js +121 -0
  99. package/dist/node_modules/iconv-lite/lib/streams.js.map +1 -0
  100. package/dist/node_modules/inherits/inherits.js +22 -0
  101. package/dist/node_modules/inherits/inherits.js.map +1 -0
  102. package/dist/node_modules/inherits/inherits_browser.js +39 -0
  103. package/dist/node_modules/inherits/inherits_browser.js.map +1 -0
  104. package/dist/node_modules/raw-body/index.js +352 -0
  105. package/dist/node_modules/raw-body/index.js.map +1 -0
  106. package/dist/node_modules/safer-buffer/safer.js +89 -0
  107. package/dist/node_modules/safer-buffer/safer.js.map +1 -0
  108. package/dist/node_modules/setprototypeof/index.js +27 -0
  109. package/dist/node_modules/setprototypeof/index.js.map +1 -0
  110. package/dist/node_modules/statuses/codes.json.js +68 -0
  111. package/dist/node_modules/statuses/codes.json.js.map +1 -0
  112. package/dist/node_modules/statuses/index.js +158 -0
  113. package/dist/node_modules/statuses/index.js.map +1 -0
  114. package/dist/node_modules/toidentifier/index.js +42 -0
  115. package/dist/node_modules/toidentifier/index.js.map +1 -0
  116. package/dist/node_modules/unpipe/index.js +79 -0
  117. package/dist/node_modules/unpipe/index.js.map +1 -0
  118. package/dist/oAuthMetadata.js +7 -4
  119. package/dist/oAuthMetadata.js.map +1 -1
  120. package/dist/paymentServer.js +5 -20
  121. package/dist/paymentServer.js.map +1 -1
  122. package/dist/protectedResourceMetadata.js +7 -4
  123. package/dist/protectedResourceMetadata.js.map +1 -1
  124. package/dist/requirePayment.js +7 -4
  125. package/dist/requirePayment.js.map +1 -1
  126. package/dist/types.js +4 -2
  127. package/dist/types.js.map +1 -1
  128. package/dist/webapi/mcp.js +25 -0
  129. package/dist/webapi/mcp.js.map +1 -0
  130. package/dist/webapi/oauth.js +21 -0
  131. package/dist/webapi/oauth.js.map +1 -0
  132. package/dist/webapi/token.js +15 -0
  133. package/dist/webapi/token.js.map +1 -0
  134. package/package.json +21 -7
  135. package/dist/atxpContext.d.ts +0 -6
  136. package/dist/atxpContext.d.ts.map +0 -1
  137. package/dist/atxpServer.d.ts +0 -12
  138. package/dist/atxpServer.d.ts.map +0 -1
  139. package/dist/getResource.d.ts +0 -4
  140. package/dist/getResource.d.ts.map +0 -1
  141. package/dist/http.d.ts +0 -7
  142. package/dist/http.d.ts.map +0 -1
  143. package/dist/http.js.map +0 -1
  144. package/dist/index.d.ts.map +0 -1
  145. package/dist/oAuthChallenge.d.ts +0 -4
  146. package/dist/oAuthChallenge.d.ts.map +0 -1
  147. package/dist/oAuthChallenge.js.map +0 -1
  148. package/dist/oAuthMetadata.d.ts +0 -6
  149. package/dist/oAuthMetadata.d.ts.map +0 -1
  150. package/dist/paymentServer.d.ts +0 -62
  151. package/dist/paymentServer.d.ts.map +0 -1
  152. package/dist/protectedResourceMetadata.d.ts +0 -5
  153. package/dist/protectedResourceMetadata.d.ts.map +0 -1
  154. package/dist/requirePayment.d.ts +0 -3
  155. package/dist/requirePayment.d.ts.map +0 -1
  156. package/dist/serverTestHelpers.d.ts +0 -55
  157. package/dist/serverTestHelpers.d.ts.map +0 -1
  158. package/dist/serverTestHelpers.js +0 -88
  159. package/dist/serverTestHelpers.js.map +0 -1
  160. package/dist/token.d.ts +0 -4
  161. package/dist/token.d.ts.map +0 -1
  162. package/dist/token.js.map +0 -1
  163. package/dist/types.d.ts +0 -60
  164. package/dist/types.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbcs-codec.js","sources":["../../../../../../node_modules/iconv-lite/encodings/dbcs-codec.js"],"sourcesContent":["\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// Multibyte codec. In this scheme, a character is represented by 1 or more bytes.\n// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences.\n// To save memory and loading time, we read table files only when requested.\n\nexports._dbcs = DBCSCodec;\n\nvar UNASSIGNED = -1,\n GB18030_CODE = -2,\n SEQ_START = -10,\n NODE_START = -1000,\n UNASSIGNED_NODE = new Array(0x100),\n DEF_CHAR = -1;\n\nfor (var i = 0; i < 0x100; i++)\n UNASSIGNED_NODE[i] = UNASSIGNED;\n\n\n// Class DBCSCodec reads and initializes mapping tables.\nfunction DBCSCodec(codecOptions, iconv) {\n this.encodingName = codecOptions.encodingName;\n if (!codecOptions)\n throw new Error(\"DBCS codec is called without the data.\")\n if (!codecOptions.table)\n throw new Error(\"Encoding '\" + this.encodingName + \"' has no data.\");\n\n // Load tables.\n var mappingTable = codecOptions.table();\n\n\n // Decode tables: MBCS -> Unicode.\n\n // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256.\n // Trie root is decodeTables[0].\n // Values: >= 0 -> unicode character code. can be > 0xFFFF\n // == UNASSIGNED -> unknown/unassigned sequence.\n // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence.\n // <= NODE_START -> index of the next node in our trie to process next byte.\n // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq.\n this.decodeTables = [];\n this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node.\n\n // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. \n this.decodeTableSeq = [];\n\n // Actual mapping tables consist of chunks. Use them to fill up decode tables.\n for (var i = 0; i < mappingTable.length; i++)\n this._addDecodeChunk(mappingTable[i]);\n\n // Load & create GB18030 tables when needed.\n if (typeof codecOptions.gb18030 === 'function') {\n this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges.\n\n // Add GB18030 common decode nodes.\n var commonThirdByteNodeIdx = this.decodeTables.length;\n this.decodeTables.push(UNASSIGNED_NODE.slice(0));\n\n var commonFourthByteNodeIdx = this.decodeTables.length;\n this.decodeTables.push(UNASSIGNED_NODE.slice(0));\n\n // Fill out the tree\n var firstByteNode = this.decodeTables[0];\n for (var i = 0x81; i <= 0xFE; i++) {\n var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i]];\n for (var j = 0x30; j <= 0x39; j++) {\n if (secondByteNode[j] === UNASSIGNED) {\n secondByteNode[j] = NODE_START - commonThirdByteNodeIdx;\n } else if (secondByteNode[j] > NODE_START) {\n throw new Error(\"gb18030 decode tables conflict at byte 2\");\n }\n\n var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]];\n for (var k = 0x81; k <= 0xFE; k++) {\n if (thirdByteNode[k] === UNASSIGNED) {\n thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx;\n } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) {\n continue;\n } else if (thirdByteNode[k] > NODE_START) {\n throw new Error(\"gb18030 decode tables conflict at byte 3\");\n }\n\n var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]];\n for (var l = 0x30; l <= 0x39; l++) {\n if (fourthByteNode[l] === UNASSIGNED)\n fourthByteNode[l] = GB18030_CODE;\n }\n }\n }\n }\n }\n\n this.defaultCharUnicode = iconv.defaultCharUnicode;\n\n \n // Encode tables: Unicode -> DBCS.\n\n // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance.\n // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null.\n // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.).\n // == UNASSIGNED -> no conversion found. Output a default char.\n // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence.\n this.encodeTable = [];\n \n // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of\n // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key\n // means end of sequence (needed when one sequence is a strict subsequence of another).\n // Objects are kept separately from encodeTable to increase performance.\n this.encodeTableSeq = [];\n\n // Some chars can be decoded, but need not be encoded.\n var skipEncodeChars = {};\n if (codecOptions.encodeSkipVals)\n for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) {\n var val = codecOptions.encodeSkipVals[i];\n if (typeof val === 'number')\n skipEncodeChars[val] = true;\n else\n for (var j = val.from; j <= val.to; j++)\n skipEncodeChars[j] = true;\n }\n \n // Use decode trie to recursively fill out encode tables.\n this._fillEncodeTable(0, 0, skipEncodeChars);\n\n // Add more encoding pairs when needed.\n if (codecOptions.encodeAdd) {\n for (var uChar in codecOptions.encodeAdd)\n if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar))\n this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]);\n }\n\n this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];\n if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]['?'];\n if (this.defCharSB === UNASSIGNED) this.defCharSB = \"?\".charCodeAt(0);\n}\n\nDBCSCodec.prototype.encoder = DBCSEncoder;\nDBCSCodec.prototype.decoder = DBCSDecoder;\n\n// Decoder helpers\nDBCSCodec.prototype._getDecodeTrieNode = function(addr) {\n var bytes = [];\n for (; addr > 0; addr >>>= 8)\n bytes.push(addr & 0xFF);\n if (bytes.length == 0)\n bytes.push(0);\n\n var node = this.decodeTables[0];\n for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie.\n var val = node[bytes[i]];\n\n if (val == UNASSIGNED) { // Create new node.\n node[bytes[i]] = NODE_START - this.decodeTables.length;\n this.decodeTables.push(node = UNASSIGNED_NODE.slice(0));\n }\n else if (val <= NODE_START) { // Existing node.\n node = this.decodeTables[NODE_START - val];\n }\n else\n throw new Error(\"Overwrite byte in \" + this.encodingName + \", addr: \" + addr.toString(16));\n }\n return node;\n}\n\n\nDBCSCodec.prototype._addDecodeChunk = function(chunk) {\n // First element of chunk is the hex mbcs code where we start.\n var curAddr = parseInt(chunk[0], 16);\n\n // Choose the decoding node where we'll write our chars.\n var writeTable = this._getDecodeTrieNode(curAddr);\n curAddr = curAddr & 0xFF;\n\n // Write all other elements of the chunk to the table.\n for (var k = 1; k < chunk.length; k++) {\n var part = chunk[k];\n if (typeof part === \"string\") { // String, write as-is.\n for (var l = 0; l < part.length;) {\n var code = part.charCodeAt(l++);\n if (0xD800 <= code && code < 0xDC00) { // Decode surrogate\n var codeTrail = part.charCodeAt(l++);\n if (0xDC00 <= codeTrail && codeTrail < 0xE000)\n writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00);\n else\n throw new Error(\"Incorrect surrogate pair in \" + this.encodingName + \" at chunk \" + chunk[0]);\n }\n else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used)\n var len = 0xFFF - code + 2;\n var seq = [];\n for (var m = 0; m < len; m++)\n seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq.\n\n writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length;\n this.decodeTableSeq.push(seq);\n }\n else\n writeTable[curAddr++] = code; // Basic char\n }\n } \n else if (typeof part === \"number\") { // Integer, meaning increasing sequence starting with prev character.\n var charCode = writeTable[curAddr - 1] + 1;\n for (var l = 0; l < part; l++)\n writeTable[curAddr++] = charCode++;\n }\n else\n throw new Error(\"Incorrect type '\" + typeof part + \"' given in \" + this.encodingName + \" at chunk \" + chunk[0]);\n }\n if (curAddr > 0xFF)\n throw new Error(\"Incorrect chunk in \" + this.encodingName + \" at addr \" + chunk[0] + \": too long\" + curAddr);\n}\n\n// Encoder helpers\nDBCSCodec.prototype._getEncodeBucket = function(uCode) {\n var high = uCode >> 8; // This could be > 0xFF because of astral characters.\n if (this.encodeTable[high] === undefined)\n this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand.\n return this.encodeTable[high];\n}\n\nDBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) {\n var bucket = this._getEncodeBucket(uCode);\n var low = uCode & 0xFF;\n if (bucket[low] <= SEQ_START)\n this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it.\n else if (bucket[low] == UNASSIGNED)\n bucket[low] = dbcsCode;\n}\n\nDBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) {\n \n // Get the root of character tree according to first character of the sequence.\n var uCode = seq[0];\n var bucket = this._getEncodeBucket(uCode);\n var low = uCode & 0xFF;\n\n var node;\n if (bucket[low] <= SEQ_START) {\n // There's already a sequence with - use it.\n node = this.encodeTableSeq[SEQ_START-bucket[low]];\n }\n else {\n // There was no sequence object - allocate a new one.\n node = {};\n if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence.\n bucket[low] = SEQ_START - this.encodeTableSeq.length;\n this.encodeTableSeq.push(node);\n }\n\n // Traverse the character tree, allocating new nodes as needed.\n for (var j = 1; j < seq.length-1; j++) {\n var oldVal = node[uCode];\n if (typeof oldVal === 'object')\n node = oldVal;\n else {\n node = node[uCode] = {}\n if (oldVal !== undefined)\n node[DEF_CHAR] = oldVal\n }\n }\n\n // Set the leaf to given dbcsCode.\n uCode = seq[seq.length-1];\n node[uCode] = dbcsCode;\n}\n\nDBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) {\n var node = this.decodeTables[nodeIdx];\n var hasValues = false;\n var subNodeEmpty = {};\n for (var i = 0; i < 0x100; i++) {\n var uCode = node[i];\n var mbCode = prefix + i;\n if (skipEncodeChars[mbCode])\n continue;\n\n if (uCode >= 0) {\n this._setEncodeChar(uCode, mbCode);\n hasValues = true;\n } else if (uCode <= NODE_START) {\n var subNodeIdx = NODE_START - uCode;\n if (!subNodeEmpty[subNodeIdx]) { // Skip empty subtrees (they are too large in gb18030).\n var newPrefix = (mbCode << 8) >>> 0; // NOTE: '>>> 0' keeps 32-bit num positive.\n if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars))\n hasValues = true;\n else\n subNodeEmpty[subNodeIdx] = true;\n }\n } else if (uCode <= SEQ_START) {\n this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode);\n hasValues = true;\n }\n }\n return hasValues;\n}\n\n\n\n// == Encoder ==================================================================\n\nfunction DBCSEncoder(options, codec) {\n // Encoder state\n this.leadSurrogate = -1;\n this.seqObj = undefined;\n \n // Static data\n this.encodeTable = codec.encodeTable;\n this.encodeTableSeq = codec.encodeTableSeq;\n this.defaultCharSingleByte = codec.defCharSB;\n this.gb18030 = codec.gb18030;\n}\n\nDBCSEncoder.prototype.write = function(str) {\n var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)),\n leadSurrogate = this.leadSurrogate,\n seqObj = this.seqObj, nextChar = -1,\n i = 0, j = 0;\n\n while (true) {\n // 0. Get next character.\n if (nextChar === -1) {\n if (i == str.length) break;\n var uCode = str.charCodeAt(i++);\n }\n else {\n var uCode = nextChar;\n nextChar = -1; \n }\n\n // 1. Handle surrogates.\n if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates.\n if (uCode < 0xDC00) { // We've got lead surrogate.\n if (leadSurrogate === -1) {\n leadSurrogate = uCode;\n continue;\n } else {\n leadSurrogate = uCode;\n // Double lead surrogate found.\n uCode = UNASSIGNED;\n }\n } else { // We've got trail surrogate.\n if (leadSurrogate !== -1) {\n uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00);\n leadSurrogate = -1;\n } else {\n // Incomplete surrogate pair - only trail surrogate found.\n uCode = UNASSIGNED;\n }\n \n }\n }\n else if (leadSurrogate !== -1) {\n // Incomplete surrogate pair - only lead surrogate found.\n nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char.\n leadSurrogate = -1;\n }\n\n // 2. Convert uCode character.\n var dbcsCode = UNASSIGNED;\n if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence\n var resCode = seqObj[uCode];\n if (typeof resCode === 'object') { // Sequence continues.\n seqObj = resCode;\n continue;\n\n } else if (typeof resCode == 'number') { // Sequence finished. Write it.\n dbcsCode = resCode;\n\n } else if (resCode == undefined) { // Current character is not part of the sequence.\n\n // Try default character for this sequence\n resCode = seqObj[DEF_CHAR];\n if (resCode !== undefined) {\n dbcsCode = resCode; // Found. Write it.\n nextChar = uCode; // Current character will be written too in the next iteration.\n\n } else {\n // TODO: What if we have no default? (resCode == undefined)\n // Then, we should write first char of the sequence as-is and try the rest recursively.\n // Didn't do it for now because no encoding has this situation yet.\n // Currently, just skip the sequence and write current char.\n }\n }\n seqObj = undefined;\n }\n else if (uCode >= 0) { // Regular character\n var subtable = this.encodeTable[uCode >> 8];\n if (subtable !== undefined)\n dbcsCode = subtable[uCode & 0xFF];\n \n if (dbcsCode <= SEQ_START) { // Sequence start\n seqObj = this.encodeTableSeq[SEQ_START-dbcsCode];\n continue;\n }\n\n if (dbcsCode == UNASSIGNED && this.gb18030) {\n // Use GB18030 algorithm to find character(s) to write.\n var idx = findIdx(this.gb18030.uChars, uCode);\n if (idx != -1) {\n var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]);\n newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600;\n newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260;\n newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10;\n newBuf[j++] = 0x30 + dbcsCode;\n continue;\n }\n }\n }\n\n // 3. Write dbcsCode character.\n if (dbcsCode === UNASSIGNED)\n dbcsCode = this.defaultCharSingleByte;\n \n if (dbcsCode < 0x100) {\n newBuf[j++] = dbcsCode;\n }\n else if (dbcsCode < 0x10000) {\n newBuf[j++] = dbcsCode >> 8; // high byte\n newBuf[j++] = dbcsCode & 0xFF; // low byte\n }\n else if (dbcsCode < 0x1000000) {\n newBuf[j++] = dbcsCode >> 16;\n newBuf[j++] = (dbcsCode >> 8) & 0xFF;\n newBuf[j++] = dbcsCode & 0xFF;\n } else {\n newBuf[j++] = dbcsCode >>> 24;\n newBuf[j++] = (dbcsCode >>> 16) & 0xFF;\n newBuf[j++] = (dbcsCode >>> 8) & 0xFF;\n newBuf[j++] = dbcsCode & 0xFF;\n }\n }\n\n this.seqObj = seqObj;\n this.leadSurrogate = leadSurrogate;\n return newBuf.slice(0, j);\n}\n\nDBCSEncoder.prototype.end = function() {\n if (this.leadSurrogate === -1 && this.seqObj === undefined)\n return; // All clean. Most often case.\n\n var newBuf = Buffer.alloc(10), j = 0;\n\n if (this.seqObj) { // We're in the sequence.\n var dbcsCode = this.seqObj[DEF_CHAR];\n if (dbcsCode !== undefined) { // Write beginning of the sequence.\n if (dbcsCode < 0x100) {\n newBuf[j++] = dbcsCode;\n }\n else {\n newBuf[j++] = dbcsCode >> 8; // high byte\n newBuf[j++] = dbcsCode & 0xFF; // low byte\n }\n } else {\n // See todo above.\n }\n this.seqObj = undefined;\n }\n\n if (this.leadSurrogate !== -1) {\n // Incomplete surrogate pair - only lead surrogate found.\n newBuf[j++] = this.defaultCharSingleByte;\n this.leadSurrogate = -1;\n }\n \n return newBuf.slice(0, j);\n}\n\n// Export for testing\nDBCSEncoder.prototype.findIdx = findIdx;\n\n\n// == Decoder ==================================================================\n\nfunction DBCSDecoder(options, codec) {\n // Decoder state\n this.nodeIdx = 0;\n this.prevBytes = [];\n\n // Static data\n this.decodeTables = codec.decodeTables;\n this.decodeTableSeq = codec.decodeTableSeq;\n this.defaultCharUnicode = codec.defaultCharUnicode;\n this.gb18030 = codec.gb18030;\n}\n\nDBCSDecoder.prototype.write = function(buf) {\n var newBuf = Buffer.alloc(buf.length*2),\n nodeIdx = this.nodeIdx, \n prevBytes = this.prevBytes, prevOffset = this.prevBytes.length,\n seqStart = -this.prevBytes.length, // idx of the start of current parsed sequence.\n uCode;\n\n for (var i = 0, j = 0; i < buf.length; i++) {\n var curByte = (i >= 0) ? buf[i] : prevBytes[i + prevOffset];\n\n // Lookup in current trie node.\n var uCode = this.decodeTables[nodeIdx][curByte];\n\n if (uCode >= 0) { \n // Normal character, just use it.\n }\n else if (uCode === UNASSIGNED) { // Unknown char.\n // TODO: Callback with seq.\n uCode = this.defaultCharUnicode.charCodeAt(0);\n i = seqStart; // Skip one byte ('i' will be incremented by the for loop) and try to parse again.\n }\n else if (uCode === GB18030_CODE) {\n if (i >= 3) {\n var ptr = (buf[i-3]-0x81)*12600 + (buf[i-2]-0x30)*1260 + (buf[i-1]-0x81)*10 + (curByte-0x30);\n } else {\n var ptr = (prevBytes[i-3+prevOffset]-0x81)*12600 + \n (((i-2 >= 0) ? buf[i-2] : prevBytes[i-2+prevOffset])-0x30)*1260 + \n (((i-1 >= 0) ? buf[i-1] : prevBytes[i-1+prevOffset])-0x81)*10 + \n (curByte-0x30);\n }\n var idx = findIdx(this.gb18030.gbChars, ptr);\n uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx];\n }\n else if (uCode <= NODE_START) { // Go to next trie node.\n nodeIdx = NODE_START - uCode;\n continue;\n }\n else if (uCode <= SEQ_START) { // Output a sequence of chars.\n var seq = this.decodeTableSeq[SEQ_START - uCode];\n for (var k = 0; k < seq.length - 1; k++) {\n uCode = seq[k];\n newBuf[j++] = uCode & 0xFF;\n newBuf[j++] = uCode >> 8;\n }\n uCode = seq[seq.length-1];\n }\n else\n throw new Error(\"iconv-lite internal error: invalid decoding table value \" + uCode + \" at \" + nodeIdx + \"/\" + curByte);\n\n // Write the character to buffer, handling higher planes using surrogate pair.\n if (uCode >= 0x10000) { \n uCode -= 0x10000;\n var uCodeLead = 0xD800 | (uCode >> 10);\n newBuf[j++] = uCodeLead & 0xFF;\n newBuf[j++] = uCodeLead >> 8;\n\n uCode = 0xDC00 | (uCode & 0x3FF);\n }\n newBuf[j++] = uCode & 0xFF;\n newBuf[j++] = uCode >> 8;\n\n // Reset trie node.\n nodeIdx = 0; seqStart = i+1;\n }\n\n this.nodeIdx = nodeIdx;\n this.prevBytes = (seqStart >= 0)\n ? Array.prototype.slice.call(buf, seqStart)\n : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf));\n\n return newBuf.slice(0, j).toString('ucs2');\n}\n\nDBCSDecoder.prototype.end = function() {\n var ret = '';\n\n // Try to parse all remaining chars.\n while (this.prevBytes.length > 0) {\n // Skip 1 character in the buffer.\n ret += this.defaultCharUnicode;\n var bytesArr = this.prevBytes.slice(1);\n\n // Parse remaining as usual.\n this.prevBytes = [];\n this.nodeIdx = 0;\n if (bytesArr.length > 0)\n ret += this.write(bytesArr);\n }\n\n this.prevBytes = [];\n this.nodeIdx = 0;\n return ret;\n}\n\n// Binary search for GB18030. Returns largest i such that table[i] <= val.\nfunction findIdx(table, val) {\n if (table[0] > val)\n return -1;\n\n var l = 0, r = table.length;\n while (l < r-1) { // always table[l] <= val < table[r]\n var mid = l + ((r-l+1) >> 1);\n if (table[mid] <= val)\n l = mid;\n else\n r = mid;\n }\n return l;\n}\n\n"],"names":["require$$0"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,207 @@
1
+ import require$$0 from './tables/shiftjis.json.js';
2
+ import require$$1 from './tables/eucjp.json.js';
3
+ import require$$2 from './tables/cp936.json.js';
4
+ import require$$3 from './tables/gbk-added.json.js';
5
+ import require$$4 from './tables/gb18030-ranges.json.js';
6
+ import require$$5 from './tables/cp949.json.js';
7
+ import require$$6 from './tables/cp950.json.js';
8
+ import require$$7 from './tables/big5-added.json.js';
9
+
10
+ var dbcsData;
11
+ var hasRequiredDbcsData;
12
+
13
+ function requireDbcsData () {
14
+ if (hasRequiredDbcsData) return dbcsData;
15
+ hasRequiredDbcsData = 1;
16
+
17
+ // Description of supported double byte encodings and aliases.
18
+ // Tables are not require()-d until they are needed to speed up library load.
19
+ // require()-s are direct to support Browserify.
20
+
21
+ dbcsData = {
22
+
23
+ // == Japanese/ShiftJIS ====================================================
24
+ // All japanese encodings are based on JIS X set of standards:
25
+ // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF.
26
+ // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes.
27
+ // Has several variations in 1978, 1983, 1990 and 1997.
28
+ // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead.
29
+ // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233.
30
+ // 2 planes, first is superset of 0208, second - revised 0212.
31
+ // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx)
32
+
33
+ // Byte encodings are:
34
+ // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte
35
+ // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC.
36
+ // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI.
37
+ // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes.
38
+ // 0x00-0x7F - lower part of 0201
39
+ // 0x8E, 0xA1-0xDF - upper part of 0201
40
+ // (0xA1-0xFE)x2 - 0208 plane (94x94).
41
+ // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94).
42
+ // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon.
43
+ // Used as-is in ISO2022 family.
44
+ // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII,
45
+ // 0201-1976 Roman, 0208-1978, 0208-1983.
46
+ // * ISO2022-JP-1: Adds esc seq for 0212-1990.
47
+ // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7.
48
+ // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2.
49
+ // * ISO2022-JP-2004: Adds 0213-2004 Plane 1.
50
+ //
51
+ // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes.
52
+ //
53
+ // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html
54
+
55
+ 'shiftjis': {
56
+ type: '_dbcs',
57
+ table: function() { return require$$0 },
58
+ encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E},
59
+ encodeSkipVals: [{from: 0xED40, to: 0xF940}],
60
+ },
61
+ 'csshiftjis': 'shiftjis',
62
+ 'mskanji': 'shiftjis',
63
+ 'sjis': 'shiftjis',
64
+ 'windows31j': 'shiftjis',
65
+ 'ms31j': 'shiftjis',
66
+ 'xsjis': 'shiftjis',
67
+ 'windows932': 'shiftjis',
68
+ 'ms932': 'shiftjis',
69
+ '932': 'shiftjis',
70
+ 'cp932': 'shiftjis',
71
+
72
+ 'eucjp': {
73
+ type: '_dbcs',
74
+ table: function() { return require$$1 },
75
+ encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E},
76
+ },
77
+
78
+ // TODO: KDDI extension to Shift_JIS
79
+ // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes.
80
+ // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars.
81
+
82
+
83
+ // == Chinese/GBK ==========================================================
84
+ // http://en.wikipedia.org/wiki/GBK
85
+ // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder
86
+
87
+ // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936
88
+ 'gb2312': 'cp936',
89
+ 'gb231280': 'cp936',
90
+ 'gb23121980': 'cp936',
91
+ 'csgb2312': 'cp936',
92
+ 'csiso58gb231280': 'cp936',
93
+ 'euccn': 'cp936',
94
+
95
+ // Microsoft's CP936 is a subset and approximation of GBK.
96
+ 'windows936': 'cp936',
97
+ 'ms936': 'cp936',
98
+ '936': 'cp936',
99
+ 'cp936': {
100
+ type: '_dbcs',
101
+ table: function() { return require$$2 },
102
+ },
103
+
104
+ // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other.
105
+ 'gbk': {
106
+ type: '_dbcs',
107
+ table: function() { return require$$2.concat(require$$3) },
108
+ },
109
+ 'xgbk': 'gbk',
110
+ 'isoir58': 'gbk',
111
+
112
+ // GB18030 is an algorithmic extension of GBK.
113
+ // Main source: https://www.w3.org/TR/encoding/#gbk-encoder
114
+ // http://icu-project.org/docs/papers/gb18030.html
115
+ // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml
116
+ // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0
117
+ 'gb18030': {
118
+ type: '_dbcs',
119
+ table: function() { return require$$2.concat(require$$3) },
120
+ gb18030: function() { return require$$4 },
121
+ encodeSkipVals: [0x80],
122
+ encodeAdd: {'€': 0xA2E3},
123
+ },
124
+
125
+ 'chinese': 'gb18030',
126
+
127
+
128
+ // == Korean ===============================================================
129
+ // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same.
130
+ 'windows949': 'cp949',
131
+ 'ms949': 'cp949',
132
+ '949': 'cp949',
133
+ 'cp949': {
134
+ type: '_dbcs',
135
+ table: function() { return require$$5 },
136
+ },
137
+
138
+ 'cseuckr': 'cp949',
139
+ 'csksc56011987': 'cp949',
140
+ 'euckr': 'cp949',
141
+ 'isoir149': 'cp949',
142
+ 'korean': 'cp949',
143
+ 'ksc56011987': 'cp949',
144
+ 'ksc56011989': 'cp949',
145
+ 'ksc5601': 'cp949',
146
+
147
+
148
+ // == Big5/Taiwan/Hong Kong ================================================
149
+ // There are lots of tables for Big5 and cp950. Please see the following links for history:
150
+ // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html
151
+ // Variations, in roughly number of defined chars:
152
+ // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT
153
+ // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/
154
+ // * Big5-2003 (Taiwan standard) almost superset of cp950.
155
+ // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers.
156
+ // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard.
157
+ // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years.
158
+ // Plus, it has 4 combining sequences.
159
+ // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299
160
+ // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way.
161
+ // Implementations are not consistent within browsers; sometimes labeled as just big5.
162
+ // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied.
163
+ // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31
164
+ // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s.
165
+ // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt
166
+ // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt
167
+ //
168
+ // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder
169
+ // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong.
170
+
171
+ 'windows950': 'cp950',
172
+ 'ms950': 'cp950',
173
+ '950': 'cp950',
174
+ 'cp950': {
175
+ type: '_dbcs',
176
+ table: function() { return require$$6 },
177
+ },
178
+
179
+ // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus.
180
+ 'big5': 'big5hkscs',
181
+ 'big5hkscs': {
182
+ type: '_dbcs',
183
+ table: function() { return require$$6.concat(require$$7) },
184
+ encodeSkipVals: [
185
+ // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of
186
+ // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU.
187
+ // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter.
188
+ 0x8e69, 0x8e6f, 0x8e7e, 0x8eab, 0x8eb4, 0x8ecd, 0x8ed0, 0x8f57, 0x8f69, 0x8f6e, 0x8fcb, 0x8ffe,
189
+ 0x906d, 0x907a, 0x90c4, 0x90dc, 0x90f1, 0x91bf, 0x92af, 0x92b0, 0x92b1, 0x92b2, 0x92d1, 0x9447, 0x94ca,
190
+ 0x95d9, 0x96fc, 0x9975, 0x9b76, 0x9b78, 0x9b7b, 0x9bc6, 0x9bde, 0x9bec, 0x9bf6, 0x9c42, 0x9c53, 0x9c62,
191
+ 0x9c68, 0x9c6b, 0x9c77, 0x9cbc, 0x9cbd, 0x9cd0, 0x9d57, 0x9d5a, 0x9dc4, 0x9def, 0x9dfb, 0x9ea9, 0x9eef,
192
+ 0x9efd, 0x9f60, 0x9fcb, 0xa077, 0xa0dc, 0xa0df, 0x8fcc, 0x92c8, 0x9644, 0x96ed,
193
+
194
+ // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345
195
+ 0xa2a4, 0xa2a5, 0xa2a7, 0xa2a6, 0xa2cc, 0xa2ce,
196
+ ],
197
+ },
198
+
199
+ 'cnbig5': 'big5hkscs',
200
+ 'csbig5': 'big5hkscs',
201
+ 'xxbig5': 'big5hkscs',
202
+ };
203
+ return dbcsData;
204
+ }
205
+
206
+ export { requireDbcsData as __require };
207
+ //# sourceMappingURL=dbcs-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbcs-data.js","sources":["../../../../../../node_modules/iconv-lite/encodings/dbcs-data.js"],"sourcesContent":["\"use strict\";\n\n// Description of supported double byte encodings and aliases.\n// Tables are not require()-d until they are needed to speed up library load.\n// require()-s are direct to support Browserify.\n\nmodule.exports = {\n \n // == Japanese/ShiftJIS ====================================================\n // All japanese encodings are based on JIS X set of standards:\n // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF.\n // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. \n // Has several variations in 1978, 1983, 1990 and 1997.\n // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead.\n // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233.\n // 2 planes, first is superset of 0208, second - revised 0212.\n // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx)\n\n // Byte encodings are:\n // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte\n // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC.\n // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI.\n // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes.\n // 0x00-0x7F - lower part of 0201\n // 0x8E, 0xA1-0xDF - upper part of 0201\n // (0xA1-0xFE)x2 - 0208 plane (94x94).\n // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94).\n // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon.\n // Used as-is in ISO2022 family.\n // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, \n // 0201-1976 Roman, 0208-1978, 0208-1983.\n // * ISO2022-JP-1: Adds esc seq for 0212-1990.\n // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7.\n // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2.\n // * ISO2022-JP-2004: Adds 0213-2004 Plane 1.\n //\n // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes.\n //\n // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html\n\n 'shiftjis': {\n type: '_dbcs',\n table: function() { return require('./tables/shiftjis.json') },\n encodeAdd: {'\\u00a5': 0x5C, '\\u203E': 0x7E},\n encodeSkipVals: [{from: 0xED40, to: 0xF940}],\n },\n 'csshiftjis': 'shiftjis',\n 'mskanji': 'shiftjis',\n 'sjis': 'shiftjis',\n 'windows31j': 'shiftjis',\n 'ms31j': 'shiftjis',\n 'xsjis': 'shiftjis',\n 'windows932': 'shiftjis',\n 'ms932': 'shiftjis',\n '932': 'shiftjis',\n 'cp932': 'shiftjis',\n\n 'eucjp': {\n type: '_dbcs',\n table: function() { return require('./tables/eucjp.json') },\n encodeAdd: {'\\u00a5': 0x5C, '\\u203E': 0x7E},\n },\n\n // TODO: KDDI extension to Shift_JIS\n // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes.\n // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars.\n\n\n // == Chinese/GBK ==========================================================\n // http://en.wikipedia.org/wiki/GBK\n // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder\n\n // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936\n 'gb2312': 'cp936',\n 'gb231280': 'cp936',\n 'gb23121980': 'cp936',\n 'csgb2312': 'cp936',\n 'csiso58gb231280': 'cp936',\n 'euccn': 'cp936',\n\n // Microsoft's CP936 is a subset and approximation of GBK.\n 'windows936': 'cp936',\n 'ms936': 'cp936',\n '936': 'cp936',\n 'cp936': {\n type: '_dbcs',\n table: function() { return require('./tables/cp936.json') },\n },\n\n // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other.\n 'gbk': {\n type: '_dbcs',\n table: function() { return require('./tables/cp936.json').concat(require('./tables/gbk-added.json')) },\n },\n 'xgbk': 'gbk',\n 'isoir58': 'gbk',\n\n // GB18030 is an algorithmic extension of GBK.\n // Main source: https://www.w3.org/TR/encoding/#gbk-encoder\n // http://icu-project.org/docs/papers/gb18030.html\n // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml\n // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0\n 'gb18030': {\n type: '_dbcs',\n table: function() { return require('./tables/cp936.json').concat(require('./tables/gbk-added.json')) },\n gb18030: function() { return require('./tables/gb18030-ranges.json') },\n encodeSkipVals: [0x80],\n encodeAdd: {'€': 0xA2E3},\n },\n\n 'chinese': 'gb18030',\n\n\n // == Korean ===============================================================\n // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same.\n 'windows949': 'cp949',\n 'ms949': 'cp949',\n '949': 'cp949',\n 'cp949': {\n type: '_dbcs',\n table: function() { return require('./tables/cp949.json') },\n },\n\n 'cseuckr': 'cp949',\n 'csksc56011987': 'cp949',\n 'euckr': 'cp949',\n 'isoir149': 'cp949',\n 'korean': 'cp949',\n 'ksc56011987': 'cp949',\n 'ksc56011989': 'cp949',\n 'ksc5601': 'cp949',\n\n\n // == Big5/Taiwan/Hong Kong ================================================\n // There are lots of tables for Big5 and cp950. Please see the following links for history:\n // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html\n // Variations, in roughly number of defined chars:\n // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT\n // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/\n // * Big5-2003 (Taiwan standard) almost superset of cp950.\n // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers.\n // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. \n // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years.\n // Plus, it has 4 combining sequences.\n // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299\n // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way.\n // Implementations are not consistent within browsers; sometimes labeled as just big5.\n // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied.\n // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31\n // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s.\n // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt\n // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt\n // \n // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder\n // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong.\n\n 'windows950': 'cp950',\n 'ms950': 'cp950',\n '950': 'cp950',\n 'cp950': {\n type: '_dbcs',\n table: function() { return require('./tables/cp950.json') },\n },\n\n // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus.\n 'big5': 'big5hkscs',\n 'big5hkscs': {\n type: '_dbcs',\n table: function() { return require('./tables/cp950.json').concat(require('./tables/big5-added.json')) },\n encodeSkipVals: [\n // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of\n // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU.\n // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter.\n 0x8e69, 0x8e6f, 0x8e7e, 0x8eab, 0x8eb4, 0x8ecd, 0x8ed0, 0x8f57, 0x8f69, 0x8f6e, 0x8fcb, 0x8ffe,\n 0x906d, 0x907a, 0x90c4, 0x90dc, 0x90f1, 0x91bf, 0x92af, 0x92b0, 0x92b1, 0x92b2, 0x92d1, 0x9447, 0x94ca,\n 0x95d9, 0x96fc, 0x9975, 0x9b76, 0x9b78, 0x9b7b, 0x9bc6, 0x9bde, 0x9bec, 0x9bf6, 0x9c42, 0x9c53, 0x9c62,\n 0x9c68, 0x9c6b, 0x9c77, 0x9cbc, 0x9cbd, 0x9cd0, 0x9d57, 0x9d5a, 0x9dc4, 0x9def, 0x9dfb, 0x9ea9, 0x9eef,\n 0x9efd, 0x9f60, 0x9fcb, 0xa077, 0xa0dc, 0xa0df, 0x8fcc, 0x92c8, 0x9644, 0x96ed,\n\n // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345\n 0xa2a4, 0xa2a5, 0xa2a7, 0xa2a6, 0xa2cc, 0xa2ce,\n ],\n },\n\n 'cnbig5': 'big5hkscs',\n 'csbig5': 'big5hkscs',\n 'xxbig5': 'big5hkscs',\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,45 @@
1
+ import { __exports as encodings } from '../../../_virtual/index5.js';
2
+ import { __require as requireInternal } from './internal.js';
3
+ import { __require as requireUtf32 } from './utf32.js';
4
+ import { __require as requireUtf16 } from './utf16.js';
5
+ import { __require as requireUtf7 } from './utf7.js';
6
+ import { __require as requireSbcsCodec } from './sbcs-codec.js';
7
+ import { __require as requireSbcsData } from './sbcs-data.js';
8
+ import { __require as requireSbcsDataGenerated } from './sbcs-data-generated.js';
9
+ import { __require as requireDbcsCodec } from './dbcs-codec.js';
10
+ import { __require as requireDbcsData } from './dbcs-data.js';
11
+
12
+ var hasRequiredEncodings;
13
+
14
+ function requireEncodings () {
15
+ if (hasRequiredEncodings) return encodings;
16
+ hasRequiredEncodings = 1;
17
+ (function (exports) {
18
+
19
+ // Update this array if you add/rename/remove files in this directory.
20
+ // We support Browserify by skipping automatic module discovery and requiring modules directly.
21
+ var modules = [
22
+ requireInternal(),
23
+ requireUtf32(),
24
+ requireUtf16(),
25
+ requireUtf7(),
26
+ requireSbcsCodec(),
27
+ requireSbcsData(),
28
+ requireSbcsDataGenerated(),
29
+ requireDbcsCodec(),
30
+ requireDbcsData(),
31
+ ];
32
+
33
+ // Put all encoding/alias/codec definitions to single object and export it.
34
+ for (var i = 0; i < modules.length; i++) {
35
+ var module = modules[i];
36
+ for (var enc in module)
37
+ if (Object.prototype.hasOwnProperty.call(module, enc))
38
+ exports[enc] = module[enc];
39
+ }
40
+ } (encodings));
41
+ return encodings;
42
+ }
43
+
44
+ export { requireEncodings as __require };
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../node_modules/iconv-lite/encodings/index.js"],"sourcesContent":["\"use strict\";\n\n// Update this array if you add/rename/remove files in this directory.\n// We support Browserify by skipping automatic module discovery and requiring modules directly.\nvar modules = [\n require(\"./internal\"),\n require(\"./utf32\"),\n require(\"./utf16\"),\n require(\"./utf7\"),\n require(\"./sbcs-codec\"),\n require(\"./sbcs-data\"),\n require(\"./sbcs-data-generated\"),\n require(\"./dbcs-codec\"),\n require(\"./dbcs-data\"),\n];\n\n// Put all encoding/alias/codec definitions to single object and export it.\nfor (var i = 0; i < modules.length; i++) {\n var module = modules[i];\n for (var enc in module)\n if (Object.prototype.hasOwnProperty.call(module, enc))\n exports[enc] = module[enc];\n}\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8"],"mappings":";;;;;;;;;;;;;;;;;;AAEA;AACA;AACA,EAAA,IAAI,OAAO,GAAG;AACd,MAAIA,eAAA,EAAqB;AACzB,MAAIC,YAAA,EAAkB;AACtB,MAAIC,YAAA,EAAkB;AACtB,MAAIC,WAAA,EAAiB;AACrB,MAAIC,gBAAA,EAAuB;AAC3B,MAAIC,eAAA,EAAsB;AAC1B,MAAIC,wBAAA,EAAgC;AACpC,MAAIC,gBAAA,EAAuB;AAC3B,MAAIC,eAAA,EAAsB;GACzB;;AAED;AACA,EAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,MAAI,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;AAC3B,MAAI,KAAK,IAAI,GAAG,IAAI,MAAM;AAC1B,UAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;cACjD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACtC,EAAA,CAAA;;;;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,211 @@
1
+ import { __require as requireSafer } from '../../safer-buffer/safer.js';
2
+ import require$$1 from 'string_decoder';
3
+
4
+ var internal;
5
+ var hasRequiredInternal;
6
+
7
+ function requireInternal () {
8
+ if (hasRequiredInternal) return internal;
9
+ hasRequiredInternal = 1;
10
+ var Buffer = requireSafer().Buffer;
11
+
12
+ // Export Node.js internal encodings.
13
+
14
+ internal = {
15
+ // Encodings
16
+ utf8: { type: "_internal", bomAware: true},
17
+ cesu8: { type: "_internal", bomAware: true},
18
+ unicode11utf8: "utf8",
19
+
20
+ ucs2: { type: "_internal", bomAware: true},
21
+ utf16le: "ucs2",
22
+
23
+ binary: { type: "_internal" },
24
+ base64: { type: "_internal" },
25
+ hex: { type: "_internal" },
26
+
27
+ // Codec.
28
+ _internal: InternalCodec,
29
+ };
30
+
31
+ //------------------------------------------------------------------------------
32
+
33
+ function InternalCodec(codecOptions, iconv) {
34
+ this.enc = codecOptions.encodingName;
35
+ this.bomAware = codecOptions.bomAware;
36
+
37
+ if (this.enc === "base64")
38
+ this.encoder = InternalEncoderBase64;
39
+ else if (this.enc === "cesu8") {
40
+ this.enc = "utf8"; // Use utf8 for decoding.
41
+ this.encoder = InternalEncoderCesu8;
42
+
43
+ // Add decoder for versions of Node not supporting CESU-8
44
+ if (Buffer.from('eda0bdedb2a9', 'hex').toString() !== '💩') {
45
+ this.decoder = InternalDecoderCesu8;
46
+ this.defaultCharUnicode = iconv.defaultCharUnicode;
47
+ }
48
+ }
49
+ }
50
+
51
+ InternalCodec.prototype.encoder = InternalEncoder;
52
+ InternalCodec.prototype.decoder = InternalDecoder;
53
+
54
+ //------------------------------------------------------------------------------
55
+
56
+ // We use node.js internal decoder. Its signature is the same as ours.
57
+ var StringDecoder = require$$1.StringDecoder;
58
+
59
+ if (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method.
60
+ StringDecoder.prototype.end = function() {};
61
+
62
+
63
+ function InternalDecoder(options, codec) {
64
+ this.decoder = new StringDecoder(codec.enc);
65
+ }
66
+
67
+ InternalDecoder.prototype.write = function(buf) {
68
+ if (!Buffer.isBuffer(buf)) {
69
+ buf = Buffer.from(buf);
70
+ }
71
+
72
+ return this.decoder.write(buf);
73
+ };
74
+
75
+ InternalDecoder.prototype.end = function() {
76
+ return this.decoder.end();
77
+ };
78
+
79
+
80
+ //------------------------------------------------------------------------------
81
+ // Encoder is mostly trivial
82
+
83
+ function InternalEncoder(options, codec) {
84
+ this.enc = codec.enc;
85
+ }
86
+
87
+ InternalEncoder.prototype.write = function(str) {
88
+ return Buffer.from(str, this.enc);
89
+ };
90
+
91
+ InternalEncoder.prototype.end = function() {
92
+ };
93
+
94
+
95
+ //------------------------------------------------------------------------------
96
+ // Except base64 encoder, which must keep its state.
97
+
98
+ function InternalEncoderBase64(options, codec) {
99
+ this.prevStr = '';
100
+ }
101
+
102
+ InternalEncoderBase64.prototype.write = function(str) {
103
+ str = this.prevStr + str;
104
+ var completeQuads = str.length - (str.length % 4);
105
+ this.prevStr = str.slice(completeQuads);
106
+ str = str.slice(0, completeQuads);
107
+
108
+ return Buffer.from(str, "base64");
109
+ };
110
+
111
+ InternalEncoderBase64.prototype.end = function() {
112
+ return Buffer.from(this.prevStr, "base64");
113
+ };
114
+
115
+
116
+ //------------------------------------------------------------------------------
117
+ // CESU-8 encoder is also special.
118
+
119
+ function InternalEncoderCesu8(options, codec) {
120
+ }
121
+
122
+ InternalEncoderCesu8.prototype.write = function(str) {
123
+ var buf = Buffer.alloc(str.length * 3), bufIdx = 0;
124
+ for (var i = 0; i < str.length; i++) {
125
+ var charCode = str.charCodeAt(i);
126
+ // Naive implementation, but it works because CESU-8 is especially easy
127
+ // to convert from UTF-16 (which all JS strings are encoded in).
128
+ if (charCode < 0x80)
129
+ buf[bufIdx++] = charCode;
130
+ else if (charCode < 0x800) {
131
+ buf[bufIdx++] = 0xC0 + (charCode >>> 6);
132
+ buf[bufIdx++] = 0x80 + (charCode & 0x3f);
133
+ }
134
+ else { // charCode will always be < 0x10000 in javascript.
135
+ buf[bufIdx++] = 0xE0 + (charCode >>> 12);
136
+ buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f);
137
+ buf[bufIdx++] = 0x80 + (charCode & 0x3f);
138
+ }
139
+ }
140
+ return buf.slice(0, bufIdx);
141
+ };
142
+
143
+ InternalEncoderCesu8.prototype.end = function() {
144
+ };
145
+
146
+ //------------------------------------------------------------------------------
147
+ // CESU-8 decoder is not implemented in Node v4.0+
148
+
149
+ function InternalDecoderCesu8(options, codec) {
150
+ this.acc = 0;
151
+ this.contBytes = 0;
152
+ this.accBytes = 0;
153
+ this.defaultCharUnicode = codec.defaultCharUnicode;
154
+ }
155
+
156
+ InternalDecoderCesu8.prototype.write = function(buf) {
157
+ var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes,
158
+ res = '';
159
+ for (var i = 0; i < buf.length; i++) {
160
+ var curByte = buf[i];
161
+ if ((curByte & 0xC0) !== 0x80) { // Leading byte
162
+ if (contBytes > 0) { // Previous code is invalid
163
+ res += this.defaultCharUnicode;
164
+ contBytes = 0;
165
+ }
166
+
167
+ if (curByte < 0x80) { // Single-byte code
168
+ res += String.fromCharCode(curByte);
169
+ } else if (curByte < 0xE0) { // Two-byte code
170
+ acc = curByte & 0x1F;
171
+ contBytes = 1; accBytes = 1;
172
+ } else if (curByte < 0xF0) { // Three-byte code
173
+ acc = curByte & 0x0F;
174
+ contBytes = 2; accBytes = 1;
175
+ } else { // Four or more are not supported for CESU-8.
176
+ res += this.defaultCharUnicode;
177
+ }
178
+ } else { // Continuation byte
179
+ if (contBytes > 0) { // We're waiting for it.
180
+ acc = (acc << 6) | (curByte & 0x3f);
181
+ contBytes--; accBytes++;
182
+ if (contBytes === 0) {
183
+ // Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80)
184
+ if (accBytes === 2 && acc < 0x80 && acc > 0)
185
+ res += this.defaultCharUnicode;
186
+ else if (accBytes === 3 && acc < 0x800)
187
+ res += this.defaultCharUnicode;
188
+ else
189
+ // Actually add character.
190
+ res += String.fromCharCode(acc);
191
+ }
192
+ } else { // Unexpected continuation byte
193
+ res += this.defaultCharUnicode;
194
+ }
195
+ }
196
+ }
197
+ this.acc = acc; this.contBytes = contBytes; this.accBytes = accBytes;
198
+ return res;
199
+ };
200
+
201
+ InternalDecoderCesu8.prototype.end = function() {
202
+ var res = 0;
203
+ if (this.contBytes > 0)
204
+ res += this.defaultCharUnicode;
205
+ return res;
206
+ };
207
+ return internal;
208
+ }
209
+
210
+ export { requireInternal as __require };
211
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sources":["../../../../../../node_modules/iconv-lite/encodings/internal.js"],"sourcesContent":["\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// Export Node.js internal encodings.\n\nmodule.exports = {\n // Encodings\n utf8: { type: \"_internal\", bomAware: true},\n cesu8: { type: \"_internal\", bomAware: true},\n unicode11utf8: \"utf8\",\n\n ucs2: { type: \"_internal\", bomAware: true},\n utf16le: \"ucs2\",\n\n binary: { type: \"_internal\" },\n base64: { type: \"_internal\" },\n hex: { type: \"_internal\" },\n\n // Codec.\n _internal: InternalCodec,\n};\n\n//------------------------------------------------------------------------------\n\nfunction InternalCodec(codecOptions, iconv) {\n this.enc = codecOptions.encodingName;\n this.bomAware = codecOptions.bomAware;\n\n if (this.enc === \"base64\")\n this.encoder = InternalEncoderBase64;\n else if (this.enc === \"cesu8\") {\n this.enc = \"utf8\"; // Use utf8 for decoding.\n this.encoder = InternalEncoderCesu8;\n\n // Add decoder for versions of Node not supporting CESU-8\n if (Buffer.from('eda0bdedb2a9', 'hex').toString() !== '💩') {\n this.decoder = InternalDecoderCesu8;\n this.defaultCharUnicode = iconv.defaultCharUnicode;\n }\n }\n}\n\nInternalCodec.prototype.encoder = InternalEncoder;\nInternalCodec.prototype.decoder = InternalDecoder;\n\n//------------------------------------------------------------------------------\n\n// We use node.js internal decoder. Its signature is the same as ours.\nvar StringDecoder = require('string_decoder').StringDecoder;\n\nif (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method.\n StringDecoder.prototype.end = function() {};\n\n\nfunction InternalDecoder(options, codec) {\n this.decoder = new StringDecoder(codec.enc);\n}\n\nInternalDecoder.prototype.write = function(buf) {\n if (!Buffer.isBuffer(buf)) {\n buf = Buffer.from(buf);\n }\n\n return this.decoder.write(buf);\n}\n\nInternalDecoder.prototype.end = function() {\n return this.decoder.end();\n}\n\n\n//------------------------------------------------------------------------------\n// Encoder is mostly trivial\n\nfunction InternalEncoder(options, codec) {\n this.enc = codec.enc;\n}\n\nInternalEncoder.prototype.write = function(str) {\n return Buffer.from(str, this.enc);\n}\n\nInternalEncoder.prototype.end = function() {\n}\n\n\n//------------------------------------------------------------------------------\n// Except base64 encoder, which must keep its state.\n\nfunction InternalEncoderBase64(options, codec) {\n this.prevStr = '';\n}\n\nInternalEncoderBase64.prototype.write = function(str) {\n str = this.prevStr + str;\n var completeQuads = str.length - (str.length % 4);\n this.prevStr = str.slice(completeQuads);\n str = str.slice(0, completeQuads);\n\n return Buffer.from(str, \"base64\");\n}\n\nInternalEncoderBase64.prototype.end = function() {\n return Buffer.from(this.prevStr, \"base64\");\n}\n\n\n//------------------------------------------------------------------------------\n// CESU-8 encoder is also special.\n\nfunction InternalEncoderCesu8(options, codec) {\n}\n\nInternalEncoderCesu8.prototype.write = function(str) {\n var buf = Buffer.alloc(str.length * 3), bufIdx = 0;\n for (var i = 0; i < str.length; i++) {\n var charCode = str.charCodeAt(i);\n // Naive implementation, but it works because CESU-8 is especially easy\n // to convert from UTF-16 (which all JS strings are encoded in).\n if (charCode < 0x80)\n buf[bufIdx++] = charCode;\n else if (charCode < 0x800) {\n buf[bufIdx++] = 0xC0 + (charCode >>> 6);\n buf[bufIdx++] = 0x80 + (charCode & 0x3f);\n }\n else { // charCode will always be < 0x10000 in javascript.\n buf[bufIdx++] = 0xE0 + (charCode >>> 12);\n buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f);\n buf[bufIdx++] = 0x80 + (charCode & 0x3f);\n }\n }\n return buf.slice(0, bufIdx);\n}\n\nInternalEncoderCesu8.prototype.end = function() {\n}\n\n//------------------------------------------------------------------------------\n// CESU-8 decoder is not implemented in Node v4.0+\n\nfunction InternalDecoderCesu8(options, codec) {\n this.acc = 0;\n this.contBytes = 0;\n this.accBytes = 0;\n this.defaultCharUnicode = codec.defaultCharUnicode;\n}\n\nInternalDecoderCesu8.prototype.write = function(buf) {\n var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, \n res = '';\n for (var i = 0; i < buf.length; i++) {\n var curByte = buf[i];\n if ((curByte & 0xC0) !== 0x80) { // Leading byte\n if (contBytes > 0) { // Previous code is invalid\n res += this.defaultCharUnicode;\n contBytes = 0;\n }\n\n if (curByte < 0x80) { // Single-byte code\n res += String.fromCharCode(curByte);\n } else if (curByte < 0xE0) { // Two-byte code\n acc = curByte & 0x1F;\n contBytes = 1; accBytes = 1;\n } else if (curByte < 0xF0) { // Three-byte code\n acc = curByte & 0x0F;\n contBytes = 2; accBytes = 1;\n } else { // Four or more are not supported for CESU-8.\n res += this.defaultCharUnicode;\n }\n } else { // Continuation byte\n if (contBytes > 0) { // We're waiting for it.\n acc = (acc << 6) | (curByte & 0x3f);\n contBytes--; accBytes++;\n if (contBytes === 0) {\n // Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80)\n if (accBytes === 2 && acc < 0x80 && acc > 0)\n res += this.defaultCharUnicode;\n else if (accBytes === 3 && acc < 0x800)\n res += this.defaultCharUnicode;\n else\n // Actually add character.\n res += String.fromCharCode(acc);\n }\n } else { // Unexpected continuation byte\n res += this.defaultCharUnicode;\n }\n }\n }\n this.acc = acc; this.contBytes = contBytes; this.accBytes = accBytes;\n return res;\n}\n\nInternalDecoderCesu8.prototype.end = function() {\n var res = 0;\n if (this.contBytes > 0)\n res += this.defaultCharUnicode;\n return res;\n}\n"],"names":["require$$0"],"mappings":"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","x_google_ignoreList":[0]}