infoerror-token-parser.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.infoParser = infoParser;
  6. exports.errorParser = errorParser;
  7. var _token = require("./token");
  8. function parseToken(parser, options, callback) {
  9. // length
  10. parser.readUInt16LE(() => {
  11. parser.readUInt32LE(number => {
  12. parser.readUInt8(state => {
  13. parser.readUInt8(clazz => {
  14. parser.readUsVarChar(message => {
  15. parser.readBVarChar(serverName => {
  16. parser.readBVarChar(procName => {
  17. (options.tdsVersion < '7_2' ? parser.readUInt16LE : parser.readUInt32LE).call(parser, lineNumber => {
  18. callback({
  19. 'number': number,
  20. 'state': state,
  21. 'class': clazz,
  22. 'message': message,
  23. 'serverName': serverName,
  24. 'procName': procName,
  25. 'lineNumber': lineNumber
  26. });
  27. });
  28. });
  29. });
  30. });
  31. });
  32. });
  33. });
  34. });
  35. }
  36. function infoParser(parser, _colMetadata, options, callback) {
  37. parseToken(parser, options, data => {
  38. callback(new _token.InfoMessageToken(data));
  39. });
  40. }
  41. function errorParser(parser, _colMetadata, options, callback) {
  42. parseToken(parser, options, data => {
  43. callback(new _token.ErrorMessageToken(data));
  44. });
  45. }