node-server-dev 3.1.5 → 3.1.7

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 (279) hide show
  1. package/dist/cjs/browser.js +1 -1
  2. package/dist/cjs/getAllRouter/index.js +1 -1
  3. package/dist/cjs/hash/index.js +1 -1
  4. package/dist/cjs/id/index.js +1 -1
  5. package/dist/cjs/id/random.js +1 -1
  6. package/dist/cjs/index.js +1 -1
  7. package/dist/cjs/jwt/index.js +1 -1
  8. package/dist/cjs/mac/index.js +1 -1
  9. package/dist/cjs/package/mysql2/License +19 -0
  10. package/dist/cjs/package/mysql2/README.md +114 -0
  11. package/dist/cjs/package/mysql2/index.d.ts +1 -0
  12. package/dist/cjs/package/mysql2/index.js +77 -0
  13. package/dist/cjs/package/mysql2/lib/auth_41.js +95 -0
  14. package/dist/cjs/package/mysql2/lib/auth_plugins/caching_sha2_password.js +108 -0
  15. package/dist/cjs/package/mysql2/lib/auth_plugins/caching_sha2_password.md +18 -0
  16. package/dist/cjs/package/mysql2/lib/auth_plugins/index.js +8 -0
  17. package/dist/cjs/package/mysql2/lib/auth_plugins/mysql_clear_password.js +17 -0
  18. package/dist/cjs/package/mysql2/lib/auth_plugins/mysql_native_password.js +34 -0
  19. package/dist/cjs/package/mysql2/lib/auth_plugins/sha256_password.js +59 -0
  20. package/dist/cjs/package/mysql2/lib/base/connection.js +945 -0
  21. package/dist/cjs/package/mysql2/lib/base/pool.js +233 -0
  22. package/dist/cjs/package/mysql2/lib/base/pool_connection.js +63 -0
  23. package/dist/cjs/package/mysql2/lib/commands/auth_switch.js +111 -0
  24. package/dist/cjs/package/mysql2/lib/commands/binlog_dump.js +109 -0
  25. package/dist/cjs/package/mysql2/lib/commands/change_user.js +68 -0
  26. package/dist/cjs/package/mysql2/lib/commands/client_handshake.js +241 -0
  27. package/dist/cjs/package/mysql2/lib/commands/close_statement.js +18 -0
  28. package/dist/cjs/package/mysql2/lib/commands/command.js +54 -0
  29. package/dist/cjs/package/mysql2/lib/commands/execute.js +112 -0
  30. package/dist/cjs/package/mysql2/lib/commands/index.js +27 -0
  31. package/dist/cjs/package/mysql2/lib/commands/ping.js +36 -0
  32. package/dist/cjs/package/mysql2/lib/commands/prepare.js +143 -0
  33. package/dist/cjs/package/mysql2/lib/commands/query.js +329 -0
  34. package/dist/cjs/package/mysql2/lib/commands/quit.js +29 -0
  35. package/dist/cjs/package/mysql2/lib/commands/register_slave.js +27 -0
  36. package/dist/cjs/package/mysql2/lib/commands/server_handshake.js +203 -0
  37. package/dist/cjs/package/mysql2/lib/compressed_protocol.js +127 -0
  38. package/dist/cjs/package/mysql2/lib/connection.js +12 -0
  39. package/dist/cjs/package/mysql2/lib/connection_config.js +292 -0
  40. package/dist/cjs/package/mysql2/lib/constants/charset_encodings.js +316 -0
  41. package/dist/cjs/package/mysql2/lib/constants/charsets.js +317 -0
  42. package/dist/cjs/package/mysql2/lib/constants/client.js +39 -0
  43. package/dist/cjs/package/mysql2/lib/constants/commands.js +36 -0
  44. package/dist/cjs/package/mysql2/lib/constants/cursor.js +8 -0
  45. package/dist/cjs/package/mysql2/lib/constants/encoding_charset.js +49 -0
  46. package/dist/cjs/package/mysql2/lib/constants/errors.js +3973 -0
  47. package/dist/cjs/package/mysql2/lib/constants/field_flags.js +20 -0
  48. package/dist/cjs/package/mysql2/lib/constants/server_status.js +44 -0
  49. package/dist/cjs/package/mysql2/lib/constants/session_track.js +11 -0
  50. package/dist/cjs/package/mysql2/lib/constants/ssl_profiles.js +11 -0
  51. package/dist/cjs/package/mysql2/lib/constants/types.js +64 -0
  52. package/dist/cjs/package/mysql2/lib/create_connection.js +10 -0
  53. package/dist/cjs/package/mysql2/lib/create_pool.js +10 -0
  54. package/dist/cjs/package/mysql2/lib/create_pool_cluster.js +9 -0
  55. package/dist/cjs/package/mysql2/lib/helpers.js +86 -0
  56. package/dist/cjs/package/mysql2/lib/packet_parser.js +195 -0
  57. package/dist/cjs/package/mysql2/lib/packets/auth_next_factor.js +35 -0
  58. package/dist/cjs/package/mysql2/lib/packets/auth_switch_request.js +38 -0
  59. package/dist/cjs/package/mysql2/lib/packets/auth_switch_request_more_data.js +33 -0
  60. package/dist/cjs/package/mysql2/lib/packets/auth_switch_response.js +30 -0
  61. package/dist/cjs/package/mysql2/lib/packets/binary_row.js +95 -0
  62. package/dist/cjs/package/mysql2/lib/packets/binlog_dump.js +33 -0
  63. package/dist/cjs/package/mysql2/lib/packets/binlog_query_statusvars.js +115 -0
  64. package/dist/cjs/package/mysql2/lib/packets/change_user.js +97 -0
  65. package/dist/cjs/package/mysql2/lib/packets/close_statement.js +21 -0
  66. package/dist/cjs/package/mysql2/lib/packets/column_definition.js +291 -0
  67. package/dist/cjs/package/mysql2/lib/packets/execute.js +214 -0
  68. package/dist/cjs/package/mysql2/lib/packets/handshake.js +112 -0
  69. package/dist/cjs/package/mysql2/lib/packets/handshake_response.js +144 -0
  70. package/dist/cjs/package/mysql2/lib/packets/index.js +152 -0
  71. package/dist/cjs/package/mysql2/lib/packets/packet.js +931 -0
  72. package/dist/cjs/package/mysql2/lib/packets/prepare_statement.js +27 -0
  73. package/dist/cjs/package/mysql2/lib/packets/prepared_statement_header.js +16 -0
  74. package/dist/cjs/package/mysql2/lib/packets/query.js +27 -0
  75. package/dist/cjs/package/mysql2/lib/packets/register_slave.js +46 -0
  76. package/dist/cjs/package/mysql2/lib/packets/resultset_header.js +118 -0
  77. package/dist/cjs/package/mysql2/lib/packets/ssl_request.js +25 -0
  78. package/dist/cjs/package/mysql2/lib/packets/text_row.js +47 -0
  79. package/dist/cjs/package/mysql2/lib/parsers/binary_parser.js +231 -0
  80. package/dist/cjs/package/mysql2/lib/parsers/parser_cache.js +66 -0
  81. package/dist/cjs/package/mysql2/lib/parsers/static_binary_parser.js +211 -0
  82. package/dist/cjs/package/mysql2/lib/parsers/static_text_parser.js +152 -0
  83. package/dist/cjs/package/mysql2/lib/parsers/string.js +50 -0
  84. package/dist/cjs/package/mysql2/lib/parsers/text_parser.js +214 -0
  85. package/dist/cjs/package/mysql2/lib/pool.js +12 -0
  86. package/dist/cjs/package/mysql2/lib/pool_cluster.js +369 -0
  87. package/dist/cjs/package/mysql2/lib/pool_config.js +30 -0
  88. package/dist/cjs/package/mysql2/lib/pool_connection.js +12 -0
  89. package/dist/cjs/package/mysql2/lib/promise/connection.js +222 -0
  90. package/dist/cjs/package/mysql2/lib/promise/inherit_events.js +27 -0
  91. package/dist/cjs/package/mysql2/lib/promise/make_done_cb.js +19 -0
  92. package/dist/cjs/package/mysql2/lib/promise/pool.js +112 -0
  93. package/dist/cjs/package/mysql2/lib/promise/pool_cluster.js +54 -0
  94. package/dist/cjs/package/mysql2/lib/promise/pool_connection.js +19 -0
  95. package/dist/cjs/package/mysql2/lib/promise/prepared_statement_info.js +32 -0
  96. package/dist/cjs/package/mysql2/lib/results_stream.js +38 -0
  97. package/dist/cjs/package/mysql2/lib/server.js +37 -0
  98. package/dist/cjs/package/mysql2/package.json +80 -0
  99. package/dist/cjs/package/mysql2/promise.d.ts +131 -0
  100. package/dist/cjs/package/mysql2/promise.js +202 -0
  101. package/dist/cjs/package/mysql2/typings/mysql/LICENSE.txt +15 -0
  102. package/dist/cjs/package/mysql2/typings/mysql/index.d.ts +95 -0
  103. package/dist/cjs/package/mysql2/typings/mysql/info.txt +1 -0
  104. package/dist/cjs/package/mysql2/typings/mysql/lib/Auth.d.ts +30 -0
  105. package/dist/cjs/package/mysql2/typings/mysql/lib/Connection.d.ts +428 -0
  106. package/dist/cjs/package/mysql2/typings/mysql/lib/Pool.d.ts +69 -0
  107. package/dist/cjs/package/mysql2/typings/mysql/lib/PoolCluster.d.ts +90 -0
  108. package/dist/cjs/package/mysql2/typings/mysql/lib/PoolConnection.d.ts +10 -0
  109. package/dist/cjs/package/mysql2/typings/mysql/lib/Server.d.ts +11 -0
  110. package/dist/cjs/package/mysql2/typings/mysql/lib/constants/CharsetToEncoding.d.ts +8 -0
  111. package/dist/cjs/package/mysql2/typings/mysql/lib/constants/Charsets.d.ts +326 -0
  112. package/dist/cjs/package/mysql2/typings/mysql/lib/constants/Types.d.ts +70 -0
  113. package/dist/cjs/package/mysql2/typings/mysql/lib/constants/index.d.ts +5 -0
  114. package/dist/cjs/package/mysql2/typings/mysql/lib/parsers/ParserCache.d.ts +4 -0
  115. package/dist/cjs/package/mysql2/typings/mysql/lib/parsers/index.d.ts +18 -0
  116. package/dist/cjs/package/mysql2/typings/mysql/lib/parsers/typeCast.d.ts +54 -0
  117. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/Field.d.ts +10 -0
  118. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/FieldPacket.d.ts +27 -0
  119. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/OkPacket.d.ts +23 -0
  120. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/ProcedurePacket.d.ts +13 -0
  121. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/ResultSetHeader.d.ts +18 -0
  122. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/RowDataPacket.d.ts +9 -0
  123. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/index.d.ts +28 -0
  124. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/params/ErrorPacketParams.d.ts +6 -0
  125. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/packets/params/OkPacketParams.d.ts +9 -0
  126. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/ExecutableBase.d.ts +40 -0
  127. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/Prepare.d.ts +65 -0
  128. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/Query.d.ts +170 -0
  129. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/QueryableBase.d.ts +40 -0
  130. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/Sequence.d.ts +5 -0
  131. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/promise/ExecutableBase.d.ts +21 -0
  132. package/dist/cjs/package/mysql2/typings/mysql/lib/protocol/sequences/promise/QueryableBase.d.ts +21 -0
  133. package/dist/cjs/package/mysql_backup/index.js +69 -0
  134. package/dist/cjs/package/mysql_backup/promise.js +187 -0
  135. package/dist/cjs/server.d.ts +1 -1
  136. package/dist/cjs/server.d.ts.map +1 -1
  137. package/dist/cjs/server.js +1 -1
  138. package/dist/cjs/start.js +1 -1
  139. package/dist/cjs/update.js +1 -1
  140. package/dist/esm/browser.js +1 -1
  141. package/dist/esm/getAllRouter/index.js +1 -1
  142. package/dist/esm/hash/index.js +1 -1
  143. package/dist/esm/id/index.js +1 -1
  144. package/dist/esm/id/random.js +1 -1
  145. package/dist/esm/index.js +1 -1
  146. package/dist/esm/jwt/index.js +1 -1
  147. package/dist/esm/mac/index.js +1 -1
  148. package/dist/esm/package/mysql2/License +19 -0
  149. package/dist/esm/package/mysql2/README.md +114 -0
  150. package/dist/esm/package/mysql2/index.d.ts +1 -0
  151. package/dist/esm/package/mysql2/index.js +77 -0
  152. package/dist/esm/package/mysql2/lib/auth_41.js +95 -0
  153. package/dist/esm/package/mysql2/lib/auth_plugins/caching_sha2_password.js +108 -0
  154. package/dist/esm/package/mysql2/lib/auth_plugins/caching_sha2_password.md +18 -0
  155. package/dist/esm/package/mysql2/lib/auth_plugins/index.js +8 -0
  156. package/dist/esm/package/mysql2/lib/auth_plugins/mysql_clear_password.js +17 -0
  157. package/dist/esm/package/mysql2/lib/auth_plugins/mysql_native_password.js +34 -0
  158. package/dist/esm/package/mysql2/lib/auth_plugins/sha256_password.js +59 -0
  159. package/dist/esm/package/mysql2/lib/base/connection.js +945 -0
  160. package/dist/esm/package/mysql2/lib/base/pool.js +233 -0
  161. package/dist/esm/package/mysql2/lib/base/pool_connection.js +63 -0
  162. package/dist/esm/package/mysql2/lib/commands/auth_switch.js +111 -0
  163. package/dist/esm/package/mysql2/lib/commands/binlog_dump.js +109 -0
  164. package/dist/esm/package/mysql2/lib/commands/change_user.js +68 -0
  165. package/dist/esm/package/mysql2/lib/commands/client_handshake.js +241 -0
  166. package/dist/esm/package/mysql2/lib/commands/close_statement.js +18 -0
  167. package/dist/esm/package/mysql2/lib/commands/command.js +54 -0
  168. package/dist/esm/package/mysql2/lib/commands/execute.js +112 -0
  169. package/dist/esm/package/mysql2/lib/commands/index.js +27 -0
  170. package/dist/esm/package/mysql2/lib/commands/ping.js +36 -0
  171. package/dist/esm/package/mysql2/lib/commands/prepare.js +143 -0
  172. package/dist/esm/package/mysql2/lib/commands/query.js +329 -0
  173. package/dist/esm/package/mysql2/lib/commands/quit.js +29 -0
  174. package/dist/esm/package/mysql2/lib/commands/register_slave.js +27 -0
  175. package/dist/esm/package/mysql2/lib/commands/server_handshake.js +203 -0
  176. package/dist/esm/package/mysql2/lib/compressed_protocol.js +127 -0
  177. package/dist/esm/package/mysql2/lib/connection.js +12 -0
  178. package/dist/esm/package/mysql2/lib/connection_config.js +292 -0
  179. package/dist/esm/package/mysql2/lib/constants/charset_encodings.js +316 -0
  180. package/dist/esm/package/mysql2/lib/constants/charsets.js +317 -0
  181. package/dist/esm/package/mysql2/lib/constants/client.js +39 -0
  182. package/dist/esm/package/mysql2/lib/constants/commands.js +36 -0
  183. package/dist/esm/package/mysql2/lib/constants/cursor.js +8 -0
  184. package/dist/esm/package/mysql2/lib/constants/encoding_charset.js +49 -0
  185. package/dist/esm/package/mysql2/lib/constants/errors.js +3973 -0
  186. package/dist/esm/package/mysql2/lib/constants/field_flags.js +20 -0
  187. package/dist/esm/package/mysql2/lib/constants/server_status.js +44 -0
  188. package/dist/esm/package/mysql2/lib/constants/session_track.js +11 -0
  189. package/dist/esm/package/mysql2/lib/constants/ssl_profiles.js +11 -0
  190. package/dist/esm/package/mysql2/lib/constants/types.js +64 -0
  191. package/dist/esm/package/mysql2/lib/create_connection.js +10 -0
  192. package/dist/esm/package/mysql2/lib/create_pool.js +10 -0
  193. package/dist/esm/package/mysql2/lib/create_pool_cluster.js +9 -0
  194. package/dist/esm/package/mysql2/lib/helpers.js +86 -0
  195. package/dist/esm/package/mysql2/lib/packet_parser.js +195 -0
  196. package/dist/esm/package/mysql2/lib/packets/auth_next_factor.js +35 -0
  197. package/dist/esm/package/mysql2/lib/packets/auth_switch_request.js +38 -0
  198. package/dist/esm/package/mysql2/lib/packets/auth_switch_request_more_data.js +33 -0
  199. package/dist/esm/package/mysql2/lib/packets/auth_switch_response.js +30 -0
  200. package/dist/esm/package/mysql2/lib/packets/binary_row.js +95 -0
  201. package/dist/esm/package/mysql2/lib/packets/binlog_dump.js +33 -0
  202. package/dist/esm/package/mysql2/lib/packets/binlog_query_statusvars.js +115 -0
  203. package/dist/esm/package/mysql2/lib/packets/change_user.js +97 -0
  204. package/dist/esm/package/mysql2/lib/packets/close_statement.js +21 -0
  205. package/dist/esm/package/mysql2/lib/packets/column_definition.js +291 -0
  206. package/dist/esm/package/mysql2/lib/packets/execute.js +214 -0
  207. package/dist/esm/package/mysql2/lib/packets/handshake.js +112 -0
  208. package/dist/esm/package/mysql2/lib/packets/handshake_response.js +144 -0
  209. package/dist/esm/package/mysql2/lib/packets/index.js +152 -0
  210. package/dist/esm/package/mysql2/lib/packets/packet.js +931 -0
  211. package/dist/esm/package/mysql2/lib/packets/prepare_statement.js +27 -0
  212. package/dist/esm/package/mysql2/lib/packets/prepared_statement_header.js +16 -0
  213. package/dist/esm/package/mysql2/lib/packets/query.js +27 -0
  214. package/dist/esm/package/mysql2/lib/packets/register_slave.js +46 -0
  215. package/dist/esm/package/mysql2/lib/packets/resultset_header.js +118 -0
  216. package/dist/esm/package/mysql2/lib/packets/ssl_request.js +25 -0
  217. package/dist/esm/package/mysql2/lib/packets/text_row.js +47 -0
  218. package/dist/esm/package/mysql2/lib/parsers/binary_parser.js +231 -0
  219. package/dist/esm/package/mysql2/lib/parsers/parser_cache.js +66 -0
  220. package/dist/esm/package/mysql2/lib/parsers/static_binary_parser.js +211 -0
  221. package/dist/esm/package/mysql2/lib/parsers/static_text_parser.js +152 -0
  222. package/dist/esm/package/mysql2/lib/parsers/string.js +50 -0
  223. package/dist/esm/package/mysql2/lib/parsers/text_parser.js +214 -0
  224. package/dist/esm/package/mysql2/lib/pool.js +12 -0
  225. package/dist/esm/package/mysql2/lib/pool_cluster.js +369 -0
  226. package/dist/esm/package/mysql2/lib/pool_config.js +30 -0
  227. package/dist/esm/package/mysql2/lib/pool_connection.js +12 -0
  228. package/dist/esm/package/mysql2/lib/promise/connection.js +222 -0
  229. package/dist/esm/package/mysql2/lib/promise/inherit_events.js +27 -0
  230. package/dist/esm/package/mysql2/lib/promise/make_done_cb.js +19 -0
  231. package/dist/esm/package/mysql2/lib/promise/pool.js +112 -0
  232. package/dist/esm/package/mysql2/lib/promise/pool_cluster.js +54 -0
  233. package/dist/esm/package/mysql2/lib/promise/pool_connection.js +19 -0
  234. package/dist/esm/package/mysql2/lib/promise/prepared_statement_info.js +32 -0
  235. package/dist/esm/package/mysql2/lib/results_stream.js +38 -0
  236. package/dist/esm/package/mysql2/lib/server.js +37 -0
  237. package/dist/esm/package/mysql2/package.json +80 -0
  238. package/dist/esm/package/mysql2/promise.d.ts +131 -0
  239. package/dist/esm/package/mysql2/promise.js +202 -0
  240. package/dist/esm/package/mysql2/typings/mysql/LICENSE.txt +15 -0
  241. package/dist/esm/package/mysql2/typings/mysql/index.d.ts +95 -0
  242. package/dist/esm/package/mysql2/typings/mysql/info.txt +1 -0
  243. package/dist/esm/package/mysql2/typings/mysql/lib/Auth.d.ts +30 -0
  244. package/dist/esm/package/mysql2/typings/mysql/lib/Connection.d.ts +428 -0
  245. package/dist/esm/package/mysql2/typings/mysql/lib/Pool.d.ts +69 -0
  246. package/dist/esm/package/mysql2/typings/mysql/lib/PoolCluster.d.ts +90 -0
  247. package/dist/esm/package/mysql2/typings/mysql/lib/PoolConnection.d.ts +10 -0
  248. package/dist/esm/package/mysql2/typings/mysql/lib/Server.d.ts +11 -0
  249. package/dist/esm/package/mysql2/typings/mysql/lib/constants/CharsetToEncoding.d.ts +8 -0
  250. package/dist/esm/package/mysql2/typings/mysql/lib/constants/Charsets.d.ts +326 -0
  251. package/dist/esm/package/mysql2/typings/mysql/lib/constants/Types.d.ts +70 -0
  252. package/dist/esm/package/mysql2/typings/mysql/lib/constants/index.d.ts +5 -0
  253. package/dist/esm/package/mysql2/typings/mysql/lib/parsers/ParserCache.d.ts +4 -0
  254. package/dist/esm/package/mysql2/typings/mysql/lib/parsers/index.d.ts +18 -0
  255. package/dist/esm/package/mysql2/typings/mysql/lib/parsers/typeCast.d.ts +54 -0
  256. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/Field.d.ts +10 -0
  257. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/FieldPacket.d.ts +27 -0
  258. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/OkPacket.d.ts +23 -0
  259. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/ProcedurePacket.d.ts +13 -0
  260. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/ResultSetHeader.d.ts +18 -0
  261. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/RowDataPacket.d.ts +9 -0
  262. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/index.d.ts +28 -0
  263. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/params/ErrorPacketParams.d.ts +6 -0
  264. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/packets/params/OkPacketParams.d.ts +9 -0
  265. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/ExecutableBase.d.ts +40 -0
  266. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/Prepare.d.ts +65 -0
  267. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/Query.d.ts +170 -0
  268. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/QueryableBase.d.ts +40 -0
  269. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/Sequence.d.ts +5 -0
  270. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/promise/ExecutableBase.d.ts +21 -0
  271. package/dist/esm/package/mysql2/typings/mysql/lib/protocol/sequences/promise/QueryableBase.d.ts +21 -0
  272. package/dist/esm/package/mysql_backup/index.js +69 -0
  273. package/dist/esm/package/mysql_backup/promise.js +187 -0
  274. package/dist/esm/server.d.ts +1 -1
  275. package/dist/esm/server.d.ts.map +1 -1
  276. package/dist/esm/server.js +1 -1
  277. package/dist/esm/start.js +1 -1
  278. package/dist/esm/update.js +1 -1
  279. package/package.json +3 -4
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ const Packet = require('../packets/packet');
4
+ const CommandCodes = require('../constants/commands');
5
+ const StringParser = require('../parsers/string.js');
6
+ const CharsetToEncoding = require('../constants/charset_encodings.js');
7
+
8
+ class PrepareStatement {
9
+ constructor(sql, charsetNumber) {
10
+ this.query = sql;
11
+ this.charsetNumber = charsetNumber;
12
+ this.encoding = CharsetToEncoding[charsetNumber];
13
+ }
14
+
15
+ toPacket() {
16
+ const buf = StringParser.encode(this.query, this.encoding);
17
+ const length = 5 + buf.length;
18
+ const buffer = Buffer.allocUnsafe(length);
19
+ const packet = new Packet(0, buffer, 0, length);
20
+ packet.offset = 4;
21
+ packet.writeInt8(CommandCodes.STMT_PREPARE);
22
+ packet.writeBuffer(buf);
23
+ return packet;
24
+ }
25
+ }
26
+
27
+ module.exports = PrepareStatement;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ class PreparedStatementHeader {
4
+ constructor(packet) {
5
+ packet.skip(1); // should be 0
6
+ this.id = packet.readInt32();
7
+ this.fieldCount = packet.readInt16();
8
+ this.parameterCount = packet.readInt16();
9
+ packet.skip(1); // should be 0
10
+ this.warningCount = packet.readInt16();
11
+ }
12
+ }
13
+
14
+ // TODO: toPacket
15
+
16
+ module.exports = PreparedStatementHeader;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ const Packet = require('../packets/packet.js');
4
+ const CommandCode = require('../constants/commands.js');
5
+ const StringParser = require('../parsers/string.js');
6
+ const CharsetToEncoding = require('../constants/charset_encodings.js');
7
+
8
+ class Query {
9
+ constructor(sql, charsetNumber) {
10
+ this.query = sql;
11
+ this.charsetNumber = charsetNumber;
12
+ this.encoding = CharsetToEncoding[charsetNumber];
13
+ }
14
+
15
+ toPacket() {
16
+ const buf = StringParser.encode(this.query, this.encoding);
17
+ const length = 5 + buf.length;
18
+ const buffer = Buffer.allocUnsafe(length);
19
+ const packet = new Packet(0, buffer, 0, length);
20
+ packet.offset = 4;
21
+ packet.writeInt8(CommandCode.QUERY);
22
+ packet.writeBuffer(buf);
23
+ return packet;
24
+ }
25
+ }
26
+
27
+ module.exports = Query;
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ // http://dev.mysql.com/doc/internals/en/com-register-slave.html
4
+ // note that documentation is incorrect, for example command code is actually 0x15 but documented as 0x14
5
+
6
+ const Packet = require('../packets/packet');
7
+ const CommandCodes = require('../constants/commands');
8
+
9
+ class RegisterSlave {
10
+ constructor(opts) {
11
+ this.serverId = opts.serverId || 0;
12
+ this.slaveHostname = opts.slaveHostname || '';
13
+ this.slaveUser = opts.slaveUser || '';
14
+ this.slavePassword = opts.slavePassword || '';
15
+ this.slavePort = opts.slavePort || 0;
16
+ this.replicationRank = opts.replicationRank || 0;
17
+ this.masterId = opts.masterId || 0;
18
+ }
19
+
20
+ toPacket() {
21
+ const length =
22
+ 15 + // TODO: should be ascii?
23
+ Buffer.byteLength(this.slaveHostname, 'utf8') +
24
+ Buffer.byteLength(this.slaveUser, 'utf8') +
25
+ Buffer.byteLength(this.slavePassword, 'utf8') +
26
+ 3 +
27
+ 4;
28
+ const buffer = Buffer.allocUnsafe(length);
29
+ const packet = new Packet(0, buffer, 0, length);
30
+ packet.offset = 4;
31
+ packet.writeInt8(CommandCodes.REGISTER_SLAVE);
32
+ packet.writeInt32(this.serverId);
33
+ packet.writeInt8(Buffer.byteLength(this.slaveHostname, 'utf8'));
34
+ packet.writeString(this.slaveHostname);
35
+ packet.writeInt8(Buffer.byteLength(this.slaveUser, 'utf8'));
36
+ packet.writeString(this.slaveUser);
37
+ packet.writeInt8(Buffer.byteLength(this.slavePassword, 'utf8'));
38
+ packet.writeString(this.slavePassword);
39
+ packet.writeInt16(this.slavePort);
40
+ packet.writeInt32(this.replicationRank);
41
+ packet.writeInt32(this.masterId);
42
+ return packet;
43
+ }
44
+ }
45
+
46
+ module.exports = RegisterSlave;
@@ -0,0 +1,118 @@
1
+ 'use strict';
2
+
3
+ // TODO: rename to OK packet
4
+ // https://dev.mysql.com/doc/internals/en/packet-OK_Packet.html
5
+
6
+ const Packet = require('./packet.js');
7
+ const ClientConstants = require('../constants/client.js');
8
+ const ServerSatusFlags = require('../constants/server_status.js');
9
+
10
+ const EncodingToCharset = require('../constants/encoding_charset.js');
11
+ const sessionInfoTypes = require('../constants/session_track.js');
12
+
13
+ class ResultSetHeader {
14
+ constructor(packet, connection) {
15
+ const bigNumberStrings = connection.config.bigNumberStrings;
16
+ const encoding = connection.serverEncoding;
17
+ const flags = connection._handshakePacket.capabilityFlags;
18
+ const isSet = function (flag) {
19
+ return flags & ClientConstants[flag];
20
+ };
21
+ if (packet.buffer[packet.offset] !== 0) {
22
+ this.fieldCount = packet.readLengthCodedNumber();
23
+ if (this.fieldCount === null) {
24
+ this.infileName = packet.readString(undefined, encoding);
25
+ }
26
+ return;
27
+ }
28
+ this.fieldCount = packet.readInt8(); // skip OK byte
29
+ this.affectedRows = packet.readLengthCodedNumber(bigNumberStrings);
30
+ this.insertId = packet.readLengthCodedNumberSigned(bigNumberStrings);
31
+ this.info = '';
32
+ if (isSet('PROTOCOL_41')) {
33
+ this.serverStatus = packet.readInt16();
34
+ this.warningStatus = packet.readInt16();
35
+ } else if (isSet('TRANSACTIONS')) {
36
+ this.serverStatus = packet.readInt16();
37
+ }
38
+ let stateChanges = null;
39
+ if (isSet('SESSION_TRACK') && packet.offset < packet.end) {
40
+ this.info = packet.readLengthCodedString(encoding);
41
+
42
+ if (this.serverStatus && ServerSatusFlags.SERVER_SESSION_STATE_CHANGED) {
43
+ // session change info record - see
44
+ // https://dev.mysql.com/doc/internals/en/packet-OK_Packet.html#cs-sect-packet-ok-sessioninfo
45
+ let len =
46
+ packet.offset < packet.end ? packet.readLengthCodedNumber() : 0;
47
+ const end = packet.offset + len;
48
+ let type, key, stateEnd;
49
+ if (len > 0) {
50
+ stateChanges = {
51
+ systemVariables: {},
52
+ schema: null,
53
+ gtids: [],
54
+ trackStateChange: null,
55
+ };
56
+ }
57
+ while (packet.offset < end) {
58
+ type = packet.readInt8();
59
+ len = packet.readLengthCodedNumber();
60
+ stateEnd = packet.offset + len;
61
+ if (type === sessionInfoTypes.SYSTEM_VARIABLES) {
62
+ key = packet.readLengthCodedString(encoding);
63
+ const val = packet.readLengthCodedString(encoding);
64
+ stateChanges.systemVariables[key] = val;
65
+ if (key === 'character_set_client') {
66
+ const charsetNumber = EncodingToCharset[val];
67
+ connection.config.charsetNumber = charsetNumber;
68
+ }
69
+ } else if (type === sessionInfoTypes.SCHEMA) {
70
+ key = packet.readLengthCodedString(encoding);
71
+ stateChanges.schema = key;
72
+ } else if (type === sessionInfoTypes.STATE_CHANGE) {
73
+ stateChanges.trackStateChange =
74
+ packet.readLengthCodedString(encoding);
75
+ } else if (type === sessionInfoTypes.STATE_GTIDS) {
76
+ // TODO: find if the first length coded string means anything. Usually comes as empty
77
+ // eslint-disable-next-line no-unused-vars
78
+ const _unknownString = packet.readLengthCodedString(encoding);
79
+ const gtid = packet.readLengthCodedString(encoding);
80
+ stateChanges.gtids = gtid.split(',');
81
+ } else {
82
+ // unsupported session track type. For now just ignore
83
+ }
84
+ packet.offset = stateEnd;
85
+ }
86
+ }
87
+ } else {
88
+ this.info = packet.readString(undefined, encoding);
89
+ }
90
+ if (stateChanges) {
91
+ this.stateChanges = stateChanges;
92
+ }
93
+ const m = this.info.match(/\schanged:\s*(\d+)/i);
94
+ if (m !== null) {
95
+ this.changedRows = parseInt(m[1], 10);
96
+ } else {
97
+ this.changedRows = 0;
98
+ }
99
+ }
100
+
101
+ // TODO: should be consistent instance member, but it's just easier here to have just function
102
+ static toPacket(fieldCount, insertId) {
103
+ let length = 4 + Packet.lengthCodedNumberLength(fieldCount);
104
+ if (typeof insertId !== 'undefined') {
105
+ length += Packet.lengthCodedNumberLength(insertId);
106
+ }
107
+ const buffer = Buffer.allocUnsafe(length);
108
+ const packet = new Packet(0, buffer, 0, length);
109
+ packet.offset = 4;
110
+ packet.writeLengthCodedNumber(fieldCount);
111
+ if (typeof insertId !== 'undefined') {
112
+ packet.writeLengthCodedNumber(insertId);
113
+ }
114
+ return packet;
115
+ }
116
+ }
117
+
118
+ module.exports = ResultSetHeader;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ const ClientConstants = require('../constants/client');
4
+ const Packet = require('../packets/packet');
5
+
6
+ class SSLRequest {
7
+ constructor(flags, charset) {
8
+ this.clientFlags = flags | ClientConstants.SSL;
9
+ this.charset = charset;
10
+ }
11
+
12
+ toPacket() {
13
+ const length = 36;
14
+ const buffer = Buffer.allocUnsafe(length);
15
+ const packet = new Packet(0, buffer, 0, length);
16
+ buffer.fill(0);
17
+ packet.offset = 4;
18
+ packet.writeInt32(this.clientFlags);
19
+ packet.writeInt32(0); // max packet size. todo: move to config
20
+ packet.writeInt8(this.charset);
21
+ return packet;
22
+ }
23
+ }
24
+
25
+ module.exports = SSLRequest;
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ const Packet = require('../packets/packet');
4
+
5
+ class TextRow {
6
+ constructor(columns) {
7
+ this.columns = columns || [];
8
+ }
9
+
10
+ static fromPacket(packet) {
11
+ // packet.reset(); // set offset to starting point?
12
+ const columns = [];
13
+ while (packet.haveMoreData()) {
14
+ columns.push(packet.readLengthCodedString());
15
+ }
16
+ return new TextRow(columns);
17
+ }
18
+
19
+ static toPacket(columns, encoding) {
20
+ const sequenceId = 0; // TODO remove, this is calculated now in connecton
21
+ let length = 0;
22
+ columns.forEach((val) => {
23
+ if (val === null || typeof val === 'undefined') {
24
+ ++length;
25
+ return;
26
+ }
27
+ length += Packet.lengthCodedStringLength(val.toString(10), encoding);
28
+ });
29
+ const buffer = Buffer.allocUnsafe(length + 4);
30
+ const packet = new Packet(sequenceId, buffer, 0, length + 4);
31
+ packet.offset = 4;
32
+ columns.forEach((val) => {
33
+ if (val === null) {
34
+ packet.writeNull();
35
+ return;
36
+ }
37
+ if (typeof val === 'undefined') {
38
+ packet.writeInt8(0);
39
+ return;
40
+ }
41
+ packet.writeLengthCodedString(val.toString(10), encoding);
42
+ });
43
+ return packet;
44
+ }
45
+ }
46
+
47
+ module.exports = TextRow;
@@ -0,0 +1,231 @@
1
+ 'use strict';
2
+
3
+ const FieldFlags = require('../constants/field_flags.js');
4
+ const Charsets = require('../constants/charsets.js');
5
+ const Types = require('../constants/types.js');
6
+ const helpers = require('../helpers');
7
+ const genFunc = require('generate-function');
8
+ const parserCache = require('./parser_cache.js');
9
+ const typeNames = [];
10
+ for (const t in Types) {
11
+ typeNames[Types[t]] = t;
12
+ }
13
+
14
+ function readCodeFor(field, config, options, fieldNum) {
15
+ const supportBigNumbers = Boolean(
16
+ options.supportBigNumbers || config.supportBigNumbers
17
+ );
18
+ const bigNumberStrings = Boolean(
19
+ options.bigNumberStrings || config.bigNumberStrings
20
+ );
21
+ const timezone = options.timezone || config.timezone;
22
+ const dateStrings = options.dateStrings || config.dateStrings;
23
+ const unsigned = field.flags & FieldFlags.UNSIGNED;
24
+ switch (field.columnType) {
25
+ case Types.TINY:
26
+ return unsigned ? 'packet.readInt8();' : 'packet.readSInt8();';
27
+ case Types.SHORT:
28
+ return unsigned ? 'packet.readInt16();' : 'packet.readSInt16();';
29
+ case Types.LONG:
30
+ case Types.INT24: // in binary protocol int24 is encoded in 4 bytes int32
31
+ return unsigned ? 'packet.readInt32();' : 'packet.readSInt32();';
32
+ case Types.YEAR:
33
+ return 'packet.readInt16()';
34
+ case Types.FLOAT:
35
+ return 'packet.readFloat();';
36
+ case Types.DOUBLE:
37
+ return 'packet.readDouble();';
38
+ case Types.NULL:
39
+ return 'null;';
40
+ case Types.DATE:
41
+ case Types.DATETIME:
42
+ case Types.TIMESTAMP:
43
+ case Types.NEWDATE:
44
+ if (helpers.typeMatch(field.columnType, dateStrings, Types)) {
45
+ return `packet.readDateTimeString(${parseInt(field.decimals, 10)}, ${null}, ${field.columnType});`;
46
+ }
47
+ return `packet.readDateTime(${helpers.srcEscape(timezone)});`;
48
+ case Types.TIME:
49
+ return 'packet.readTimeString()';
50
+ case Types.DECIMAL:
51
+ case Types.NEWDECIMAL:
52
+ if (config.decimalNumbers) {
53
+ return 'packet.parseLengthCodedFloat();';
54
+ }
55
+ return 'packet.readLengthCodedString("ascii");';
56
+ case Types.GEOMETRY:
57
+ return 'packet.parseGeometryValue();';
58
+ case Types.VECTOR:
59
+ return 'packet.parseVector()';
60
+ case Types.JSON:
61
+ // Since for JSON columns mysql always returns charset 63 (BINARY),
62
+ // we have to handle it according to JSON specs and use "utf8",
63
+ // see https://github.com/sidorares/node-mysql2/issues/409
64
+ return config.jsonStrings
65
+ ? 'packet.readLengthCodedString("utf8")'
66
+ : 'JSON.parse(packet.readLengthCodedString("utf8"));';
67
+ case Types.LONGLONG:
68
+ if (!supportBigNumbers) {
69
+ return unsigned
70
+ ? 'packet.readInt64JSNumber();'
71
+ : 'packet.readSInt64JSNumber();';
72
+ }
73
+ if (bigNumberStrings) {
74
+ return unsigned
75
+ ? 'packet.readInt64String();'
76
+ : 'packet.readSInt64String();';
77
+ }
78
+ return unsigned ? 'packet.readInt64();' : 'packet.readSInt64();';
79
+
80
+ default:
81
+ if (field.characterSet === Charsets.BINARY) {
82
+ return 'packet.readLengthCodedBuffer();';
83
+ }
84
+ return `packet.readLengthCodedString(fields[${fieldNum}].encoding)`;
85
+ }
86
+ }
87
+
88
+ function compile(fields, options, config) {
89
+ const parserFn = genFunc();
90
+ const nullBitmapLength = Math.floor((fields.length + 7 + 2) / 8);
91
+
92
+ function wrap(field, packet) {
93
+ return {
94
+ type: typeNames[field.columnType],
95
+ length: field.columnLength,
96
+ db: field.schema,
97
+ table: field.table,
98
+ name: field.name,
99
+ string: function (encoding = field.encoding) {
100
+ if (field.columnType === Types.JSON && encoding === field.encoding) {
101
+ // Since for JSON columns mysql always returns charset 63 (BINARY),
102
+ // we have to handle it according to JSON specs and use "utf8",
103
+ // see https://github.com/sidorares/node-mysql2/issues/1661
104
+ console.warn(
105
+ `typeCast: JSON column "${field.name}" is interpreted as BINARY by default, recommended to manually set utf8 encoding: \`field.string("utf8")\``
106
+ );
107
+ }
108
+
109
+ if (
110
+ [Types.DATETIME, Types.NEWDATE, Types.TIMESTAMP, Types.DATE].includes(
111
+ field.columnType
112
+ )
113
+ ) {
114
+ return packet.readDateTimeString(parseInt(field.decimals, 10));
115
+ }
116
+
117
+ if (field.columnType === Types.TINY) {
118
+ const unsigned = field.flags & FieldFlags.UNSIGNED;
119
+
120
+ return String(unsigned ? packet.readInt8() : packet.readSInt8());
121
+ }
122
+
123
+ if (field.columnType === Types.TIME) {
124
+ return packet.readTimeString();
125
+ }
126
+
127
+ return packet.readLengthCodedString(encoding);
128
+ },
129
+ buffer: function () {
130
+ return packet.readLengthCodedBuffer();
131
+ },
132
+ geometry: function () {
133
+ return packet.parseGeometryValue();
134
+ },
135
+ };
136
+ }
137
+
138
+ parserFn('(function(){');
139
+ parserFn('return class BinaryRow {');
140
+ parserFn('constructor() {');
141
+ parserFn('}');
142
+
143
+ parserFn('next(packet, fields, options) {');
144
+ if (options.rowsAsArray) {
145
+ parserFn(`const result = new Array(${fields.length});`);
146
+ } else {
147
+ parserFn('const result = {};');
148
+ }
149
+
150
+ // Global typeCast
151
+ if (
152
+ typeof config.typeCast === 'function' &&
153
+ typeof options.typeCast !== 'function'
154
+ ) {
155
+ options.typeCast = config.typeCast;
156
+ }
157
+
158
+ parserFn('packet.readInt8();'); // status byte
159
+ for (let i = 0; i < nullBitmapLength; ++i) {
160
+ parserFn(`const nullBitmaskByte${i} = packet.readInt8();`);
161
+ }
162
+
163
+ let lvalue = '';
164
+ let currentFieldNullBit = 4;
165
+ let nullByteIndex = 0;
166
+ let fieldName = '';
167
+ let tableName = '';
168
+
169
+ for (let i = 0; i < fields.length; i++) {
170
+ fieldName = helpers.fieldEscape(fields[i].name);
171
+ // parserFn(`// ${fieldName}: ${typeNames[fields[i].columnType]}`);
172
+
173
+ if (typeof options.nestTables === 'string') {
174
+ lvalue = `result[${helpers.fieldEscape(fields[i].table + options.nestTables + fields[i].name)}]`;
175
+ } else if (options.nestTables === true) {
176
+ tableName = helpers.fieldEscape(fields[i].table);
177
+
178
+ parserFn(`if (!result[${tableName}]) result[${tableName}] = {};`);
179
+ lvalue = `result[${tableName}][${fieldName}]`;
180
+ } else if (options.rowsAsArray) {
181
+ lvalue = `result[${i.toString(10)}]`;
182
+ } else {
183
+ lvalue = `result[${fieldName}]`;
184
+ }
185
+
186
+ parserFn(`if (nullBitmaskByte${nullByteIndex} & ${currentFieldNullBit}) `);
187
+ parserFn(`${lvalue} = null;`);
188
+ parserFn('else {');
189
+
190
+ if (options.typeCast === false) {
191
+ parserFn(`${lvalue} = packet.readLengthCodedBuffer();`);
192
+ } else {
193
+ const fieldWrapperVar = `fieldWrapper${i}`;
194
+ parserFn(`const ${fieldWrapperVar} = wrap(fields[${i}], packet);`);
195
+ const readCode = readCodeFor(fields[i], config, options, i);
196
+
197
+ if (typeof options.typeCast === 'function') {
198
+ parserFn(
199
+ `${lvalue} = options.typeCast(${fieldWrapperVar}, function() { return ${readCode} });`
200
+ );
201
+ } else {
202
+ parserFn(`${lvalue} = ${readCode};`);
203
+ }
204
+ }
205
+ parserFn('}');
206
+
207
+ currentFieldNullBit *= 2;
208
+ if (currentFieldNullBit === 0x100) {
209
+ currentFieldNullBit = 1;
210
+ nullByteIndex++;
211
+ }
212
+ }
213
+
214
+ parserFn('return result;');
215
+ parserFn('}');
216
+ parserFn('};')('})()');
217
+
218
+ if (config.debug) {
219
+ helpers.printDebugWithCode(
220
+ 'Compiled binary protocol row parser',
221
+ parserFn.toString()
222
+ );
223
+ }
224
+ return parserFn.toFunction({ wrap });
225
+ }
226
+
227
+ function getBinaryParser(fields, options, config) {
228
+ return parserCache.getParser('binary', fields, options, config, compile);
229
+ }
230
+
231
+ module.exports = getBinaryParser;
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ const { createLRU } = require('lru.min');
4
+
5
+ const parserCache = createLRU({
6
+ max: 15000,
7
+ });
8
+
9
+ function keyFromFields(type, fields, options, config) {
10
+ const res = [
11
+ type,
12
+ typeof options.nestTables,
13
+ options.nestTables,
14
+ Boolean(options.rowsAsArray),
15
+ Boolean(options.supportBigNumbers || config.supportBigNumbers),
16
+ Boolean(options.bigNumberStrings || config.bigNumberStrings),
17
+ typeof options.typeCast,
18
+ options.timezone || config.timezone,
19
+ Boolean(options.decimalNumbers),
20
+ options.dateStrings,
21
+ ];
22
+
23
+ for (let i = 0; i < fields.length; ++i) {
24
+ const field = fields[i];
25
+
26
+ res.push([
27
+ field.name,
28
+ field.columnType,
29
+ field.length,
30
+ field.schema,
31
+ field.table,
32
+ field.flags,
33
+ field.characterSet,
34
+ ]);
35
+ }
36
+
37
+ return JSON.stringify(res, null, 0);
38
+ }
39
+
40
+ function getParser(type, fields, options, config, compiler) {
41
+ const key = keyFromFields(type, fields, options, config);
42
+ let parser = parserCache.get(key);
43
+
44
+ if (parser) {
45
+ return parser;
46
+ }
47
+
48
+ parser = compiler(fields, options, config);
49
+ parserCache.set(key, parser);
50
+ return parser;
51
+ }
52
+
53
+ function setMaxCache(max) {
54
+ parserCache.resize(max);
55
+ }
56
+
57
+ function clearCache() {
58
+ parserCache.clear();
59
+ }
60
+
61
+ module.exports = {
62
+ getParser: getParser,
63
+ setMaxCache: setMaxCache,
64
+ clearCache: clearCache,
65
+ _keyFromFields: keyFromFields,
66
+ };