tedious 16.4.0 → 16.5.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 (200) hide show
  1. package/benchmarks/bulk-load/iterable.js +1 -1
  2. package/benchmarks/common.js +2 -4
  3. package/benchmarks/package-lock.json +21173 -0
  4. package/benchmarks/package.json +11 -0
  5. package/benchmarks/query/call-tvp.js +1 -1
  6. package/benchmarks/query/insert-varbinary.js +1 -1
  7. package/benchmarks/query/select-many-rows.js +1 -1
  8. package/benchmarks/query/select-nvarchar.js +1 -1
  9. package/benchmarks/query/select-varbinary.js +1 -1
  10. package/benchmarks/request/rpcrequest-payload-tvp.js +2 -2
  11. package/benchmarks/request/rpcrequest-payload-varbinary.js +2 -2
  12. package/benchmarks/token-parser/colmetadata-token.js +4 -2
  13. package/benchmarks/token-parser/done-token.js +5 -2
  14. package/benchmarks/token-parser/simple-tokens.js +8 -2
  15. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +1 -8
  16. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js.map +1 -1
  17. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +1 -8
  18. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js.map +1 -1
  19. package/lib/always-encrypted/cek-entry.js +1 -7
  20. package/lib/always-encrypted/cek-entry.js.map +1 -1
  21. package/lib/always-encrypted/get-parameter-encryption-metadata.js +1 -1
  22. package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -1
  23. package/lib/always-encrypted/key-crypto.js +1 -1
  24. package/lib/always-encrypted/key-crypto.js.map +1 -1
  25. package/lib/always-encrypted/keystore-provider-azure-key-vault.js +1 -8
  26. package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -1
  27. package/lib/always-encrypted/symmetric-key-cache.js +1 -1
  28. package/lib/always-encrypted/symmetric-key-cache.js.map +1 -1
  29. package/lib/always-encrypted/symmetric-key.js +1 -2
  30. package/lib/always-encrypted/symmetric-key.js.map +1 -1
  31. package/lib/always-encrypted/types.js +1 -1
  32. package/lib/always-encrypted/types.js.map +1 -1
  33. package/lib/bulk-load-payload.js +1 -3
  34. package/lib/bulk-load-payload.js.map +1 -1
  35. package/lib/bulk-load.js +15 -23
  36. package/lib/bulk-load.js.map +1 -1
  37. package/lib/collation.js +1 -7
  38. package/lib/collation.js.map +1 -1
  39. package/lib/connection.js +50 -35
  40. package/lib/connection.js.map +1 -1
  41. package/lib/connector.js +1 -1
  42. package/lib/connector.js.map +1 -1
  43. package/lib/data-type.js +1 -1
  44. package/lib/data-type.js.map +1 -1
  45. package/lib/data-types/bigint.js +1 -1
  46. package/lib/data-types/bigint.js.map +1 -1
  47. package/lib/data-types/binary.js +1 -1
  48. package/lib/data-types/binary.js.map +1 -1
  49. package/lib/data-types/bit.js +1 -1
  50. package/lib/data-types/bit.js.map +1 -1
  51. package/lib/data-types/bitn.js +1 -1
  52. package/lib/data-types/bitn.js.map +1 -1
  53. package/lib/data-types/char.js +1 -1
  54. package/lib/data-types/char.js.map +1 -1
  55. package/lib/data-types/date.js +1 -1
  56. package/lib/data-types/date.js.map +1 -1
  57. package/lib/data-types/datetime.js +1 -1
  58. package/lib/data-types/datetime.js.map +1 -1
  59. package/lib/data-types/datetime2.js +1 -1
  60. package/lib/data-types/datetime2.js.map +1 -1
  61. package/lib/data-types/datetimen.js +1 -1
  62. package/lib/data-types/datetimen.js.map +1 -1
  63. package/lib/data-types/datetimeoffset.js +1 -1
  64. package/lib/data-types/datetimeoffset.js.map +1 -1
  65. package/lib/data-types/decimal.js +1 -1
  66. package/lib/data-types/decimal.js.map +1 -1
  67. package/lib/data-types/decimaln.js +1 -1
  68. package/lib/data-types/decimaln.js.map +1 -1
  69. package/lib/data-types/float.js +1 -1
  70. package/lib/data-types/float.js.map +1 -1
  71. package/lib/data-types/floatn.js +1 -1
  72. package/lib/data-types/floatn.js.map +1 -1
  73. package/lib/data-types/image.js +1 -1
  74. package/lib/data-types/image.js.map +1 -1
  75. package/lib/data-types/int.js +1 -1
  76. package/lib/data-types/int.js.map +1 -1
  77. package/lib/data-types/intn.js +1 -1
  78. package/lib/data-types/intn.js.map +1 -1
  79. package/lib/data-types/money.js +1 -1
  80. package/lib/data-types/money.js.map +1 -1
  81. package/lib/data-types/moneyn.js +1 -1
  82. package/lib/data-types/moneyn.js.map +1 -1
  83. package/lib/data-types/nchar.js +1 -1
  84. package/lib/data-types/nchar.js.map +1 -1
  85. package/lib/data-types/ntext.js +1 -1
  86. package/lib/data-types/ntext.js.map +1 -1
  87. package/lib/data-types/null.js +1 -1
  88. package/lib/data-types/null.js.map +1 -1
  89. package/lib/data-types/numeric.js +1 -1
  90. package/lib/data-types/numeric.js.map +1 -1
  91. package/lib/data-types/numericn.js +1 -1
  92. package/lib/data-types/numericn.js.map +1 -1
  93. package/lib/data-types/nvarchar.js +1 -1
  94. package/lib/data-types/nvarchar.js.map +1 -1
  95. package/lib/data-types/real.js +1 -1
  96. package/lib/data-types/real.js.map +1 -1
  97. package/lib/data-types/smalldatetime.js +1 -1
  98. package/lib/data-types/smalldatetime.js.map +1 -1
  99. package/lib/data-types/smallint.js +1 -1
  100. package/lib/data-types/smallint.js.map +1 -1
  101. package/lib/data-types/smallmoney.js +1 -1
  102. package/lib/data-types/smallmoney.js.map +1 -1
  103. package/lib/data-types/sql-variant.js +1 -1
  104. package/lib/data-types/sql-variant.js.map +1 -1
  105. package/lib/data-types/text.js +1 -1
  106. package/lib/data-types/text.js.map +1 -1
  107. package/lib/data-types/time.js +1 -1
  108. package/lib/data-types/time.js.map +1 -1
  109. package/lib/data-types/tinyint.js +1 -1
  110. package/lib/data-types/tinyint.js.map +1 -1
  111. package/lib/data-types/tvp.js +1 -1
  112. package/lib/data-types/tvp.js.map +1 -1
  113. package/lib/data-types/udt.js +1 -1
  114. package/lib/data-types/udt.js.map +1 -1
  115. package/lib/data-types/uniqueidentifier.js +1 -1
  116. package/lib/data-types/uniqueidentifier.js.map +1 -1
  117. package/lib/data-types/varbinary.js +1 -1
  118. package/lib/data-types/varbinary.js.map +1 -1
  119. package/lib/data-types/varchar.js +1 -1
  120. package/lib/data-types/varchar.js.map +1 -1
  121. package/lib/data-types/xml.js +1 -1
  122. package/lib/data-types/xml.js.map +1 -1
  123. package/lib/debug.js +1 -4
  124. package/lib/debug.js.map +1 -1
  125. package/lib/errors/abort-error.js +1 -2
  126. package/lib/errors/abort-error.js.map +1 -1
  127. package/lib/errors/timeout-error.js +1 -2
  128. package/lib/errors/timeout-error.js.map +1 -1
  129. package/lib/errors.js +1 -10
  130. package/lib/errors.js.map +1 -1
  131. package/lib/incoming-message-stream.js +1 -4
  132. package/lib/incoming-message-stream.js.map +1 -1
  133. package/lib/login7-payload.js +1 -23
  134. package/lib/login7-payload.js.map +1 -1
  135. package/lib/message-io.js +1 -8
  136. package/lib/message-io.js.map +1 -1
  137. package/lib/message.js +1 -4
  138. package/lib/message.js.map +1 -1
  139. package/lib/metadata-parser.js +1 -1
  140. package/lib/metadata-parser.js.map +1 -1
  141. package/lib/ntlm-payload.js +1 -2
  142. package/lib/ntlm-payload.js.map +1 -1
  143. package/lib/outgoing-message-stream.js +1 -5
  144. package/lib/outgoing-message-stream.js.map +1 -1
  145. package/lib/packet.js +1 -2
  146. package/lib/packet.js.map +1 -1
  147. package/lib/prelogin-payload.js +1 -11
  148. package/lib/prelogin-payload.js.map +1 -1
  149. package/lib/request.js +13 -19
  150. package/lib/request.js.map +1 -1
  151. package/lib/rpcrequest-payload.js +1 -6
  152. package/lib/rpcrequest-payload.js.map +1 -1
  153. package/lib/sqlbatch-payload.js +1 -4
  154. package/lib/sqlbatch-payload.js.map +1 -1
  155. package/lib/tedious.js +1 -1
  156. package/lib/tedious.js.map +1 -1
  157. package/lib/token/colmetadata-token-parser.js +1 -1
  158. package/lib/token/colmetadata-token-parser.js.map +1 -1
  159. package/lib/token/done-token-parser.js +1 -1
  160. package/lib/token/done-token-parser.js.map +1 -1
  161. package/lib/token/env-change-token-parser.js +1 -1
  162. package/lib/token/env-change-token-parser.js.map +1 -1
  163. package/lib/token/feature-ext-ack-parser.js +1 -1
  164. package/lib/token/feature-ext-ack-parser.js.map +1 -1
  165. package/lib/token/fedauth-info-parser.js +1 -1
  166. package/lib/token/fedauth-info-parser.js.map +1 -1
  167. package/lib/token/handler.js +3 -13
  168. package/lib/token/handler.js.map +1 -1
  169. package/lib/token/infoerror-token-parser.js +1 -1
  170. package/lib/token/infoerror-token-parser.js.map +1 -1
  171. package/lib/token/loginack-token-parser.js +1 -1
  172. package/lib/token/loginack-token-parser.js.map +1 -1
  173. package/lib/token/nbcrow-token-parser.js +1 -1
  174. package/lib/token/nbcrow-token-parser.js.map +1 -1
  175. package/lib/token/order-token-parser.js +1 -1
  176. package/lib/token/order-token-parser.js.map +1 -1
  177. package/lib/token/returnstatus-token-parser.js +1 -1
  178. package/lib/token/returnstatus-token-parser.js.map +1 -1
  179. package/lib/token/returnvalue-token-parser.js +1 -1
  180. package/lib/token/returnvalue-token-parser.js.map +1 -1
  181. package/lib/token/row-token-parser.js +1 -1
  182. package/lib/token/row-token-parser.js.map +1 -1
  183. package/lib/token/sspi-token-parser.js +1 -1
  184. package/lib/token/sspi-token-parser.js.map +1 -1
  185. package/lib/token/stream-parser.js +1 -10
  186. package/lib/token/stream-parser.js.map +1 -1
  187. package/lib/token/token-stream-parser.js +1 -4
  188. package/lib/token/token-stream-parser.js.map +1 -1
  189. package/lib/token/token.js +2 -88
  190. package/lib/token/token.js.map +1 -1
  191. package/lib/tracking-buffer/writable-tracking-buffer.js +1 -7
  192. package/lib/tracking-buffer/writable-tracking-buffer.js.map +1 -1
  193. package/lib/transaction.js +1 -4
  194. package/lib/transaction.js.map +1 -1
  195. package/lib/value-parser.js +1 -1
  196. package/lib/value-parser.js.map +1 -1
  197. package/package.json +1 -1
  198. package/tsconfig.json +2 -2
  199. package/benchmarks/bulk-load/stream.js +0 -62
  200. package/benchmarks/bulk-load/sync.js +0 -59
