tedious 16.2.0 → 16.4.0

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 (205) hide show
  1. package/lib/all-headers.js +1 -2
  2. package/lib/all-headers.js.map +1 -0
  3. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +9 -31
  4. package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js.map +1 -0
  5. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +9 -24
  6. package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js.map +1 -0
  7. package/lib/always-encrypted/cek-entry.js +8 -12
  8. package/lib/always-encrypted/cek-entry.js.map +1 -0
  9. package/lib/always-encrypted/get-parameter-encryption-metadata.js +2 -24
  10. package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -0
  11. package/lib/always-encrypted/key-crypto.js +5 -30
  12. package/lib/always-encrypted/key-crypto.js.map +1 -0
  13. package/lib/always-encrypted/keystore-provider-azure-key-vault.js +11 -72
  14. package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -0
  15. package/lib/always-encrypted/symmetric-key-cache.js +2 -13
  16. package/lib/always-encrypted/symmetric-key-cache.js.map +1 -0
  17. package/lib/always-encrypted/symmetric-key.js +3 -8
  18. package/lib/always-encrypted/symmetric-key.js.map +1 -0
  19. package/lib/always-encrypted/types.js +19 -27
  20. package/lib/always-encrypted/types.js.map +1 -0
  21. package/lib/always-encrypted/utils.js +2 -6
  22. package/lib/always-encrypted/utils.js.map +1 -0
  23. package/lib/bulk-load-payload.js +7 -15
  24. package/lib/bulk-load-payload.js.map +1 -0
  25. package/lib/bulk-load.js +58 -131
  26. package/lib/bulk-load.js.map +1 -0
  27. package/lib/collation.js +7 -15
  28. package/lib/collation.js.map +1 -0
  29. package/lib/connection.js +307 -534
  30. package/lib/connection.js.map +1 -0
  31. package/lib/connector.js +6 -37
  32. package/lib/connector.js.map +1 -0
  33. package/lib/data-type.js +2 -43
  34. package/lib/data-type.js.map +1 -0
  35. package/lib/data-types/bigint.js +1 -15
  36. package/lib/data-types/bigint.js.map +1 -0
  37. package/lib/data-types/binary.js +1 -12
  38. package/lib/data-types/binary.js.map +1 -0
  39. package/lib/data-types/bit.js +1 -11
  40. package/lib/data-types/bit.js.map +1 -0
  41. package/lib/data-types/bitn.js +1 -7
  42. package/lib/data-types/bitn.js.map +1 -0
  43. package/lib/data-types/char.js +1 -20
  44. package/lib/data-types/char.js.map +1 -0
  45. package/lib/data-types/date.js +1 -15
  46. package/lib/data-types/date.js.map +1 -0
  47. package/lib/data-types/datetime.js +3 -20
  48. package/lib/data-types/datetime.js.map +1 -0
  49. package/lib/data-types/datetime2.js +1 -26
  50. package/lib/data-types/datetime2.js.map +1 -0
  51. package/lib/data-types/datetimen.js +1 -7
  52. package/lib/data-types/datetimen.js.map +1 -0
  53. package/lib/data-types/datetimeoffset.js +1 -23
  54. package/lib/data-types/datetimeoffset.js.map +1 -0
  55. package/lib/data-types/decimal.js +1 -18
  56. package/lib/data-types/decimal.js.map +1 -0
  57. package/lib/data-types/decimaln.js +1 -7
  58. package/lib/data-types/decimaln.js.map +1 -0
  59. package/lib/data-types/float.js +1 -13
  60. package/lib/data-types/float.js.map +1 -0
  61. package/lib/data-types/floatn.js +1 -7
  62. package/lib/data-types/floatn.js.map +1 -0
  63. package/lib/data-types/image.js +1 -10
  64. package/lib/data-types/image.js.map +1 -0
  65. package/lib/data-types/int.js +1 -14
  66. package/lib/data-types/int.js.map +1 -0
  67. package/lib/data-types/intn.js +1 -7
  68. package/lib/data-types/intn.js.map +1 -0
  69. package/lib/data-types/money.js +1 -12
  70. package/lib/data-types/money.js.map +1 -0
  71. package/lib/data-types/moneyn.js +1 -7
  72. package/lib/data-types/moneyn.js.map +1 -0
  73. package/lib/data-types/nchar.js +1 -14
  74. package/lib/data-types/nchar.js.map +1 -0
  75. package/lib/data-types/ntext.js +1 -10
  76. package/lib/data-types/ntext.js.map +1 -0
  77. package/lib/data-types/null.js +1 -7
  78. package/lib/data-types/null.js.map +1 -0
  79. package/lib/data-types/numeric.js +1 -18
  80. package/lib/data-types/numeric.js.map +1 -0
  81. package/lib/data-types/numericn.js +1 -7
  82. package/lib/data-types/numericn.js.map +1 -0
  83. package/lib/data-types/nvarchar.js +1 -22
  84. package/lib/data-types/nvarchar.js.map +1 -0
  85. package/lib/data-types/real.js +1 -13
  86. package/lib/data-types/real.js.map +1 -0
  87. package/lib/data-types/smalldatetime.js +1 -14
  88. package/lib/data-types/smalldatetime.js.map +1 -0
  89. package/lib/data-types/smallint.js +1 -14
  90. package/lib/data-types/smallint.js.map +1 -0
  91. package/lib/data-types/smallmoney.js +1 -13
  92. package/lib/data-types/smallmoney.js.map +1 -0
  93. package/lib/data-types/sql-variant.js +1 -6
  94. package/lib/data-types/sql-variant.js.map +1 -0
  95. package/lib/data-types/text.js +1 -18
  96. package/lib/data-types/text.js.map +1 -0
  97. package/lib/data-types/time.js +1 -22
  98. package/lib/data-types/time.js.map +1 -0
  99. package/lib/data-types/tinyint.js +1 -14
  100. package/lib/data-types/tinyint.js.map +1 -0
  101. package/lib/data-types/tvp.js +11 -27
  102. package/lib/data-types/tvp.js.map +1 -0
  103. package/lib/data-types/udt.js +1 -7
  104. package/lib/data-types/udt.js.map +1 -0
  105. package/lib/data-types/uniqueidentifier.js +1 -11
  106. package/lib/data-types/uniqueidentifier.js.map +1 -0
  107. package/lib/data-types/varbinary.js +1 -22
  108. package/lib/data-types/varbinary.js.map +1 -0
  109. package/lib/data-types/varchar.js +1 -23
  110. package/lib/data-types/varchar.js.map +1 -0
  111. package/lib/data-types/xml.js +1 -7
  112. package/lib/data-types/xml.js.map +1 -0
  113. package/lib/debug.js +4 -16
  114. package/lib/debug.js.map +1 -0
  115. package/lib/errors/abort-error.js +2 -5
  116. package/lib/errors/abort-error.js.map +1 -0
  117. package/lib/errors/timeout-error.js +2 -5
  118. package/lib/errors/timeout-error.js.map +1 -0
  119. package/lib/errors.js +10 -16
  120. package/lib/errors.js.map +1 -0
  121. package/lib/guid-parser.js +1 -7
  122. package/lib/guid-parser.js.map +1 -0
  123. package/lib/incoming-message-stream.js +9 -29
  124. package/lib/incoming-message-stream.js.map +1 -0
  125. package/lib/instance-lookup.js +3 -34
  126. package/lib/instance-lookup.js.map +1 -0
  127. package/lib/library.js +1 -1
  128. package/lib/library.js.map +1 -0
  129. package/lib/login7-payload.js +99 -100
  130. package/lib/login7-payload.js.map +1 -0
  131. package/lib/message-io.js +17 -45
  132. package/lib/message-io.js.map +1 -0
  133. package/lib/message.js +4 -8
  134. package/lib/message.js.map +1 -0
  135. package/lib/metadata-parser.js +1 -22
  136. package/lib/metadata-parser.js.map +1 -0
  137. package/lib/ntlm-payload.js +2 -22
  138. package/lib/ntlm-payload.js.map +1 -0
  139. package/lib/ntlm.js +1 -4
  140. package/lib/ntlm.js.map +1 -0
  141. package/lib/outgoing-message-stream.js +12 -21
  142. package/lib/outgoing-message-stream.js.map +1 -0
  143. package/lib/packet.js +2 -47
  144. package/lib/packet.js.map +1 -0
  145. package/lib/prelogin-payload.js +11 -54
  146. package/lib/prelogin-payload.js.map +1 -0
  147. package/lib/request.js +88 -66
  148. package/lib/request.js.map +1 -0
  149. package/lib/rpcrequest-payload.js +8 -35
  150. package/lib/rpcrequest-payload.js.map +1 -0
  151. package/lib/sender.js +1 -24
  152. package/lib/sender.js.map +1 -0
  153. package/lib/special-stored-procedure.js +1 -1
  154. package/lib/special-stored-procedure.js.map +1 -0
  155. package/lib/sqlbatch-payload.js +5 -18
  156. package/lib/sqlbatch-payload.js.map +1 -0
  157. package/lib/tds-versions.js +3 -3
  158. package/lib/tds-versions.js.map +1 -0
  159. package/lib/tedious.js +1 -12
  160. package/lib/tedious.js.map +1 -0
  161. package/lib/token/colmetadata-token-parser.js +1 -17
  162. package/lib/token/colmetadata-token-parser.js.map +1 -0
  163. package/lib/token/done-token-parser.js +2 -8
  164. package/lib/token/done-token-parser.js.map +1 -0
  165. package/lib/token/env-change-token-parser.js +7 -28
  166. package/lib/token/env-change-token-parser.js.map +1 -0
  167. package/lib/token/feature-ext-ack-parser.js +1 -10
  168. package/lib/token/feature-ext-ack-parser.js.map +1 -0
  169. package/lib/token/fedauth-info-parser.js +2 -10
  170. package/lib/token/fedauth-info-parser.js.map +1 -0
  171. package/lib/token/handler.js +39 -149
  172. package/lib/token/handler.js.map +1 -0
  173. package/lib/token/infoerror-token-parser.js +1 -5
  174. package/lib/token/infoerror-token-parser.js.map +1 -0
  175. package/lib/token/loginack-token-parser.js +1 -6
  176. package/lib/token/loginack-token-parser.js.map +1 -0
  177. package/lib/token/nbcrow-token-parser.js +2 -15
  178. package/lib/token/nbcrow-token-parser.js.map +1 -0
  179. package/lib/token/order-token-parser.js +2 -7
  180. package/lib/token/order-token-parser.js.map +1 -0
  181. package/lib/token/returnstatus-token-parser.js +2 -4
  182. package/lib/token/returnstatus-token-parser.js.map +1 -0
  183. package/lib/token/returnvalue-token-parser.js +4 -9
  184. package/lib/token/returnvalue-token-parser.js.map +1 -0
  185. package/lib/token/row-token-parser.js +2 -11
  186. package/lib/token/row-token-parser.js.map +1 -0
  187. package/lib/token/sspi-token-parser.js +1 -5
  188. package/lib/token/sspi-token-parser.js.map +1 -0
  189. package/lib/token/stream-parser.js +24 -86
  190. package/lib/token/stream-parser.js.map +1 -0
  191. package/lib/token/token-stream-parser.js +4 -13
  192. package/lib/token/token-stream-parser.js.map +1 -0
  193. package/lib/token/token.js +88 -168
  194. package/lib/token/token.js.map +1 -0
  195. package/lib/tracking-buffer/writable-tracking-buffer.js +20 -60
  196. package/lib/tracking-buffer/writable-tracking-buffer.js.map +1 -0
  197. package/lib/transaction.js +9 -33
  198. package/lib/transaction.js.map +1 -0
  199. package/lib/transient-error-lookup.js +1 -4
  200. package/lib/transient-error-lookup.js.map +1 -0
  201. package/lib/utils/with-timeout.js +1 -9
  202. package/lib/utils/with-timeout.js.map +1 -0
  203. package/lib/value-parser.js +1 -143
  204. package/lib/value-parser.js.map +1 -0
  205. package/package.json +27 -71
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","names":["_request","_interopRequireDefault","require","_errors","_esAggregateError","obj","__esModule","default","UnexpectedTokenError","Error","constructor","handler","token","name","exports","TokenHandler","onInfoMessage","onErrorMessage","onSSPI","onDatabaseChange","onLanguageChange","onCharsetChange","onSqlCollationChange","onRoutingChange","onPacketSizeChange","onResetConnection","onBeginTransaction","onCommitTransaction","onRollbackTransaction","onFedAuthInfo","onFeatureExtAck","onLoginAck","onColMetadata","onOrder","onRow","onReturnStatus","onReturnValue","onDoneProc","onDoneInProc","onDone","onDatabaseMirroringPartner","InitialSqlTokenHandler","connection","emit","newValue","databaseCollation","messageIo","packetSize","transactionDescriptors","push","inTransaction","length","close","Login7TokenHandler","fedAuthInfoToken","routingData","loginAckReceived","error","ConnectionError","message","isLoginErrorTransient","transientErrorLookup","isTransientError","number","curTransientRetryCount","config","options","maxRetriesOnTransientErrors","isTransient","loginError","ntlmpacket","ntlmpacketBuffer","authentication","type","fedAuth","undefined","utf8Support","tdsVersion","interface","server","split","port","RequestTokenHandler","request","errors","canceled","RequestError","state","class","serverName","procName","lineNumber","Request","AggregateError","useColumnNames","columns","Object","create","j","len","col","colName","orderColumns","rowCollectionOnRequestCompletion","rows","rowCollectionOnDone","rst","procReturnStatusValue","value","paramName","metadata","sqlError","rowCount","more","AttentionTokenHandler","attentionReceived","attention"],"sources":["../../src/token/handler.ts"],"sourcesContent":["import Connection from '../connection';\nimport Request from '../request';\nimport { ConnectionError, RequestError } from '../errors';\nimport { ColumnMetadata } from './colmetadata-token-parser';\nimport {\n BeginTransactionEnvChangeToken,\n CharsetEnvChangeToken,\n CollationChangeToken,\n ColMetadataToken,\n CommitTransactionEnvChangeToken,\n DatabaseEnvChangeToken,\n DatabaseMirroringPartnerEnvChangeToken,\n DoneInProcToken,\n DoneProcToken,\n DoneToken,\n ErrorMessageToken,\n FeatureExtAckToken,\n FedAuthInfoToken,\n InfoMessageToken,\n LanguageEnvChangeToken,\n LoginAckToken,\n NBCRowToken,\n OrderToken,\n PacketSizeEnvChangeToken,\n ResetConnectionEnvChangeToken,\n ReturnStatusToken,\n ReturnValueToken,\n RollbackTransactionEnvChangeToken,\n RoutingEnvChangeToken,\n RowToken,\n SSPIToken,\n Token\n} from './token';\nimport BulkLoad from '../bulk-load';\n\nimport AggregateError from 'es-aggregate-error';\n\nexport class UnexpectedTokenError extends Error {\n constructor(handler: TokenHandler, token: Token) {\n super('Unexpected token `' + token.name + '` in `' + handler.constructor.name + '`');\n }\n}\n\nexport class TokenHandler {\n onInfoMessage(token: InfoMessageToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onErrorMessage(token: ErrorMessageToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onSSPI(token: SSPIToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onDatabaseChange(token: DatabaseEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onLanguageChange(token: LanguageEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onCharsetChange(token: CharsetEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onSqlCollationChange(token: CollationChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onRoutingChange(token: RoutingEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onPacketSizeChange(token: PacketSizeEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onResetConnection(token: ResetConnectionEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onBeginTransaction(token: BeginTransactionEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onCommitTransaction(token: CommitTransactionEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onRollbackTransaction(token: RollbackTransactionEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onFedAuthInfo(token: FedAuthInfoToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onFeatureExtAck(token: FeatureExtAckToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onLoginAck(token: LoginAckToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onColMetadata(token: ColMetadataToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onOrder(token: OrderToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onRow(token: RowToken | NBCRowToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onReturnStatus(token: ReturnStatusToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onReturnValue(token: ReturnValueToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onDoneProc(token: DoneProcToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onDoneInProc(token: DoneInProcToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onDone(token: DoneToken) {\n throw new UnexpectedTokenError(this, token);\n }\n\n onDatabaseMirroringPartner(token: DatabaseMirroringPartnerEnvChangeToken) {\n throw new UnexpectedTokenError(this, token);\n }\n}\n\n/**\n * A handler for tokens received in the response message to the initial SQL Batch request\n * that sets up different connection settings.\n */\nexport class InitialSqlTokenHandler extends TokenHandler {\n connection: Connection;\n\n constructor(connection: Connection) {\n super();\n\n this.connection = connection;\n }\n\n onInfoMessage(token: InfoMessageToken) {\n this.connection.emit('infoMessage', token);\n }\n\n onErrorMessage(token: ErrorMessageToken) {\n this.connection.emit('errorMessage', token);\n }\n\n onDatabaseChange(token: DatabaseEnvChangeToken) {\n this.connection.emit('databaseChange', token.newValue);\n }\n\n onLanguageChange(token: LanguageEnvChangeToken) {\n this.connection.emit('languageChange', token.newValue);\n }\n\n onCharsetChange(token: CharsetEnvChangeToken) {\n this.connection.emit('charsetChange', token.newValue);\n }\n\n onSqlCollationChange(token: CollationChangeToken) {\n this.connection.databaseCollation = token.newValue;\n }\n\n onPacketSizeChange(token: PacketSizeEnvChangeToken) {\n this.connection.messageIo.packetSize(token.newValue);\n }\n\n onBeginTransaction(token: BeginTransactionEnvChangeToken) {\n this.connection.transactionDescriptors.push(token.newValue);\n this.connection.inTransaction = true;\n }\n\n onCommitTransaction(token: CommitTransactionEnvChangeToken) {\n this.connection.transactionDescriptors.length = 1;\n this.connection.inTransaction = false;\n }\n\n onRollbackTransaction(token: RollbackTransactionEnvChangeToken) {\n this.connection.transactionDescriptors.length = 1;\n // An outermost transaction was rolled back. Reset the transaction counter\n this.connection.inTransaction = false;\n this.connection.emit('rollbackTransaction');\n }\n\n onColMetadata(token: ColMetadataToken) {\n this.connection.emit('error', new Error(\"Received 'columnMetadata' when no sqlRequest is in progress\"));\n this.connection.close();\n }\n\n onOrder(token: OrderToken) {\n this.connection.emit('error', new Error(\"Received 'order' when no sqlRequest is in progress\"));\n this.connection.close();\n }\n\n onRow(token: RowToken | NBCRowToken) {\n this.connection.emit('error', new Error(\"Received 'row' when no sqlRequest is in progress\"));\n this.connection.close();\n }\n\n onReturnStatus(token: ReturnStatusToken) {\n // Do nothing\n }\n\n onReturnValue(token: ReturnValueToken) {\n // Do nothing\n }\n\n onDoneProc(token: DoneProcToken) {\n // Do nothing\n }\n\n onDoneInProc(token: DoneInProcToken) {\n // Do nothing\n }\n\n onDone(token: DoneToken) {\n // Do nothing\n }\n\n onResetConnection(token: ResetConnectionEnvChangeToken) {\n this.connection.emit('resetConnection');\n }\n}\n\n/**\n * A handler for tokens received in the response message to a Login7 message.\n */\nexport class Login7TokenHandler extends TokenHandler {\n connection: Connection;\n\n fedAuthInfoToken: FedAuthInfoToken | undefined;\n routingData: { server: string, port: number } | undefined;\n\n loginAckReceived = false;\n\n constructor(connection: Connection) {\n super();\n\n this.connection = connection;\n }\n\n onInfoMessage(token: InfoMessageToken) {\n this.connection.emit('infoMessage', token);\n }\n\n onErrorMessage(token: ErrorMessageToken) {\n this.connection.emit('errorMessage', token);\n\n const error = new ConnectionError(token.message, 'ELOGIN');\n\n const isLoginErrorTransient = this.connection.transientErrorLookup.isTransientError(token.number);\n if (isLoginErrorTransient && this.connection.curTransientRetryCount !== this.connection.config.options.maxRetriesOnTransientErrors) {\n error.isTransient = true;\n }\n\n this.connection.loginError = error;\n }\n\n onSSPI(token: SSPIToken) {\n if (token.ntlmpacket) {\n this.connection.ntlmpacket = token.ntlmpacket;\n this.connection.ntlmpacketBuffer = token.ntlmpacketBuffer;\n }\n }\n\n onDatabaseChange(token: DatabaseEnvChangeToken) {\n this.connection.emit('databaseChange', token.newValue);\n }\n\n onLanguageChange(token: LanguageEnvChangeToken) {\n this.connection.emit('languageChange', token.newValue);\n }\n\n onCharsetChange(token: CharsetEnvChangeToken) {\n this.connection.emit('charsetChange', token.newValue);\n }\n\n onSqlCollationChange(token: CollationChangeToken) {\n this.connection.databaseCollation = token.newValue;\n }\n\n onFedAuthInfo(token: FedAuthInfoToken) {\n this.fedAuthInfoToken = token;\n }\n\n onFeatureExtAck(token: FeatureExtAckToken) {\n const { authentication } = this.connection.config;\n\n if (authentication.type === 'azure-active-directory-password' || authentication.type === 'azure-active-directory-access-token' || authentication.type === 'azure-active-directory-msi-vm' || authentication.type === 'azure-active-directory-msi-app-service' || authentication.type === 'azure-active-directory-service-principal-secret' || authentication.type === 'azure-active-directory-default') {\n if (token.fedAuth === undefined) {\n this.connection.loginError = new ConnectionError('Did not receive Active Directory authentication acknowledgement');\n } else if (token.fedAuth.length !== 0) {\n this.connection.loginError = new ConnectionError(`Active Directory authentication acknowledgment for ${authentication.type} authentication method includes extra data`);\n }\n } else if (token.fedAuth === undefined && token.utf8Support === undefined) {\n this.connection.loginError = new ConnectionError('Received acknowledgement for unknown feature');\n } else if (token.fedAuth) {\n this.connection.loginError = new ConnectionError('Did not request Active Directory authentication, but received the acknowledgment');\n }\n }\n\n onLoginAck(token: LoginAckToken) {\n if (!token.tdsVersion) {\n // unsupported TDS version\n this.connection.loginError = new ConnectionError('Server responded with unknown TDS version.', 'ETDS');\n return;\n }\n\n if (!token.interface) {\n // unsupported interface\n this.connection.loginError = new ConnectionError('Server responded with unsupported interface.', 'EINTERFACENOTSUPP');\n return;\n }\n\n // use negotiated version\n this.connection.config.options.tdsVersion = token.tdsVersion;\n\n this.loginAckReceived = true;\n }\n\n onRoutingChange(token: RoutingEnvChangeToken) {\n // Removes instance name attached to the redirect url. E.g., redirect.db.net\\instance1 --> redirect.db.net\n const [ server ] = token.newValue.server.split('\\\\');\n\n this.routingData = {\n server, port: token.newValue.port\n };\n }\n\n onDoneInProc(token: DoneInProcToken) {\n // Do nothing\n }\n\n onDone(token: DoneToken) {\n // Do nothing\n }\n\n onPacketSizeChange(token: PacketSizeEnvChangeToken) {\n this.connection.messageIo.packetSize(token.newValue);\n }\n\n onDatabaseMirroringPartner(token: DatabaseMirroringPartnerEnvChangeToken) {\n // Do nothing\n }\n}\n\n/**\n * A handler for tokens received in the response message to a RPC Request,\n * a SQL Batch Request, a Bulk Load BCP Request or a Transaction Manager Request.\n */\nexport class RequestTokenHandler extends TokenHandler {\n connection: Connection;\n request: Request | BulkLoad;\n errors: RequestError[];\n\n constructor(connection: Connection, request: Request | BulkLoad) {\n super();\n\n this.connection = connection;\n this.request = request;\n this.errors = [];\n }\n\n onInfoMessage(token: InfoMessageToken) {\n this.connection.emit('infoMessage', token);\n }\n\n onErrorMessage(token: ErrorMessageToken) {\n this.connection.emit('errorMessage', token);\n\n if (!this.request.canceled) {\n const error = new RequestError(token.message, 'EREQUEST');\n\n error.number = token.number;\n error.state = token.state;\n error.class = token.class;\n error.serverName = token.serverName;\n error.procName = token.procName;\n error.lineNumber = token.lineNumber;\n this.errors.push(error);\n this.request.error = error;\n if (this.request instanceof Request && this.errors.length > 1) {\n this.request.error = new AggregateError(this.errors);\n }\n }\n }\n\n onDatabaseChange(token: DatabaseEnvChangeToken) {\n this.connection.emit('databaseChange', token.newValue);\n }\n\n onLanguageChange(token: LanguageEnvChangeToken) {\n this.connection.emit('languageChange', token.newValue);\n }\n\n onCharsetChange(token: CharsetEnvChangeToken) {\n this.connection.emit('charsetChange', token.newValue);\n }\n\n onSqlCollationChange(token: CollationChangeToken) {\n this.connection.databaseCollation = token.newValue;\n }\n\n onPacketSizeChange(token: PacketSizeEnvChangeToken) {\n this.connection.messageIo.packetSize(token.newValue);\n }\n\n onBeginTransaction(token: BeginTransactionEnvChangeToken) {\n this.connection.transactionDescriptors.push(token.newValue);\n this.connection.inTransaction = true;\n }\n\n onCommitTransaction(token: CommitTransactionEnvChangeToken) {\n this.connection.transactionDescriptors.length = 1;\n this.connection.inTransaction = false;\n }\n\n onRollbackTransaction(token: RollbackTransactionEnvChangeToken) {\n this.connection.transactionDescriptors.length = 1;\n // An outermost transaction was rolled back. Reset the transaction counter\n this.connection.inTransaction = false;\n this.connection.emit('rollbackTransaction');\n }\n\n onColMetadata(token: ColMetadataToken) {\n if (!this.request.canceled) {\n if (this.connection.config.options.useColumnNames) {\n const columns: { [key: string]: ColumnMetadata } = Object.create(null);\n\n for (let j = 0, len = token.columns.length; j < len; j++) {\n const col = token.columns[j];\n if (columns[col.colName] == null) {\n columns[col.colName] = col;\n }\n }\n\n this.request.emit('columnMetadata', columns);\n } else {\n this.request.emit('columnMetadata', token.columns);\n }\n }\n }\n\n onOrder(token: OrderToken) {\n if (!this.request.canceled) {\n this.request.emit('order', token.orderColumns);\n }\n }\n\n onRow(token: RowToken | NBCRowToken) {\n if (!this.request.canceled) {\n if (this.connection.config.options.rowCollectionOnRequestCompletion) {\n this.request.rows!.push(token.columns);\n }\n\n if (this.connection.config.options.rowCollectionOnDone) {\n this.request.rst!.push(token.columns);\n }\n\n this.request.emit('row', token.columns);\n }\n }\n\n onReturnStatus(token: ReturnStatusToken) {\n if (!this.request.canceled) {\n // Keep value for passing in 'doneProc' event.\n this.connection.procReturnStatusValue = token.value;\n }\n }\n\n onReturnValue(token: ReturnValueToken) {\n if (!this.request.canceled) {\n this.request.emit('returnValue', token.paramName, token.value, token.metadata);\n }\n }\n\n onDoneProc(token: DoneProcToken) {\n if (!this.request.canceled) {\n if (token.sqlError && !this.request.error) {\n // check if the DONE_ERROR flags was set, but an ERROR token was not sent.\n this.request.error = new RequestError('An unknown error has occurred.', 'UNKNOWN');\n }\n\n this.request.emit('doneProc', token.rowCount, token.more, this.connection.procReturnStatusValue, this.request.rst);\n\n this.connection.procReturnStatusValue = undefined;\n\n if (token.rowCount !== undefined) {\n this.request.rowCount! += token.rowCount;\n }\n\n if (this.connection.config.options.rowCollectionOnDone) {\n this.request.rst = [];\n }\n }\n }\n\n onDoneInProc(token: DoneInProcToken) {\n if (!this.request.canceled) {\n this.request.emit('doneInProc', token.rowCount, token.more, this.request.rst);\n\n if (token.rowCount !== undefined) {\n this.request.rowCount! += token.rowCount;\n }\n\n if (this.connection.config.options.rowCollectionOnDone) {\n this.request.rst = [];\n }\n }\n }\n\n onDone(token: DoneToken) {\n if (!this.request.canceled) {\n if (token.sqlError && !this.request.error) {\n // check if the DONE_ERROR flags was set, but an ERROR token was not sent.\n this.request.error = new RequestError('An unknown error has occurred.', 'UNKNOWN');\n }\n\n this.request.emit('done', token.rowCount, token.more, this.request.rst);\n\n if (token.rowCount !== undefined) {\n this.request.rowCount! += token.rowCount;\n }\n\n if (this.connection.config.options.rowCollectionOnDone) {\n this.request.rst = [];\n }\n }\n }\n\n onResetConnection(token: ResetConnectionEnvChangeToken) {\n this.connection.emit('resetConnection');\n }\n}\n\n/**\n * A handler for the attention acknowledgement message.\n *\n * This message only contains a `DONE` token that acknowledges\n * that the attention message was received by the server.\n */\nexport class AttentionTokenHandler extends TokenHandler {\n connection: Connection;\n request: Request | BulkLoad;\n\n /**\n * Returns whether an attention acknowledgement was received.\n */\n attentionReceived: boolean;\n\n constructor(connection: Connection, request: Request | BulkLoad) {\n super();\n\n this.connection = connection;\n this.request = request;\n\n this.attentionReceived = false;\n }\n\n onDone(token: DoneToken) {\n if (token.attention) {\n this.attentionReceived = true;\n }\n }\n}\n"],"mappings":"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"}
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.errorParser = errorParser;
7
7
  exports.infoParser = infoParser;
8
-
9
8
  var _token = require("./token");
10
-
11
9
  function parseToken(parser, options, callback) {
12
10
  // length
13
11
  parser.readUInt16LE(() => {
@@ -36,16 +34,14 @@ function parseToken(parser, options, callback) {
36
34
  });
37
35
  });
38
36
  }
39
-
40
37
  function infoParser(parser, options, callback) {
41
38
  parseToken(parser, options, data => {
42
39
  callback(new _token.InfoMessageToken(data));
43
40
  });
44
41
  }
45
-
46
42
  function errorParser(parser, options, callback) {
47
43
  parseToken(parser, options, data => {
48
44
  callback(new _token.ErrorMessageToken(data));
49
45
  });
50
46
  }
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZVRva2VuIiwicGFyc2VyIiwib3B0aW9ucyIsImNhbGxiYWNrIiwicmVhZFVJbnQxNkxFIiwicmVhZFVJbnQzMkxFIiwibnVtYmVyIiwicmVhZFVJbnQ4Iiwic3RhdGUiLCJjbGF6eiIsInJlYWRVc1ZhckNoYXIiLCJtZXNzYWdlIiwicmVhZEJWYXJDaGFyIiwic2VydmVyTmFtZSIsInByb2NOYW1lIiwidGRzVmVyc2lvbiIsImNhbGwiLCJsaW5lTnVtYmVyIiwiaW5mb1BhcnNlciIsImRhdGEiLCJJbmZvTWVzc2FnZVRva2VuIiwiZXJyb3JQYXJzZXIiLCJFcnJvck1lc3NhZ2VUb2tlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9pbmZvZXJyb3ItdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5cbmltcG9ydCB7IEluZm9NZXNzYWdlVG9rZW4sIEVycm9yTWVzc2FnZVRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmludGVyZmFjZSBUb2tlbkRhdGEge1xuICBudW1iZXI6IG51bWJlcjtcbiAgc3RhdGU6IG51bWJlcjtcbiAgY2xhc3M6IG51bWJlcjtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBzZXJ2ZXJOYW1lOiBzdHJpbmc7XG4gIHByb2NOYW1lOiBzdHJpbmc7XG4gIGxpbmVOdW1iZXI6IG51bWJlcjtcbn1cblxuZnVuY3Rpb24gcGFyc2VUb2tlbihwYXJzZXI6IFBhcnNlciwgb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6IChkYXRhOiBUb2tlbkRhdGEpID0+IHZvaWQpIHtcbiAgLy8gbGVuZ3RoXG4gIHBhcnNlci5yZWFkVUludDE2TEUoKCkgPT4ge1xuICAgIHBhcnNlci5yZWFkVUludDMyTEUoKG51bWJlcikgPT4ge1xuICAgICAgcGFyc2VyLnJlYWRVSW50OCgoc3RhdGUpID0+IHtcbiAgICAgICAgcGFyc2VyLnJlYWRVSW50OCgoY2xhenopID0+IHtcbiAgICAgICAgICBwYXJzZXIucmVhZFVzVmFyQ2hhcigobWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgcGFyc2VyLnJlYWRCVmFyQ2hhcigoc2VydmVyTmFtZSkgPT4ge1xuICAgICAgICAgICAgICBwYXJzZXIucmVhZEJWYXJDaGFyKChwcm9jTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgIChvcHRpb25zLnRkc1ZlcnNpb24gPCAnN18yJyA/IHBhcnNlci5yZWFkVUludDE2TEUgOiBwYXJzZXIucmVhZFVJbnQzMkxFKS5jYWxsKHBhcnNlciwgKGxpbmVOdW1iZXI6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgY2FsbGJhY2soe1xuICAgICAgICAgICAgICAgICAgICAnbnVtYmVyJzogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAnc3RhdGUnOiBzdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgJ2NsYXNzJzogY2xhenosXG4gICAgICAgICAgICAgICAgICAgICdtZXNzYWdlJzogbWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgJ3NlcnZlck5hbWUnOiBzZXJ2ZXJOYW1lLFxuICAgICAgICAgICAgICAgICAgICAncHJvY05hbWUnOiBwcm9jTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgJ2xpbmVOdW1iZXInOiBsaW5lTnVtYmVyXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmZvUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBJbmZvTWVzc2FnZVRva2VuKSA9PiB2b2lkKSB7XG4gIHBhcnNlVG9rZW4ocGFyc2VyLCBvcHRpb25zLCAoZGF0YSkgPT4ge1xuICAgIGNhbGxiYWNrKG5ldyBJbmZvTWVzc2FnZVRva2VuKGRhdGEpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlcnJvclBhcnNlcihwYXJzZXI6IFBhcnNlciwgb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogRXJyb3JNZXNzYWdlVG9rZW4pID0+IHZvaWQpIHtcbiAgcGFyc2VUb2tlbihwYXJzZXIsIG9wdGlvbnMsIChkYXRhKSA9PiB7XG4gICAgY2FsbGJhY2sobmV3IEVycm9yTWVzc2FnZVRva2VuKGRhdGEpKTtcbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUE7O0FBWUEsU0FBU0EsVUFBVCxDQUFvQkMsTUFBcEIsRUFBb0NDLE9BQXBDLEVBQTREQyxRQUE1RCxFQUFpRztFQUMvRjtFQUNBRixNQUFNLENBQUNHLFlBQVAsQ0FBb0IsTUFBTTtJQUN4QkgsTUFBTSxDQUFDSSxZQUFQLENBQXFCQyxNQUFELElBQVk7TUFDOUJMLE1BQU0sQ0FBQ00sU0FBUCxDQUFrQkMsS0FBRCxJQUFXO1FBQzFCUCxNQUFNLENBQUNNLFNBQVAsQ0FBa0JFLEtBQUQsSUFBVztVQUMxQlIsTUFBTSxDQUFDUyxhQUFQLENBQXNCQyxPQUFELElBQWE7WUFDaENWLE1BQU0sQ0FBQ1csWUFBUCxDQUFxQkMsVUFBRCxJQUFnQjtjQUNsQ1osTUFBTSxDQUFDVyxZQUFQLENBQXFCRSxRQUFELElBQWM7Z0JBQ2hDLENBQUNaLE9BQU8sQ0FBQ2EsVUFBUixHQUFxQixLQUFyQixHQUE2QmQsTUFBTSxDQUFDRyxZQUFwQyxHQUFtREgsTUFBTSxDQUFDSSxZQUEzRCxFQUF5RVcsSUFBekUsQ0FBOEVmLE1BQTlFLEVBQXVGZ0IsVUFBRCxJQUF3QjtrQkFDNUdkLFFBQVEsQ0FBQztvQkFDUCxVQUFVRyxNQURIO29CQUVQLFNBQVNFLEtBRkY7b0JBR1AsU0FBU0MsS0FIRjtvQkFJUCxXQUFXRSxPQUpKO29CQUtQLGNBQWNFLFVBTFA7b0JBTVAsWUFBWUMsUUFOTDtvQkFPUCxjQUFjRztrQkFQUCxDQUFELENBQVI7Z0JBU0QsQ0FWRDtjQVdELENBWkQ7WUFhRCxDQWREO1VBZUQsQ0FoQkQ7UUFpQkQsQ0FsQkQ7TUFtQkQsQ0FwQkQ7SUFxQkQsQ0F0QkQ7RUF1QkQsQ0F4QkQ7QUF5QkQ7O0FBRU0sU0FBU0MsVUFBVCxDQUFvQmpCLE1BQXBCLEVBQW9DQyxPQUFwQyxFQUE0REMsUUFBNUQsRUFBeUc7RUFDOUdILFVBQVUsQ0FBQ0MsTUFBRCxFQUFTQyxPQUFULEVBQW1CaUIsSUFBRCxJQUFVO0lBQ3BDaEIsUUFBUSxDQUFDLElBQUlpQix1QkFBSixDQUFxQkQsSUFBckIsQ0FBRCxDQUFSO0VBQ0QsQ0FGUyxDQUFWO0FBR0Q7O0FBRU0sU0FBU0UsV0FBVCxDQUFxQnBCLE1BQXJCLEVBQXFDQyxPQUFyQyxFQUE2REMsUUFBN0QsRUFBMkc7RUFDaEhILFVBQVUsQ0FBQ0MsTUFBRCxFQUFTQyxPQUFULEVBQW1CaUIsSUFBRCxJQUFVO0lBQ3BDaEIsUUFBUSxDQUFDLElBQUltQix3QkFBSixDQUFzQkgsSUFBdEIsQ0FBRCxDQUFSO0VBQ0QsQ0FGUyxDQUFWO0FBR0QifQ==
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwicGFyc2VUb2tlbiIsInBhcnNlciIsIm9wdGlvbnMiLCJjYWxsYmFjayIsInJlYWRVSW50MTZMRSIsInJlYWRVSW50MzJMRSIsIm51bWJlciIsInJlYWRVSW50OCIsInN0YXRlIiwiY2xhenoiLCJyZWFkVXNWYXJDaGFyIiwibWVzc2FnZSIsInJlYWRCVmFyQ2hhciIsInNlcnZlck5hbWUiLCJwcm9jTmFtZSIsInRkc1ZlcnNpb24iLCJjYWxsIiwibGluZU51bWJlciIsImluZm9QYXJzZXIiLCJkYXRhIiwiSW5mb01lc3NhZ2VUb2tlbiIsImVycm9yUGFyc2VyIiwiRXJyb3JNZXNzYWdlVG9rZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vaW5mb2Vycm9yLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2VyLCB7IFBhcnNlck9wdGlvbnMgfSBmcm9tICcuL3N0cmVhbS1wYXJzZXInO1xuXG5pbXBvcnQgeyBJbmZvTWVzc2FnZVRva2VuLCBFcnJvck1lc3NhZ2VUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5pbnRlcmZhY2UgVG9rZW5EYXRhIHtcbiAgbnVtYmVyOiBudW1iZXI7XG4gIHN0YXRlOiBudW1iZXI7XG4gIGNsYXNzOiBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgc2VydmVyTmFtZTogc3RyaW5nO1xuICBwcm9jTmFtZTogc3RyaW5nO1xuICBsaW5lTnVtYmVyOiBudW1iZXI7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVG9rZW4ocGFyc2VyOiBQYXJzZXIsIG9wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAoZGF0YTogVG9rZW5EYXRhKSA9PiB2b2lkKSB7XG4gIC8vIGxlbmd0aFxuICBwYXJzZXIucmVhZFVJbnQxNkxFKCgpID0+IHtcbiAgICBwYXJzZXIucmVhZFVJbnQzMkxFKChudW1iZXIpID0+IHtcbiAgICAgIHBhcnNlci5yZWFkVUludDgoKHN0YXRlKSA9PiB7XG4gICAgICAgIHBhcnNlci5yZWFkVUludDgoKGNsYXp6KSA9PiB7XG4gICAgICAgICAgcGFyc2VyLnJlYWRVc1ZhckNoYXIoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgIHBhcnNlci5yZWFkQlZhckNoYXIoKHNlcnZlck5hbWUpID0+IHtcbiAgICAgICAgICAgICAgcGFyc2VyLnJlYWRCVmFyQ2hhcigocHJvY05hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAob3B0aW9ucy50ZHNWZXJzaW9uIDwgJzdfMicgPyBwYXJzZXIucmVhZFVJbnQxNkxFIDogcGFyc2VyLnJlYWRVSW50MzJMRSkuY2FsbChwYXJzZXIsIChsaW5lTnVtYmVyOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHtcbiAgICAgICAgICAgICAgICAgICAgJ251bWJlcic6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgJ3N0YXRlJzogc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICdjbGFzcyc6IGNsYXp6LFxuICAgICAgICAgICAgICAgICAgICAnbWVzc2FnZSc6IG1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdzZXJ2ZXJOYW1lJzogc2VydmVyTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgJ3Byb2NOYW1lJzogcHJvY05hbWUsXG4gICAgICAgICAgICAgICAgICAgICdsaW5lTnVtYmVyJzogbGluZU51bWJlclxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5mb1BhcnNlcihwYXJzZXI6IFBhcnNlciwgb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogSW5mb01lc3NhZ2VUb2tlbikgPT4gdm9pZCkge1xuICBwYXJzZVRva2VuKHBhcnNlciwgb3B0aW9ucywgKGRhdGEpID0+IHtcbiAgICBjYWxsYmFjayhuZXcgSW5mb01lc3NhZ2VUb2tlbihkYXRhKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXJyb3JQYXJzZXIocGFyc2VyOiBQYXJzZXIsIG9wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IEVycm9yTWVzc2FnZVRva2VuKSA9PiB2b2lkKSB7XG4gIHBhcnNlVG9rZW4ocGFyc2VyLCBvcHRpb25zLCAoZGF0YSkgPT4ge1xuICAgIGNhbGxiYWNrKG5ldyBFcnJvck1lc3NhZ2VUb2tlbihkYXRhKSk7XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBWUEsU0FBU0MsVUFBVUEsQ0FBQ0MsTUFBYyxFQUFFQyxPQUFzQixFQUFFQyxRQUFtQyxFQUFFO0VBQy9GO0VBQ0FGLE1BQU0sQ0FBQ0csWUFBWSxDQUFDLE1BQU07SUFDeEJILE1BQU0sQ0FBQ0ksWUFBWSxDQUFFQyxNQUFNLElBQUs7TUFDOUJMLE1BQU0sQ0FBQ00sU0FBUyxDQUFFQyxLQUFLLElBQUs7UUFDMUJQLE1BQU0sQ0FBQ00sU0FBUyxDQUFFRSxLQUFLLElBQUs7VUFDMUJSLE1BQU0sQ0FBQ1MsYUFBYSxDQUFFQyxPQUFPLElBQUs7WUFDaENWLE1BQU0sQ0FBQ1csWUFBWSxDQUFFQyxVQUFVLElBQUs7Y0FDbENaLE1BQU0sQ0FBQ1csWUFBWSxDQUFFRSxRQUFRLElBQUs7Z0JBQ2hDLENBQUNaLE9BQU8sQ0FBQ2EsVUFBVSxHQUFHLEtBQUssR0FBR2QsTUFBTSxDQUFDRyxZQUFZLEdBQUdILE1BQU0sQ0FBQ0ksWUFBWSxFQUFFVyxJQUFJLENBQUNmLE1BQU0sRUFBR2dCLFVBQWtCLElBQUs7a0JBQzVHZCxRQUFRLENBQUM7b0JBQ1AsUUFBUSxFQUFFRyxNQUFNO29CQUNoQixPQUFPLEVBQUVFLEtBQUs7b0JBQ2QsT0FBTyxFQUFFQyxLQUFLO29CQUNkLFNBQVMsRUFBRUUsT0FBTztvQkFDbEIsWUFBWSxFQUFFRSxVQUFVO29CQUN4QixVQUFVLEVBQUVDLFFBQVE7b0JBQ3BCLFlBQVksRUFBRUc7a0JBQ2hCLENBQUMsQ0FBQztnQkFDSixDQUFDLENBQUM7Y0FDSixDQUFDLENBQUM7WUFDSixDQUFDLENBQUM7VUFDSixDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7TUFDSixDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSjtBQUVPLFNBQVNDLFVBQVVBLENBQUNqQixNQUFjLEVBQUVDLE9BQXNCLEVBQUVDLFFBQTJDLEVBQUU7RUFDOUdILFVBQVUsQ0FBQ0MsTUFBTSxFQUFFQyxPQUFPLEVBQUdpQixJQUFJLElBQUs7SUFDcENoQixRQUFRLENBQUMsSUFBSWlCLHVCQUFnQixDQUFDRCxJQUFJLENBQUMsQ0FBQztFQUN0QyxDQUFDLENBQUM7QUFDSjtBQUVPLFNBQVNFLFdBQVdBLENBQUNwQixNQUFjLEVBQUVDLE9BQXNCLEVBQUVDLFFBQTRDLEVBQUU7RUFDaEhILFVBQVUsQ0FBQ0MsTUFBTSxFQUFFQyxPQUFPLEVBQUdpQixJQUFJLElBQUs7SUFDcENoQixRQUFRLENBQUMsSUFBSW1CLHdCQUFpQixDQUFDSCxJQUFJLENBQUMsQ0FBQztFQUN2QyxDQUFDLENBQUM7QUFDSiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infoerror-token-parser.js","names":["_token","require","parseToken","parser","options","callback","readUInt16LE","readUInt32LE","number","readUInt8","state","clazz","readUsVarChar","message","readBVarChar","serverName","procName","tdsVersion","call","lineNumber","infoParser","data","InfoMessageToken","errorParser","ErrorMessageToken"],"sources":["../../src/token/infoerror-token-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\n\nimport { InfoMessageToken, ErrorMessageToken } from './token';\n\ninterface TokenData {\n number: number;\n state: number;\n class: number;\n message: string;\n serverName: string;\n procName: string;\n lineNumber: number;\n}\n\nfunction parseToken(parser: Parser, options: ParserOptions, callback: (data: TokenData) => void) {\n // length\n parser.readUInt16LE(() => {\n parser.readUInt32LE((number) => {\n parser.readUInt8((state) => {\n parser.readUInt8((clazz) => {\n parser.readUsVarChar((message) => {\n parser.readBVarChar((serverName) => {\n parser.readBVarChar((procName) => {\n (options.tdsVersion < '7_2' ? parser.readUInt16LE : parser.readUInt32LE).call(parser, (lineNumber: number) => {\n callback({\n 'number': number,\n 'state': state,\n 'class': clazz,\n 'message': message,\n 'serverName': serverName,\n 'procName': procName,\n 'lineNumber': lineNumber\n });\n });\n });\n });\n });\n });\n });\n });\n });\n}\n\nexport function infoParser(parser: Parser, options: ParserOptions, callback: (token: InfoMessageToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new InfoMessageToken(data));\n });\n}\n\nexport function errorParser(parser: Parser, options: ParserOptions, callback: (token: ErrorMessageToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new ErrorMessageToken(data));\n });\n}\n"],"mappings":";;;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAYA,SAASC,UAAUA,CAACC,MAAc,EAAEC,OAAsB,EAAEC,QAAmC,EAAE;EAC/F;EACAF,MAAM,CAACG,YAAY,CAAC,MAAM;IACxBH,MAAM,CAACI,YAAY,CAAEC,MAAM,IAAK;MAC9BL,MAAM,CAACM,SAAS,CAAEC,KAAK,IAAK;QAC1BP,MAAM,CAACM,SAAS,CAAEE,KAAK,IAAK;UAC1BR,MAAM,CAACS,aAAa,CAAEC,OAAO,IAAK;YAChCV,MAAM,CAACW,YAAY,CAAEC,UAAU,IAAK;cAClCZ,MAAM,CAACW,YAAY,CAAEE,QAAQ,IAAK;gBAChC,CAACZ,OAAO,CAACa,UAAU,GAAG,KAAK,GAAGd,MAAM,CAACG,YAAY,GAAGH,MAAM,CAACI,YAAY,EAAEW,IAAI,CAACf,MAAM,EAAGgB,UAAkB,IAAK;kBAC5Gd,QAAQ,CAAC;oBACP,QAAQ,EAAEG,MAAM;oBAChB,OAAO,EAAEE,KAAK;oBACd,OAAO,EAAEC,KAAK;oBACd,SAAS,EAAEE,OAAO;oBAClB,YAAY,EAAEE,UAAU;oBACxB,UAAU,EAAEC,QAAQ;oBACpB,YAAY,EAAEG;kBAChB,CAAC,CAAC;gBACJ,CAAC,CAAC;cACJ,CAAC,CAAC;YACJ,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEO,SAASC,UAAUA,CAACjB,MAAc,EAAEC,OAAsB,EAAEC,QAA2C,EAAE;EAC9GH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGiB,IAAI,IAAK;IACpChB,QAAQ,CAAC,IAAIiB,uBAAgB,CAACD,IAAI,CAAC,CAAC;EACtC,CAAC,CAAC;AACJ;AAEO,SAASE,WAAWA,CAACpB,MAAc,EAAEC,OAAsB,EAAEC,QAA4C,EAAE;EAChHH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGiB,IAAI,IAAK;IACpChB,QAAQ,CAAC,IAAImB,wBAAiB,CAACH,IAAI,CAAC,CAAC;EACvC,CAAC,CAAC;AACJ"}
@@ -4,16 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _token = require("./token");
9
-
10
8
  var _tdsVersions = require("../tds-versions");
11
-
12
9
  const interfaceTypes = {
13
10
  0: 'SQL_DFLT',
14
11
  1: 'SQL_TSQL'
15
12
  };
16
-
17
13
  function loginAckParser(parser, _options, callback) {
18
14
  // length
19
15
  parser.readUInt16LE(() => {
@@ -46,8 +42,7 @@ function loginAckParser(parser, _options, callback) {
46
42
  });
47
43
  });
48
44
  }
49
-
50
45
  var _default = loginAckParser;
51
46
  exports.default = _default;
52
47
  module.exports = loginAckParser;
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbnRlcmZhY2VUeXBlcyIsImxvZ2luQWNrUGFyc2VyIiwicGFyc2VyIiwiX29wdGlvbnMiLCJjYWxsYmFjayIsInJlYWRVSW50MTZMRSIsInJlYWRVSW50OCIsImludGVyZmFjZU51bWJlciIsImludGVyZmFjZVR5cGUiLCJyZWFkVUludDMyQkUiLCJ0ZHNWZXJzaW9uTnVtYmVyIiwidGRzVmVyc2lvbiIsInZlcnNpb25zIiwicmVhZEJWYXJDaGFyIiwicHJvZ05hbWUiLCJtYWpvciIsIm1pbm9yIiwiYnVpbGROdW1IaSIsImJ1aWxkTnVtTG93IiwiTG9naW5BY2tUb2tlbiIsImludGVyZmFjZSIsInByb2dWZXJzaW9uIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9sb2dpbmFjay10b2tlbi1wYXJzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFBhcnNlciwgeyBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcblxuaW1wb3J0IHsgTG9naW5BY2tUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5pbXBvcnQgeyB2ZXJzaW9uc0J5VmFsdWUgYXMgdmVyc2lvbnMgfSBmcm9tICcuLi90ZHMtdmVyc2lvbnMnO1xuXG5jb25zdCBpbnRlcmZhY2VUeXBlczogeyBba2V5OiBudW1iZXJdOiBzdHJpbmcgfSA9IHtcbiAgMDogJ1NRTF9ERkxUJyxcbiAgMTogJ1NRTF9UU1FMJ1xufTtcblxuZnVuY3Rpb24gbG9naW5BY2tQYXJzZXIocGFyc2VyOiBQYXJzZXIsIF9vcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBMb2dpbkFja1Rva2VuKSA9PiB2b2lkKSB7XG4gIC8vIGxlbmd0aFxuICBwYXJzZXIucmVhZFVJbnQxNkxFKCgpID0+IHtcbiAgICBwYXJzZXIucmVhZFVJbnQ4KChpbnRlcmZhY2VOdW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGludGVyZmFjZVR5cGUgPSBpbnRlcmZhY2VUeXBlc1tpbnRlcmZhY2VOdW1iZXJdO1xuICAgICAgcGFyc2VyLnJlYWRVSW50MzJCRSgodGRzVmVyc2lvbk51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCB0ZHNWZXJzaW9uID0gdmVyc2lvbnNbdGRzVmVyc2lvbk51bWJlcl07XG4gICAgICAgIHBhcnNlci5yZWFkQlZhckNoYXIoKHByb2dOYW1lKSA9PiB7XG4gICAgICAgICAgcGFyc2VyLnJlYWRVSW50OCgobWFqb3IpID0+IHtcbiAgICAgICAgICAgIHBhcnNlci5yZWFkVUludDgoKG1pbm9yKSA9PiB7XG4gICAgICAgICAgICAgIHBhcnNlci5yZWFkVUludDgoKGJ1aWxkTnVtSGkpID0+IHtcbiAgICAgICAgICAgICAgICBwYXJzZXIucmVhZFVJbnQ4KChidWlsZE51bUxvdykgPT4ge1xuICAgICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IExvZ2luQWNrVG9rZW4oe1xuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2U6IGludGVyZmFjZVR5cGUsXG4gICAgICAgICAgICAgICAgICAgIHRkc1ZlcnNpb246IHRkc1ZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgIHByb2dOYW1lOiBwcm9nTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvZ1ZlcnNpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBtYWpvcjogbWFqb3IsXG4gICAgICAgICAgICAgICAgICAgICAgbWlub3I6IG1pbm9yLFxuICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkTnVtSGk6IGJ1aWxkTnVtSGksXG4gICAgICAgICAgICAgICAgICAgICAgYnVpbGROdW1Mb3c6IGJ1aWxkTnVtTG93XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGxvZ2luQWNrUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSBsb2dpbkFja1BhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUVBOztBQUVBLE1BQU1BLGNBQXlDLEdBQUc7RUFDaEQsR0FBRyxVQUQ2QztFQUVoRCxHQUFHO0FBRjZDLENBQWxEOztBQUtBLFNBQVNDLGNBQVQsQ0FBd0JDLE1BQXhCLEVBQXdDQyxRQUF4QyxFQUFpRUMsUUFBakUsRUFBMkc7RUFDekc7RUFDQUYsTUFBTSxDQUFDRyxZQUFQLENBQW9CLE1BQU07SUFDeEJILE1BQU0sQ0FBQ0ksU0FBUCxDQUFrQkMsZUFBRCxJQUFxQjtNQUNwQyxNQUFNQyxhQUFhLEdBQUdSLGNBQWMsQ0FBQ08sZUFBRCxDQUFwQztNQUNBTCxNQUFNLENBQUNPLFlBQVAsQ0FBcUJDLGdCQUFELElBQXNCO1FBQ3hDLE1BQU1DLFVBQVUsR0FBR0MsNkJBQVNGLGdCQUFULENBQW5CO1FBQ0FSLE1BQU0sQ0FBQ1csWUFBUCxDQUFxQkMsUUFBRCxJQUFjO1VBQ2hDWixNQUFNLENBQUNJLFNBQVAsQ0FBa0JTLEtBQUQsSUFBVztZQUMxQmIsTUFBTSxDQUFDSSxTQUFQLENBQWtCVSxLQUFELElBQVc7Y0FDMUJkLE1BQU0sQ0FBQ0ksU0FBUCxDQUFrQlcsVUFBRCxJQUFnQjtnQkFDL0JmLE1BQU0sQ0FBQ0ksU0FBUCxDQUFrQlksV0FBRCxJQUFpQjtrQkFDaENkLFFBQVEsQ0FBQyxJQUFJZSxvQkFBSixDQUFrQjtvQkFDekJDLFNBQVMsRUFBRVosYUFEYztvQkFFekJHLFVBQVUsRUFBRUEsVUFGYTtvQkFHekJHLFFBQVEsRUFBRUEsUUFIZTtvQkFJekJPLFdBQVcsRUFBRTtzQkFDWE4sS0FBSyxFQUFFQSxLQURJO3NCQUVYQyxLQUFLLEVBQUVBLEtBRkk7c0JBR1hDLFVBQVUsRUFBRUEsVUFIRDtzQkFJWEMsV0FBVyxFQUFFQTtvQkFKRjtrQkFKWSxDQUFsQixDQUFELENBQVI7Z0JBV0QsQ0FaRDtjQWFELENBZEQ7WUFlRCxDQWhCRDtVQWlCRCxDQWxCRDtRQW1CRCxDQXBCRDtNQXFCRCxDQXZCRDtJQXdCRCxDQTFCRDtFQTJCRCxDQTVCRDtBQTZCRDs7ZUFFY2pCLGM7O0FBQ2ZxQixNQUFNLENBQUNDLE9BQVAsR0FBaUJ0QixjQUFqQiJ9
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX3Rkc1ZlcnNpb25zIiwiaW50ZXJmYWNlVHlwZXMiLCJsb2dpbkFja1BhcnNlciIsInBhcnNlciIsIl9vcHRpb25zIiwiY2FsbGJhY2siLCJyZWFkVUludDE2TEUiLCJyZWFkVUludDgiLCJpbnRlcmZhY2VOdW1iZXIiLCJpbnRlcmZhY2VUeXBlIiwicmVhZFVJbnQzMkJFIiwidGRzVmVyc2lvbk51bWJlciIsInRkc1ZlcnNpb24iLCJ2ZXJzaW9ucyIsInJlYWRCVmFyQ2hhciIsInByb2dOYW1lIiwibWFqb3IiLCJtaW5vciIsImJ1aWxkTnVtSGkiLCJidWlsZE51bUxvdyIsIkxvZ2luQWNrVG9rZW4iLCJpbnRlcmZhY2UiLCJwcm9nVmVyc2lvbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vbG9naW5hY2stdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5cbmltcG9ydCB7IExvZ2luQWNrVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuaW1wb3J0IHsgdmVyc2lvbnNCeVZhbHVlIGFzIHZlcnNpb25zIH0gZnJvbSAnLi4vdGRzLXZlcnNpb25zJztcblxuY29uc3QgaW50ZXJmYWNlVHlwZXM6IHsgW2tleTogbnVtYmVyXTogc3RyaW5nIH0gPSB7XG4gIDA6ICdTUUxfREZMVCcsXG4gIDE6ICdTUUxfVFNRTCdcbn07XG5cbmZ1bmN0aW9uIGxvZ2luQWNrUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBfb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogTG9naW5BY2tUb2tlbikgPT4gdm9pZCkge1xuICAvLyBsZW5ndGhcbiAgcGFyc2VyLnJlYWRVSW50MTZMRSgoKSA9PiB7XG4gICAgcGFyc2VyLnJlYWRVSW50OCgoaW50ZXJmYWNlTnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VUeXBlID0gaW50ZXJmYWNlVHlwZXNbaW50ZXJmYWNlTnVtYmVyXTtcbiAgICAgIHBhcnNlci5yZWFkVUludDMyQkUoKHRkc1ZlcnNpb25OdW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgdGRzVmVyc2lvbiA9IHZlcnNpb25zW3Rkc1ZlcnNpb25OdW1iZXJdO1xuICAgICAgICBwYXJzZXIucmVhZEJWYXJDaGFyKChwcm9nTmFtZSkgPT4ge1xuICAgICAgICAgIHBhcnNlci5yZWFkVUludDgoKG1ham9yKSA9PiB7XG4gICAgICAgICAgICBwYXJzZXIucmVhZFVJbnQ4KChtaW5vcikgPT4ge1xuICAgICAgICAgICAgICBwYXJzZXIucmVhZFVJbnQ4KChidWlsZE51bUhpKSA9PiB7XG4gICAgICAgICAgICAgICAgcGFyc2VyLnJlYWRVSW50OCgoYnVpbGROdW1Mb3cpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBMb2dpbkFja1Rva2VuKHtcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiBpbnRlcmZhY2VUeXBlLFxuICAgICAgICAgICAgICAgICAgICB0ZHNWZXJzaW9uOiB0ZHNWZXJzaW9uLFxuICAgICAgICAgICAgICAgICAgICBwcm9nTmFtZTogcHJvZ05hbWUsXG4gICAgICAgICAgICAgICAgICAgIHByb2dWZXJzaW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFqb3I6IG1ham9yLFxuICAgICAgICAgICAgICAgICAgICAgIG1pbm9yOiBtaW5vcixcbiAgICAgICAgICAgICAgICAgICAgICBidWlsZE51bUhpOiBidWlsZE51bUhpLFxuICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkTnVtTG93OiBidWlsZE51bUxvd1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBsb2dpbkFja1BhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gbG9naW5BY2tQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQUVBLE1BQU1FLGNBQXlDLEdBQUc7RUFDaEQsQ0FBQyxFQUFFLFVBQVU7RUFDYixDQUFDLEVBQUU7QUFDTCxDQUFDO0FBRUQsU0FBU0MsY0FBY0EsQ0FBQ0MsTUFBYyxFQUFFQyxRQUF1QixFQUFFQyxRQUF3QyxFQUFFO0VBQ3pHO0VBQ0FGLE1BQU0sQ0FBQ0csWUFBWSxDQUFDLE1BQU07SUFDeEJILE1BQU0sQ0FBQ0ksU0FBUyxDQUFFQyxlQUFlLElBQUs7TUFDcEMsTUFBTUMsYUFBYSxHQUFHUixjQUFjLENBQUNPLGVBQWUsQ0FBQztNQUNyREwsTUFBTSxDQUFDTyxZQUFZLENBQUVDLGdCQUFnQixJQUFLO1FBQ3hDLE1BQU1DLFVBQVUsR0FBR0MsNEJBQVEsQ0FBQ0YsZ0JBQWdCLENBQUM7UUFDN0NSLE1BQU0sQ0FBQ1csWUFBWSxDQUFFQyxRQUFRLElBQUs7VUFDaENaLE1BQU0sQ0FBQ0ksU0FBUyxDQUFFUyxLQUFLLElBQUs7WUFDMUJiLE1BQU0sQ0FBQ0ksU0FBUyxDQUFFVSxLQUFLLElBQUs7Y0FDMUJkLE1BQU0sQ0FBQ0ksU0FBUyxDQUFFVyxVQUFVLElBQUs7Z0JBQy9CZixNQUFNLENBQUNJLFNBQVMsQ0FBRVksV0FBVyxJQUFLO2tCQUNoQ2QsUUFBUSxDQUFDLElBQUllLG9CQUFhLENBQUM7b0JBQ3pCQyxTQUFTLEVBQUVaLGFBQWE7b0JBQ3hCRyxVQUFVLEVBQUVBLFVBQVU7b0JBQ3RCRyxRQUFRLEVBQUVBLFFBQVE7b0JBQ2xCTyxXQUFXLEVBQUU7c0JBQ1hOLEtBQUssRUFBRUEsS0FBSztzQkFDWkMsS0FBSyxFQUFFQSxLQUFLO3NCQUNaQyxVQUFVLEVBQUVBLFVBQVU7c0JBQ3RCQyxXQUFXLEVBQUVBO29CQUNmO2tCQUNGLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztjQUNKLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQztVQUNKLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQztNQUNKLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKO0FBQUMsSUFBQUksUUFBQSxHQUVjckIsY0FBYztBQUFBc0IsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUE7QUFDN0JHLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHdEIsY0FBYyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loginack-token-parser.js","names":["_token","require","_tdsVersions","interfaceTypes","loginAckParser","parser","_options","callback","readUInt16LE","readUInt8","interfaceNumber","interfaceType","readUInt32BE","tdsVersionNumber","tdsVersion","versions","readBVarChar","progName","major","minor","buildNumHi","buildNumLow","LoginAckToken","interface","progVersion","_default","exports","default","module"],"sources":["../../src/token/loginack-token-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\n\nimport { LoginAckToken } from './token';\n\nimport { versionsByValue as versions } from '../tds-versions';\n\nconst interfaceTypes: { [key: number]: string } = {\n 0: 'SQL_DFLT',\n 1: 'SQL_TSQL'\n};\n\nfunction loginAckParser(parser: Parser, _options: ParserOptions, callback: (token: LoginAckToken) => void) {\n // length\n parser.readUInt16LE(() => {\n parser.readUInt8((interfaceNumber) => {\n const interfaceType = interfaceTypes[interfaceNumber];\n parser.readUInt32BE((tdsVersionNumber) => {\n const tdsVersion = versions[tdsVersionNumber];\n parser.readBVarChar((progName) => {\n parser.readUInt8((major) => {\n parser.readUInt8((minor) => {\n parser.readUInt8((buildNumHi) => {\n parser.readUInt8((buildNumLow) => {\n callback(new LoginAckToken({\n interface: interfaceType,\n tdsVersion: tdsVersion,\n progName: progName,\n progVersion: {\n major: major,\n minor: minor,\n buildNumHi: buildNumHi,\n buildNumLow: buildNumLow\n }\n }));\n });\n });\n });\n });\n });\n });\n });\n });\n}\n\nexport default loginAckParser;\nmodule.exports = loginAckParser;\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAEA,MAAME,cAAyC,GAAG;EAChD,CAAC,EAAE,UAAU;EACb,CAAC,EAAE;AACL,CAAC;AAED,SAASC,cAAcA,CAACC,MAAc,EAAEC,QAAuB,EAAEC,QAAwC,EAAE;EACzG;EACAF,MAAM,CAACG,YAAY,CAAC,MAAM;IACxBH,MAAM,CAACI,SAAS,CAAEC,eAAe,IAAK;MACpC,MAAMC,aAAa,GAAGR,cAAc,CAACO,eAAe,CAAC;MACrDL,MAAM,CAACO,YAAY,CAAEC,gBAAgB,IAAK;QACxC,MAAMC,UAAU,GAAGC,4BAAQ,CAACF,gBAAgB,CAAC;QAC7CR,MAAM,CAACW,YAAY,CAAEC,QAAQ,IAAK;UAChCZ,MAAM,CAACI,SAAS,CAAES,KAAK,IAAK;YAC1Bb,MAAM,CAACI,SAAS,CAAEU,KAAK,IAAK;cAC1Bd,MAAM,CAACI,SAAS,CAAEW,UAAU,IAAK;gBAC/Bf,MAAM,CAACI,SAAS,CAAEY,WAAW,IAAK;kBAChCd,QAAQ,CAAC,IAAIe,oBAAa,CAAC;oBACzBC,SAAS,EAAEZ,aAAa;oBACxBG,UAAU,EAAEA,UAAU;oBACtBG,QAAQ,EAAEA,QAAQ;oBAClBO,WAAW,EAAE;sBACXN,KAAK,EAAEA,KAAK;sBACZC,KAAK,EAAEA,KAAK;sBACZC,UAAU,EAAEA,UAAU;sBACtBC,WAAW,EAAEA;oBACf;kBACF,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;cACJ,CAAC,CAAC;YACJ,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAAC,IAAAI,QAAA,GAEcrB,cAAc;AAAAsB,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAC7BG,MAAM,CAACF,OAAO,GAAGtB,cAAc"}
@@ -4,31 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _token = require("./token");
9
-
10
8
  var _valueParser = _interopRequireDefault(require("../value-parser"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  // s2.2.7.13 (introduced in TDS 7.3.B)
11
+
15
12
  function nullHandler(_parser, _columnMetadata, _options, callback) {
16
13
  callback(null);
17
14
  }
18
-
19
15
  async function nbcRowParser(parser) {
20
16
  const colMetadata = parser.colMetadata;
21
17
  const bitmapByteLength = Math.ceil(colMetadata.length / 8);
22
18
  const columns = [];
23
19
  const bitmap = [];
24
-
25
20
  while (parser.buffer.length - parser.position < bitmapByteLength) {
26
21
  await parser.streamBuffer.waitForChunk();
27
22
  }
28
-
29
23
  const bytes = parser.buffer.slice(parser.position, parser.position + bitmapByteLength);
30
24
  parser.position += bitmapByteLength;
31
-
32
25
  for (let i = 0, len = bytes.length; i < len; i++) {
33
26
  const byte = bytes[i];
34
27
  bitmap.push(byte & 0b1 ? true : false);
@@ -40,32 +33,27 @@ async function nbcRowParser(parser) {
40
33
  bitmap.push(byte & 0b1000000 ? true : false);
41
34
  bitmap.push(byte & 0b10000000 ? true : false);
42
35
  }
43
-
44
36
  for (let i = 0; i < colMetadata.length; i++) {
45
37
  const currColMetadata = colMetadata[i];
46
38
  let value;
47
39
  (bitmap[i] ? nullHandler : _valueParser.default)(parser, currColMetadata, parser.options, v => {
48
40
  value = v;
49
41
  });
50
-
51
42
  while (parser.suspended) {
52
43
  await parser.streamBuffer.waitForChunk();
53
44
  parser.suspended = false;
54
45
  const next = parser.next;
55
46
  next();
56
47
  }
57
-
58
48
  columns.push({
59
49
  value,
60
50
  metadata: currColMetadata
61
51
  });
62
52
  }
63
-
64
53
  if (parser.options.useColumnNames) {
65
54
  const columnsMap = {};
66
55
  columns.forEach(column => {
67
56
  const colName = column.metadata.colName;
68
-
69
57
  if (columnsMap[colName] == null) {
70
58
  columnsMap[colName] = column;
71
59
  }
@@ -75,8 +63,7 @@ async function nbcRowParser(parser) {
75
63
  return new _token.NBCRowToken(columns);
76
64
  }
77
65
  }
78
-
79
66
  var _default = nbcRowParser;
80
67
  exports.default = _default;
81
68
  module.exports = nbcRowParser;
82
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJudWxsSGFuZGxlciIsIl9wYXJzZXIiLCJfY29sdW1uTWV0YWRhdGEiLCJfb3B0aW9ucyIsImNhbGxiYWNrIiwibmJjUm93UGFyc2VyIiwicGFyc2VyIiwiY29sTWV0YWRhdGEiLCJiaXRtYXBCeXRlTGVuZ3RoIiwiTWF0aCIsImNlaWwiLCJsZW5ndGgiLCJjb2x1bW5zIiwiYml0bWFwIiwiYnVmZmVyIiwicG9zaXRpb24iLCJzdHJlYW1CdWZmZXIiLCJ3YWl0Rm9yQ2h1bmsiLCJieXRlcyIsInNsaWNlIiwiaSIsImxlbiIsImJ5dGUiLCJwdXNoIiwiY3VyckNvbE1ldGFkYXRhIiwidmFsdWUiLCJ2YWx1ZVBhcnNlIiwib3B0aW9ucyIsInYiLCJzdXNwZW5kZWQiLCJuZXh0IiwibWV0YWRhdGEiLCJ1c2VDb2x1bW5OYW1lcyIsImNvbHVtbnNNYXAiLCJmb3JFYWNoIiwiY29sdW1uIiwiY29sTmFtZSIsIk5CQ1Jvd1Rva2VuIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9uYmNyb3ctdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xMyAoaW50cm9kdWNlZCBpbiBURFMgNy4zLkIpXG5cbmltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyBDb2x1bW5NZXRhZGF0YSB9IGZyb20gJy4vY29sbWV0YWRhdGEtdG9rZW4tcGFyc2VyJztcblxuaW1wb3J0IHsgTkJDUm93VG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuaW1wb3J0IHZhbHVlUGFyc2UgZnJvbSAnLi4vdmFsdWUtcGFyc2VyJztcblxuZnVuY3Rpb24gbnVsbEhhbmRsZXIoX3BhcnNlcjogUGFyc2VyLCBfY29sdW1uTWV0YWRhdGE6IENvbHVtbk1ldGFkYXRhLCBfb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCkge1xuICBjYWxsYmFjayhudWxsKTtcbn1cblxuaW50ZXJmYWNlIENvbHVtbiB7XG4gIHZhbHVlOiB1bmtub3duO1xuICBtZXRhZGF0YTogQ29sdW1uTWV0YWRhdGE7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG5iY1Jvd1BhcnNlcihwYXJzZXI6IFBhcnNlcik6IFByb21pc2U8TkJDUm93VG9rZW4+IHtcbiAgY29uc3QgY29sTWV0YWRhdGEgPSBwYXJzZXIuY29sTWV0YWRhdGE7XG4gIGNvbnN0IGJpdG1hcEJ5dGVMZW5ndGggPSBNYXRoLmNlaWwoY29sTWV0YWRhdGEubGVuZ3RoIC8gOCk7XG4gIGNvbnN0IGNvbHVtbnM6IENvbHVtbltdID0gW107XG4gIGNvbnN0IGJpdG1hcDogYm9vbGVhbltdID0gW107XG5cbiAgd2hpbGUgKHBhcnNlci5idWZmZXIubGVuZ3RoIC0gcGFyc2VyLnBvc2l0aW9uIDwgYml0bWFwQnl0ZUxlbmd0aCkge1xuICAgIGF3YWl0IHBhcnNlci5zdHJlYW1CdWZmZXIud2FpdEZvckNodW5rKCk7XG4gIH1cblxuICBjb25zdCBieXRlcyA9IHBhcnNlci5idWZmZXIuc2xpY2UocGFyc2VyLnBvc2l0aW9uLCBwYXJzZXIucG9zaXRpb24gKyBiaXRtYXBCeXRlTGVuZ3RoKTtcbiAgcGFyc2VyLnBvc2l0aW9uICs9IGJpdG1hcEJ5dGVMZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGJ5dGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgYnl0ZSA9IGJ5dGVzW2ldO1xuXG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMSA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMDAwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMDAwMDAgPyB0cnVlIDogZmFsc2UpO1xuICB9XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xNZXRhZGF0YS5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGN1cnJDb2xNZXRhZGF0YSA9IGNvbE1ldGFkYXRhW2ldO1xuICAgIGxldCB2YWx1ZTtcbiAgICAoYml0bWFwW2ldID8gbnVsbEhhbmRsZXIgOiB2YWx1ZVBhcnNlKShwYXJzZXIsIGN1cnJDb2xNZXRhZGF0YSwgcGFyc2VyLm9wdGlvbnMsICh2KSA9PiB7XG4gICAgICB2YWx1ZSA9IHY7XG4gICAgfSk7XG5cbiAgICB3aGlsZSAocGFyc2VyLnN1c3BlbmRlZCkge1xuICAgICAgYXdhaXQgcGFyc2VyLnN0cmVhbUJ1ZmZlci53YWl0Rm9yQ2h1bmsoKTtcblxuICAgICAgcGFyc2VyLnN1c3BlbmRlZCA9IGZhbHNlO1xuICAgICAgY29uc3QgbmV4dCA9IHBhcnNlci5uZXh0ITtcblxuICAgICAgbmV4dCgpO1xuICAgIH1cbiAgICBjb2x1bW5zLnB1c2goe1xuICAgICAgdmFsdWUsXG4gICAgICBtZXRhZGF0YTogY3VyckNvbE1ldGFkYXRhXG4gICAgfSk7XG4gIH1cblxuICBpZiAocGFyc2VyLm9wdGlvbnMudXNlQ29sdW1uTmFtZXMpIHtcbiAgICBjb25zdCBjb2x1bW5zTWFwOiB7IFtrZXk6IHN0cmluZ106IENvbHVtbiB9ID0ge307XG5cbiAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgY29uc3QgY29sTmFtZSA9IGNvbHVtbi5tZXRhZGF0YS5jb2xOYW1lO1xuICAgICAgaWYgKGNvbHVtbnNNYXBbY29sTmFtZV0gPT0gbnVsbCkge1xuICAgICAgICBjb2x1bW5zTWFwW2NvbE5hbWVdID0gY29sdW1uO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBOQkNSb3dUb2tlbihjb2x1bW5zTWFwKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IE5CQ1Jvd1Rva2VuKGNvbHVtbnMpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG5iY1Jvd1BhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gbmJjUm93UGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBS0E7O0FBRUE7Ozs7QUFQQTtBQVNBLFNBQVNBLFdBQVQsQ0FBcUJDLE9BQXJCLEVBQXNDQyxlQUF0QyxFQUF1RUMsUUFBdkUsRUFBZ0dDLFFBQWhHLEVBQW9JO0VBQ2xJQSxRQUFRLENBQUMsSUFBRCxDQUFSO0FBQ0Q7O0FBT0QsZUFBZUMsWUFBZixDQUE0QkMsTUFBNUIsRUFBa0U7RUFDaEUsTUFBTUMsV0FBVyxHQUFHRCxNQUFNLENBQUNDLFdBQTNCO0VBQ0EsTUFBTUMsZ0JBQWdCLEdBQUdDLElBQUksQ0FBQ0MsSUFBTCxDQUFVSCxXQUFXLENBQUNJLE1BQVosR0FBcUIsQ0FBL0IsQ0FBekI7RUFDQSxNQUFNQyxPQUFpQixHQUFHLEVBQTFCO0VBQ0EsTUFBTUMsTUFBaUIsR0FBRyxFQUExQjs7RUFFQSxPQUFPUCxNQUFNLENBQUNRLE1BQVAsQ0FBY0gsTUFBZCxHQUF1QkwsTUFBTSxDQUFDUyxRQUE5QixHQUF5Q1AsZ0JBQWhELEVBQWtFO0lBQ2hFLE1BQU1GLE1BQU0sQ0FBQ1UsWUFBUCxDQUFvQkMsWUFBcEIsRUFBTjtFQUNEOztFQUVELE1BQU1DLEtBQUssR0FBR1osTUFBTSxDQUFDUSxNQUFQLENBQWNLLEtBQWQsQ0FBb0JiLE1BQU0sQ0FBQ1MsUUFBM0IsRUFBcUNULE1BQU0sQ0FBQ1MsUUFBUCxHQUFrQlAsZ0JBQXZELENBQWQ7RUFDQUYsTUFBTSxDQUFDUyxRQUFQLElBQW1CUCxnQkFBbkI7O0VBRUEsS0FBSyxJQUFJWSxDQUFDLEdBQUcsQ0FBUixF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
69
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX3ZhbHVlUGFyc2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwibnVsbEhhbmRsZXIiLCJfcGFyc2VyIiwiX2NvbHVtbk1ldGFkYXRhIiwiX29wdGlvbnMiLCJjYWxsYmFjayIsIm5iY1Jvd1BhcnNlciIsInBhcnNlciIsImNvbE1ldGFkYXRhIiwiYml0bWFwQnl0ZUxlbmd0aCIsIk1hdGgiLCJjZWlsIiwibGVuZ3RoIiwiY29sdW1ucyIsImJpdG1hcCIsImJ1ZmZlciIsInBvc2l0aW9uIiwic3RyZWFtQnVmZmVyIiwid2FpdEZvckNodW5rIiwiYnl0ZXMiLCJzbGljZSIsImkiLCJsZW4iLCJieXRlIiwicHVzaCIsImN1cnJDb2xNZXRhZGF0YSIsInZhbHVlIiwidmFsdWVQYXJzZSIsIm9wdGlvbnMiLCJ2Iiwic3VzcGVuZGVkIiwibmV4dCIsIm1ldGFkYXRhIiwidXNlQ29sdW1uTmFtZXMiLCJjb2x1bW5zTWFwIiwiZm9yRWFjaCIsImNvbHVtbiIsImNvbE5hbWUiLCJOQkNSb3dUb2tlbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9uYmNyb3ctdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xMyAoaW50cm9kdWNlZCBpbiBURFMgNy4zLkIpXG5cbmltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyBDb2x1bW5NZXRhZGF0YSB9IGZyb20gJy4vY29sbWV0YWRhdGEtdG9rZW4tcGFyc2VyJztcblxuaW1wb3J0IHsgTkJDUm93VG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuaW1wb3J0IHZhbHVlUGFyc2UgZnJvbSAnLi4vdmFsdWUtcGFyc2VyJztcblxuZnVuY3Rpb24gbnVsbEhhbmRsZXIoX3BhcnNlcjogUGFyc2VyLCBfY29sdW1uTWV0YWRhdGE6IENvbHVtbk1ldGFkYXRhLCBfb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCkge1xuICBjYWxsYmFjayhudWxsKTtcbn1cblxuaW50ZXJmYWNlIENvbHVtbiB7XG4gIHZhbHVlOiB1bmtub3duO1xuICBtZXRhZGF0YTogQ29sdW1uTWV0YWRhdGE7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG5iY1Jvd1BhcnNlcihwYXJzZXI6IFBhcnNlcik6IFByb21pc2U8TkJDUm93VG9rZW4+IHtcbiAgY29uc3QgY29sTWV0YWRhdGEgPSBwYXJzZXIuY29sTWV0YWRhdGE7XG4gIGNvbnN0IGJpdG1hcEJ5dGVMZW5ndGggPSBNYXRoLmNlaWwoY29sTWV0YWRhdGEubGVuZ3RoIC8gOCk7XG4gIGNvbnN0IGNvbHVtbnM6IENvbHVtbltdID0gW107XG4gIGNvbnN0IGJpdG1hcDogYm9vbGVhbltdID0gW107XG5cbiAgd2hpbGUgKHBhcnNlci5idWZmZXIubGVuZ3RoIC0gcGFyc2VyLnBvc2l0aW9uIDwgYml0bWFwQnl0ZUxlbmd0aCkge1xuICAgIGF3YWl0IHBhcnNlci5zdHJlYW1CdWZmZXIud2FpdEZvckNodW5rKCk7XG4gIH1cblxuICBjb25zdCBieXRlcyA9IHBhcnNlci5idWZmZXIuc2xpY2UocGFyc2VyLnBvc2l0aW9uLCBwYXJzZXIucG9zaXRpb24gKyBiaXRtYXBCeXRlTGVuZ3RoKTtcbiAgcGFyc2VyLnBvc2l0aW9uICs9IGJpdG1hcEJ5dGVMZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGJ5dGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgYnl0ZSA9IGJ5dGVzW2ldO1xuXG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMSA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMDAwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMDAwMDAgPyB0cnVlIDogZmFsc2UpO1xuICB9XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xNZXRhZGF0YS5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGN1cnJDb2xNZXRhZGF0YSA9IGNvbE1ldGFkYXRhW2ldO1xuICAgIGxldCB2YWx1ZTtcbiAgICAoYml0bWFwW2ldID8gbnVsbEhhbmRsZXIgOiB2YWx1ZVBhcnNlKShwYXJzZXIsIGN1cnJDb2xNZXRhZGF0YSwgcGFyc2VyLm9wdGlvbnMsICh2KSA9PiB7XG4gICAgICB2YWx1ZSA9IHY7XG4gICAgfSk7XG5cbiAgICB3aGlsZSAocGFyc2VyLnN1c3BlbmRlZCkge1xuICAgICAgYXdhaXQgcGFyc2VyLnN0cmVhbUJ1ZmZlci53YWl0Rm9yQ2h1bmsoKTtcblxuICAgICAgcGFyc2VyLnN1c3BlbmRlZCA9IGZhbHNlO1xuICAgICAgY29uc3QgbmV4dCA9IHBhcnNlci5uZXh0ITtcblxuICAgICAgbmV4dCgpO1xuICAgIH1cbiAgICBjb2x1bW5zLnB1c2goe1xuICAgICAgdmFsdWUsXG4gICAgICBtZXRhZGF0YTogY3VyckNvbE1ldGFkYXRhXG4gICAgfSk7XG4gIH1cblxuICBpZiAocGFyc2VyLm9wdGlvbnMudXNlQ29sdW1uTmFtZXMpIHtcbiAgICBjb25zdCBjb2x1bW5zTWFwOiB7IFtrZXk6IHN0cmluZ106IENvbHVtbiB9ID0ge307XG5cbiAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgY29uc3QgY29sTmFtZSA9IGNvbHVtbi5tZXRhZGF0YS5jb2xOYW1lO1xuICAgICAgaWYgKGNvbHVtbnNNYXBbY29sTmFtZV0gPT0gbnVsbCkge1xuICAgICAgICBjb2x1bW5zTWFwW2NvbE5hbWVdID0gY29sdW1uO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBOQkNSb3dUb2tlbihjb2x1bW5zTWFwKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IE5CQ1Jvd1Rva2VuKGNvbHVtbnMpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG5iY1Jvd1BhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gbmJjUm93UGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFLQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBeUMsU0FBQUUsdUJBQUFDLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFQekM7O0FBU0EsU0FBU0csV0FBV0EsQ0FBQ0MsT0FBZSxFQUFFQyxlQUErQixFQUFFQyxRQUF1QixFQUFFQyxRQUFrQyxFQUFFO0VBQ2xJQSxRQUFRLENBQUMsSUFBSSxDQUFDO0FBQ2hCO0FBT0EsZUFBZUMsWUFBWUEsQ0FBQ0MsTUFBYyxFQUF3QjtFQUNoRSxNQUFNQyxXQUFXLEdBQUdELE1BQU0sQ0FBQ0MsV0FBVztFQUN0QyxNQUFNQyxnQkFBZ0IsR0FBR0MsSUFBSSxDQUFDQyxJQUFJLENBQUNILFdBQVcsQ0FBQ0ksTUFBTSxHQUFHLENBQUMsQ0FBQztFQUMxRCxNQUFNQyxPQUFpQixHQUFHLEVBQUU7RUFDNUIsTUFBTUMsTUFBaUIsR0FBRyxFQUFFO0VBRTVCLE9BQU9QLE1BQU0sQ0FBQ1EsTUFBTSxDQUFDSCxNQUFNLEdBQUdMLE1BQU0sQ0FBQ1MsUUFBUSxHQUFHUCxnQkFBZ0IsRUFBRTtJQUNoRSxN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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nbcrow-token-parser.js","names":["_token","require","_valueParser","_interopRequireDefault","obj","__esModule","default","nullHandler","_parser","_columnMetadata","_options","callback","nbcRowParser","parser","colMetadata","bitmapByteLength","Math","ceil","length","columns","bitmap","buffer","position","streamBuffer","waitForChunk","bytes","slice","i","len","byte","push","currColMetadata","value","valueParse","options","v","suspended","next","metadata","useColumnNames","columnsMap","forEach","column","colName","NBCRowToken","_default","exports","module"],"sources":["../../src/token/nbcrow-token-parser.ts"],"sourcesContent":["// s2.2.7.13 (introduced in TDS 7.3.B)\n\nimport Parser, { ParserOptions } from './stream-parser';\nimport { ColumnMetadata } from './colmetadata-token-parser';\n\nimport { NBCRowToken } from './token';\n\nimport valueParse from '../value-parser';\n\nfunction nullHandler(_parser: Parser, _columnMetadata: ColumnMetadata, _options: ParserOptions, callback: (value: unknown) => void) {\n callback(null);\n}\n\ninterface Column {\n value: unknown;\n metadata: ColumnMetadata;\n}\n\nasync function nbcRowParser(parser: Parser): Promise<NBCRowToken> {\n const colMetadata = parser.colMetadata;\n const bitmapByteLength = Math.ceil(colMetadata.length / 8);\n const columns: Column[] = [];\n const bitmap: boolean[] = [];\n\n while (parser.buffer.length - parser.position < bitmapByteLength) {\n await parser.streamBuffer.waitForChunk();\n }\n\n const bytes = parser.buffer.slice(parser.position, parser.position + bitmapByteLength);\n parser.position += bitmapByteLength;\n\n for (let i = 0, len = bytes.length; i < len; i++) {\n const byte = bytes[i];\n\n bitmap.push(byte & 0b1 ? true : false);\n bitmap.push(byte & 0b10 ? true : false);\n bitmap.push(byte & 0b100 ? true : false);\n bitmap.push(byte & 0b1000 ? true : false);\n bitmap.push(byte & 0b10000 ? true : false);\n bitmap.push(byte & 0b100000 ? true : false);\n bitmap.push(byte & 0b1000000 ? true : false);\n bitmap.push(byte & 0b10000000 ? true : false);\n }\n\n for (let i = 0; i < colMetadata.length; i++) {\n const currColMetadata = colMetadata[i];\n let value;\n (bitmap[i] ? nullHandler : valueParse)(parser, currColMetadata, parser.options, (v) => {\n value = v;\n });\n\n while (parser.suspended) {\n await parser.streamBuffer.waitForChunk();\n\n parser.suspended = false;\n const next = parser.next!;\n\n next();\n }\n columns.push({\n value,\n metadata: currColMetadata\n });\n }\n\n if (parser.options.useColumnNames) {\n const columnsMap: { [key: string]: Column } = {};\n\n columns.forEach((column) => {\n const colName = column.metadata.colName;\n if (columnsMap[colName] == null) {\n columnsMap[colName] = column;\n }\n });\n\n return new NBCRowToken(columnsMap);\n } else {\n return new NBCRowToken(columns);\n }\n}\n\nexport default nbcRowParser;\nmodule.exports = nbcRowParser;\n"],"mappings":"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"}
@@ -4,35 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _token = require("./token");
9
-
10
8
  // s2.2.7.14
9
+
11
10
  function orderParser(parser, _options, callback) {
12
11
  parser.readUInt16LE(length => {
13
12
  const columnCount = length / 2;
14
13
  const orderColumns = [];
15
14
  let i = 0;
16
-
17
15
  function next(done) {
18
16
  if (i === columnCount) {
19
17
  return done();
20
18
  }
21
-
22
19
  parser.readUInt16LE(column => {
23
20
  orderColumns.push(column);
24
21
  i++;
25
22
  next(done);
26
23
  });
27
24
  }
28
-
29
25
  next(() => {
30
26
  callback(new _token.OrderToken(orderColumns));
31
27
  });
32
28
  });
33
29
  }
34
-
35
30
  var _default = orderParser;
36
31
  exports.default = _default;
37
32
  module.exports = orderParser;
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcmRlclBhcnNlciIsInBhcnNlciIsIl9vcHRpb25zIiwiY2FsbGJhY2siLCJyZWFkVUludDE2TEUiLCJsZW5ndGgiLCJjb2x1bW5Db3VudCIsIm9yZGVyQ29sdW1ucyIsImkiLCJuZXh0IiwiZG9uZSIsImNvbHVtbiIsInB1c2giLCJPcmRlclRva2VuIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9vcmRlci10b2tlbi1wYXJzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gczIuMi43LjE0XG5pbXBvcnQgUGFyc2VyLCB7IFBhcnNlck9wdGlvbnMgfSBmcm9tICcuL3N0cmVhbS1wYXJzZXInO1xuXG5pbXBvcnQgeyBPcmRlclRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmZ1bmN0aW9uIG9yZGVyUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBfb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogT3JkZXJUb2tlbikgPT4gdm9pZCkge1xuICBwYXJzZXIucmVhZFVJbnQxNkxFKChsZW5ndGgpID0+IHtcbiAgICBjb25zdCBjb2x1bW5Db3VudCA9IGxlbmd0aCAvIDI7XG4gICAgY29uc3Qgb3JkZXJDb2x1bW5zOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgbGV0IGkgPSAwO1xuICAgIGZ1bmN0aW9uIG5leHQoZG9uZTogKCkgPT4gdm9pZCkge1xuICAgICAgaWYgKGkgPT09IGNvbHVtbkNvdW50KSB7XG4gICAgICAgIHJldHVybiBkb25lKCk7XG4gICAgICB9XG5cbiAgICAgIHBhcnNlci5yZWFkVUludDE2TEUoKGNvbHVtbikgPT4ge1xuICAgICAgICBvcmRlckNvbHVtbnMucHVzaChjb2x1bW4pO1xuXG4gICAgICAgIGkrKztcblxuICAgICAgICBuZXh0KGRvbmUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmV4dCgoKSA9PiB7XG4gICAgICBjYWxsYmFjayhuZXcgT3JkZXJUb2tlbihvcmRlckNvbHVtbnMpKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG9yZGVyUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSBvcmRlclBhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUhBO0FBS0EsU0FBU0EsV0FBVCxDQUFxQkMsTUFBckIsRUFBcUNDLFFBQXJDLEVBQThEQyxRQUE5RCxFQUFxRztFQUNuR0YsTUFBTSxDQUFDRyxZQUFQLENBQXFCQyxNQUFELElBQVk7SUFDOUIsTUFBTUMsV0FBVyxHQUFHRCxNQUFNLEdBQUcsQ0FBN0I7SUFDQSxNQUFNRSxZQUFzQixHQUFHLEVBQS9CO0lBRUEsSUFBSUMsQ0FBQyxHQUFHLENBQVI7O0lBQ0EsU0FBU0MsSUFBVCxDQUFjQyxJQUFkLEVBQWdDO01BQzlCLElBQUlGLENBQUMsS0FBS0YsV0FBVixFQUF1QjtRQUNyQixPQUFPSSxJQUFJLEVBQVg7TUFDRDs7TUFFRFQsTUFBTSxDQUFDRyxZQUFQLENBQXFCTyxNQUFELElBQVk7UUFDOUJKLFlBQVksQ0FBQ0ssSUFBYixDQUFrQkQsTUFBbEI7UUFFQUgsQ0FBQztRQUVEQyxJQUFJLENBQUNDLElBQUQsQ0FBSjtNQUNELENBTkQ7SUFPRDs7SUFFREQsSUFBSSxDQUFDLE1BQU07TUFDVE4sUUFBUSxDQUFDLElBQUlVLGlCQUFKLENBQWVOLFlBQWYsQ0FBRCxDQUFSO0lBQ0QsQ0FGRyxDQUFKO0VBR0QsQ0F0QkQ7QUF1QkQ7O2VBRWNQLFc7O0FBQ2ZjLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQmYsV0FBakIifQ==
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwib3JkZXJQYXJzZXIiLCJwYXJzZXIiLCJfb3B0aW9ucyIsImNhbGxiYWNrIiwicmVhZFVJbnQxNkxFIiwibGVuZ3RoIiwiY29sdW1uQ291bnQiLCJvcmRlckNvbHVtbnMiLCJpIiwibmV4dCIsImRvbmUiLCJjb2x1bW4iLCJwdXNoIiwiT3JkZXJUb2tlbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vb3JkZXItdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xNFxuaW1wb3J0IFBhcnNlciwgeyBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcblxuaW1wb3J0IHsgT3JkZXJUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5mdW5jdGlvbiBvcmRlclBhcnNlcihwYXJzZXI6IFBhcnNlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IE9yZGVyVG9rZW4pID0+IHZvaWQpIHtcbiAgcGFyc2VyLnJlYWRVSW50MTZMRSgobGVuZ3RoKSA9PiB7XG4gICAgY29uc3QgY29sdW1uQ291bnQgPSBsZW5ndGggLyAyO1xuICAgIGNvbnN0IG9yZGVyQ29sdW1uczogbnVtYmVyW10gPSBbXTtcblxuICAgIGxldCBpID0gMDtcbiAgICBmdW5jdGlvbiBuZXh0KGRvbmU6ICgpID0+IHZvaWQpIHtcbiAgICAgIGlmIChpID09PSBjb2x1bW5Db3VudCkge1xuICAgICAgICByZXR1cm4gZG9uZSgpO1xuICAgICAgfVxuXG4gICAgICBwYXJzZXIucmVhZFVJbnQxNkxFKChjb2x1bW4pID0+IHtcbiAgICAgICAgb3JkZXJDb2x1bW5zLnB1c2goY29sdW1uKTtcblxuICAgICAgICBpKys7XG5cbiAgICAgICAgbmV4dChkb25lKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG5leHQoKCkgPT4ge1xuICAgICAgY2FsbGJhY2sobmV3IE9yZGVyVG9rZW4ob3JkZXJDb2x1bW5zKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBvcmRlclBhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gb3JkZXJQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUhBOztBQUtBLFNBQVNDLFdBQVdBLENBQUNDLE1BQWMsRUFBRUMsUUFBdUIsRUFBRUMsUUFBcUMsRUFBRTtFQUNuR0YsTUFBTSxDQUFDRyxZQUFZLENBQUVDLE1BQU0sSUFBSztJQUM5QixNQUFNQyxXQUFXLEdBQUdELE1BQU0sR0FBRyxDQUFDO0lBQzlCLE1BQU1FLFlBQXNCLEdBQUcsRUFBRTtJQUVqQyxJQUFJQyxDQUFDLEdBQUcsQ0FBQztJQUNULFNBQVNDLElBQUlBLENBQUNDLElBQWdCLEVBQUU7TUFDOUIsSUFBSUYsQ0FBQyxLQUFLRixXQUFXLEVBQUU7UUFDckIsT0FBT0ksSUFBSSxDQUFDLENBQUM7TUFDZjtNQUVBVCxNQUFNLENBQUNHLFlBQVksQ0FBRU8sTUFBTSxJQUFLO1FBQzlCSixZQUFZLENBQUNLLElBQUksQ0FBQ0QsTUFBTSxDQUFDO1FBRXpCSCxDQUFDLEVBQUU7UUFFSEMsSUFBSSxDQUFDQyxJQUFJLENBQUM7TUFDWixDQUFDLENBQUM7SUFDSjtJQUVBRCxJQUFJLENBQUMsTUFBTTtNQUNUTixRQUFRLENBQUMsSUFBSVUsaUJBQVUsQ0FBQ04sWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0o7QUFBQyxJQUFBTyxRQUFBLEdBRWNkLFdBQVc7QUFBQWUsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUE7QUFDMUJHLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHZixXQUFXIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-token-parser.js","names":["_token","require","orderParser","parser","_options","callback","readUInt16LE","length","columnCount","orderColumns","i","next","done","column","push","OrderToken","_default","exports","default","module"],"sources":["../../src/token/order-token-parser.ts"],"sourcesContent":["// s2.2.7.14\nimport Parser, { ParserOptions } from './stream-parser';\n\nimport { OrderToken } from './token';\n\nfunction orderParser(parser: Parser, _options: ParserOptions, callback: (token: OrderToken) => void) {\n parser.readUInt16LE((length) => {\n const columnCount = length / 2;\n const orderColumns: number[] = [];\n\n let i = 0;\n function next(done: () => void) {\n if (i === columnCount) {\n return done();\n }\n\n parser.readUInt16LE((column) => {\n orderColumns.push(column);\n\n i++;\n\n next(done);\n });\n }\n\n next(() => {\n callback(new OrderToken(orderColumns));\n });\n });\n}\n\nexport default orderParser;\nmodule.exports = orderParser;\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;;AAKA,SAASC,WAAWA,CAACC,MAAc,EAAEC,QAAuB,EAAEC,QAAqC,EAAE;EACnGF,MAAM,CAACG,YAAY,CAAEC,MAAM,IAAK;IAC9B,MAAMC,WAAW,GAAGD,MAAM,GAAG,CAAC;IAC9B,MAAME,YAAsB,GAAG,EAAE;IAEjC,IAAIC,CAAC,GAAG,CAAC;IACT,SAASC,IAAIA,CAACC,IAAgB,EAAE;MAC9B,IAAIF,CAAC,KAAKF,WAAW,EAAE;QACrB,OAAOI,IAAI,CAAC,CAAC;MACf;MAEAT,MAAM,CAACG,YAAY,CAAEO,MAAM,IAAK;QAC9BJ,YAAY,CAACK,IAAI,CAACD,MAAM,CAAC;QAEzBH,CAAC,EAAE;QAEHC,IAAI,CAACC,IAAI,CAAC;MACZ,CAAC,CAAC;IACJ;IAEAD,IAAI,CAAC,MAAM;MACTN,QAAQ,CAAC,IAAIU,iBAAU,CAACN,YAAY,CAAC,CAAC;IACxC,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAAC,IAAAO,QAAA,GAEcd,WAAW;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAC1BG,MAAM,CAACF,OAAO,GAAGf,WAAW"}
@@ -4,17 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _token = require("./token");
9
-
10
8
  // s2.2.7.16
9
+
11
10
  function returnStatusParser(parser, _options, callback) {
12
11
  parser.readInt32LE(value => {
13
12
  callback(new _token.ReturnStatusToken(value));
14
13
  });
15
14
  }
16
-
17
15
  var _default = returnStatusParser;
18
16
  exports.default = _default;
19
17
  module.exports = returnStatusParser;
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXR1cm5TdGF0dXNQYXJzZXIiLCJwYXJzZXIiLCJfb3B0aW9ucyIsImNhbGxiYWNrIiwicmVhZEludDMyTEUiLCJ2YWx1ZSIsIlJldHVyblN0YXR1c1Rva2VuIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9yZXR1cm5zdGF0dXMtdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xNlxuaW1wb3J0IFBhcnNlciwgeyBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcblxuaW1wb3J0IHsgUmV0dXJuU3RhdHVzVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuZnVuY3Rpb24gcmV0dXJuU3RhdHVzUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBfb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogUmV0dXJuU3RhdHVzVG9rZW4pID0+IHZvaWQpIHtcbiAgcGFyc2VyLnJlYWRJbnQzMkxFKCh2YWx1ZSkgPT4ge1xuICAgIGNhbGxiYWNrKG5ldyBSZXR1cm5TdGF0dXNUb2tlbih2YWx1ZSkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgcmV0dXJuU3RhdHVzUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSByZXR1cm5TdGF0dXNQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFIQTtBQUtBLFNBQVNBLGtCQUFULENBQTRCQyxNQUE1QixFQUE0Q0MsUUFBNUMsRUFBcUVDLFFBQXJFLEVBQW1IO0VBQ2pIRixNQUFNLENBQUNHLFdBQVAsQ0FBb0JDLEtBQUQsSUFBVztJQUM1QkYsUUFBUSxDQUFDLElBQUlHLHdCQUFKLENBQXNCRCxLQUF0QixDQUFELENBQVI7RUFDRCxDQUZEO0FBR0Q7O2VBRWNMLGtCOztBQUNmTyxNQUFNLENBQUNDLE9BQVAsR0FBaUJSLGtCQUFqQiJ9
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwicmV0dXJuU3RhdHVzUGFyc2VyIiwicGFyc2VyIiwiX29wdGlvbnMiLCJjYWxsYmFjayIsInJlYWRJbnQzMkxFIiwidmFsdWUiLCJSZXR1cm5TdGF0dXNUb2tlbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vcmV0dXJuc3RhdHVzLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzMi4yLjcuMTZcbmltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5cbmltcG9ydCB7IFJldHVyblN0YXR1c1Rva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmZ1bmN0aW9uIHJldHVyblN0YXR1c1BhcnNlcihwYXJzZXI6IFBhcnNlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IFJldHVyblN0YXR1c1Rva2VuKSA9PiB2b2lkKSB7XG4gIHBhcnNlci5yZWFkSW50MzJMRSgodmFsdWUpID0+IHtcbiAgICBjYWxsYmFjayhuZXcgUmV0dXJuU3RhdHVzVG9rZW4odmFsdWUpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHJldHVyblN0YXR1c1BhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gcmV0dXJuU3RhdHVzUGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFIQTs7QUFLQSxTQUFTQyxrQkFBa0JBLENBQUNDLE1BQWMsRUFBRUMsUUFBdUIsRUFBRUMsUUFBNEMsRUFBRTtFQUNqSEYsTUFBTSxDQUFDRyxXQUFXLENBQUVDLEtBQUssSUFBSztJQUM1QkYsUUFBUSxDQUFDLElBQUlHLHdCQUFpQixDQUFDRCxLQUFLLENBQUMsQ0FBQztFQUN4QyxDQUFDLENBQUM7QUFDSjtBQUFDLElBQUFFLFFBQUEsR0FFY1Asa0JBQWtCO0FBQUFRLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBO0FBQ2pDRyxNQUFNLENBQUNGLE9BQU8sR0FBR1Isa0JBQWtCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"returnstatus-token-parser.js","names":["_token","require","returnStatusParser","parser","_options","callback","readInt32LE","value","ReturnStatusToken","_default","exports","default","module"],"sources":["../../src/token/returnstatus-token-parser.ts"],"sourcesContent":["// s2.2.7.16\nimport Parser, { ParserOptions } from './stream-parser';\n\nimport { ReturnStatusToken } from './token';\n\nfunction returnStatusParser(parser: Parser, _options: ParserOptions, callback: (token: ReturnStatusToken) => void) {\n parser.readInt32LE((value) => {\n callback(new ReturnStatusToken(value));\n });\n}\n\nexport default returnStatusParser;\nmodule.exports = returnStatusParser;\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;;AAKA,SAASC,kBAAkBA,CAACC,MAAc,EAAEC,QAAuB,EAAEC,QAA4C,EAAE;EACjHF,MAAM,CAACG,WAAW,CAAEC,KAAK,IAAK;IAC5BF,QAAQ,CAAC,IAAIG,wBAAiB,CAACD,KAAK,CAAC,CAAC;EACxC,CAAC,CAAC;AACJ;AAAC,IAAAE,QAAA,GAEcP,kBAAkB;AAAAQ,OAAA,CAAAC,OAAA,GAAAF,QAAA;AACjCG,MAAM,CAACF,OAAO,GAAGR,kBAAkB"}
@@ -4,24 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _token = require("./token");
9
-
10
8
  var _metadataParser = _interopRequireDefault(require("../metadata-parser"));
11
-
12
9
  var _valueParser = _interopRequireDefault(require("../value-parser"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  // s2.2.7.16
12
+
17
13
  function returnParser(parser, options, callback) {
18
14
  parser.readUInt16LE(paramOrdinal => {
19
15
  parser.readBVarChar(paramName => {
20
16
  if (paramName.charAt(0) === '@') {
21
17
  paramName = paramName.slice(1);
22
- } // status
23
-
18
+ }
24
19
 
20
+ // status
25
21
  parser.readUInt8(() => {
26
22
  (0, _metadataParser.default)(parser, options, metadata => {
27
23
  (0, _valueParser.default)(parser, metadata, options, value => {
@@ -37,8 +33,7 @@ function returnParser(parser, options, callback) {
37
33
  });
38
34
  });
39
35
  }
40
-
41
36
  var _default = returnParser;
42
37
  exports.default = _default;
43
38
  module.exports = returnParser;
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXR1cm5QYXJzZXIiLCJwYXJzZXIiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJyZWFkVUludDE2TEUiLCJwYXJhbU9yZGluYWwiLCJyZWFkQlZhckNoYXIiLCJwYXJhbU5hbWUiLCJjaGFyQXQiLCJzbGljZSIsInJlYWRVSW50OCIsIm1ldGFkYXRhIiwidmFsdWUiLCJSZXR1cm5WYWx1ZVRva2VuIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9yZXR1cm52YWx1ZS10b2tlbi1wYXJzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gczIuMi43LjE2XG5cbmltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5cbmltcG9ydCB7IFJldHVyblZhbHVlVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuaW1wb3J0IG1ldGFkYXRhUGFyc2UgZnJvbSAnLi4vbWV0YWRhdGEtcGFyc2VyJztcbmltcG9ydCB2YWx1ZVBhcnNlIGZyb20gJy4uL3ZhbHVlLXBhcnNlcic7XG5cbmZ1bmN0aW9uIHJldHVyblBhcnNlcihwYXJzZXI6IFBhcnNlciwgb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogUmV0dXJuVmFsdWVUb2tlbikgPT4gdm9pZCkge1xuICBwYXJzZXIucmVhZFVJbnQxNkxFKChwYXJhbU9yZGluYWwpID0+IHtcbiAgICBwYXJzZXIucmVhZEJWYXJDaGFyKChwYXJhbU5hbWUpID0+IHtcbiAgICAgIGlmIChwYXJhbU5hbWUuY2hhckF0KDApID09PSAnQCcpIHtcbiAgICAgICAgcGFyYW1OYW1lID0gcGFyYW1OYW1lLnNsaWNlKDEpO1xuICAgICAgfVxuXG4gICAgICAvLyBzdGF0dXNcbiAgICAgIHBhcnNlci5yZWFkVUludDgoKCkgPT4ge1xuICAgICAgICBtZXRhZGF0YVBhcnNlKHBhcnNlciwgb3B0aW9ucywgKG1ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgdmFsdWVQYXJzZShwYXJzZXIsIG1ldGFkYXRhLCBvcHRpb25zLCAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBSZXR1cm5WYWx1ZVRva2VuKHtcbiAgICAgICAgICAgICAgcGFyYW1PcmRpbmFsOiBwYXJhbU9yZGluYWwsXG4gICAgICAgICAgICAgIHBhcmFtTmFtZTogcGFyYW1OYW1lLFxuICAgICAgICAgICAgICBtZXRhZGF0YTogbWV0YWRhdGEsXG4gICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgcmV0dXJuUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSByZXR1cm5QYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQTs7QUFFQTs7QUFDQTs7OztBQVBBO0FBU0EsU0FBU0EsWUFBVCxDQUFzQkMsTUFBdEIsRUFBc0NDLE9BQXRDLEVBQThEQyxRQUE5RCxFQUEyRztFQUN6R0YsTUFBTSxDQUFDRyxZQUFQLENBQXFCQyxZQUFELElBQWtCO0lBQ3BDSixNQUFNLENBQUNLLFlBQVAsQ0FBcUJDLFNBQUQsSUFBZTtNQUNqQyxJQUFJQSxTQUFTLENBQUNDLE1BQVYsQ0FBaUIsQ0FBakIsTUFBd0IsR0FBNUIsRUFBaUM7UUFDL0JELFNBQVMsR0FBR0EsU0FBUyxDQUFDRSxLQUFWLENBQWdCLENBQWhCLENBQVo7TUFDRCxDQUhnQyxDQUtqQzs7O01BQ0FSLE1BQU0sQ0FBQ1MsU0FBUCxDQUFpQixNQUFNO1FBQ3JCLDZCQUFjVCxNQUFkLEVBQXNCQyxPQUF0QixFQUFnQ1MsUUFBRCxJQUFjO1VBQzNDLDBCQUFXVixNQUFYLEVBQW1CVSxRQUFuQixFQUE2QlQsT0FBN0IsRUFBdUNVLEtBQUQsSUFBVztZQUMvQ1QsUUFBUSxDQUFDLElBQUlVLHVCQUFKLENBQXFCO2NBQzVCUixZQUFZLEVBQUVBLFlBRGM7Y0FFNUJFLFNBQVMsRUFBRUEsU0FGaUI7Y0FHNUJJLFFBQVEsRUFBRUEsUUFIa0I7Y0FJNUJDLEtBQUssRUFBRUE7WUFKcUIsQ0FBckIsQ0FBRCxDQUFSO1VBTUQsQ0FQRDtRQVFELENBVEQ7TUFVRCxDQVhEO0lBWUQsQ0FsQkQ7RUFtQkQsQ0FwQkQ7QUFxQkQ7O2VBRWNaLFk7O0FBQ2ZjLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQmYsWUFBakIifQ==
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX21ldGFkYXRhUGFyc2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl92YWx1ZVBhcnNlciIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwicmV0dXJuUGFyc2VyIiwicGFyc2VyIiwib3B0aW9ucyIsImNhbGxiYWNrIiwicmVhZFVJbnQxNkxFIiwicGFyYW1PcmRpbmFsIiwicmVhZEJWYXJDaGFyIiwicGFyYW1OYW1lIiwiY2hhckF0Iiwic2xpY2UiLCJyZWFkVUludDgiLCJtZXRhZGF0YVBhcnNlIiwibWV0YWRhdGEiLCJ2YWx1ZVBhcnNlIiwidmFsdWUiLCJSZXR1cm5WYWx1ZVRva2VuIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rva2VuL3JldHVybnZhbHVlLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzMi4yLjcuMTZcblxuaW1wb3J0IFBhcnNlciwgeyBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcblxuaW1wb3J0IHsgUmV0dXJuVmFsdWVUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5pbXBvcnQgbWV0YWRhdGFQYXJzZSBmcm9tICcuLi9tZXRhZGF0YS1wYXJzZXInO1xuaW1wb3J0IHZhbHVlUGFyc2UgZnJvbSAnLi4vdmFsdWUtcGFyc2VyJztcblxuZnVuY3Rpb24gcmV0dXJuUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBSZXR1cm5WYWx1ZVRva2VuKSA9PiB2b2lkKSB7XG4gIHBhcnNlci5yZWFkVUludDE2TEUoKHBhcmFtT3JkaW5hbCkgPT4ge1xuICAgIHBhcnNlci5yZWFkQlZhckNoYXIoKHBhcmFtTmFtZSkgPT4ge1xuICAgICAgaWYgKHBhcmFtTmFtZS5jaGFyQXQoMCkgPT09ICdAJykge1xuICAgICAgICBwYXJhbU5hbWUgPSBwYXJhbU5hbWUuc2xpY2UoMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIHN0YXR1c1xuICAgICAgcGFyc2VyLnJlYWRVSW50OCgoKSA9PiB7XG4gICAgICAgIG1ldGFkYXRhUGFyc2UocGFyc2VyLCBvcHRpb25zLCAobWV0YWRhdGEpID0+IHtcbiAgICAgICAgICB2YWx1ZVBhcnNlKHBhcnNlciwgbWV0YWRhdGEsIG9wdGlvbnMsICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2sobmV3IFJldHVyblZhbHVlVG9rZW4oe1xuICAgICAgICAgICAgICBwYXJhbU9yZGluYWw6IHBhcmFtT3JkaW5hbCxcbiAgICAgICAgICAgICAgcGFyYW1OYW1lOiBwYXJhbU5hbWUsXG4gICAgICAgICAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCByZXR1cm5QYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IHJldHVyblBhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsZUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQXlDLFNBQUFFLHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBUHpDOztBQVNBLFNBQVNHLFlBQVlBLENBQUNDLE1BQWMsRUFBRUMsT0FBc0IsRUFBRUMsUUFBMkMsRUFBRTtFQUN6R0YsTUFBTSxDQUFDRyxZQUFZLENBQUVDLFlBQVksSUFBSztJQUNwQ0osTUFBTSxDQUFDSyxZQUFZLENBQUVDLFNBQVMsSUFBSztNQUNqQyxJQUFJQSxTQUFTLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7UUFDL0JELFNBQVMsR0FBR0EsU0FBUyxDQUFDRSxLQUFLLENBQUMsQ0FBQyxDQUFDO01BQ2hDOztNQUVBO01BQ0FSLE1BQU0sQ0FBQ1MsU0FBUyxDQUFDLE1BQU07UUFDckIsSUFBQUMsdUJBQWEsRUFBQ1YsTUFBTSxFQUFFQyxPQUFPLEVBQUdVLFFBQVEsSUFBSztVQUMzQyxJQUFBQyxvQkFBVSxFQUFDWixNQUFNLEVBQUVXLFFBQVEsRUFBRVYsT0FBTyxFQUFHWSxLQUFLLElBQUs7WUFDL0NYLFFBQVEsQ0FBQyxJQUFJWSx1QkFBZ0IsQ0FBQztjQUM1QlYsWUFBWSxFQUFFQSxZQUFZO2NBQzFCRSxTQUFTLEVBQUVBLFNBQVM7Y0FDcEJLLFFBQVEsRUFBRUEsUUFBUTtjQUNsQkUsS0FBSyxFQUFFQTtZQUNULENBQUMsQ0FBQyxDQUFDO1VBQ0wsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO01BQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0o7QUFBQyxJQUFBRSxRQUFBLEdBRWNoQixZQUFZO0FBQUFpQixPQUFBLENBQUFsQixPQUFBLEdBQUFpQixRQUFBO0FBQzNCRSxNQUFNLENBQUNELE9BQU8sR0FBR2pCLFlBQVkifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"returnvalue-token-parser.js","names":["_token","require","_metadataParser","_interopRequireDefault","_valueParser","obj","__esModule","default","returnParser","parser","options","callback","readUInt16LE","paramOrdinal","readBVarChar","paramName","charAt","slice","readUInt8","metadataParse","metadata","valueParse","value","ReturnValueToken","_default","exports","module"],"sources":["../../src/token/returnvalue-token-parser.ts"],"sourcesContent":["// s2.2.7.16\n\nimport Parser, { ParserOptions } from './stream-parser';\n\nimport { ReturnValueToken } from './token';\n\nimport metadataParse from '../metadata-parser';\nimport valueParse from '../value-parser';\n\nfunction returnParser(parser: Parser, options: ParserOptions, callback: (token: ReturnValueToken) => void) {\n parser.readUInt16LE((paramOrdinal) => {\n parser.readBVarChar((paramName) => {\n if (paramName.charAt(0) === '@') {\n paramName = paramName.slice(1);\n }\n\n // status\n parser.readUInt8(() => {\n metadataParse(parser, options, (metadata) => {\n valueParse(parser, metadata, options, (value) => {\n callback(new ReturnValueToken({\n paramOrdinal: paramOrdinal,\n paramName: paramName,\n metadata: metadata,\n value: value\n }));\n });\n });\n });\n });\n });\n}\n\nexport default returnParser;\nmodule.exports = returnParser;\n"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAyC,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAPzC;;AASA,SAASG,YAAYA,CAACC,MAAc,EAAEC,OAAsB,EAAEC,QAA2C,EAAE;EACzGF,MAAM,CAACG,YAAY,CAAEC,YAAY,IAAK;IACpCJ,MAAM,CAACK,YAAY,CAAEC,SAAS,IAAK;MACjC,IAAIA,SAAS,CAACC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAC/BD,SAAS,GAAGA,SAAS,CAACE,KAAK,CAAC,CAAC,CAAC;MAChC;;MAEA;MACAR,MAAM,CAACS,SAAS,CAAC,MAAM;QACrB,IAAAC,uBAAa,EAACV,MAAM,EAAEC,OAAO,EAAGU,QAAQ,IAAK;UAC3C,IAAAC,oBAAU,EAACZ,MAAM,EAAEW,QAAQ,EAAEV,OAAO,EAAGY,KAAK,IAAK;YAC/CX,QAAQ,CAAC,IAAIY,uBAAgB,CAAC;cAC5BV,YAAY,EAAEA,YAAY;cAC1BE,SAAS,EAAEA,SAAS;cACpBK,QAAQ,EAAEA,QAAQ;cAClBE,KAAK,EAAEA;YACT,CAAC,CAAC,CAAC;UACL,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAAC,IAAAE,QAAA,GAEchB,YAAY;AAAAiB,OAAA,CAAAlB,OAAA,GAAAiB,QAAA;AAC3BE,MAAM,CAACD,OAAO,GAAGjB,YAAY"}
@@ -4,44 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _token = require("./token");
9
-
10
8
  var _valueParser = _interopRequireDefault(require("../value-parser"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  // s2.2.7.17
11
+
15
12
  async function rowParser(parser) {
16
13
  const colMetadata = parser.colMetadata;
17
14
  const length = colMetadata.length;
18
15
  const columns = [];
19
-
20
16
  for (let i = 0; i < length; i++) {
21
17
  const currColMetadata = colMetadata[i];
22
18
  let value;
23
19
  (0, _valueParser.default)(parser, currColMetadata, parser.options, v => {
24
20
  value = v;
25
21
  });
26
-
27
22
  while (parser.suspended) {
28
23
  await parser.streamBuffer.waitForChunk();
29
24
  parser.suspended = false;
30
25
  const next = parser.next;
31
26
  next();
32
27
  }
33
-
34
28
  columns.push({
35
29
  value,
36
30
  metadata: currColMetadata
37
31
  });
38
32
  }
39
-
40
33
  if (parser.options.useColumnNames) {
41
34
  const columnsMap = Object.create(null);
42
35
  columns.forEach(column => {
43
36
  const colName = column.metadata.colName;
44
-
45
37
  if (columnsMap[colName] == null) {
46
38
  columnsMap[colName] = column;
47
39
  }
@@ -51,8 +43,7 @@ async function rowParser(parser) {
51
43
  return new _token.RowToken(columns);
52
44
  }
53
45
  }
54
-
55
46
  var _default = rowParser;
56
47
  exports.default = _default;
57
48
  module.exports = rowParser;
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyb3dQYXJzZXIiLCJwYXJzZXIiLCJjb2xNZXRhZGF0YSIsImxlbmd0aCIsImNvbHVtbnMiLCJpIiwiY3VyckNvbE1ldGFkYXRhIiwidmFsdWUiLCJvcHRpb25zIiwidiIsInN1c3BlbmRlZCIsInN0cmVhbUJ1ZmZlciIsIndhaXRGb3JDaHVuayIsIm5leHQiLCJwdXNoIiwibWV0YWRhdGEiLCJ1c2VDb2x1bW5OYW1lcyIsImNvbHVtbnNNYXAiLCJPYmplY3QiLCJjcmVhdGUiLCJmb3JFYWNoIiwiY29sdW1uIiwiY29sTmFtZSIsIlJvd1Rva2VuIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9yb3ctdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xN1xuXG5pbXBvcnQgUGFyc2VyIGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyBDb2x1bW5NZXRhZGF0YSB9IGZyb20gJy4vY29sbWV0YWRhdGEtdG9rZW4tcGFyc2VyJztcblxuaW1wb3J0IHsgUm93VG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuaW1wb3J0IHZhbHVlUGFyc2UgZnJvbSAnLi4vdmFsdWUtcGFyc2VyJztcblxuaW50ZXJmYWNlIENvbHVtbiB7XG4gIHZhbHVlOiB1bmtub3duO1xuICBtZXRhZGF0YTogQ29sdW1uTWV0YWRhdGE7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJvd1BhcnNlcihwYXJzZXI6IFBhcnNlcik6IFByb21pc2U8Um93VG9rZW4+IHtcbiAgY29uc3QgY29sTWV0YWRhdGEgPSBwYXJzZXIuY29sTWV0YWRhdGE7XG4gIGNvbnN0IGxlbmd0aCA9IGNvbE1ldGFkYXRhLmxlbmd0aDtcbiAgY29uc3QgY29sdW1uczogQ29sdW1uW10gPSBbXTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY3VyckNvbE1ldGFkYXRhID0gY29sTWV0YWRhdGFbaV07XG4gICAgbGV0IHZhbHVlO1xuICAgIHZhbHVlUGFyc2UocGFyc2VyLCBjdXJyQ29sTWV0YWRhdGEsIHBhcnNlci5vcHRpb25zLCAodikgPT4ge1xuICAgICAgdmFsdWUgPSB2O1xuICAgIH0pO1xuXG4gICAgd2hpbGUgKHBhcnNlci5zdXNwZW5kZWQpIHtcbiAgICAgIGF3YWl0IHBhcnNlci5zdHJlYW1CdWZmZXIud2FpdEZvckNodW5rKCk7XG5cbiAgICAgIHBhcnNlci5zdXNwZW5kZWQgPSBmYWxzZTtcbiAgICAgIGNvbnN0IG5leHQgPSBwYXJzZXIubmV4dCE7XG5cbiAgICAgIG5leHQoKTtcbiAgICB9XG4gICAgY29sdW1ucy5wdXNoKHtcbiAgICAgIHZhbHVlLFxuICAgICAgbWV0YWRhdGE6IGN1cnJDb2xNZXRhZGF0YVxuICAgIH0pO1xuICB9XG5cbiAgaWYgKHBhcnNlci5vcHRpb25zLnVzZUNvbHVtbk5hbWVzKSB7XG4gICAgY29uc3QgY29sdW1uc01hcDogeyBba2V5OiBzdHJpbmddOiBDb2x1bW4gfSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbiAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgY29uc3QgY29sTmFtZSA9IGNvbHVtbi5tZXRhZGF0YS5jb2xOYW1lO1xuICAgICAgaWYgKGNvbHVtbnNNYXBbY29sTmFtZV0gPT0gbnVsbCkge1xuICAgICAgICBjb2x1bW5zTWFwW2NvbE5hbWVdID0gY29sdW1uO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBSb3dUb2tlbihjb2x1bW5zTWFwKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFJvd1Rva2VuKGNvbHVtbnMpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHJvd1BhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gcm93UGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBS0E7O0FBRUE7Ozs7QUFQQTtBQWNBLGVBQWVBLFNBQWYsQ0FBeUJDLE1BQXpCLEVBQTREO0VBQzFELE1BQU1DLFdBQVcsR0FBR0QsTUFBTSxDQUFDQyxXQUEzQjtFQUNBLE1BQU1DLE1BQU0sR0FBR0QsV0FBVyxDQUFDQyxNQUEzQjtFQUNBLE1BQU1DLE9BQWlCLEdBQUcsRUFBMUI7O0VBRUEsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRixNQUFwQixFQUE0QkUsQ0FBQyxFQUE3QixFQUFpQztJQUMvQixNQUFNQyxlQUFlLEdBQUdKLFdBQVcsQ0FBQ0csQ0FBRCxDQUFuQztJQUNBLElBQUlFLEtBQUo7SUFDQSwwQkFBV04sTUFBWCxFQUFtQkssZUFBbkIsRUFBb0NMLE1BQU0sQ0FBQ08sT0FBM0MsRUFBcURDLENBQUQsSUFBTztNQUN6REYsS0FBSyxHQUFHRSxDQUFSO0lBQ0QsQ0FGRDs7SUFJQSxPQUFPUixNQUFNLENBQUNTLFNBQWQsRUFBeUI7TUFDdkIsTUFBTVQsTUFBTSxDQUFDVSxZQUFQLENBQW9CQyxZQUFwQixFQUFOO01BRUFYLE1BQU0sQ0FBQ1MsU0FBUCxHQUFtQixLQUFuQjtNQUNBLE1BQU1HLElBQUksR0FBR1osTUFBTSxDQUFDWSxJQUFwQjtNQUVBQSxJQUFJO0lBQ0w7O0lBQ0RULE9BQU8sQ0FBQ1UsSUFBUixDQUFhO01BQ1hQLEtBRFc7TUFFWFEsUUFBUSxFQUFFVDtJQUZDLENBQWI7RUFJRDs7RUFFRCxJQUFJTCxNQUFNLENBQUNPLE9BQVAsQ0FBZVEsY0FBbkIsRUFBbUM7SUFDakMsTUFBTUMsVUFBcUMsR0FBR0MsTUFBTSxDQUFDQyxNQUFQLENBQWMsSUFBZCxDQUE5QztJQUVBZixPQUFPLENBQUNnQixPQUFSLENBQWlCQyxNQUFELElBQVk7TUFDMUIsTUFBTUMsT0FBTyxHQUFHRCxNQUFNLENBQUNOLFFBQVAsQ0FBZ0JPLE9BQWhDOztNQUNBLElBQUlMLFVBQVUsQ0FBQ0ssT0FBRCxDQUFWLElBQXVCLElBQTNCLEVBQWlDO1FBQy9CTCxVQUFVLENBQUNLLE9BQUQsQ0FBVixHQUFzQkQsTUFBdEI7TUFDRDtJQUNGLENBTEQ7SUFPQSxPQUFPLElBQUlFLGVBQUosQ0FBYU4sVUFBYixDQUFQO0VBQ0QsQ0FYRCxNQVdPO0lBQ0wsT0FBTyxJQUFJTSxlQUFKLENBQWFuQixPQUFiLENBQVA7RUFDRDtBQUNGOztlQUVjSixTOztBQUNmd0IsTUFBTSxDQUFDQyxPQUFQLEdBQWlCekIsU0FBakIifQ==
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX3ZhbHVlUGFyc2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwicm93UGFyc2VyIiwicGFyc2VyIiwiY29sTWV0YWRhdGEiLCJsZW5ndGgiLCJjb2x1bW5zIiwiaSIsImN1cnJDb2xNZXRhZGF0YSIsInZhbHVlIiwidmFsdWVQYXJzZSIsIm9wdGlvbnMiLCJ2Iiwic3VzcGVuZGVkIiwic3RyZWFtQnVmZmVyIiwid2FpdEZvckNodW5rIiwibmV4dCIsInB1c2giLCJtZXRhZGF0YSIsInVzZUNvbHVtbk5hbWVzIiwiY29sdW1uc01hcCIsIk9iamVjdCIsImNyZWF0ZSIsImZvckVhY2giLCJjb2x1bW4iLCJjb2xOYW1lIiwiUm93VG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vcm93LXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzMi4yLjcuMTdcblxuaW1wb3J0IFBhcnNlciBmcm9tICcuL3N0cmVhbS1wYXJzZXInO1xuaW1wb3J0IHsgQ29sdW1uTWV0YWRhdGEgfSBmcm9tICcuL2NvbG1ldGFkYXRhLXRva2VuLXBhcnNlcic7XG5cbmltcG9ydCB7IFJvd1Rva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmltcG9ydCB2YWx1ZVBhcnNlIGZyb20gJy4uL3ZhbHVlLXBhcnNlcic7XG5cbmludGVyZmFjZSBDb2x1bW4ge1xuICB2YWx1ZTogdW5rbm93bjtcbiAgbWV0YWRhdGE6IENvbHVtbk1ldGFkYXRhO1xufVxuXG5hc3luYyBmdW5jdGlvbiByb3dQYXJzZXIocGFyc2VyOiBQYXJzZXIpOiBQcm9taXNlPFJvd1Rva2VuPiB7XG4gIGNvbnN0IGNvbE1ldGFkYXRhID0gcGFyc2VyLmNvbE1ldGFkYXRhO1xuICBjb25zdCBsZW5ndGggPSBjb2xNZXRhZGF0YS5sZW5ndGg7XG4gIGNvbnN0IGNvbHVtbnM6IENvbHVtbltdID0gW107XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGN1cnJDb2xNZXRhZGF0YSA9IGNvbE1ldGFkYXRhW2ldO1xuICAgIGxldCB2YWx1ZTtcbiAgICB2YWx1ZVBhcnNlKHBhcnNlciwgY3VyckNvbE1ldGFkYXRhLCBwYXJzZXIub3B0aW9ucywgKHYpID0+IHtcbiAgICAgIHZhbHVlID0gdjtcbiAgICB9KTtcblxuICAgIHdoaWxlIChwYXJzZXIuc3VzcGVuZGVkKSB7XG4gICAgICBhd2FpdCBwYXJzZXIuc3RyZWFtQnVmZmVyLndhaXRGb3JDaHVuaygpO1xuXG4gICAgICBwYXJzZXIuc3VzcGVuZGVkID0gZmFsc2U7XG4gICAgICBjb25zdCBuZXh0ID0gcGFyc2VyLm5leHQhO1xuXG4gICAgICBuZXh0KCk7XG4gICAgfVxuICAgIGNvbHVtbnMucHVzaCh7XG4gICAgICB2YWx1ZSxcbiAgICAgIG1ldGFkYXRhOiBjdXJyQ29sTWV0YWRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChwYXJzZXIub3B0aW9ucy51c2VDb2x1bW5OYW1lcykge1xuICAgIGNvbnN0IGNvbHVtbnNNYXA6IHsgW2tleTogc3RyaW5nXTogQ29sdW1uIH0gPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgIGNvbnN0IGNvbE5hbWUgPSBjb2x1bW4ubWV0YWRhdGEuY29sTmFtZTtcbiAgICAgIGlmIChjb2x1bW5zTWFwW2NvbE5hbWVdID09IG51bGwpIHtcbiAgICAgICAgY29sdW1uc01hcFtjb2xOYW1lXSA9IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgUm93VG9rZW4oY29sdW1uc01hcCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBSb3dUb2tlbihjb2x1bW5zKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCByb3dQYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IHJvd1BhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXlDLFNBQUFFLHVCQUFBQyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBUHpDOztBQWNBLGVBQWVHLFNBQVNBLENBQUNDLE1BQWMsRUFBcUI7RUFDMUQsTUFBTUMsV0FBVyxHQUFHRCxNQUFNLENBQUNDLFdBQVc7RUFDdEMsTUFBTUMsTUFBTSxHQUFHRCxXQUFXLENBQUNDLE1BQU07RUFDakMsTUFBTUMsT0FBaUIsR0FBRyxFQUFFO0VBRTVCLEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRixNQUFNLEVBQUVFLENBQUMsRUFBRSxFQUFFO0lBQy9CLE1BQU1DLGVBQWUsR0FBR0osV0FBVyxDQUFDRyxDQUFDLENBQUM7SUFDdEMsSUFBSUUsS0FBSztJQUNULElBQUFDLG9CQUFVLEVBQUNQLE1BQU0sRUFBRUssZUFBZSxFQUFFTCxNQUFNLENBQUNRLE9BQU8sRUFBR0MsQ0FBQyxJQUFLO01BQ3pESCxLQUFLLEdBQUdHLENBQUM7SUFDWCxDQUFDLENBQUM7SUFFRixPQUFPVCxNQUFNLENBQUNVLFNBQVMsRUFBRTtNQUN2QixNQUFNVixNQUFNLENBQUNXLFlBQVksQ0FBQ0MsWUFBWSxDQUFDLENBQUM7TUFFeENaLE1BQU0sQ0FBQ1UsU0FBUyxHQUFHLEtBQUs7TUFDeEIsTUFBTUcsSUFBSSxHQUFHYixNQUFNLENBQUNhLElBQUs7TUFFekJBLElBQUksQ0FBQyxDQUFDO0lBQ1I7SUFDQVYsT0FBTyxDQUFDVyxJQUFJLENBQUM7TUFDWFIsS0FBSztNQUNMUyxRQUFRLEVBQUVWO0lBQ1osQ0FBQyxDQUFDO0VBQ0o7RUFFQSxJQUFJTCxNQUFNLENBQUNRLE9BQU8sQ0FBQ1EsY0FBYyxFQUFFO0lBQ2pDLE1BQU1DLFVBQXFDLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQztJQUVqRWhCLE9BQU8sQ0FBQ2lCLE9BQU8sQ0FBRUMsTUFBTSxJQUFLO01BQzFCLE1BQU1DLE9BQU8sR0FBR0QsTUFBTSxDQUFDTixRQUFRLENBQUNPLE9BQU87TUFDdkMsSUFBSUwsVUFBVSxDQUFDSyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDL0JMLFVBQVUsQ0FBQ0ssT0FBTyxDQUFDLEdBQUdELE1BQU07TUFDOUI7SUFDRixDQUFDLENBQUM7SUFFRixPQUFPLElBQUlFLGVBQVEsQ0FBQ04sVUFBVSxDQUFDO0VBQ2pDLENBQUMsTUFBTTtJQUNMLE9BQU8sSUFBSU0sZUFBUSxDQUFDcEIsT0FBTyxDQUFDO0VBQzlCO0FBQ0Y7QUFBQyxJQUFBcUIsUUFBQSxHQUVjekIsU0FBUztBQUFBMEIsT0FBQSxDQUFBM0IsT0FBQSxHQUFBMEIsUUFBQTtBQUN4QkUsTUFBTSxDQUFDRCxPQUFPLEdBQUcxQixTQUFTIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-token-parser.js","names":["_token","require","_valueParser","_interopRequireDefault","obj","__esModule","default","rowParser","parser","colMetadata","length","columns","i","currColMetadata","value","valueParse","options","v","suspended","streamBuffer","waitForChunk","next","push","metadata","useColumnNames","columnsMap","Object","create","forEach","column","colName","RowToken","_default","exports","module"],"sources":["../../src/token/row-token-parser.ts"],"sourcesContent":["// s2.2.7.17\n\nimport Parser from './stream-parser';\nimport { ColumnMetadata } from './colmetadata-token-parser';\n\nimport { RowToken } from './token';\n\nimport valueParse from '../value-parser';\n\ninterface Column {\n value: unknown;\n metadata: ColumnMetadata;\n}\n\nasync function rowParser(parser: Parser): Promise<RowToken> {\n const colMetadata = parser.colMetadata;\n const length = colMetadata.length;\n const columns: Column[] = [];\n\n for (let i = 0; i < length; i++) {\n const currColMetadata = colMetadata[i];\n let value;\n valueParse(parser, currColMetadata, parser.options, (v) => {\n value = v;\n });\n\n while (parser.suspended) {\n await parser.streamBuffer.waitForChunk();\n\n parser.suspended = false;\n const next = parser.next!;\n\n next();\n }\n columns.push({\n value,\n metadata: currColMetadata\n });\n }\n\n if (parser.options.useColumnNames) {\n const columnsMap: { [key: string]: Column } = Object.create(null);\n\n columns.forEach((column) => {\n const colName = column.metadata.colName;\n if (columnsMap[colName] == null) {\n columnsMap[colName] = column;\n }\n });\n\n return new RowToken(columnsMap);\n } else {\n return new RowToken(columns);\n }\n}\n\nexport default rowParser;\nmodule.exports = rowParser;\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAyC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAPzC;;AAcA,eAAeG,SAASA,CAACC,MAAc,EAAqB;EAC1D,MAAMC,WAAW,GAAGD,MAAM,CAACC,WAAW;EACtC,MAAMC,MAAM,GAAGD,WAAW,CAACC,MAAM;EACjC,MAAMC,OAAiB,GAAG,EAAE;EAE5B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,EAAEE,CAAC,EAAE,EAAE;IAC/B,MAAMC,eAAe,GAAGJ,WAAW,CAACG,CAAC,CAAC;IACtC,IAAIE,KAAK;IACT,IAAAC,oBAAU,EAACP,MAAM,EAAEK,eAAe,EAAEL,MAAM,CAACQ,OAAO,EAAGC,CAAC,IAAK;MACzDH,KAAK,GAAGG,CAAC;IACX,CAAC,CAAC;IAEF,OAAOT,MAAM,CAACU,SAAS,EAAE;MACvB,MAAMV,MAAM,CAACW,YAAY,CAACC,YAAY,CAAC,CAAC;MAExCZ,MAAM,CAACU,SAAS,GAAG,KAAK;MACxB,MAAMG,IAAI,GAAGb,MAAM,CAACa,IAAK;MAEzBA,IAAI,CAAC,CAAC;IACR;IACAV,OAAO,CAACW,IAAI,CAAC;MACXR,KAAK;MACLS,QAAQ,EAAEV;IACZ,CAAC,CAAC;EACJ;EAEA,IAAIL,MAAM,CAACQ,OAAO,CAACQ,cAAc,EAAE;IACjC,MAAMC,UAAqC,GAAGC,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC;IAEjEhB,OAAO,CAACiB,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAMC,OAAO,GAAGD,MAAM,CAACN,QAAQ,CAACO,OAAO;MACvC,IAAIL,UAAU,CAACK,OAAO,CAAC,IAAI,IAAI,EAAE;QAC/BL,UAAU,CAACK,OAAO,CAAC,GAAGD,MAAM;MAC9B;IACF,CAAC,CAAC;IAEF,OAAO,IAAIE,eAAQ,CAACN,UAAU,CAAC;EACjC,CAAC,MAAM;IACL,OAAO,IAAIM,eAAQ,CAACpB,OAAO,CAAC;EAC9B;AACF;AAAC,IAAAqB,QAAA,GAEczB,SAAS;AAAA0B,OAAA,CAAA3B,OAAA,GAAA0B,QAAA;AACxBE,MAAM,CAACD,OAAO,GAAG1B,SAAS"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _token = require("./token");
9
-
10
8
  function parseChallenge(buffer) {
11
9
  const challenge = {};
12
10
  challenge.magic = buffer.slice(0, 8).toString('utf8');
@@ -25,14 +23,12 @@ function parseChallenge(buffer) {
25
23
  challenge.target = buffer.slice(56 + challenge.domainLen, 56 + challenge.domainLen + challenge.targetLen);
26
24
  return challenge;
27
25
  }
28
-
29
26
  function sspiParser(parser, _options, callback) {
30
27
  parser.readUsVarByte(buffer => {
31
28
  callback(new _token.SSPIToken(parseChallenge(buffer), buffer));
32
29
  });
33
30
  }
34
-
35
31
  var _default = sspiParser;
36
32
  exports.default = _default;
37
33
  module.exports = sspiParser;
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZUNoYWxsZW5nZSIsImJ1ZmZlciIsImNoYWxsZW5nZSIsIm1hZ2ljIiwic2xpY2UiLCJ0b1N0cmluZyIsInR5cGUiLCJyZWFkSW50MzJMRSIsImRvbWFpbkxlbiIsInJlYWRJbnQxNkxFIiwiZG9tYWluTWF4IiwiZG9tYWluT2Zmc2V0IiwiZmxhZ3MiLCJub25jZSIsInplcm9lcyIsInRhcmdldExlbiIsInRhcmdldE1heCIsInRhcmdldE9mZnNldCIsIm9kZERhdGEiLCJkb21haW4iLCJ0YXJnZXQiLCJzc3BpUGFyc2VyIiwicGFyc2VyIiwiX29wdGlvbnMiLCJjYWxsYmFjayIsInJlYWRVc1ZhckJ5dGUiLCJTU1BJVG9rZW4iLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rva2VuL3NzcGktdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5cbmltcG9ydCB7IFNTUElUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5pbnRlcmZhY2UgRGF0YSB7XG4gIG1hZ2ljOiBzdHJpbmc7XG4gIHR5cGU6IG51bWJlcjtcbiAgZG9tYWluTGVuOiBudW1iZXI7XG4gIGRvbWFpbk1heDogbnVtYmVyO1xuICBkb21haW5PZmZzZXQ6IG51bWJlcjtcbiAgZmxhZ3M6IG51bWJlcjtcbiAgbm9uY2U6IEJ1ZmZlcjtcbiAgemVyb2VzOiBCdWZmZXI7XG4gIHRhcmdldExlbjogbnVtYmVyO1xuICB0YXJnZXRNYXg6IG51bWJlcjtcbiAgdGFyZ2V0T2Zmc2V0OiBudW1iZXI7XG4gIG9kZERhdGE6IEJ1ZmZlcjtcbiAgZG9tYWluOiBzdHJpbmc7XG4gIHRhcmdldDogQnVmZmVyO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNoYWxsZW5nZShidWZmZXI6IEJ1ZmZlcikge1xuICBjb25zdCBjaGFsbGVuZ2U6IFBhcnRpYWw8RGF0YT4gPSB7fTtcblxuICBjaGFsbGVuZ2UubWFnaWMgPSBidWZmZXIuc2xpY2UoMCwgOCkudG9TdHJpbmcoJ3V0ZjgnKTtcbiAgY2hhbGxlbmdlLnR5cGUgPSBidWZmZXIucmVhZEludDMyTEUoOCk7XG4gIGNoYWxsZW5nZS5kb21haW5MZW4gPSBidWZmZXIucmVhZEludDE2TEUoMTIpO1xuICBjaGFsbGVuZ2UuZG9tYWluTWF4ID0gYnVmZmVyLnJlYWRJbnQxNkxFKDE0KTtcbiAgY2hhbGxlbmdlLmRvbWFpbk9mZnNldCA9IGJ1ZmZlci5yZWFkSW50MzJMRSgxNik7XG4gIGNoYWxsZW5nZS5mbGFncyA9IGJ1ZmZlci5yZWFkSW50MzJMRSgyMCk7XG4gIGNoYWxsZW5nZS5ub25jZSA9IGJ1ZmZlci5zbGljZSgyNCwgMzIpO1xuICBjaGFsbGVuZ2UuemVyb2VzID0gYnVmZmVyLnNsaWNlKDMyLCA0MCk7XG4gIGNoYWxsZW5nZS50YXJnZXRMZW4gPSBidWZmZXIucmVhZEludDE2TEUoNDApO1xuICBjaGFsbGVuZ2UudGFyZ2V0TWF4ID0gYnVmZmVyLnJlYWRJbnQxNkxFKDQyKTtcbiAgY2hhbGxlbmdlLnRhcmdldE9mZnNldCA9IGJ1ZmZlci5yZWFkSW50MzJMRSg0NCk7XG4gIGNoYWxsZW5nZS5vZGREYXRhID0gYnVmZmVyLnNsaWNlKDQ4LCA1Nik7XG4gIGNoYWxsZW5nZS5kb21haW4gPSBidWZmZXIuc2xpY2UoNTYsIDU2ICsgY2hhbGxlbmdlLmRvbWFpbkxlbikudG9TdHJpbmcoJ3VjczInKTtcbiAgY2hhbGxlbmdlLnRhcmdldCA9IGJ1ZmZlci5zbGljZSg1NiArIGNoYWxsZW5nZS5kb21haW5MZW4sIDU2ICsgY2hhbGxlbmdlLmRvbWFpbkxlbiArIGNoYWxsZW5nZS50YXJnZXRMZW4pO1xuXG4gIHJldHVybiBjaGFsbGVuZ2UgYXMgRGF0YTtcbn1cblxuZnVuY3Rpb24gc3NwaVBhcnNlcihwYXJzZXI6IFBhcnNlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IFNTUElUb2tlbikgPT4gdm9pZCkge1xuICBwYXJzZXIucmVhZFVzVmFyQnl0ZSgoYnVmZmVyKSA9PiB7XG4gICAgY2FsbGJhY2sobmV3IFNTUElUb2tlbihwYXJzZUNoYWxsZW5nZShidWZmZXIpLCBidWZmZXIpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHNzcGlQYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IHNzcGlQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQTs7QUFtQkEsU0FBU0EsY0FBVCxDQUF3QkMsTUFBeEIsRUFBd0M7RUFDdEMsTUFBTUMsU0FBd0IsR0FBRyxFQUFqQztFQUVBQSxTQUFTLENBQUNDLEtBQVYsR0FBa0JGLE1BQU0sQ0FBQ0csS0FBUCxDQUFhLENBQWIsRUFBZ0IsQ0FBaEIsRUFBbUJDLFFBQW5CLENBQTRCLE1BQTVCLENBQWxCO0VBQ0FILFNBQVMsQ0FBQ0ksSUFBVixHQUFpQkwsTUFBTSxDQUFDTSxXQUFQLENBQW1CLENBQW5CLENBQWpCO0VBQ0FMLFNBQVMsQ0FBQ00sU0FBVixHQUFzQlAsTUFBTSxDQUFDUSxXQUFQLENBQW1CLEVBQW5CLENBQXRCO0VBQ0FQLFNBQVMsQ0FBQ1EsU0FBVixHQUFzQlQsTUFBTSxDQUFDUSxXQUFQLENBQW1CLEVBQW5CLENBQXRCO0VBQ0FQLFNBQVMsQ0FBQ1MsWUFBVixHQUF5QlYsTUFBTSxDQUFDTSxXQUFQLENBQW1CLEVBQW5CLENBQXpCO0VBQ0FMLFNBQVMsQ0FBQ1UsS0FBVixHQUFrQlgsTUFBTSxDQUFDTSxXQUFQLENBQW1CLEVBQW5CLENBQWxCO0VBQ0FMLFNBQVMsQ0FBQ1csS0FBVixHQUFrQlosTUFBTSxDQUFDRyxLQUFQLENBQWEsRUFBYixFQUFpQixFQUFqQixDQUFsQjtFQUNBRixTQUFTLENBQUNZLE1BQVYsR0FBbUJiLE1BQU0sQ0FBQ0csS0FBUCxDQUFhLEVBQWIsRUFBaUIsRUFBakIsQ0FBbkI7RUFDQUYsU0FBUyxDQUFDYSxTQUFWLEdBQXNCZCxNQUFNLENBQUNRLFdBQVAsQ0FBbUIsRUFBbkIsQ0FBdEI7RUFDQVAsU0FBUyxDQUFDYyxTQUFWLEdBQXNCZixNQUFNLENBQUNRLFdBQVAsQ0FBbUIsRUFBbkIsQ0FBdEI7RUFDQVAsU0FBUyxDQUFDZSxZQUFWLEdBQXlCaEIsTUFBTSxDQUFDTSxXQUFQLENBQW1CLEVBQW5CLENBQXpCO0VBQ0FMLFNBQVMsQ0FBQ2dCLE9BQVYsR0FBb0JqQixNQUFNLENBQUNHLEtBQVAsQ0FBYSxFQUFiLEVBQWlCLEVBQWpCLENBQXBCO0VBQ0FGLFNBQVMsQ0FBQ2lCLE1BQVYsR0FBbUJsQixNQUFNLENBQUNHLEtBQVAsQ0FBYSxFQUFiLEVBQWlCLEtBQUtGLFNBQVMsQ0FBQ00sU0FBaEMsRUFBMkNILFFBQTNDLENBQW9ELE1BQXBELENBQW5CO0VBQ0FILFNBQVMsQ0FBQ2tCLE1BQVYsR0FBbUJuQixNQUFNLENBQUNHLEtBQVAsQ0FBYSxLQUFLRixTQUFTLENBQUNNLFNBQTVCLEVBQXVDLEtBQUtOLFNBQVMsQ0FBQ00sU0FBZixHQUEyQk4sU0FBUyxDQUFDYSxTQUE1RSxDQUFuQjtFQUVBLE9BQU9iLFNBQVA7QUFDRDs7QUFFRCxTQUFTbUIsVUFBVCxDQUFvQkMsTUFBcEIsRUFBb0NDLFFBQXBDLEVBQTZEQyxRQUE3RCxFQUFtRztFQUNqR0YsTUFBTSxDQUFDRyxhQUFQLENBQXNCeEIsTUFBRCxJQUFZO0lBQy9CdUIsUUFBUSxDQUFDLElBQUlFLGdCQUFKLENBQWMxQixjQUFjLENBQUNDLE1BQUQsQ0FBNUIsRUFBc0NBLE1BQXRDLENBQUQsQ0FBUjtFQUNELENBRkQ7QUFHRDs7ZUFFY29CLFU7O0FBQ2ZNLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQlAsVUFBakIifQ==
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwicGFyc2VDaGFsbGVuZ2UiLCJidWZmZXIiLCJjaGFsbGVuZ2UiLCJtYWdpYyIsInNsaWNlIiwidG9TdHJpbmciLCJ0eXBlIiwicmVhZEludDMyTEUiLCJkb21haW5MZW4iLCJyZWFkSW50MTZMRSIsImRvbWFpbk1heCIsImRvbWFpbk9mZnNldCIsImZsYWdzIiwibm9uY2UiLCJ6ZXJvZXMiLCJ0YXJnZXRMZW4iLCJ0YXJnZXRNYXgiLCJ0YXJnZXRPZmZzZXQiLCJvZGREYXRhIiwiZG9tYWluIiwidGFyZ2V0Iiwic3NwaVBhcnNlciIsInBhcnNlciIsIl9vcHRpb25zIiwiY2FsbGJhY2siLCJyZWFkVXNWYXJCeXRlIiwiU1NQSVRva2VuIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9zc3BpLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2VyLCB7IFBhcnNlck9wdGlvbnMgfSBmcm9tICcuL3N0cmVhbS1wYXJzZXInO1xuXG5pbXBvcnQgeyBTU1BJVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuaW50ZXJmYWNlIERhdGEge1xuICBtYWdpYzogc3RyaW5nO1xuICB0eXBlOiBudW1iZXI7XG4gIGRvbWFpbkxlbjogbnVtYmVyO1xuICBkb21haW5NYXg6IG51bWJlcjtcbiAgZG9tYWluT2Zmc2V0OiBudW1iZXI7XG4gIGZsYWdzOiBudW1iZXI7XG4gIG5vbmNlOiBCdWZmZXI7XG4gIHplcm9lczogQnVmZmVyO1xuICB0YXJnZXRMZW46IG51bWJlcjtcbiAgdGFyZ2V0TWF4OiBudW1iZXI7XG4gIHRhcmdldE9mZnNldDogbnVtYmVyO1xuICBvZGREYXRhOiBCdWZmZXI7XG4gIGRvbWFpbjogc3RyaW5nO1xuICB0YXJnZXQ6IEJ1ZmZlcjtcbn1cblxuZnVuY3Rpb24gcGFyc2VDaGFsbGVuZ2UoYnVmZmVyOiBCdWZmZXIpIHtcbiAgY29uc3QgY2hhbGxlbmdlOiBQYXJ0aWFsPERhdGE+ID0ge307XG5cbiAgY2hhbGxlbmdlLm1hZ2ljID0gYnVmZmVyLnNsaWNlKDAsIDgpLnRvU3RyaW5nKCd1dGY4Jyk7XG4gIGNoYWxsZW5nZS50eXBlID0gYnVmZmVyLnJlYWRJbnQzMkxFKDgpO1xuICBjaGFsbGVuZ2UuZG9tYWluTGVuID0gYnVmZmVyLnJlYWRJbnQxNkxFKDEyKTtcbiAgY2hhbGxlbmdlLmRvbWFpbk1heCA9IGJ1ZmZlci5yZWFkSW50MTZMRSgxNCk7XG4gIGNoYWxsZW5nZS5kb21haW5PZmZzZXQgPSBidWZmZXIucmVhZEludDMyTEUoMTYpO1xuICBjaGFsbGVuZ2UuZmxhZ3MgPSBidWZmZXIucmVhZEludDMyTEUoMjApO1xuICBjaGFsbGVuZ2Uubm9uY2UgPSBidWZmZXIuc2xpY2UoMjQsIDMyKTtcbiAgY2hhbGxlbmdlLnplcm9lcyA9IGJ1ZmZlci5zbGljZSgzMiwgNDApO1xuICBjaGFsbGVuZ2UudGFyZ2V0TGVuID0gYnVmZmVyLnJlYWRJbnQxNkxFKDQwKTtcbiAgY2hhbGxlbmdlLnRhcmdldE1heCA9IGJ1ZmZlci5yZWFkSW50MTZMRSg0Mik7XG4gIGNoYWxsZW5nZS50YXJnZXRPZmZzZXQgPSBidWZmZXIucmVhZEludDMyTEUoNDQpO1xuICBjaGFsbGVuZ2Uub2RkRGF0YSA9IGJ1ZmZlci5zbGljZSg0OCwgNTYpO1xuICBjaGFsbGVuZ2UuZG9tYWluID0gYnVmZmVyLnNsaWNlKDU2LCA1NiArIGNoYWxsZW5nZS5kb21haW5MZW4pLnRvU3RyaW5nKCd1Y3MyJyk7XG4gIGNoYWxsZW5nZS50YXJnZXQgPSBidWZmZXIuc2xpY2UoNTYgKyBjaGFsbGVuZ2UuZG9tYWluTGVuLCA1NiArIGNoYWxsZW5nZS5kb21haW5MZW4gKyBjaGFsbGVuZ2UudGFyZ2V0TGVuKTtcblxuICByZXR1cm4gY2hhbGxlbmdlIGFzIERhdGE7XG59XG5cbmZ1bmN0aW9uIHNzcGlQYXJzZXIocGFyc2VyOiBQYXJzZXIsIF9vcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBTU1BJVG9rZW4pID0+IHZvaWQpIHtcbiAgcGFyc2VyLnJlYWRVc1ZhckJ5dGUoKGJ1ZmZlcikgPT4ge1xuICAgIGNhbGxiYWNrKG5ldyBTU1BJVG9rZW4ocGFyc2VDaGFsbGVuZ2UoYnVmZmVyKSwgYnVmZmVyKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBzc3BpUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSBzc3BpUGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFtQkEsU0FBU0MsY0FBY0EsQ0FBQ0MsTUFBYyxFQUFFO0VBQ3RDLE1BQU1DLFNBQXdCLEdBQUcsQ0FBQyxDQUFDO0VBRW5DQSxTQUFTLENBQUNDLEtBQUssR0FBR0YsTUFBTSxDQUFDRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsTUFBTSxDQUFDO0VBQ3JESCxTQUFTLENBQUNJLElBQUksR0FBR0wsTUFBTSxDQUFDTSxXQUFXLENBQUMsQ0FBQyxDQUFDO0VBQ3RDTCxTQUFTLENBQUNNLFNBQVMsR0FBR1AsTUFBTSxDQUFDUSxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQzVDUCxTQUFTLENBQUNRLFNBQVMsR0FBR1QsTUFBTSxDQUFDUSxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQzVDUCxTQUFTLENBQUNTLFlBQVksR0FBR1YsTUFBTSxDQUFDTSxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQy9DTCxTQUFTLENBQUNVLEtBQUssR0FBR1gsTUFBTSxDQUFDTSxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQ3hDTCxTQUFTLENBQUNXLEtBQUssR0FBR1osTUFBTSxDQUFDRyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztFQUN0Q0YsU0FBUyxDQUFDWSxNQUFNLEdBQUdiLE1BQU0sQ0FBQ0csS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDdkNGLFNBQVMsQ0FBQ2EsU0FBUyxHQUFHZCxNQUFNLENBQUNRLFdBQVcsQ0FBQyxFQUFFLENBQUM7RUFDNUNQLFNBQVMsQ0FBQ2MsU0FBUyxHQUFHZixNQUFNLENBQUNRLFdBQVcsQ0FBQyxFQUFFLENBQUM7RUFDNUNQLFNBQVMsQ0FBQ2UsWUFBWSxHQUFHaEIsTUFBTSxDQUFDTSxXQUFXLENBQUMsRUFBRSxDQUFDO0VBQy9DTCxTQUFTLENBQUNnQixPQUFPLEdBQUdqQixNQUFNLENBQUNHLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0VBQ3hDRixTQUFTLENBQUNpQixNQUFNLEdBQUdsQixNQUFNLENBQUNHLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHRixTQUFTLENBQUNNLFNBQVMsQ0FBQyxDQUFDSCxRQUFRLENBQUMsTUFBTSxDQUFDO0VBQzlFSCxTQUFTLENBQUNrQixNQUFNLEdBQUduQixNQUFNLENBQUNHLEtBQUssQ0FBQyxFQUFFLEdBQUdGLFNBQVMsQ0FBQ00sU0FBUyxFQUFFLEVBQUUsR0FBR04sU0FBUyxDQUFDTSxTQUFTLEdBQUdOLFNBQVMsQ0FBQ2EsU0FBUyxDQUFDO0VBRXpHLE9BQU9iLFNBQVM7QUFDbEI7QUFFQSxTQUFTbUIsVUFBVUEsQ0FBQ0MsTUFBYyxFQUFFQyxRQUF1QixFQUFFQyxRQUFvQyxFQUFFO0VBQ2pHRixNQUFNLENBQUNHLGFBQWEsQ0FBRXhCLE1BQU0sSUFBSztJQUMvQnVCLFFBQVEsQ0FBQyxJQUFJRSxnQkFBUyxDQUFDMUIsY0FBYyxDQUFDQyxNQUFNLENBQUMsRUFBRUEsTUFBTSxDQUFDLENBQUM7RUFDekQsQ0FBQyxDQUFDO0FBQ0o7QUFBQyxJQUFBMEIsUUFBQSxHQUVjTixVQUFVO0FBQUFPLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBO0FBQ3pCRyxNQUFNLENBQUNGLE9BQU8sR0FBR1AsVUFBVSJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sspi-token-parser.js","names":["_token","require","parseChallenge","buffer","challenge","magic","slice","toString","type","readInt32LE","domainLen","readInt16LE","domainMax","domainOffset","flags","nonce","zeroes","targetLen","targetMax","targetOffset","oddData","domain","target","sspiParser","parser","_options","callback","readUsVarByte","SSPIToken","_default","exports","default","module"],"sources":["../../src/token/sspi-token-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\n\nimport { SSPIToken } from './token';\n\ninterface Data {\n magic: string;\n type: number;\n domainLen: number;\n domainMax: number;\n domainOffset: number;\n flags: number;\n nonce: Buffer;\n zeroes: Buffer;\n targetLen: number;\n targetMax: number;\n targetOffset: number;\n oddData: Buffer;\n domain: string;\n target: Buffer;\n}\n\nfunction parseChallenge(buffer: Buffer) {\n const challenge: Partial<Data> = {};\n\n challenge.magic = buffer.slice(0, 8).toString('utf8');\n challenge.type = buffer.readInt32LE(8);\n challenge.domainLen = buffer.readInt16LE(12);\n challenge.domainMax = buffer.readInt16LE(14);\n challenge.domainOffset = buffer.readInt32LE(16);\n challenge.flags = buffer.readInt32LE(20);\n challenge.nonce = buffer.slice(24, 32);\n challenge.zeroes = buffer.slice(32, 40);\n challenge.targetLen = buffer.readInt16LE(40);\n challenge.targetMax = buffer.readInt16LE(42);\n challenge.targetOffset = buffer.readInt32LE(44);\n challenge.oddData = buffer.slice(48, 56);\n challenge.domain = buffer.slice(56, 56 + challenge.domainLen).toString('ucs2');\n challenge.target = buffer.slice(56 + challenge.domainLen, 56 + challenge.domainLen + challenge.targetLen);\n\n return challenge as Data;\n}\n\nfunction sspiParser(parser: Parser, _options: ParserOptions, callback: (token: SSPIToken) => void) {\n parser.readUsVarByte((buffer) => {\n callback(new SSPIToken(parseChallenge(buffer), buffer));\n });\n}\n\nexport default sspiParser;\nmodule.exports = sspiParser;\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAmBA,SAASC,cAAcA,CAACC,MAAc,EAAE;EACtC,MAAMC,SAAwB,GAAG,CAAC,CAAC;EAEnCA,SAAS,CAACC,KAAK,GAAGF,MAAM,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,QAAQ,CAAC,MAAM,CAAC;EACrDH,SAAS,CAACI,IAAI,GAAGL,MAAM,CAACM,WAAW,CAAC,CAAC,CAAC;EACtCL,SAAS,CAACM,SAAS,GAAGP,MAAM,CAACQ,WAAW,CAAC,EAAE,CAAC;EAC5CP,SAAS,CAACQ,SAAS,GAAGT,MAAM,CAACQ,WAAW,CAAC,EAAE,CAAC;EAC5CP,SAAS,CAACS,YAAY,GAAGV,MAAM,CAACM,WAAW,CAAC,EAAE,CAAC;EAC/CL,SAAS,CAACU,KAAK,GAAGX,MAAM,CAACM,WAAW,CAAC,EAAE,CAAC;EACxCL,SAAS,CAACW,KAAK,GAAGZ,MAAM,CAACG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;EACtCF,SAAS,CAACY,MAAM,GAAGb,MAAM,CAACG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;EACvCF,SAAS,CAACa,SAAS,GAAGd,MAAM,CAACQ,WAAW,CAAC,EAAE,CAAC;EAC5CP,SAAS,CAACc,SAAS,GAAGf,MAAM,CAACQ,WAAW,CAAC,EAAE,CAAC;EAC5CP,SAAS,CAACe,YAAY,GAAGhB,MAAM,CAACM,WAAW,CAAC,EAAE,CAAC;EAC/CL,SAAS,CAACgB,OAAO,GAAGjB,MAAM,CAACG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;EACxCF,SAAS,CAACiB,MAAM,GAAGlB,MAAM,CAACG,KAAK,CAAC,EAAE,EAAE,EAAE,GAAGF,SAAS,CAACM,SAAS,CAAC,CAACH,QAAQ,CAAC,MAAM,CAAC;EAC9EH,SAAS,CAACkB,MAAM,GAAGnB,MAAM,CAACG,KAAK,CAAC,EAAE,GAAGF,SAAS,CAACM,SAAS,EAAE,EAAE,GAAGN,SAAS,CAACM,SAAS,GAAGN,SAAS,CAACa,SAAS,CAAC;EAEzG,OAAOb,SAAS;AAClB;AAEA,SAASmB,UAAUA,CAACC,MAAc,EAAEC,QAAuB,EAAEC,QAAoC,EAAE;EACjGF,MAAM,CAACG,aAAa,CAAExB,MAAM,IAAK;IAC/BuB,QAAQ,CAAC,IAAIE,gBAAS,CAAC1B,cAAc,CAACC,MAAM,CAAC,EAAEA,MAAM,CAAC,CAAC;EACzD,CAAC,CAAC;AACJ;AAAC,IAAA0B,QAAA,GAEcN,UAAU;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA;AACzBG,MAAM,CAACF,OAAO,GAAGP,UAAU"}