node-server-dev 3.1.5 → 3.1.6

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 (347) hide show
  1. package/dist/cjs/browser.js +1 -1
  2. package/dist/cjs/build.d.ts +2 -0
  3. package/dist/cjs/build.d.ts.map +1 -0
  4. package/dist/cjs/build.js +1 -0
  5. package/dist/cjs/getAllRouter/index.js +1 -1
  6. package/dist/cjs/hash/index.js +1 -1
  7. package/dist/cjs/id/index.js +1 -1
  8. package/dist/cjs/id/random.js +1 -1
  9. package/dist/cjs/index.js +1 -1
  10. package/dist/cjs/jwt/index.js +1 -1
  11. package/dist/cjs/mac/index.js +1 -1
  12. package/dist/cjs/package/mysql2/License +19 -0
  13. package/dist/cjs/package/mysql2/README.md +114 -0
  14. package/dist/cjs/package/mysql2/index.d.ts +1 -0
  15. package/dist/cjs/package/mysql2/index.js +77 -0
  16. package/dist/cjs/package/mysql2/lib/auth_41.js +95 -0
  17. package/dist/cjs/package/mysql2/lib/auth_plugins/caching_sha2_password.js +108 -0
  18. package/dist/cjs/package/mysql2/lib/auth_plugins/caching_sha2_password.md +18 -0
  19. package/dist/cjs/package/mysql2/lib/auth_plugins/index.js +8 -0
  20. package/dist/cjs/package/mysql2/lib/auth_plugins/mysql_clear_password.js +17 -0
  21. package/dist/cjs/package/mysql2/lib/auth_plugins/mysql_native_password.js +34 -0
  22. package/dist/cjs/package/mysql2/lib/auth_plugins/sha256_password.js +59 -0
  23. package/dist/cjs/package/mysql2/lib/base/connection.js +945 -0
  24. package/dist/cjs/package/mysql2/lib/base/pool.js +233 -0
  25. package/dist/cjs/package/mysql2/lib/base/pool_connection.js +63 -0
  26. package/dist/cjs/package/mysql2/lib/commands/auth_switch.js +111 -0
  27. package/dist/cjs/package/mysql2/lib/commands/binlog_dump.js +109 -0
  28. package/dist/cjs/package/mysql2/lib/commands/change_user.js +68 -0
  29. package/dist/cjs/package/mysql2/lib/commands/client_handshake.js +241 -0
  30. package/dist/cjs/package/mysql2/lib/commands/close_statement.js +18 -0
  31. package/dist/cjs/package/mysql2/lib/commands/command.js +54 -0
  32. package/dist/cjs/package/mysql2/lib/commands/execute.js +112 -0
  33. package/dist/cjs/package/mysql2/lib/commands/index.js +27 -0
  34. package/dist/cjs/package/mysql2/lib/commands/ping.js +36 -0
  35. package/dist/cjs/package/mysql2/lib/commands/prepare.js +143 -0
  36. package/dist/cjs/package/mysql2/lib/commands/query.js +329 -0
  37. package/dist/cjs/package/mysql2/lib/commands/quit.js +29 -0
  38. package/dist/cjs/package/mysql2/lib/commands/register_slave.js +27 -0
  39. package/dist/cjs/package/mysql2/lib/commands/server_handshake.js +203 -0
  40. package/dist/cjs/package/mysql2/lib/compressed_protocol.js +127 -0
  41. package/dist/cjs/package/mysql2/lib/connection.js +12 -0
  42. package/dist/cjs/package/mysql2/lib/connection_config.js +292 -0
  43. package/dist/cjs/package/mysql2/lib/constants/charset_encodings.js +316 -0
  44. package/dist/cjs/package/mysql2/lib/constants/charsets.js +317 -0
  45. package/dist/cjs/package/mysql2/lib/constants/client.js +39 -0
  46. package/dist/cjs/package/mysql2/lib/constants/commands.js +36 -0
  47. package/dist/cjs/package/mysql2/lib/constants/cursor.js +8 -0
  48. package/dist/cjs/package/mysql2/lib/constants/encoding_charset.js +49 -0
  49. package/dist/cjs/package/mysql2/lib/constants/errors.js +3973 -0
  50. package/dist/cjs/package/mysql2/lib/constants/field_flags.js +20 -0
  51. package/dist/cjs/package/mysql2/lib/constants/server_status.js +44 -0
  52. package/dist/cjs/package/mysql2/lib/constants/session_track.js +11 -0
  53. package/dist/cjs/package/mysql2/lib/constants/ssl_profiles.js +11 -0
  54. package/dist/cjs/package/mysql2/lib/constants/types.js +64 -0
  55. package/dist/cjs/package/mysql2/lib/create_connection.js +10 -0
  56. package/dist/cjs/package/mysql2/lib/create_pool.js +10 -0
  57. package/dist/cjs/package/mysql2/lib/create_pool_cluster.js +9 -0
  58. package/dist/cjs/package/mysql2/lib/helpers.js +86 -0
  59. package/dist/cjs/package/mysql2/lib/packet_parser.js +195 -0
  60. package/dist/cjs/package/mysql2/lib/packets/auth_next_factor.js +35 -0
  61. package/dist/cjs/package/mysql2/lib/packets/auth_switch_request.js +38 -0
  62. package/dist/cjs/package/mysql2/lib/packets/auth_switch_request_more_data.js +33 -0
  63. package/dist/cjs/package/mysql2/lib/packets/auth_switch_response.js +30 -0
  64. package/dist/cjs/package/mysql2/lib/packets/binary_row.js +95 -0
  65. package/dist/cjs/package/mysql2/lib/packets/binlog_dump.js +33 -0
  66. package/dist/cjs/package/mysql2/lib/packets/binlog_query_statusvars.js +115 -0
  67. package/dist/cjs/package/mysql2/lib/packets/change_user.js +97 -0
  68. package/dist/cjs/package/mysql2/lib/packets/close_statement.js +21 -0
  69. package/dist/cjs/package/mysql2/lib/packets/column_definition.js +291 -0
  70. package/dist/cjs/package/mysql2/lib/packets/execute.js +214 -0
  71. package/dist/cjs/package/mysql2/lib/packets/handshake.js +112 -0
  72. package/dist/cjs/package/mysql2/lib/packets/handshake_response.js +144 -0
  73. package/dist/cjs/package/mysql2/lib/packets/index.js +152 -0
  74. package/dist/cjs/package/mysql2/lib/packets/packet.js +931 -0
  75. package/dist/cjs/package/mysql2/lib/packets/prepare_statement.js +27 -0
  76. package/dist/cjs/package/mysql2/lib/packets/prepared_statement_header.js +16 -0
  77. package/dist/cjs/package/mysql2/lib/packets/query.js +27 -0
  78. package/dist/cjs/package/mysql2/lib/packets/register_slave.js +46 -0
  79. package/dist/cjs/package/mysql2/lib/packets/resultset_header.js +118 -0
  80. package/dist/cjs/package/mysql2/lib/packets/ssl_request.js +25 -0
  81. package/dist/cjs/package/mysql2/lib/packets/text_row.js +47 -0
  82. package/dist/cjs/package/mysql2/lib/parsers/binary_parser.js +231 -0
  83. package/dist/cjs/package/mysql2/lib/parsers/parser_cache.js +66 -0
  84. package/dist/cjs/package/mysql2/lib/parsers/static_binary_parser.js +211 -0
  85. package/dist/cjs/package/mysql2/lib/parsers/static_text_parser.js +152 -0
  86. package/dist/cjs/package/mysql2/lib/parsers/string.js +50 -0
  87. package/dist/cjs/package/mysql2/lib/parsers/text_parser.js +214 -0
  88. package/dist/cjs/package/mysql2/lib/pool.js +12 -0
  89. package/dist/cjs/package/mysql2/lib/pool_cluster.js +369 -0
  90. package/dist/cjs/package/mysql2/lib/pool_config.js +30 -0
  91. package/dist/cjs/package/mysql2/lib/pool_connection.js +12 -0
  92. package/dist/cjs/package/mysql2/lib/promise/connection.js +222 -0
  93. package/dist/cjs/package/mysql2/lib/promise/inherit_events.js +27 -0
  94. package/dist/cjs/package/mysql2/lib/promise/make_done_cb.js +19 -0
  95. package/dist/cjs/package/mysql2/lib/promise/pool.js +112 -0
  96. package/dist/cjs/package/mysql2/lib/promise/pool_cluster.js +54 -0
  97. package/dist/cjs/package/mysql2/lib/promise/pool_connection.js +19 -0
  98. package/dist/cjs/package/mysql2/lib/promise/prepared_statement_info.js +32 -0
  99. package/dist/cjs/package/mysql2/lib/results_stream.js +38 -0
  100. package/dist/cjs/package/mysql2/lib/server.js +37 -0
  101. package/dist/cjs/package/mysql2/package.json +80 -0
  102. package/dist/cjs/package/mysql2/promise.d.ts +131 -0
  103. package/dist/cjs/package/mysql2/promise.js +202 -0
  104. package/dist/cjs/package/mysql2/typings/mysql/LICENSE.txt +15 -0
  105. package/dist/cjs/package/mysql2/typings/mysql/index.d.ts +95 -0
  106. package/dist/cjs/package/mysql2/typings/mysql/info.txt +1 -0
  107. package/dist/cjs/package/mysql2/typings/mysql/lib/Auth.d.ts +30 -0
  108. package/dist/cjs/package/mysql2/typings/mysql/lib/Connection.d.ts +428 -0
  109. package/dist/cjs/package/mysql2/typings/mysql/lib/Pool.d.ts +69 -0
  110. package/dist/cjs/package/mysql2/typings/mysql/lib/PoolCluster.d.ts +90 -0
  111. package/dist/cjs/package/mysql2/typings/mysql/lib/PoolConnection.d.ts +10 -0
  112. package/dist/cjs/package/mysql2/typings/mysql/lib/Server.d.ts +11 -0
  113. package/dist/cjs/package/mysql2/typings/mysql/lib/constants/CharsetToEncoding.d.ts +8 -0
  114. package/dist/cjs/package/mysql2/typings/mysql/lib/constants/Charsets.d.ts +326 -0
  115. package/dist/cjs/package/mysql2/typings/mysql/lib/constants/Types.d.ts +70 -0
  116. package/dist/cjs/package/mysql2/typings/mysql/lib/constants/index.d.ts +5 -0
  117. package/dist/cjs/package/mysql2/typings/mysql/lib/parsers/ParserCache.d.ts +4 -0
  118. package/dist/cjs/package/mysql2/typings/mysql/lib/parsers/index.d.ts +18 -0
  119. package/dist/cjs/package/mysql2/typings/mysql/lib/parsers/typeCast.d.ts +54 -0
  120. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/Field.d.ts +10 -0
  121. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/FieldPacket.d.ts +27 -0
  122. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/OkPacket.d.ts +23 -0
  123. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/ProcedurePacket.d.ts +13 -0
  124. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/ResultSetHeader.d.ts +18 -0
  125. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/RowDataPacket.d.ts +9 -0
  126. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/index.d.ts +28 -0
  127. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/params/ErrorPacketParams.d.ts +6 -0
  128. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/params/OkPacketParams.d.ts +9 -0
  129. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/ExecutableBase.d.ts +40 -0
  130. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/Prepare.d.ts +65 -0
  131. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/Query.d.ts +170 -0
  132. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/QueryableBase.d.ts +40 -0
  133. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/Sequence.d.ts +5 -0
  134. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/promise/ExecutableBase.d.ts +21 -0
  135. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/promise/QueryableBase.d.ts +21 -0
  136. package/dist/cjs/server.d.ts +1 -1
  137. package/dist/cjs/server.d.ts.map +1 -1
  138. package/dist/cjs/server.js +1 -1
  139. package/dist/cjs/src/browser.d.ts +3 -0
  140. package/dist/cjs/src/browser.d.ts.map +1 -0
  141. package/dist/cjs/src/browser.js +1 -0
  142. package/dist/cjs/src/getAllRouter/index.d.ts +3 -0
  143. package/dist/cjs/src/getAllRouter/index.d.ts.map +1 -0
  144. package/dist/cjs/src/getAllRouter/index.js +1 -0
  145. package/dist/cjs/src/hash/index.d.ts +4 -0
  146. package/dist/cjs/src/hash/index.d.ts.map +1 -0
  147. package/dist/cjs/src/hash/index.js +1 -0
  148. package/dist/cjs/src/id/index.d.ts +3 -0
  149. package/dist/cjs/src/id/index.d.ts.map +1 -0
  150. package/dist/cjs/src/id/index.js +1 -0
  151. package/dist/cjs/src/id/random.d.ts +4 -0
  152. package/dist/cjs/src/id/random.d.ts.map +1 -0
  153. package/dist/cjs/src/id/random.js +1 -0
  154. package/dist/cjs/src/index.d.ts +25 -0
  155. package/dist/cjs/src/index.d.ts.map +1 -0
  156. package/dist/cjs/src/index.js +1 -0
  157. package/dist/cjs/src/jwt/index.d.ts +9 -0
  158. package/dist/cjs/src/jwt/index.d.ts.map +1 -0
  159. package/dist/cjs/src/jwt/index.js +1 -0
  160. package/dist/cjs/src/mac/index.d.ts +6 -0
  161. package/dist/cjs/src/mac/index.d.ts.map +1 -0
  162. package/dist/cjs/src/mac/index.js +1 -0
  163. package/dist/cjs/src/server.d.ts +7 -0
  164. package/dist/cjs/src/server.d.ts.map +1 -0
  165. package/dist/cjs/src/server.js +1 -0
  166. package/dist/cjs/src/start.d.ts +4 -0
  167. package/dist/cjs/src/start.d.ts.map +1 -0
  168. package/dist/cjs/src/start.js +1 -0
  169. package/dist/cjs/src/update.d.ts +3 -0
  170. package/dist/cjs/src/update.d.ts.map +1 -0
  171. package/dist/cjs/src/update.js +1 -0
  172. package/dist/cjs/start.js +1 -1
  173. package/dist/cjs/update.js +1 -1
  174. package/dist/esm/browser.js +1 -1
  175. package/dist/esm/build.d.ts +2 -0
  176. package/dist/esm/build.d.ts.map +1 -0
  177. package/dist/esm/build.js +1 -0
  178. package/dist/esm/getAllRouter/index.js +1 -1
  179. package/dist/esm/hash/index.js +1 -1
  180. package/dist/esm/id/index.js +1 -1
  181. package/dist/esm/id/random.js +1 -1
  182. package/dist/esm/index.js +1 -1
  183. package/dist/esm/jwt/index.js +1 -1
  184. package/dist/esm/mac/index.js +1 -1
  185. package/dist/esm/package/mysql2/License +19 -0
  186. package/dist/esm/package/mysql2/README.md +114 -0
  187. package/dist/esm/package/mysql2/index.d.ts +1 -0
  188. package/dist/esm/package/mysql2/index.js +77 -0
  189. package/dist/esm/package/mysql2/lib/auth_41.js +95 -0
  190. package/dist/esm/package/mysql2/lib/auth_plugins/caching_sha2_password.js +108 -0
  191. package/dist/esm/package/mysql2/lib/auth_plugins/caching_sha2_password.md +18 -0
  192. package/dist/esm/package/mysql2/lib/auth_plugins/index.js +8 -0
  193. package/dist/esm/package/mysql2/lib/auth_plugins/mysql_clear_password.js +17 -0
  194. package/dist/esm/package/mysql2/lib/auth_plugins/mysql_native_password.js +34 -0
  195. package/dist/esm/package/mysql2/lib/auth_plugins/sha256_password.js +59 -0
  196. package/dist/esm/package/mysql2/lib/base/connection.js +945 -0
  197. package/dist/esm/package/mysql2/lib/base/pool.js +233 -0
  198. package/dist/esm/package/mysql2/lib/base/pool_connection.js +63 -0
  199. package/dist/esm/package/mysql2/lib/commands/auth_switch.js +111 -0
  200. package/dist/esm/package/mysql2/lib/commands/binlog_dump.js +109 -0
  201. package/dist/esm/package/mysql2/lib/commands/change_user.js +68 -0
  202. package/dist/esm/package/mysql2/lib/commands/client_handshake.js +241 -0
  203. package/dist/esm/package/mysql2/lib/commands/close_statement.js +18 -0
  204. package/dist/esm/package/mysql2/lib/commands/command.js +54 -0
  205. package/dist/esm/package/mysql2/lib/commands/execute.js +112 -0
  206. package/dist/esm/package/mysql2/lib/commands/index.js +27 -0
  207. package/dist/esm/package/mysql2/lib/commands/ping.js +36 -0
  208. package/dist/esm/package/mysql2/lib/commands/prepare.js +143 -0
  209. package/dist/esm/package/mysql2/lib/commands/query.js +329 -0
  210. package/dist/esm/package/mysql2/lib/commands/quit.js +29 -0
  211. package/dist/esm/package/mysql2/lib/commands/register_slave.js +27 -0
  212. package/dist/esm/package/mysql2/lib/commands/server_handshake.js +203 -0
  213. package/dist/esm/package/mysql2/lib/compressed_protocol.js +127 -0
  214. package/dist/esm/package/mysql2/lib/connection.js +12 -0
  215. package/dist/esm/package/mysql2/lib/connection_config.js +292 -0
  216. package/dist/esm/package/mysql2/lib/constants/charset_encodings.js +316 -0
  217. package/dist/esm/package/mysql2/lib/constants/charsets.js +317 -0
  218. package/dist/esm/package/mysql2/lib/constants/client.js +39 -0
  219. package/dist/esm/package/mysql2/lib/constants/commands.js +36 -0
  220. package/dist/esm/package/mysql2/lib/constants/cursor.js +8 -0
  221. package/dist/esm/package/mysql2/lib/constants/encoding_charset.js +49 -0
  222. package/dist/esm/package/mysql2/lib/constants/errors.js +3973 -0
  223. package/dist/esm/package/mysql2/lib/constants/field_flags.js +20 -0
  224. package/dist/esm/package/mysql2/lib/constants/server_status.js +44 -0
  225. package/dist/esm/package/mysql2/lib/constants/session_track.js +11 -0
  226. package/dist/esm/package/mysql2/lib/constants/ssl_profiles.js +11 -0
  227. package/dist/esm/package/mysql2/lib/constants/types.js +64 -0
  228. package/dist/esm/package/mysql2/lib/create_connection.js +10 -0
  229. package/dist/esm/package/mysql2/lib/create_pool.js +10 -0
  230. package/dist/esm/package/mysql2/lib/create_pool_cluster.js +9 -0
  231. package/dist/esm/package/mysql2/lib/helpers.js +86 -0
  232. package/dist/esm/package/mysql2/lib/packet_parser.js +195 -0
  233. package/dist/esm/package/mysql2/lib/packets/auth_next_factor.js +35 -0
  234. package/dist/esm/package/mysql2/lib/packets/auth_switch_request.js +38 -0
  235. package/dist/esm/package/mysql2/lib/packets/auth_switch_request_more_data.js +33 -0
  236. package/dist/esm/package/mysql2/lib/packets/auth_switch_response.js +30 -0
  237. package/dist/esm/package/mysql2/lib/packets/binary_row.js +95 -0
  238. package/dist/esm/package/mysql2/lib/packets/binlog_dump.js +33 -0
  239. package/dist/esm/package/mysql2/lib/packets/binlog_query_statusvars.js +115 -0
  240. package/dist/esm/package/mysql2/lib/packets/change_user.js +97 -0
  241. package/dist/esm/package/mysql2/lib/packets/close_statement.js +21 -0
  242. package/dist/esm/package/mysql2/lib/packets/column_definition.js +291 -0
  243. package/dist/esm/package/mysql2/lib/packets/execute.js +214 -0
  244. package/dist/esm/package/mysql2/lib/packets/handshake.js +112 -0
  245. package/dist/esm/package/mysql2/lib/packets/handshake_response.js +144 -0
  246. package/dist/esm/package/mysql2/lib/packets/index.js +152 -0
  247. package/dist/esm/package/mysql2/lib/packets/packet.js +931 -0
  248. package/dist/esm/package/mysql2/lib/packets/prepare_statement.js +27 -0
  249. package/dist/esm/package/mysql2/lib/packets/prepared_statement_header.js +16 -0
  250. package/dist/esm/package/mysql2/lib/packets/query.js +27 -0
  251. package/dist/esm/package/mysql2/lib/packets/register_slave.js +46 -0
  252. package/dist/esm/package/mysql2/lib/packets/resultset_header.js +118 -0
  253. package/dist/esm/package/mysql2/lib/packets/ssl_request.js +25 -0
  254. package/dist/esm/package/mysql2/lib/packets/text_row.js +47 -0
  255. package/dist/esm/package/mysql2/lib/parsers/binary_parser.js +231 -0
  256. package/dist/esm/package/mysql2/lib/parsers/parser_cache.js +66 -0
  257. package/dist/esm/package/mysql2/lib/parsers/static_binary_parser.js +211 -0
  258. package/dist/esm/package/mysql2/lib/parsers/static_text_parser.js +152 -0
  259. package/dist/esm/package/mysql2/lib/parsers/string.js +50 -0
  260. package/dist/esm/package/mysql2/lib/parsers/text_parser.js +214 -0
  261. package/dist/esm/package/mysql2/lib/pool.js +12 -0
  262. package/dist/esm/package/mysql2/lib/pool_cluster.js +369 -0
  263. package/dist/esm/package/mysql2/lib/pool_config.js +30 -0
  264. package/dist/esm/package/mysql2/lib/pool_connection.js +12 -0
  265. package/dist/esm/package/mysql2/lib/promise/connection.js +222 -0
  266. package/dist/esm/package/mysql2/lib/promise/inherit_events.js +27 -0
  267. package/dist/esm/package/mysql2/lib/promise/make_done_cb.js +19 -0
  268. package/dist/esm/package/mysql2/lib/promise/pool.js +112 -0
  269. package/dist/esm/package/mysql2/lib/promise/pool_cluster.js +54 -0
  270. package/dist/esm/package/mysql2/lib/promise/pool_connection.js +19 -0
  271. package/dist/esm/package/mysql2/lib/promise/prepared_statement_info.js +32 -0
  272. package/dist/esm/package/mysql2/lib/results_stream.js +38 -0
  273. package/dist/esm/package/mysql2/lib/server.js +37 -0
  274. package/dist/esm/package/mysql2/package.json +80 -0
  275. package/dist/esm/package/mysql2/promise.d.ts +131 -0
  276. package/dist/esm/package/mysql2/promise.js +202 -0
  277. package/dist/esm/package/mysql2/typings/mysql/LICENSE.txt +15 -0
  278. package/dist/esm/package/mysql2/typings/mysql/index.d.ts +95 -0
  279. package/dist/esm/package/mysql2/typings/mysql/info.txt +1 -0
  280. package/dist/esm/package/mysql2/typings/mysql/lib/Auth.d.ts +30 -0
  281. package/dist/esm/package/mysql2/typings/mysql/lib/Connection.d.ts +428 -0
  282. package/dist/esm/package/mysql2/typings/mysql/lib/Pool.d.ts +69 -0
  283. package/dist/esm/package/mysql2/typings/mysql/lib/PoolCluster.d.ts +90 -0
  284. package/dist/esm/package/mysql2/typings/mysql/lib/PoolConnection.d.ts +10 -0
  285. package/dist/esm/package/mysql2/typings/mysql/lib/Server.d.ts +11 -0
  286. package/dist/esm/package/mysql2/typings/mysql/lib/constants/CharsetToEncoding.d.ts +8 -0
  287. package/dist/esm/package/mysql2/typings/mysql/lib/constants/Charsets.d.ts +326 -0
  288. package/dist/esm/package/mysql2/typings/mysql/lib/constants/Types.d.ts +70 -0
  289. package/dist/esm/package/mysql2/typings/mysql/lib/constants/index.d.ts +5 -0
  290. package/dist/esm/package/mysql2/typings/mysql/lib/parsers/ParserCache.d.ts +4 -0
  291. package/dist/esm/package/mysql2/typings/mysql/lib/parsers/index.d.ts +18 -0
  292. package/dist/esm/package/mysql2/typings/mysql/lib/parsers/typeCast.d.ts +54 -0
  293. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/Field.d.ts +10 -0
  294. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/FieldPacket.d.ts +27 -0
  295. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/OkPacket.d.ts +23 -0
  296. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/ProcedurePacket.d.ts +13 -0
  297. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/ResultSetHeader.d.ts +18 -0
  298. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/RowDataPacket.d.ts +9 -0
  299. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/index.d.ts +28 -0
  300. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/params/ErrorPacketParams.d.ts +6 -0
  301. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/params/OkPacketParams.d.ts +9 -0
  302. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/ExecutableBase.d.ts +40 -0
  303. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/Prepare.d.ts +65 -0
  304. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/Query.d.ts +170 -0
  305. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/QueryableBase.d.ts +40 -0
  306. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/Sequence.d.ts +5 -0
  307. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/promise/ExecutableBase.d.ts +21 -0
  308. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/promise/QueryableBase.d.ts +21 -0
  309. package/dist/esm/server.d.ts +1 -1
  310. package/dist/esm/server.d.ts.map +1 -1
  311. package/dist/esm/server.js +1 -1
  312. package/dist/esm/src/browser.d.ts +3 -0
  313. package/dist/esm/src/browser.d.ts.map +1 -0
  314. package/dist/esm/src/browser.js +1 -0
  315. package/dist/esm/src/getAllRouter/index.d.ts +3 -0
  316. package/dist/esm/src/getAllRouter/index.d.ts.map +1 -0
  317. package/dist/esm/src/getAllRouter/index.js +1 -0
  318. package/dist/esm/src/hash/index.d.ts +4 -0
  319. package/dist/esm/src/hash/index.d.ts.map +1 -0
  320. package/dist/esm/src/hash/index.js +1 -0
  321. package/dist/esm/src/id/index.d.ts +3 -0
  322. package/dist/esm/src/id/index.d.ts.map +1 -0
  323. package/dist/esm/src/id/index.js +1 -0
  324. package/dist/esm/src/id/random.d.ts +4 -0
  325. package/dist/esm/src/id/random.d.ts.map +1 -0
  326. package/dist/esm/src/id/random.js +1 -0
  327. package/dist/esm/src/index.d.ts +25 -0
  328. package/dist/esm/src/index.d.ts.map +1 -0
  329. package/dist/esm/src/index.js +1 -0
  330. package/dist/esm/src/jwt/index.d.ts +9 -0
  331. package/dist/esm/src/jwt/index.d.ts.map +1 -0
  332. package/dist/esm/src/jwt/index.js +1 -0
  333. package/dist/esm/src/mac/index.d.ts +6 -0
  334. package/dist/esm/src/mac/index.d.ts.map +1 -0
  335. package/dist/esm/src/mac/index.js +1 -0
  336. package/dist/esm/src/server.d.ts +7 -0
  337. package/dist/esm/src/server.d.ts.map +1 -0
  338. package/dist/esm/src/server.js +1 -0
  339. package/dist/esm/src/start.d.ts +4 -0
  340. package/dist/esm/src/start.d.ts.map +1 -0
  341. package/dist/esm/src/start.js +1 -0
  342. package/dist/esm/src/update.d.ts +3 -0
  343. package/dist/esm/src/update.d.ts.map +1 -0
  344. package/dist/esm/src/update.js +1 -0
  345. package/dist/esm/start.js +1 -1
  346. package/dist/esm/update.js +1 -1
  347. package/package.json +3 -4
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ // Manually extracted from mysql-5.5.23/include/mysql_com.h
4
+ exports.NOT_NULL = 1; /* Field can't be NULL */
5
+ exports.PRI_KEY = 2; /* Field is part of a primary key */
6
+ exports.UNIQUE_KEY = 4; /* Field is part of a unique key */
7
+ exports.MULTIPLE_KEY = 8; /* Field is part of a key */
8
+ exports.BLOB = 16; /* Field is a blob */
9
+ exports.UNSIGNED = 32; /* Field is unsigned */
10
+ exports.ZEROFILL = 64; /* Field is zerofill */
11
+ exports.BINARY = 128; /* Field is binary */
12
+
13
+ /* The following are only sent to new clients */
14
+ exports.ENUM = 256; /* field is an enum */
15
+ exports.AUTO_INCREMENT = 512; /* field is a autoincrement field */
16
+ exports.TIMESTAMP = 1024; /* Field is a timestamp */
17
+ exports.SET = 2048; /* field is a set */
18
+ exports.NO_DEFAULT_VALUE = 4096; /* Field doesn't have default value */
19
+ exports.ON_UPDATE_NOW = 8192; /* Field is set to NOW on UPDATE */
20
+ exports.NUM = 32768; /* Field is num (for clients) */
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ // Manually extracted from mysql-5.5.23/include/mysql_com.h
4
+
5
+ /**
6
+ Is raised when a multi-statement transaction
7
+ has been started, either explicitly, by means
8
+ of BEGIN or COMMIT AND CHAIN, or
9
+ implicitly, by the first transactional
10
+ statement, when autocommit=off.
11
+ */
12
+ exports.SERVER_STATUS_IN_TRANS = 1;
13
+ exports.SERVER_STATUS_AUTOCOMMIT = 2; /* Server in auto_commit mode */
14
+ exports.SERVER_MORE_RESULTS_EXISTS = 8; /* Multi query - next query exists */
15
+ exports.SERVER_QUERY_NO_GOOD_INDEX_USED = 16;
16
+ exports.SERVER_QUERY_NO_INDEX_USED = 32;
17
+ /**
18
+ The server was able to fulfill the clients request and opened a
19
+ read-only non-scrollable cursor for a query. This flag comes
20
+ in reply to COM_STMT_EXECUTE and COM_STMT_FETCH commands.
21
+ */
22
+ exports.SERVER_STATUS_CURSOR_EXISTS = 64;
23
+ /**
24
+ This flag is sent when a read-only cursor is exhausted, in reply to
25
+ COM_STMT_FETCH command.
26
+ */
27
+ exports.SERVER_STATUS_LAST_ROW_SENT = 128;
28
+ exports.SERVER_STATUS_DB_DROPPED = 256; /* A database was dropped */
29
+ exports.SERVER_STATUS_NO_BACKSLASH_ESCAPES = 512;
30
+ /**
31
+ Sent to the client if after a prepared statement reprepare
32
+ we discovered that the new statement returns a different
33
+ number of result set columns.
34
+ */
35
+ exports.SERVER_STATUS_METADATA_CHANGED = 1024;
36
+ exports.SERVER_QUERY_WAS_SLOW = 2048;
37
+
38
+ /**
39
+ To mark ResultSet containing output parameter values.
40
+ */
41
+ exports.SERVER_PS_OUT_PARAMS = 4096;
42
+
43
+ exports.SERVER_STATUS_IN_TRANS_READONLY = 0x2000; // in a read-only transaction
44
+ exports.SERVER_SESSION_STATE_CHANGED = 0x4000;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ exports.SYSTEM_VARIABLES = 0;
4
+ exports.SCHEMA = 1;
5
+ exports.STATE_CHANGE = 2;
6
+ exports.STATE_GTIDS = 3;
7
+ exports.TRANSACTION_CHARACTERISTICS = 4;
8
+ exports.TRANSACTION_STATE = 5;
9
+
10
+ exports.FIRST_KEY = exports.SYSTEM_VARIABLES;
11
+ exports.LAST_KEY = exports.TRANSACTION_STATE;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ const awsCaBundle = require('aws-ssl-profiles');
4
+
5
+ /**
6
+ * @deprecated
7
+ * Please, use [**aws-ssl-profiles**](https://github.com/mysqljs/aws-ssl-profiles).
8
+ */
9
+ exports['Amazon RDS'] = {
10
+ ca: awsCaBundle.ca,
11
+ };
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ 0x00: 'DECIMAL', // aka DECIMAL
5
+ 0x01: 'TINY', // aka TINYINT, 1 byte
6
+ 0x02: 'SHORT', // aka SMALLINT, 2 bytes
7
+ 0x03: 'LONG', // aka INT, 4 bytes
8
+ 0x04: 'FLOAT', // aka FLOAT, 4-8 bytes
9
+ 0x05: 'DOUBLE', // aka DOUBLE, 8 bytes
10
+ 0x06: 'NULL', // NULL (used for prepared statements, I think)
11
+ 0x07: 'TIMESTAMP', // aka TIMESTAMP
12
+ 0x08: 'LONGLONG', // aka BIGINT, 8 bytes
13
+ 0x09: 'INT24', // aka MEDIUMINT, 3 bytes
14
+ 0x0a: 'DATE', // aka DATE
15
+ 0x0b: 'TIME', // aka TIME
16
+ 0x0c: 'DATETIME', // aka DATETIME
17
+ 0x0d: 'YEAR', // aka YEAR, 1 byte (don't ask)
18
+ 0x0e: 'NEWDATE', // aka ?
19
+ 0x0f: 'VARCHAR', // aka VARCHAR (?)
20
+ 0x10: 'BIT', // aka BIT, 1-8 byte
21
+ 0xf5: 'JSON',
22
+ 0xf6: 'NEWDECIMAL', // aka DECIMAL
23
+ 0xf7: 'ENUM', // aka ENUM
24
+ 0xf8: 'SET', // aka SET
25
+ 0xf9: 'TINY_BLOB', // aka TINYBLOB, TINYTEXT
26
+ 0xfa: 'MEDIUM_BLOB', // aka MEDIUMBLOB, MEDIUMTEXT
27
+ 0xfb: 'LONG_BLOB', // aka LONGBLOG, LONGTEXT
28
+ 0xfc: 'BLOB', // aka BLOB, TEXT
29
+ 0xfd: 'VAR_STRING', // aka VARCHAR, VARBINARY
30
+ 0xfe: 'STRING', // aka CHAR, BINARY
31
+ 0xff: 'GEOMETRY', // aka GEOMETRY
32
+ };
33
+
34
+ // Manually extracted from mysql-5.5.23/include/mysql_com.h
35
+ // some more info here: http://dev.mysql.com/doc/refman/5.5/en/c-api-prepared-statement-type-codes.html
36
+ module.exports.DECIMAL = 0x00; // aka DECIMAL (http://dev.mysql.com/doc/refman/5.0/en/precision-math-decimal-changes.html)
37
+ module.exports.TINY = 0x01; // aka TINYINT, 1 byte
38
+ module.exports.SHORT = 0x02; // aka SMALLINT, 2 bytes
39
+ module.exports.LONG = 0x03; // aka INT, 4 bytes
40
+ module.exports.FLOAT = 0x04; // aka FLOAT, 4-8 bytes
41
+ module.exports.DOUBLE = 0x05; // aka DOUBLE, 8 bytes
42
+ module.exports.NULL = 0x06; // NULL (used for prepared statements, I think)
43
+ module.exports.TIMESTAMP = 0x07; // aka TIMESTAMP
44
+ module.exports.LONGLONG = 0x08; // aka BIGINT, 8 bytes
45
+ module.exports.INT24 = 0x09; // aka MEDIUMINT, 3 bytes
46
+ module.exports.DATE = 0x0a; // aka DATE
47
+ module.exports.TIME = 0x0b; // aka TIME
48
+ module.exports.DATETIME = 0x0c; // aka DATETIME
49
+ module.exports.YEAR = 0x0d; // aka YEAR, 1 byte (don't ask)
50
+ module.exports.NEWDATE = 0x0e; // aka ?
51
+ module.exports.VARCHAR = 0x0f; // aka VARCHAR (?)
52
+ module.exports.BIT = 0x10; // aka BIT, 1-8 byte
53
+ module.exports.VECTOR = 0xf2;
54
+ module.exports.JSON = 0xf5;
55
+ module.exports.NEWDECIMAL = 0xf6; // aka DECIMAL
56
+ module.exports.ENUM = 0xf7; // aka ENUM
57
+ module.exports.SET = 0xf8; // aka SET
58
+ module.exports.TINY_BLOB = 0xf9; // aka TINYBLOB, TINYTEXT
59
+ module.exports.MEDIUM_BLOB = 0xfa; // aka MEDIUMBLOB, MEDIUMTEXT
60
+ module.exports.LONG_BLOB = 0xfb; // aka LONGBLOG, LONGTEXT
61
+ module.exports.BLOB = 0xfc; // aka BLOB, TEXT
62
+ module.exports.VAR_STRING = 0xfd; // aka VARCHAR, VARBINARY
63
+ module.exports.STRING = 0xfe; // aka CHAR, BINARY
64
+ module.exports.GEOMETRY = 0xff; // aka GEOMETRY
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const Connection = require('./connection.js');
4
+ const ConnectionConfig = require('./connection_config.js');
5
+
6
+ function createConnection(opts) {
7
+ return new Connection({ config: new ConnectionConfig(opts) });
8
+ }
9
+
10
+ module.exports = createConnection;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const Pool = require('./pool.js');
4
+ const PoolConfig = require('./pool_config.js');
5
+
6
+ function createPool(config) {
7
+ return new Pool({ config: new PoolConfig(config) });
8
+ }
9
+
10
+ module.exports = createPool;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ const PoolCluster = require('./pool_cluster.js');
4
+
5
+ function createPoolCluster(config) {
6
+ return new PoolCluster(config);
7
+ }
8
+
9
+ module.exports = createPoolCluster;
@@ -0,0 +1,86 @@
1
+ 'use strict';
2
+
3
+ /*
4
+
5
+ this seems to be not only shorter, but faster than
6
+ string.replace(/\\/g, '\\\\').
7
+ replace(/\u0008/g, '\\b').
8
+ replace(/\t/g, '\\t').
9
+ replace(/\n/g, '\\n').
10
+ replace(/\f/g, '\\f').
11
+ replace(/\r/g, '\\r').
12
+ replace(/'/g, '\\\'').
13
+ replace(/"/g, '\\"');
14
+ or string.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")
15
+ see http://jsperf.com/string-escape-regexp-vs-json-stringify
16
+ */
17
+ function srcEscape(str) {
18
+ return JSON.stringify({
19
+ [str]: 1,
20
+ }).slice(1, -3);
21
+ }
22
+
23
+ exports.srcEscape = srcEscape;
24
+
25
+ let highlightFn;
26
+ let cardinalRecommended = false;
27
+ try {
28
+ // the purpose of this is to prevent projects using Webpack from displaying a warning during runtime if cardinal is not a dependency
29
+ const REQUIRE_TERMINATOR = '';
30
+ highlightFn = require(`cardinal${REQUIRE_TERMINATOR}`).highlight;
31
+ } catch (err) {
32
+ highlightFn = (text) => {
33
+ if (!cardinalRecommended) {
34
+ // eslint-disable-next-line no-console
35
+ console.log('For nicer debug output consider install cardinal@^2.0.0');
36
+ cardinalRecommended = true;
37
+ }
38
+ return text;
39
+ };
40
+ }
41
+
42
+ /**
43
+ * Prints debug message with code frame, will try to use `cardinal` if available.
44
+ */
45
+ function printDebugWithCode(msg, code) {
46
+ // eslint-disable-next-line no-console
47
+ console.log(`\n\n${msg}:\n`);
48
+ // eslint-disable-next-line no-console
49
+ console.log(`${highlightFn(code)}\n`);
50
+ }
51
+
52
+ exports.printDebugWithCode = printDebugWithCode;
53
+
54
+ /**
55
+ * checks whether the `type` is in the `list`
56
+ */
57
+ function typeMatch(type, list, Types) {
58
+ if (Array.isArray(list)) {
59
+ return list.some((t) => type === Types[t]);
60
+ }
61
+
62
+ return !!list;
63
+ }
64
+
65
+ exports.typeMatch = typeMatch;
66
+
67
+ const privateObjectProps = new Set([
68
+ '__defineGetter__',
69
+ '__defineSetter__',
70
+ '__lookupGetter__',
71
+ '__lookupSetter__',
72
+ '__proto__',
73
+ ]);
74
+
75
+ exports.privateObjectProps = privateObjectProps;
76
+
77
+ const fieldEscape = (field, isEval = true) => {
78
+ if (privateObjectProps.has(field)) {
79
+ throw new Error(
80
+ `The field name (${field}) can't be the same as an object's private property.`
81
+ );
82
+ }
83
+
84
+ return isEval ? srcEscape(field) : field;
85
+ };
86
+ exports.fieldEscape = fieldEscape;
@@ -0,0 +1,195 @@
1
+ 'use strict';
2
+
3
+ const Packet = require('./packets/packet.js');
4
+
5
+ const MAX_PACKET_LENGTH = 16777215;
6
+
7
+ function readPacketLength(b, off) {
8
+ const b0 = b[off];
9
+ const b1 = b[off + 1];
10
+ const b2 = b[off + 2];
11
+ if (b1 + b2 === 0) {
12
+ return b0;
13
+ }
14
+ return b0 + (b1 << 8) + (b2 << 16);
15
+ }
16
+
17
+ class PacketParser {
18
+ constructor(onPacket, packetHeaderLength) {
19
+ // 4 for normal packets, 7 for comprssed protocol packets
20
+ if (typeof packetHeaderLength === 'undefined') {
21
+ packetHeaderLength = 4;
22
+ }
23
+ // array of last payload chunks
24
+ // only used when current payload is not complete
25
+ this.buffer = [];
26
+ // total length of chunks on buffer
27
+ this.bufferLength = 0;
28
+ this.packetHeaderLength = packetHeaderLength;
29
+ // incomplete header state: number of header bytes received
30
+ this.headerLen = 0;
31
+ // expected payload length
32
+ this.length = 0;
33
+ this.largePacketParts = [];
34
+ this.firstPacketSequenceId = 0;
35
+ this.onPacket = onPacket;
36
+ this.execute = PacketParser.prototype.executeStart;
37
+ this._flushLargePacket =
38
+ packetHeaderLength === 7
39
+ ? this._flushLargePacket7
40
+ : this._flushLargePacket4;
41
+ }
42
+
43
+ _flushLargePacket4() {
44
+ const numPackets = this.largePacketParts.length;
45
+ this.largePacketParts.unshift(Buffer.from([0, 0, 0, 0])); // insert header
46
+ const body = Buffer.concat(this.largePacketParts);
47
+ const packet = new Packet(this.firstPacketSequenceId, body, 0, body.length);
48
+ this.largePacketParts.length = 0;
49
+ packet.numPackets = numPackets;
50
+ this.onPacket(packet);
51
+ }
52
+
53
+ _flushLargePacket7() {
54
+ const numPackets = this.largePacketParts.length;
55
+ this.largePacketParts.unshift(Buffer.from([0, 0, 0, 0, 0, 0, 0])); // insert header
56
+ const body = Buffer.concat(this.largePacketParts);
57
+ this.largePacketParts.length = 0;
58
+ const packet = new Packet(this.firstPacketSequenceId, body, 0, body.length);
59
+ packet.numPackets = numPackets;
60
+ this.onPacket(packet);
61
+ }
62
+
63
+ executeStart(chunk) {
64
+ let start = 0;
65
+ const end = chunk.length;
66
+ while (end - start >= 3) {
67
+ this.length = readPacketLength(chunk, start);
68
+ if (end - start >= this.length + this.packetHeaderLength) {
69
+ // at least one full packet
70
+ const sequenceId = chunk[start + 3];
71
+ if (
72
+ this.length < MAX_PACKET_LENGTH &&
73
+ this.largePacketParts.length === 0
74
+ ) {
75
+ this.onPacket(
76
+ new Packet(
77
+ sequenceId,
78
+ chunk,
79
+ start,
80
+ start + this.packetHeaderLength + this.length
81
+ )
82
+ );
83
+ } else {
84
+ // first large packet - remember it's id
85
+ if (this.largePacketParts.length === 0) {
86
+ this.firstPacketSequenceId = sequenceId;
87
+ }
88
+ this.largePacketParts.push(
89
+ chunk.slice(
90
+ start + this.packetHeaderLength,
91
+ start + this.packetHeaderLength + this.length
92
+ )
93
+ );
94
+ if (this.length < MAX_PACKET_LENGTH) {
95
+ this._flushLargePacket();
96
+ }
97
+ }
98
+ start += this.packetHeaderLength + this.length;
99
+ } else {
100
+ // payload is incomplete
101
+ this.buffer = [chunk.slice(start + 3, end)];
102
+ this.bufferLength = end - start - 3;
103
+ this.execute = PacketParser.prototype.executePayload;
104
+ return;
105
+ }
106
+ }
107
+ if (end - start > 0) {
108
+ // there is start of length header, but it's not full 3 bytes
109
+ this.headerLen = end - start; // 1 or 2 bytes
110
+ this.length = chunk[start];
111
+ if (this.headerLen === 2) {
112
+ this.length = chunk[start] + (chunk[start + 1] << 8);
113
+ this.execute = PacketParser.prototype.executeHeader3;
114
+ } else {
115
+ this.execute = PacketParser.prototype.executeHeader2;
116
+ }
117
+ }
118
+ }
119
+
120
+ executePayload(chunk) {
121
+ let start = 0;
122
+ const end = chunk.length;
123
+ const remainingPayload =
124
+ this.length - this.bufferLength + this.packetHeaderLength - 3;
125
+ if (end - start >= remainingPayload) {
126
+ // last chunk for payload
127
+ const payload = Buffer.allocUnsafe(this.length + this.packetHeaderLength);
128
+ let offset = 3;
129
+ for (let i = 0; i < this.buffer.length; ++i) {
130
+ this.buffer[i].copy(payload, offset);
131
+ offset += this.buffer[i].length;
132
+ }
133
+ chunk.copy(payload, offset, start, start + remainingPayload);
134
+ const sequenceId = payload[3];
135
+ if (
136
+ this.length < MAX_PACKET_LENGTH &&
137
+ this.largePacketParts.length === 0
138
+ ) {
139
+ this.onPacket(
140
+ new Packet(
141
+ sequenceId,
142
+ payload,
143
+ 0,
144
+ this.length + this.packetHeaderLength
145
+ )
146
+ );
147
+ } else {
148
+ // first large packet - remember it's id
149
+ if (this.largePacketParts.length === 0) {
150
+ this.firstPacketSequenceId = sequenceId;
151
+ }
152
+ this.largePacketParts.push(
153
+ payload.slice(
154
+ this.packetHeaderLength,
155
+ this.packetHeaderLength + this.length
156
+ )
157
+ );
158
+ if (this.length < MAX_PACKET_LENGTH) {
159
+ this._flushLargePacket();
160
+ }
161
+ }
162
+ this.buffer = [];
163
+ this.bufferLength = 0;
164
+ this.execute = PacketParser.prototype.executeStart;
165
+ start += remainingPayload;
166
+ if (end - start > 0) {
167
+ return this.execute(chunk.slice(start, end));
168
+ }
169
+ } else {
170
+ this.buffer.push(chunk);
171
+ this.bufferLength += chunk.length;
172
+ }
173
+ return null;
174
+ }
175
+
176
+ executeHeader2(chunk) {
177
+ this.length += chunk[0] << 8;
178
+ if (chunk.length > 1) {
179
+ this.length += chunk[1] << 16;
180
+ this.execute = PacketParser.prototype.executePayload;
181
+ return this.executePayload(chunk.slice(2));
182
+ }
183
+ this.execute = PacketParser.prototype.executeHeader3;
184
+
185
+ return null;
186
+ }
187
+
188
+ executeHeader3(chunk) {
189
+ this.length += chunk[0] << 16;
190
+ this.execute = PacketParser.prototype.executePayload;
191
+ return this.executePayload(chunk.slice(1));
192
+ }
193
+ }
194
+
195
+ module.exports = PacketParser;
@@ -0,0 +1,35 @@
1
+ // Copyright (c) 2021, Oracle and/or its affiliates.
2
+
3
+ 'use strict';
4
+
5
+ const Packet = require('../packets/packet');
6
+
7
+ class AuthNextFactor {
8
+ constructor(opts) {
9
+ this.pluginName = opts.pluginName;
10
+ this.pluginData = opts.pluginData;
11
+ }
12
+
13
+ toPacket(encoding) {
14
+ const length = 6 + this.pluginName.length + this.pluginData.length;
15
+ const buffer = Buffer.allocUnsafe(length);
16
+ const packet = new Packet(0, buffer, 0, length);
17
+ packet.offset = 4;
18
+ packet.writeInt8(0x02);
19
+ packet.writeNullTerminatedString(this.pluginName, encoding);
20
+ packet.writeBuffer(this.pluginData);
21
+ return packet;
22
+ }
23
+
24
+ static fromPacket(packet, encoding) {
25
+ packet.readInt8(); // marker
26
+ const name = packet.readNullTerminatedString(encoding);
27
+ const data = packet.readBuffer();
28
+ return new AuthNextFactor({
29
+ pluginName: name,
30
+ pluginData: data,
31
+ });
32
+ }
33
+ }
34
+
35
+ module.exports = AuthNextFactor;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchRequest
4
+
5
+ const Packet = require('../packets/packet');
6
+
7
+ class AuthSwitchRequest {
8
+ constructor(opts) {
9
+ this.pluginName = opts.pluginName;
10
+ this.pluginData = opts.pluginData;
11
+ }
12
+
13
+ toPacket() {
14
+ const length = 6 + this.pluginName.length + this.pluginData.length;
15
+ const buffer = Buffer.allocUnsafe(length);
16
+ const packet = new Packet(0, buffer, 0, length);
17
+ packet.offset = 4;
18
+ packet.writeInt8(0xfe);
19
+ // TODO: use server encoding
20
+ packet.writeNullTerminatedString(this.pluginName, 'cesu8');
21
+ packet.writeBuffer(this.pluginData);
22
+ return packet;
23
+ }
24
+
25
+ static fromPacket(packet) {
26
+ packet.readInt8(); // marker
27
+ // assert marker == 0xfe?
28
+ // TODO: use server encoding
29
+ const name = packet.readNullTerminatedString('cesu8');
30
+ const data = packet.readBuffer();
31
+ return new AuthSwitchRequest({
32
+ pluginName: name,
33
+ pluginData: data,
34
+ });
35
+ }
36
+ }
37
+
38
+ module.exports = AuthSwitchRequest;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchRequest
4
+
5
+ const Packet = require('../packets/packet');
6
+
7
+ class AuthSwitchRequestMoreData {
8
+ constructor(data) {
9
+ this.data = data;
10
+ }
11
+
12
+ toPacket() {
13
+ const length = 5 + this.data.length;
14
+ const buffer = Buffer.allocUnsafe(length);
15
+ const packet = new Packet(0, buffer, 0, length);
16
+ packet.offset = 4;
17
+ packet.writeInt8(0x01);
18
+ packet.writeBuffer(this.data);
19
+ return packet;
20
+ }
21
+
22
+ static fromPacket(packet) {
23
+ packet.readInt8(); // marker
24
+ const data = packet.readBuffer();
25
+ return new AuthSwitchRequestMoreData(data);
26
+ }
27
+
28
+ static verifyMarker(packet) {
29
+ return packet.peekByte() === 0x01;
30
+ }
31
+ }
32
+
33
+ module.exports = AuthSwitchRequestMoreData;
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchRequest
4
+
5
+ const Packet = require('../packets/packet');
6
+
7
+ class AuthSwitchResponse {
8
+ constructor(data) {
9
+ if (!Buffer.isBuffer(data)) {
10
+ data = Buffer.from(data);
11
+ }
12
+ this.data = data;
13
+ }
14
+
15
+ toPacket() {
16
+ const length = 4 + this.data.length;
17
+ const buffer = Buffer.allocUnsafe(length);
18
+ const packet = new Packet(0, buffer, 0, length);
19
+ packet.offset = 4;
20
+ packet.writeBuffer(this.data);
21
+ return packet;
22
+ }
23
+
24
+ static fromPacket(packet) {
25
+ const data = packet.readBuffer();
26
+ return new AuthSwitchResponse(data);
27
+ }
28
+ }
29
+
30
+ module.exports = AuthSwitchResponse;