token.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.EndOfMessageToken = exports.SSPIToken = exports.RowToken = exports.ReturnValueToken = exports.ReturnStatusToken = exports.OrderToken = exports.NBCRowToken = exports.LoginAckToken = exports.ErrorMessageToken = exports.InfoMessageToken = exports.FedAuthInfoToken = exports.FeatureExtAckToken = exports.RoutingEnvChangeToken = exports.CollationChangeToken = exports.ResetConnectionEnvChangeToken = exports.DatabaseMirroringPartnerEnvChangeToken = exports.RollbackTransactionEnvChangeToken = exports.CommitTransactionEnvChangeToken = exports.BeginTransactionEnvChangeToken = exports.PacketSizeEnvChangeToken = exports.CharsetEnvChangeToken = exports.LanguageEnvChangeToken = exports.DatabaseEnvChangeToken = exports.DoneProcToken = exports.DoneInProcToken = exports.DoneToken = exports.ColMetadataToken = exports.Token = exports.TYPE = void 0;
  6. const TYPE = {
  7. ALTMETADATA: 0x88,
  8. ALTROW: 0xD3,
  9. COLMETADATA: 0x81,
  10. COLINFO: 0xA5,
  11. DONE: 0xFD,
  12. DONEPROC: 0xFE,
  13. DONEINPROC: 0xFF,
  14. ENVCHANGE: 0xE3,
  15. ERROR: 0xAA,
  16. FEATUREEXTACK: 0xAE,
  17. FEDAUTHINFO: 0xEE,
  18. INFO: 0xAB,
  19. LOGINACK: 0xAD,
  20. NBCROW: 0xD2,
  21. OFFSET: 0x78,
  22. ORDER: 0xA9,
  23. RETURNSTATUS: 0x79,
  24. RETURNVALUE: 0xAC,
  25. ROW: 0xD1,
  26. SSPI: 0xED,
  27. TABNAME: 0xA4
  28. };
  29. exports.TYPE = TYPE;
  30. class Token {
  31. constructor(name, event) {
  32. this.name = name;
  33. this.event = event;
  34. }
  35. }
  36. exports.Token = Token;
  37. class ColMetadataToken extends Token {
  38. constructor(columns) {
  39. super('COLMETADATA', 'columnMetadata');
  40. this.columns = columns;
  41. }
  42. }
  43. exports.ColMetadataToken = ColMetadataToken;
  44. class DoneToken extends Token {
  45. constructor({
  46. more,
  47. sqlError,
  48. attention,
  49. serverError,
  50. rowCount,
  51. curCmd
  52. }) {
  53. super('DONE', 'done');
  54. this.more = more;
  55. this.sqlError = sqlError;
  56. this.attention = attention;
  57. this.serverError = serverError;
  58. this.rowCount = rowCount;
  59. this.curCmd = curCmd;
  60. }
  61. }
  62. exports.DoneToken = DoneToken;
  63. class DoneInProcToken extends Token {
  64. constructor({
  65. more,
  66. sqlError,
  67. attention,
  68. serverError,
  69. rowCount,
  70. curCmd
  71. }) {
  72. super('DONEINPROC', 'doneInProc');
  73. this.more = more;
  74. this.sqlError = sqlError;
  75. this.attention = attention;
  76. this.serverError = serverError;
  77. this.rowCount = rowCount;
  78. this.curCmd = curCmd;
  79. }
  80. }
  81. exports.DoneInProcToken = DoneInProcToken;
  82. class DoneProcToken extends Token {
  83. constructor({
  84. more,
  85. sqlError,
  86. attention,
  87. serverError,
  88. rowCount,
  89. curCmd
  90. }) {
  91. super('DONEPROC', 'doneProc');
  92. this.more = more;
  93. this.sqlError = sqlError;
  94. this.attention = attention;
  95. this.serverError = serverError;
  96. this.rowCount = rowCount;
  97. this.curCmd = curCmd;
  98. }
  99. }
  100. exports.DoneProcToken = DoneProcToken;
  101. class DatabaseEnvChangeToken extends Token {
  102. constructor(newValue, oldValue) {
  103. super('ENVCHANGE', 'databaseChange');
  104. this.type = 'DATABASE';
  105. this.newValue = newValue;
  106. this.oldValue = oldValue;
  107. }
  108. }
  109. exports.DatabaseEnvChangeToken = DatabaseEnvChangeToken;
  110. class LanguageEnvChangeToken extends Token {
  111. constructor(newValue, oldValue) {
  112. super('ENVCHANGE', 'languageChange');
  113. this.type = 'LANGUAGE';
  114. this.newValue = newValue;
  115. this.oldValue = oldValue;
  116. }
  117. }
  118. exports.LanguageEnvChangeToken = LanguageEnvChangeToken;
  119. class CharsetEnvChangeToken extends Token {
  120. constructor(newValue, oldValue) {
  121. super('ENVCHANGE', 'charsetChange');
  122. this.type = 'CHARSET';
  123. this.newValue = newValue;
  124. this.oldValue = oldValue;
  125. }
  126. }
  127. exports.CharsetEnvChangeToken = CharsetEnvChangeToken;
  128. class PacketSizeEnvChangeToken extends Token {
  129. constructor(newValue, oldValue) {
  130. super('ENVCHANGE', 'packetSizeChange');
  131. this.type = 'PACKET_SIZE';
  132. this.newValue = newValue;
  133. this.oldValue = oldValue;
  134. }
  135. }
  136. exports.PacketSizeEnvChangeToken = PacketSizeEnvChangeToken;
  137. class BeginTransactionEnvChangeToken extends Token {
  138. constructor(newValue, oldValue) {
  139. super('ENVCHANGE', 'beginTransaction');
  140. this.name = 'ENVCHANGE';
  141. this.event = 'beginTransaction';
  142. this.type = 'BEGIN_TXN';
  143. this.newValue = newValue;
  144. this.oldValue = oldValue;
  145. }
  146. }
  147. exports.BeginTransactionEnvChangeToken = BeginTransactionEnvChangeToken;
  148. class CommitTransactionEnvChangeToken extends Token {
  149. constructor(newValue, oldValue) {
  150. super('ENVCHANGE', 'commitTransaction');
  151. this.type = 'COMMIT_TXN';
  152. this.newValue = newValue;
  153. this.oldValue = oldValue;
  154. }
  155. }
  156. exports.CommitTransactionEnvChangeToken = CommitTransactionEnvChangeToken;
  157. class RollbackTransactionEnvChangeToken extends Token {
  158. constructor(newValue, oldValue) {
  159. super('ENVCHANGE', 'rollbackTransaction');
  160. this.type = 'ROLLBACK_TXN';
  161. this.newValue = newValue;
  162. this.oldValue = oldValue;
  163. }
  164. }
  165. exports.RollbackTransactionEnvChangeToken = RollbackTransactionEnvChangeToken;
  166. class DatabaseMirroringPartnerEnvChangeToken extends Token {
  167. constructor(newValue, oldValue) {
  168. super('ENVCHANGE', 'partnerNode');
  169. this.name = 'ENVCHANGE';
  170. this.event = 'partnerNode';
  171. this.type = 'DATABASE_MIRRORING_PARTNER';
  172. this.newValue = newValue;
  173. this.oldValue = oldValue;
  174. }
  175. }
  176. exports.DatabaseMirroringPartnerEnvChangeToken = DatabaseMirroringPartnerEnvChangeToken;
  177. class ResetConnectionEnvChangeToken extends Token {
  178. constructor(newValue, oldValue) {
  179. super('ENVCHANGE', 'resetConnection');
  180. this.name = 'ENVCHANGE';
  181. this.event = 'resetConnection';
  182. this.type = 'RESET_CONNECTION';
  183. this.newValue = newValue;
  184. this.oldValue = oldValue;
  185. }
  186. }
  187. exports.ResetConnectionEnvChangeToken = ResetConnectionEnvChangeToken;
  188. class CollationChangeToken extends Token {
  189. constructor(newValue, oldValue) {
  190. super('ENVCHANGE', 'sqlCollationChange');
  191. this.type = 'SQL_COLLATION';
  192. this.newValue = newValue;
  193. this.oldValue = oldValue;
  194. }
  195. }
  196. exports.CollationChangeToken = CollationChangeToken;
  197. class RoutingEnvChangeToken extends Token {
  198. constructor(newValue, oldValue) {
  199. super('ENVCHANGE', 'routingChange');
  200. this.type = 'ROUTING_CHANGE';
  201. this.newValue = newValue;
  202. this.oldValue = oldValue;
  203. }
  204. }
  205. exports.RoutingEnvChangeToken = RoutingEnvChangeToken;
  206. class FeatureExtAckToken extends Token {
  207. constructor(fedAuth) {
  208. super('FEATUREEXTACK', 'featureExtAck');
  209. this.fedAuth = fedAuth;
  210. }
  211. }
  212. exports.FeatureExtAckToken = FeatureExtAckToken;
  213. class FedAuthInfoToken extends Token {
  214. constructor(spn, stsurl) {
  215. super('FEDAUTHINFO', 'fedAuthInfo');
  216. this.spn = spn;
  217. this.stsurl = stsurl;
  218. }
  219. }
  220. exports.FedAuthInfoToken = FedAuthInfoToken;
  221. class InfoMessageToken extends Token {
  222. constructor({
  223. number,
  224. state,
  225. class: clazz,
  226. message,
  227. serverName,
  228. procName,
  229. lineNumber
  230. }) {
  231. super('INFO', 'infoMessage');
  232. this.number = number;
  233. this.state = state;
  234. this.class = clazz;
  235. this.message = message;
  236. this.serverName = serverName;
  237. this.procName = procName;
  238. this.lineNumber = lineNumber;
  239. }
  240. }
  241. exports.InfoMessageToken = InfoMessageToken;
  242. class ErrorMessageToken extends Token {
  243. constructor({
  244. number,
  245. state,
  246. class: clazz,
  247. message,
  248. serverName,
  249. procName,
  250. lineNumber
  251. }) {
  252. super('ERROR', 'errorMessage');
  253. this.number = number;
  254. this.state = state;
  255. this.class = clazz;
  256. this.message = message;
  257. this.serverName = serverName;
  258. this.procName = procName;
  259. this.lineNumber = lineNumber;
  260. }
  261. }
  262. exports.ErrorMessageToken = ErrorMessageToken;
  263. class LoginAckToken extends Token {
  264. constructor({
  265. interface: interfaze,
  266. tdsVersion,
  267. progName,
  268. progVersion
  269. }) {
  270. super('LOGINACK', 'loginack');
  271. this.interface = interfaze;
  272. this.tdsVersion = tdsVersion;
  273. this.progName = progName;
  274. this.progVersion = progVersion;
  275. }
  276. }
  277. exports.LoginAckToken = LoginAckToken;
  278. class NBCRowToken extends Token {
  279. constructor(columns) {
  280. super('NBCROW', 'row');
  281. this.columns = columns;
  282. }
  283. }
  284. exports.NBCRowToken = NBCRowToken;
  285. class OrderToken extends Token {
  286. constructor(orderColumns) {
  287. super('ORDER', 'order');
  288. this.orderColumns = orderColumns;
  289. }
  290. }
  291. exports.OrderToken = OrderToken;
  292. class ReturnStatusToken extends Token {
  293. constructor(value) {
  294. super('RETURNSTATUS', 'returnStatus');
  295. this.value = value;
  296. }
  297. }
  298. exports.ReturnStatusToken = ReturnStatusToken;
  299. class ReturnValueToken extends Token {
  300. constructor({
  301. paramOrdinal,
  302. paramName,
  303. metadata,
  304. value
  305. }) {
  306. super('RETURNVALUE', 'returnValue');
  307. this.paramOrdinal = paramOrdinal;
  308. this.paramName = paramName;
  309. this.metadata = metadata;
  310. this.value = value;
  311. }
  312. }
  313. exports.ReturnValueToken = ReturnValueToken;
  314. class RowToken extends Token {
  315. constructor(columns) {
  316. super('ROW', 'row');
  317. this.columns = columns;
  318. }
  319. }
  320. exports.RowToken = RowToken;
  321. class SSPIToken extends Token {
  322. constructor(ntlmpacket, ntlmpacketBuffer) {
  323. super('SSPICHALLENGE', 'sspichallenge');
  324. this.ntlmpacket = ntlmpacket;
  325. this.ntlmpacketBuffer = ntlmpacketBuffer;
  326. }
  327. }
  328. exports.SSPIToken = SSPIToken;
  329. class EndOfMessageToken extends Token {
  330. constructor() {
  331. super('EOM', 'endOfMessage');
  332. }
  333. }
  334. exports.EndOfMessageToken = EndOfMessageToken;