feature-ext-ack-parser.js 950 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _token = require("./token");
  7. const FEATURE_ID = {
  8. SESSIONRECOVERY: 0x01,
  9. FEDAUTH: 0x02,
  10. COLUMNENCRYPTION: 0x04,
  11. GLOBALTRANSACTIONS: 0x05,
  12. AZURESQLSUPPORT: 0x08,
  13. TERMINATOR: 0xFF
  14. };
  15. function featureExtAckParser(parser, _colMetadata, _options, callback) {
  16. let fedAuth;
  17. function next() {
  18. parser.readUInt8(featureId => {
  19. if (featureId === FEATURE_ID.TERMINATOR) {
  20. return callback(new _token.FeatureExtAckToken(fedAuth));
  21. }
  22. parser.readUInt32LE(featureAckDataLen => {
  23. parser.readBuffer(featureAckDataLen, featureData => {
  24. if (featureId === FEATURE_ID.FEDAUTH) {
  25. fedAuth = featureData;
  26. }
  27. next();
  28. });
  29. });
  30. });
  31. }
  32. next();
  33. }
  34. var _default = featureExtAckParser;
  35. exports.default = _default;
  36. module.exports = featureExtAckParser;