@@ -1 +1 @@
1
- {"version":3,"file":"collation.js","names":["codepageByLanguageId","exports","codepageBySortId","Flags","IGNORE_CASE","IGNORE_ACCENT","IGNORE_KANA","IGNORE_WIDTH","BINARY","BINARY2","UTF8","Collation","lcid","flags","version","sortId","codepage","buffer","fromBuffer","offset","constructor","undefined","languageId","toBuffer","Buffer","alloc"],"sources":["../src/collation.ts"],"sourcesContent":["type Encoding = 'utf-8' | 'CP437' | 'CP850' | 'CP874' | 'CP932' | 'CP936' | 'CP949' | 'CP950' | 'CP1250' | 'CP1251' | 'CP1252' | 'CP1253' | 'CP1254' | 'CP1255' | 'CP1256' | 'CP1257' | 'CP1258';\n\n// http://technet.microsoft.com/en-us/library/aa176553(v=sql.80).aspx\nexport const codepageByLanguageId: { [key: number]: Encoding } = {\n // Arabic_*\n [0x0401]: 'CP1256',\n\n // Chinese_Taiwan_Stroke_*\n // Chinese_Traditional_Stroke_Count_*\n // Chinese_Taiwan_Bopomofo_*\n // Chinese_Traditional_Bopomofo_*\n [0x0404]: 'CP950',\n\n // Czech_*\n [0x0405]: 'CP1250',\n\n // Danish_Greenlandic_*\n // Danish_Norwegian_*\n [0x0406]: 'CP1252',\n\n // Greek_*\n [0x0408]: 'CP1253',\n\n // Latin1_General_*\n [0x0409]: 'CP1252',\n\n // Traditional_Spanish_*\n [0x040A]: 'CP1252',\n\n // Finnish_Swedish_*\n [0x040B]: 'CP1252',\n\n // French_*\n [0x040C]: 'CP1252',\n\n // Hebrew_*\n [0x040D]: 'CP1255',\n\n // Hungarian_*\n // Hungarian_Technical_*\n [0x040E]: 'CP1250',\n\n // Icelandic_*\n [0x040F]: 'CP1252',\n\n // Japanese_*\n // Japanese_XJIS_*\n // Japanese_Unicode_*\n // Japanese_Bushu_Kakusu_*\n [0x0411]: 'CP932',\n\n // Korean_*\n // Korean_Wansung_*\n [0x0412]: 'CP949',\n\n // Norwegian_*\n [0x0414]: 'CP1252',\n\n // Polish_*\n [0x0415]: 'CP1250',\n\n // Romansh_*\n [0x0417]: 'CP1252',\n\n // Romanian_*\n [0x0418]: 'CP1250',\n\n // Cyrillic_*\n [0x0419]: 'CP1251',\n\n // Croatian_*\n [0x041A]: 'CP1250',\n\n // Slovak_*\n [0x041B]: 'CP1250',\n\n // Albanian_*\n [0x041C]: 'CP1250',\n\n // Thai_*\n [0x041E]: 'CP874',\n\n // Turkish_*\n [0x041F]: 'CP1254',\n\n // Urdu_*\n [0x0420]: 'CP1256',\n\n // Ukrainian_*\n [0x0422]: 'CP1251',\n\n // Slovenian_*\n [0x0424]: 'CP1250',\n\n // Estonian_*\n [0x0425]: 'CP1257',\n\n // Latvian_*\n [0x0426]: 'CP1257',\n\n // Lithuanian_*\n [0x0427]: 'CP1257',\n\n // Persian_*\n [0x0429]: 'CP1256',\n\n // Vietnamese_*\n [0x042A]: 'CP1258',\n\n // Azeri_Latin_*\n [0x042C]: 'CP1254',\n\n // Upper_Sorbian_*\n [0x042E]: 'CP1252',\n\n // Macedonian_FYROM_*\n [0x042F]: 'CP1251',\n\n // Sami_Norway_*\n [0x043B]: 'CP1252',\n\n // Kazakh_*\n [0x043F]: 'CP1251',\n\n // Turkmen_*\n [0x0442]: 'CP1250',\n\n // Uzbek_Latin_*\n [0x0443]: 'CP1254',\n\n // Tatar_*\n [0x0444]: 'CP1251',\n\n // Welsh_*\n [0x0452]: 'CP1252',\n\n // Frisian_*\n [0x0462]: 'CP1252',\n\n // Bashkir_*\n [0x046D]: 'CP1251',\n\n // Mapudungan_*\n [0x047A]: 'CP1252',\n\n // Mohawk_*\n [0x047C]: 'CP1252',\n\n // Breton_*\n [0x047E]: 'CP1252',\n\n // Uighur_*\n [0x0480]: 'CP1256',\n\n // Corsican_*\n [0x0483]: 'CP1252',\n\n // Yakut_*\n [0x0485]: 'CP1251',\n\n // Dari_*\n [0x048C]: 'CP1256',\n\n // Chinese_PRC_*\n // Chinese_Simplified_Pinyin_*\n // Chinese_PRC_Stroke_*\n // Chinese_Simplified_Stroke_Order_*\n [0x0804]: 'CP936',\n\n // Serbian_Latin_*\n [0x081A]: 'CP1250',\n\n // Azeri_Cyrillic_*\n [0x082C]: 'CP1251',\n\n // Sami_Sweden_Finland_*\n [0x083B]: 'CP1252',\n\n // Tamazight_*\n [0x085F]: 'CP1252',\n\n // Chinese_Hong_Kong_Stroke_*\n [0x0C04]: 'CP950',\n\n // Modern_Spanish_*\n [0x0C0A]: 'CP1252',\n\n // Serbian_Cyrillic_*\n [0x0C1A]: 'CP1251',\n\n // Chinese_Traditional_Pinyin_*\n // Chinese_Traditional_Stroke_Order_*\n [0x1404]: 'CP950',\n\n // Bosnian_Latin_*\n [0x141A]: 'CP1250',\n\n // Bosnian_Cyrillic_*\n [0x201A]: 'CP1251',\n\n // German\n // German_PhoneBook_*\n [0x0407]: 'CP1252',\n\n // Georgian_Modern_Sort_*\n [0x0437]: 'CP1252'\n};\n\nexport const codepageBySortId: { [key: number]: Encoding } = {\n [30]: 'CP437', // SQL_Latin1_General_CP437_BIN\n [31]: 'CP437', // SQL_Latin1_General_CP437_CS_AS\n [32]: 'CP437', // SQL_Latin1_General_CP437_CI_AS\n [33]: 'CP437', // SQL_Latin1_General_Pref_CP437_CI_AS\n [34]: 'CP437', // SQL_Latin1_General_CP437_CI_AI\n [40]: 'CP850', // SQL_Latin1_General_CP850_BIN\n [41]: 'CP850', // SQL_Latin1_General_CP850_CS_AS\n [42]: 'CP850', // SQL_Latin1_General_CP850_CI_AS\n [43]: 'CP850', // SQL_Latin1_General_Pref_CP850_CI_AS\n [44]: 'CP850', // SQL_Latin1_General_CP850_CI_AI\n [49]: 'CP850', // SQL_1xCompat_CP850_CI_AS\n [51]: 'CP1252', // SQL_Latin1_General_Cp1_CS_AS_KI_WI\n [52]: 'CP1252', // SQL_Latin1_General_Cp1_CI_AS_KI_WI\n [53]: 'CP1252', // SQL_Latin1_General_Pref_Cp1_CI_AS_KI_WI\n [54]: 'CP1252', // SQL_Latin1_General_Cp1_CI_AI_KI_WI\n [55]: 'CP850', // SQL_AltDiction_CP850_CS_AS\n [56]: 'CP850', // SQL_AltDiction_Pref_CP850_CI_AS\n [57]: 'CP850', // SQL_AltDiction_CP850_CI_AI\n [58]: 'CP850', // SQL_Scandinavian_Pref_CP850_CI_AS\n [59]: 'CP850', // SQL_Scandinavian_CP850_CS_AS\n [60]: 'CP850', // SQL_Scandinavian_CP850_CI_AS\n [61]: 'CP850', // SQL_AltDiction_CP850_CI_AS\n [80]: 'CP1250', // SQL_Latin1_General_1250_BIN\n [81]: 'CP1250', // SQL_Latin1_General_CP1250_CS_AS\n [82]: 'CP1250', // SQL_Latin1_General_Cp1250_CI_AS_KI_WI\n [83]: 'CP1250', // SQL_Czech_Cp1250_CS_AS_KI_WI\n [84]: 'CP1250', // SQL_Czech_Cp1250_CI_AS_KI_WI\n [85]: 'CP1250', // SQL_Hungarian_Cp1250_CS_AS_KI_WI\n [86]: 'CP1250', // SQL_Hungarian_Cp1250_CI_AS_KI_WI\n [87]: 'CP1250', // SQL_Polish_Cp1250_CS_AS_KI_WI\n [88]: 'CP1250', // SQL_Polish_Cp1250_CI_AS_KI_WI\n [89]: 'CP1250', // SQL_Romanian_Cp1250_CS_AS_KI_WI\n [90]: 'CP1250', // SQL_Romanian_Cp1250_CI_AS_KI_WI\n [91]: 'CP1250', // SQL_Croatian_Cp1250_CS_AS_KI_WI\n [92]: 'CP1250', // SQL_Croatian_Cp1250_CI_AS_KI_WI\n [93]: 'CP1250', // SQL_Slovak_Cp1250_CS_AS_KI_WI\n [94]: 'CP1250', // SQL_Slovak_Cp1250_CI_AS_KI_WI\n [95]: 'CP1250', // SQL_Slovenian_Cp1250_CS_AS_KI_WI\n [96]: 'CP1250', // SQL_Slovenian_Cp1250_CI_AS_KI_WI\n [104]: 'CP1251', // SQL_Latin1_General_1251_BIN\n [105]: 'CP1251', // SQL_Latin1_General_CP1251_CS_AS\n [106]: 'CP1251', // SQL_Latin1_General_CP1251_CI_AS\n [107]: 'CP1251', // SQL_Ukrainian_Cp1251_CS_AS_KI_WI\n [108]: 'CP1251', // SQL_Ukrainian_Cp1251_CI_AS_KI_WI\n [112]: 'CP1253', // SQL_Latin1_General_1253_BIN\n [113]: 'CP1253', // SQL_Latin1_General_CP1253_CS_AS\n [114]: 'CP1253', // SQL_Latin1_General_CP1253_CI_AS\n [120]: 'CP1253', // SQL_MixDiction_CP1253_CS_AS\n [121]: 'CP1253', // SQL_AltDiction_CP1253_CS_AS\n [122]: 'CP1253', // SQL_AltDiction2_CP1253_CS_AS\n [124]: 'CP1253', // SQL_Latin1_General_CP1253_CI_AI\n [128]: 'CP1254', // SQL_Latin1_General_1254_BIN\n [129]: 'CP1254', // SQL_Latin1_General_Cp1254_CS_AS_KI_WI\n [130]: 'CP1254', // SQL_Latin1_General_Cp1254_CI_AS_KI_WI\n [136]: 'CP1255', // SQL_Latin1_General_1255_BIN\n [137]: 'CP1255', // SQL_Latin1_General_CP1255_CS_AS\n [138]: 'CP1255', // SQL_Latin1_General_CP1255_CI_AS\n [144]: 'CP1256', // SQL_Latin1_General_1256_BIN\n [145]: 'CP1256', // SQL_Latin1_General_CP1256_CS_AS\n [146]: 'CP1256', // SQL_Latin1_General_CP1256_CI_AS\n [152]: 'CP1257', // SQL_Latin1_General_1257_BIN\n [153]: 'CP1257', // SQL_Latin1_General_CP1257_CS_AS\n [154]: 'CP1257', // SQL_Latin1_General_CP1257_CI_AS\n [155]: 'CP1257', // SQL_Estonian_Cp1257_CS_AS_KI_WI\n [156]: 'CP1257', // SQL_Estonian_Cp1257_CI_AS_KI_WI\n [157]: 'CP1257', // SQL_Latvian_Cp1257_CS_AS_KI_WI\n [158]: 'CP1257', // SQL_Latvian_Cp1257_CI_AS_KI_WI\n [159]: 'CP1257', // SQL_Lithuanian_Cp1257_CS_AS_KI_WI\n [160]: 'CP1257', // SQL_Lithuanian_Cp1257_CI_AS_KI_WI\n [183]: 'CP1252', // SQL_Danish_Pref_Cp1_CI_AS_KI_WI\n [184]: 'CP1252', // SQL_SwedishPhone_Pref_Cp1_CI_AS_KI_WI\n [185]: 'CP1252', // SQL_SwedishStd_Pref_Cp1_CI_AS_KI_WI\n [186]: 'CP1252' // SQL_Icelandic_Pref_Cp1_CI_AS_KI_WI\n};\n\nexport const Flags = {\n IGNORE_CASE: 1 << 0,\n IGNORE_ACCENT: 1 << 1,\n IGNORE_KANA: 1 << 2,\n IGNORE_WIDTH: 1 << 3,\n BINARY: 1 << 4,\n BINARY2: 1 << 5,\n UTF8: 1 << 6,\n};\n\nexport class Collation {\n readonly lcid: number;\n readonly flags: number;\n readonly version: number;\n readonly sortId: number;\n readonly codepage: Encoding | undefined;\n\n private buffer: Buffer | undefined;\n\n static fromBuffer(buffer: Buffer, offset = 0) {\n let lcid = (buffer[offset + 2] & 0x0F) << 16;\n lcid |= buffer[offset + 1] << 8;\n lcid |= buffer[offset + 0];\n\n let flags = (buffer[offset + 3] & 0x0F) << 4;\n flags |= (buffer[offset + 2] & 0xF0) >>> 4;\n\n const version = (buffer[offset + 3] & 0xF0) >>> 4;\n\n const sortId = buffer[offset + 4];\n\n return new this(lcid, flags, version, sortId);\n }\n\n constructor(lcid: number, flags: number, version: number, sortId: number) {\n this.buffer = undefined;\n\n this.lcid = lcid;\n this.flags = flags;\n this.version = version;\n this.sortId = sortId;\n\n if (this.flags & Flags.UTF8) {\n this.codepage = 'utf-8';\n } else if (this.sortId) {\n this.codepage = codepageBySortId[this.sortId];\n } else {\n // The last 16 bits of the LCID are the language id.\n // The first 4 bits define additional sort orders.\n const languageId = this.lcid & 0xFFFF;\n this.codepage = codepageByLanguageId[languageId];\n }\n }\n\n toBuffer(): Buffer {\n if (this.buffer) {\n return this.buffer;\n }\n\n this.buffer = Buffer.alloc(5);\n\n this.buffer[0] = this.lcid & 0xFF;\n this.buffer[1] = (this.lcid >>> 8) & 0xFF;\n this.buffer[2] = ((this.lcid >>> 16) & 0x0F) | ((this.flags & 0x0F) << 4);\n this.buffer[3] = ((this.flags & 0xF0) >>> 4) | ((this.version & 0x0F) << 4);\n this.buffer[4] = this.sortId & 0xFF;\n\n return this.buffer;\n }\n}\n"],"mappings":"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,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC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"}
1
+ {"version":3,"file":"collation.js","names":["codepageByLanguageId","exports","codepageBySortId","Flags","IGNORE_CASE","IGNORE_ACCENT","IGNORE_KANA","IGNORE_WIDTH","BINARY","BINARY2","UTF8","Collation","fromBuffer","buffer","offset","lcid","flags","version","sortId","constructor","undefined","codepage","languageId","toBuffer","Buffer","alloc"],"sources":["../src/collation.ts"],"sourcesContent":["type Encoding = 'utf-8' | 'CP437' | 'CP850' | 'CP874' | 'CP932' | 'CP936' | 'CP949' | 'CP950' | 'CP1250' | 'CP1251' | 'CP1252' | 'CP1253' | 'CP1254' | 'CP1255' | 'CP1256' | 'CP1257' | 'CP1258';\n\n// http://technet.microsoft.com/en-us/library/aa176553(v=sql.80).aspx\nexport const codepageByLanguageId: { [key: number]: Encoding } = {\n // Arabic_*\n [0x0401]: 'CP1256',\n\n // Chinese_Taiwan_Stroke_*\n // Chinese_Traditional_Stroke_Count_*\n // Chinese_Taiwan_Bopomofo_*\n // Chinese_Traditional_Bopomofo_*\n [0x0404]: 'CP950',\n\n // Czech_*\n [0x0405]: 'CP1250',\n\n // Danish_Greenlandic_*\n // Danish_Norwegian_*\n [0x0406]: 'CP1252',\n\n // Greek_*\n [0x0408]: 'CP1253',\n\n // Latin1_General_*\n [0x0409]: 'CP1252',\n\n // Traditional_Spanish_*\n [0x040A]: 'CP1252',\n\n // Finnish_Swedish_*\n [0x040B]: 'CP1252',\n\n // French_*\n [0x040C]: 'CP1252',\n\n // Hebrew_*\n [0x040D]: 'CP1255',\n\n // Hungarian_*\n // Hungarian_Technical_*\n [0x040E]: 'CP1250',\n\n // Icelandic_*\n [0x040F]: 'CP1252',\n\n // Japanese_*\n // Japanese_XJIS_*\n // Japanese_Unicode_*\n // Japanese_Bushu_Kakusu_*\n [0x0411]: 'CP932',\n\n // Korean_*\n // Korean_Wansung_*\n [0x0412]: 'CP949',\n\n // Norwegian_*\n [0x0414]: 'CP1252',\n\n // Polish_*\n [0x0415]: 'CP1250',\n\n // Romansh_*\n [0x0417]: 'CP1252',\n\n // Romanian_*\n [0x0418]: 'CP1250',\n\n // Cyrillic_*\n [0x0419]: 'CP1251',\n\n // Croatian_*\n [0x041A]: 'CP1250',\n\n // Slovak_*\n [0x041B]: 'CP1250',\n\n // Albanian_*\n [0x041C]: 'CP1250',\n\n // Thai_*\n [0x041E]: 'CP874',\n\n // Turkish_*\n [0x041F]: 'CP1254',\n\n // Urdu_*\n [0x0420]: 'CP1256',\n\n // Ukrainian_*\n [0x0422]: 'CP1251',\n\n // Slovenian_*\n [0x0424]: 'CP1250',\n\n // Estonian_*\n [0x0425]: 'CP1257',\n\n // Latvian_*\n [0x0426]: 'CP1257',\n\n // Lithuanian_*\n [0x0427]: 'CP1257',\n\n // Persian_*\n [0x0429]: 'CP1256',\n\n // Vietnamese_*\n [0x042A]: 'CP1258',\n\n // Azeri_Latin_*\n [0x042C]: 'CP1254',\n\n // Upper_Sorbian_*\n [0x042E]: 'CP1252',\n\n // Macedonian_FYROM_*\n [0x042F]: 'CP1251',\n\n // Sami_Norway_*\n [0x043B]: 'CP1252',\n\n // Kazakh_*\n [0x043F]: 'CP1251',\n\n // Turkmen_*\n [0x0442]: 'CP1250',\n\n // Uzbek_Latin_*\n [0x0443]: 'CP1254',\n\n // Tatar_*\n [0x0444]: 'CP1251',\n\n // Welsh_*\n [0x0452]: 'CP1252',\n\n // Frisian_*\n [0x0462]: 'CP1252',\n\n // Bashkir_*\n [0x046D]: 'CP1251',\n\n // Mapudungan_*\n [0x047A]: 'CP1252',\n\n // Mohawk_*\n [0x047C]: 'CP1252',\n\n // Breton_*\n [0x047E]: 'CP1252',\n\n // Uighur_*\n [0x0480]: 'CP1256',\n\n // Corsican_*\n [0x0483]: 'CP1252',\n\n // Yakut_*\n [0x0485]: 'CP1251',\n\n // Dari_*\n [0x048C]: 'CP1256',\n\n // Chinese_PRC_*\n // Chinese_Simplified_Pinyin_*\n // Chinese_PRC_Stroke_*\n // Chinese_Simplified_Stroke_Order_*\n [0x0804]: 'CP936',\n\n // Serbian_Latin_*\n [0x081A]: 'CP1250',\n\n // Azeri_Cyrillic_*\n [0x082C]: 'CP1251',\n\n // Sami_Sweden_Finland_*\n [0x083B]: 'CP1252',\n\n // Tamazight_*\n [0x085F]: 'CP1252',\n\n // Chinese_Hong_Kong_Stroke_*\n [0x0C04]: 'CP950',\n\n // Modern_Spanish_*\n [0x0C0A]: 'CP1252',\n\n // Serbian_Cyrillic_*\n [0x0C1A]: 'CP1251',\n\n // Chinese_Traditional_Pinyin_*\n // Chinese_Traditional_Stroke_Order_*\n [0x1404]: 'CP950',\n\n // Bosnian_Latin_*\n [0x141A]: 'CP1250',\n\n // Bosnian_Cyrillic_*\n [0x201A]: 'CP1251',\n\n // German\n // German_PhoneBook_*\n [0x0407]: 'CP1252',\n\n // Georgian_Modern_Sort_*\n [0x0437]: 'CP1252'\n};\n\nexport const codepageBySortId: { [key: number]: Encoding } = {\n [30]: 'CP437', // SQL_Latin1_General_CP437_BIN\n [31]: 'CP437', // SQL_Latin1_General_CP437_CS_AS\n [32]: 'CP437', // SQL_Latin1_General_CP437_CI_AS\n [33]: 'CP437', // SQL_Latin1_General_Pref_CP437_CI_AS\n [34]: 'CP437', // SQL_Latin1_General_CP437_CI_AI\n [40]: 'CP850', // SQL_Latin1_General_CP850_BIN\n [41]: 'CP850', // SQL_Latin1_General_CP850_CS_AS\n [42]: 'CP850', // SQL_Latin1_General_CP850_CI_AS\n [43]: 'CP850', // SQL_Latin1_General_Pref_CP850_CI_AS\n [44]: 'CP850', // SQL_Latin1_General_CP850_CI_AI\n [49]: 'CP850', // SQL_1xCompat_CP850_CI_AS\n [51]: 'CP1252', // SQL_Latin1_General_Cp1_CS_AS_KI_WI\n [52]: 'CP1252', // SQL_Latin1_General_Cp1_CI_AS_KI_WI\n [53]: 'CP1252', // SQL_Latin1_General_Pref_Cp1_CI_AS_KI_WI\n [54]: 'CP1252', // SQL_Latin1_General_Cp1_CI_AI_KI_WI\n [55]: 'CP850', // SQL_AltDiction_CP850_CS_AS\n [56]: 'CP850', // SQL_AltDiction_Pref_CP850_CI_AS\n [57]: 'CP850', // SQL_AltDiction_CP850_CI_AI\n [58]: 'CP850', // SQL_Scandinavian_Pref_CP850_CI_AS\n [59]: 'CP850', // SQL_Scandinavian_CP850_CS_AS\n [60]: 'CP850', // SQL_Scandinavian_CP850_CI_AS\n [61]: 'CP850', // SQL_AltDiction_CP850_CI_AS\n [80]: 'CP1250', // SQL_Latin1_General_1250_BIN\n [81]: 'CP1250', // SQL_Latin1_General_CP1250_CS_AS\n [82]: 'CP1250', // SQL_Latin1_General_Cp1250_CI_AS_KI_WI\n [83]: 'CP1250', // SQL_Czech_Cp1250_CS_AS_KI_WI\n [84]: 'CP1250', // SQL_Czech_Cp1250_CI_AS_KI_WI\n [85]: 'CP1250', // SQL_Hungarian_Cp1250_CS_AS_KI_WI\n [86]: 'CP1250', // SQL_Hungarian_Cp1250_CI_AS_KI_WI\n [87]: 'CP1250', // SQL_Polish_Cp1250_CS_AS_KI_WI\n [88]: 'CP1250', // SQL_Polish_Cp1250_CI_AS_KI_WI\n [89]: 'CP1250', // SQL_Romanian_Cp1250_CS_AS_KI_WI\n [90]: 'CP1250', // SQL_Romanian_Cp1250_CI_AS_KI_WI\n [91]: 'CP1250', // SQL_Croatian_Cp1250_CS_AS_KI_WI\n [92]: 'CP1250', // SQL_Croatian_Cp1250_CI_AS_KI_WI\n [93]: 'CP1250', // SQL_Slovak_Cp1250_CS_AS_KI_WI\n [94]: 'CP1250', // SQL_Slovak_Cp1250_CI_AS_KI_WI\n [95]: 'CP1250', // SQL_Slovenian_Cp1250_CS_AS_KI_WI\n [96]: 'CP1250', // SQL_Slovenian_Cp1250_CI_AS_KI_WI\n [104]: 'CP1251', // SQL_Latin1_General_1251_BIN\n [105]: 'CP1251', // SQL_Latin1_General_CP1251_CS_AS\n [106]: 'CP1251', // SQL_Latin1_General_CP1251_CI_AS\n [107]: 'CP1251', // SQL_Ukrainian_Cp1251_CS_AS_KI_WI\n [108]: 'CP1251', // SQL_Ukrainian_Cp1251_CI_AS_KI_WI\n [112]: 'CP1253', // SQL_Latin1_General_1253_BIN\n [113]: 'CP1253', // SQL_Latin1_General_CP1253_CS_AS\n [114]: 'CP1253', // SQL_Latin1_General_CP1253_CI_AS\n [120]: 'CP1253', // SQL_MixDiction_CP1253_CS_AS\n [121]: 'CP1253', // SQL_AltDiction_CP1253_CS_AS\n [122]: 'CP1253', // SQL_AltDiction2_CP1253_CS_AS\n [124]: 'CP1253', // SQL_Latin1_General_CP1253_CI_AI\n [128]: 'CP1254', // SQL_Latin1_General_1254_BIN\n [129]: 'CP1254', // SQL_Latin1_General_Cp1254_CS_AS_KI_WI\n [130]: 'CP1254', // SQL_Latin1_General_Cp1254_CI_AS_KI_WI\n [136]: 'CP1255', // SQL_Latin1_General_1255_BIN\n [137]: 'CP1255', // SQL_Latin1_General_CP1255_CS_AS\n [138]: 'CP1255', // SQL_Latin1_General_CP1255_CI_AS\n [144]: 'CP1256', // SQL_Latin1_General_1256_BIN\n [145]: 'CP1256', // SQL_Latin1_General_CP1256_CS_AS\n [146]: 'CP1256', // SQL_Latin1_General_CP1256_CI_AS\n [152]: 'CP1257', // SQL_Latin1_General_1257_BIN\n [153]: 'CP1257', // SQL_Latin1_General_CP1257_CS_AS\n [154]: 'CP1257', // SQL_Latin1_General_CP1257_CI_AS\n [155]: 'CP1257', // SQL_Estonian_Cp1257_CS_AS_KI_WI\n [156]: 'CP1257', // SQL_Estonian_Cp1257_CI_AS_KI_WI\n [157]: 'CP1257', // SQL_Latvian_Cp1257_CS_AS_KI_WI\n [158]: 'CP1257', // SQL_Latvian_Cp1257_CI_AS_KI_WI\n [159]: 'CP1257', // SQL_Lithuanian_Cp1257_CS_AS_KI_WI\n [160]: 'CP1257', // SQL_Lithuanian_Cp1257_CI_AS_KI_WI\n [183]: 'CP1252', // SQL_Danish_Pref_Cp1_CI_AS_KI_WI\n [184]: 'CP1252', // SQL_SwedishPhone_Pref_Cp1_CI_AS_KI_WI\n [185]: 'CP1252', // SQL_SwedishStd_Pref_Cp1_CI_AS_KI_WI\n [186]: 'CP1252' // SQL_Icelandic_Pref_Cp1_CI_AS_KI_WI\n};\n\nexport const Flags = {\n IGNORE_CASE: 1 << 0,\n IGNORE_ACCENT: 1 << 1,\n IGNORE_KANA: 1 << 2,\n IGNORE_WIDTH: 1 << 3,\n BINARY: 1 << 4,\n BINARY2: 1 << 5,\n UTF8: 1 << 6,\n};\n\nexport class Collation {\n declare readonly lcid: number;\n declare readonly flags: number;\n declare readonly version: number;\n declare readonly sortId: number;\n declare readonly codepage: Encoding | undefined;\n\n declare private buffer: Buffer | undefined;\n\n static fromBuffer(buffer: Buffer, offset = 0) {\n let lcid = (buffer[offset + 2] & 0x0F) << 16;\n lcid |= buffer[offset + 1] << 8;\n lcid |= buffer[offset + 0];\n\n let flags = (buffer[offset + 3] & 0x0F) << 4;\n flags |= (buffer[offset + 2] & 0xF0) >>> 4;\n\n const version = (buffer[offset + 3] & 0xF0) >>> 4;\n\n const sortId = buffer[offset + 4];\n\n return new this(lcid, flags, version, sortId);\n }\n\n constructor(lcid: number, flags: number, version: number, sortId: number) {\n this.buffer = undefined;\n\n this.lcid = lcid;\n this.flags = flags;\n this.version = version;\n this.sortId = sortId;\n\n if (this.flags & Flags.UTF8) {\n this.codepage = 'utf-8';\n } else if (this.sortId) {\n this.codepage = codepageBySortId[this.sortId];\n } else {\n // The last 16 bits of the LCID are the language id.\n // The first 4 bits define additional sort orders.\n const languageId = this.lcid & 0xFFFF;\n this.codepage = codepageByLanguageId[languageId];\n }\n }\n\n toBuffer(): Buffer {\n if (this.buffer) {\n return this.buffer;\n }\n\n this.buffer = Buffer.alloc(5);\n\n this.buffer[0] = this.lcid & 0xFF;\n this.buffer[1] = (this.lcid >>> 8) & 0xFF;\n this.buffer[2] = ((this.lcid >>> 16) & 0x0F) | ((this.flags & 0x0F) << 4);\n this.buffer[3] = ((this.flags & 0xF0) >>> 4) | ((this.version & 0x0F) << 4);\n this.buffer[4] = this.sortId & 0xFF;\n\n return this.buffer;\n }\n}\n"],"mappings":"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,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,OAAO;EAAE;EACf,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,EAAE,GAAG,QAAQ;EAAE;EAChB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC,GAAG,GAAG,QAAQ;EAAE;EACjB,CAAC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"}