tedious 16.4.0 → 16.4.1
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.
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +1 -1
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js.map +1 -1
- package/lib/always-encrypted/cek-entry.js +1 -1
- package/lib/always-encrypted/cek-entry.js.map +1 -1
- package/lib/always-encrypted/get-parameter-encryption-metadata.js +1 -1
- package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -1
- package/lib/always-encrypted/key-crypto.js +1 -1
- package/lib/always-encrypted/key-crypto.js.map +1 -1
- package/lib/always-encrypted/keystore-provider-azure-key-vault.js +1 -1
- package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -1
- package/lib/always-encrypted/symmetric-key-cache.js +1 -1
- package/lib/always-encrypted/symmetric-key-cache.js.map +1 -1
- package/lib/always-encrypted/types.js +1 -1
- package/lib/always-encrypted/types.js.map +1 -1
- package/lib/bulk-load.js +1 -1
- package/lib/bulk-load.js.map +1 -1
- package/lib/connection.js +29 -8
- package/lib/connection.js.map +1 -1
- package/lib/connector.js +1 -1
- package/lib/connector.js.map +1 -1
- package/lib/data-type.js +1 -1
- package/lib/data-type.js.map +1 -1
- package/lib/data-types/bigint.js +1 -1
- package/lib/data-types/bigint.js.map +1 -1
- package/lib/data-types/binary.js +1 -1
- package/lib/data-types/binary.js.map +1 -1
- package/lib/data-types/bit.js +1 -1
- package/lib/data-types/bit.js.map +1 -1
- package/lib/data-types/bitn.js +1 -1
- package/lib/data-types/bitn.js.map +1 -1
- package/lib/data-types/char.js +1 -1
- package/lib/data-types/char.js.map +1 -1
- package/lib/data-types/date.js +1 -1
- package/lib/data-types/date.js.map +1 -1
- package/lib/data-types/datetime.js +1 -1
- package/lib/data-types/datetime.js.map +1 -1
- package/lib/data-types/datetime2.js +1 -1
- package/lib/data-types/datetime2.js.map +1 -1
- package/lib/data-types/datetimen.js +1 -1
- package/lib/data-types/datetimen.js.map +1 -1
- package/lib/data-types/datetimeoffset.js +1 -1
- package/lib/data-types/datetimeoffset.js.map +1 -1
- package/lib/data-types/decimal.js +1 -1
- package/lib/data-types/decimal.js.map +1 -1
- package/lib/data-types/decimaln.js +1 -1
- package/lib/data-types/decimaln.js.map +1 -1
- package/lib/data-types/float.js +1 -1
- package/lib/data-types/float.js.map +1 -1
- package/lib/data-types/floatn.js +1 -1
- package/lib/data-types/floatn.js.map +1 -1
- package/lib/data-types/image.js +1 -1
- package/lib/data-types/image.js.map +1 -1
- package/lib/data-types/int.js +1 -1
- package/lib/data-types/int.js.map +1 -1
- package/lib/data-types/intn.js +1 -1
- package/lib/data-types/intn.js.map +1 -1
- package/lib/data-types/money.js +1 -1
- package/lib/data-types/money.js.map +1 -1
- package/lib/data-types/moneyn.js +1 -1
- package/lib/data-types/moneyn.js.map +1 -1
- package/lib/data-types/nchar.js +1 -1
- package/lib/data-types/nchar.js.map +1 -1
- package/lib/data-types/ntext.js +1 -1
- package/lib/data-types/ntext.js.map +1 -1
- package/lib/data-types/null.js +1 -1
- package/lib/data-types/null.js.map +1 -1
- package/lib/data-types/numeric.js +1 -1
- package/lib/data-types/numeric.js.map +1 -1
- package/lib/data-types/numericn.js +1 -1
- package/lib/data-types/numericn.js.map +1 -1
- package/lib/data-types/nvarchar.js +1 -1
- package/lib/data-types/nvarchar.js.map +1 -1
- package/lib/data-types/real.js +1 -1
- package/lib/data-types/real.js.map +1 -1
- package/lib/data-types/smalldatetime.js +1 -1
- package/lib/data-types/smalldatetime.js.map +1 -1
- package/lib/data-types/smallint.js +1 -1
- package/lib/data-types/smallint.js.map +1 -1
- package/lib/data-types/smallmoney.js +1 -1
- package/lib/data-types/smallmoney.js.map +1 -1
- package/lib/data-types/sql-variant.js +1 -1
- package/lib/data-types/sql-variant.js.map +1 -1
- package/lib/data-types/text.js +1 -1
- package/lib/data-types/text.js.map +1 -1
- package/lib/data-types/time.js +1 -1
- package/lib/data-types/time.js.map +1 -1
- package/lib/data-types/tinyint.js +1 -1
- package/lib/data-types/tinyint.js.map +1 -1
- package/lib/data-types/tvp.js +1 -1
- package/lib/data-types/tvp.js.map +1 -1
- package/lib/data-types/udt.js +1 -1
- package/lib/data-types/udt.js.map +1 -1
- package/lib/data-types/uniqueidentifier.js +1 -1
- package/lib/data-types/uniqueidentifier.js.map +1 -1
- package/lib/data-types/varbinary.js +1 -1
- package/lib/data-types/varbinary.js.map +1 -1
- package/lib/data-types/varchar.js +1 -1
- package/lib/data-types/varchar.js.map +1 -1
- package/lib/data-types/xml.js +1 -1
- package/lib/data-types/xml.js.map +1 -1
- package/lib/metadata-parser.js +1 -1
- package/lib/metadata-parser.js.map +1 -1
- package/lib/request.js +1 -1
- package/lib/request.js.map +1 -1
- package/lib/rpcrequest-payload.js +1 -1
- package/lib/rpcrequest-payload.js.map +1 -1
- package/lib/tedious.js +1 -1
- package/lib/tedious.js.map +1 -1
- package/lib/token/colmetadata-token-parser.js +1 -1
- package/lib/token/colmetadata-token-parser.js.map +1 -1
- package/lib/token/done-token-parser.js +1 -1
- package/lib/token/done-token-parser.js.map +1 -1
- package/lib/token/env-change-token-parser.js +1 -1
- package/lib/token/env-change-token-parser.js.map +1 -1
- package/lib/token/feature-ext-ack-parser.js +1 -1
- package/lib/token/feature-ext-ack-parser.js.map +1 -1
- package/lib/token/fedauth-info-parser.js +1 -1
- package/lib/token/fedauth-info-parser.js.map +1 -1
- package/lib/token/handler.js +1 -1
- package/lib/token/handler.js.map +1 -1
- package/lib/token/infoerror-token-parser.js +1 -1
- package/lib/token/infoerror-token-parser.js.map +1 -1
- package/lib/token/loginack-token-parser.js +1 -1
- package/lib/token/loginack-token-parser.js.map +1 -1
- package/lib/token/nbcrow-token-parser.js +1 -1
- package/lib/token/nbcrow-token-parser.js.map +1 -1
- package/lib/token/order-token-parser.js +1 -1
- package/lib/token/order-token-parser.js.map +1 -1
- package/lib/token/returnstatus-token-parser.js +1 -1
- package/lib/token/returnstatus-token-parser.js.map +1 -1
- package/lib/token/returnvalue-token-parser.js +1 -1
- package/lib/token/returnvalue-token-parser.js.map +1 -1
- package/lib/token/row-token-parser.js +1 -1
- package/lib/token/row-token-parser.js.map +1 -1
- package/lib/token/sspi-token-parser.js +1 -1
- package/lib/token/sspi-token-parser.js.map +1 -1
- package/lib/token/stream-parser.js +1 -1
- package/lib/token/stream-parser.js.map +1 -1
- package/lib/token/token-stream-parser.js +1 -1
- package/lib/token/token-stream-parser.js.map +1 -1
- package/lib/token/token.js +1 -1
- package/lib/token/token.js.map +1 -1
- package/lib/value-parser.js +1 -1
- package/lib/value-parser.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.json +2 -2
package/lib/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","names":["_events","require","_errors","_types","Request","EventEmitter","sqlTextOrProcedure","parameters","parametersByName","preparing","canceled","paused","userCallback","handle","error","connection","timeout","rows","rst","rowCount","callback","shouldHonorAE","statementColumnEncryptionSetting","cryptoMetadataLoaded","on","event","listener","emit","args","constructor","options","undefined","SQLServerStatementColumnEncryptionSetting","UseConnectionSetting","err","addParameter","name","type","value","output","length","precision","scale","parameter","push","addOutputParameter","makeParamsParameter","paramsParameter","i","len","declaration","validateParameters","collation","validate","RequestError","message","pause","resume","cancel","setTimeout","_default","exports","default","module"],"sources":["../src/request.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { Parameter, DataType } from './data-type';\nimport { RequestError } from './errors';\n\nimport Connection from './connection';\nimport { Metadata } from './metadata-parser';\nimport { SQLServerStatementColumnEncryptionSetting } from './always-encrypted/types';\nimport { ColumnMetadata } from './token/colmetadata-token-parser';\nimport { Collation } from './collation';\n\n/**\n * The callback is called when the request has completed, either successfully or with an error.\n * If an error occurs during execution of the statement(s), then `err` will describe the error.\n *\n * As only one request at a time may be executed on a connection, another request should not\n * be initiated until this callback is called.\n *\n * This callback is called before `requestCompleted` is emitted.\n */\ntype CompletionCallback =\n /**\n * @param error\n * If an error occured, an error object.\n *\n * @param rowCount\n * The number of rows emitted as result of executing the SQL statement.\n *\n * @param rows\n * Rows as a result of executing the SQL statement.\n * Will only be available if [[ConnectionOptions.rowCollectionOnRequestCompletion]] is `true`.\n */\n // TODO: Figure out how to type the `rows` parameter here.\n (error: Error | null | undefined, rowCount?: number, rows?: any) => void;\n\nexport interface ParameterOptions {\n output?: boolean;\n length?: number;\n precision?: number;\n scale?: number;\n}\n\ninterface RequestOptions {\n statementColumnEncryptionSetting?: SQLServerStatementColumnEncryptionSetting;\n}\n\n/**\n * ```js\n * const { Request } = require('tedious');\n * const request = new Request(\"select 42, 'hello world'\", (err, rowCount) {\n * // Request completion callback...\n * });\n * connection.execSql(request);\n * ```\n */\nclass Request extends EventEmitter {\n /**\n * @private\n */\n sqlTextOrProcedure: string | undefined;\n /**\n * @private\n */\n parameters: Parameter[];\n /**\n * @private\n */\n parametersByName: { [key: string]: Parameter };\n /**\n * @private\n */\n preparing: boolean;\n /**\n * @private\n */\n canceled: boolean;\n /**\n * @private\n */\n paused: boolean;\n /**\n * @private\n */\n userCallback: CompletionCallback;\n /**\n * @private\n */\n handle: number | undefined;\n /**\n * @private\n */\n error: Error | undefined;\n /**\n * @private\n */\n connection: Connection | undefined;\n /**\n * @private\n */\n timeout: number | undefined;\n\n /**\n * @private\n */\n rows?: Array<any>;\n /**\n * @private\n */\n rst?: Array<any>;\n /**\n * @private\n */\n rowCount?: number;\n\n /**\n * @private\n */\n callback: CompletionCallback;\n\n\n shouldHonorAE?: boolean;\n statementColumnEncryptionSetting: SQLServerStatementColumnEncryptionSetting;\n cryptoMetadataLoaded: boolean;\n\n /**\n * This event, describing result set columns, will be emitted before row\n * events are emitted. This event may be emited multiple times when more\n * than one recordset is produced by the statement.\n *\n * An array like object, where the columns can be accessed either by index\n * or name. Columns with a name that is an integer are not accessible by name,\n * as it would be interpreted as an array index.\n */\n on(\n event: 'columnMetadata',\n listener:\n (columns: ColumnMetadata[] | { [key: string]: ColumnMetadata }) => void\n ): this\n\n /**\n * The request has been prepared and can be used in subsequent calls to execute and unprepare.\n */\n on(event: 'prepared', listener: () => void): this\n\n /**\n * The request encountered an error and has not been prepared.\n */\n on(event: 'error', listener: (err: Error) => void): this\n\n /**\n * A row resulting from execution of the SQL statement.\n */\n on(\n event: 'row',\n listener:\n /**\n * An array or object (depends on [[ConnectionOptions.useColumnNames]]), where the columns can be accessed by index/name.\n * Each column has two properties, `metadata` and `value`:\n *\n * * `metadata`\n *\n * The same data that is exposed in the `columnMetadata` event.\n *\n * * `value`\n *\n * The column's value. It will be `null` for a `NULL`.\n * If there are multiple columns with the same name, then this will be an array of the values.\n */\n (columns: any) => void\n ): this\n\n /**\n * All rows from a result set have been provided (through `row` events).\n *\n * This token is used to indicate the completion of a SQL statement.\n * As multiple SQL statements can be sent to the server in a single SQL batch, multiple `done` can be generated.\n * An `done` event is emited for each SQL statement in the SQL batch except variable declarations.\n * For execution of SQL statements within stored procedures, `doneProc` and `doneInProc` events are used in place of `done`.\n *\n * If you are using [[Connection.execSql]] then SQL server may treat the multiple calls with the same query as a stored procedure.\n * When this occurs, the `doneProc` and `doneInProc` events may be emitted instead. You must handle both events to ensure complete coverage.\n */\n on(\n event: 'done',\n listener:\n /**\n * @param rowCount\n * The number of result rows. May be `undefined` if not available.\n *\n * @param more\n * If there are more results to come (probably because multiple statements are being executed), then `true`.\n *\n * @param rst\n * Rows as a result of executing the SQL statement.\n * Will only be avaiable if Connection's [[ConnectionOptions.rowCollectionOnDone]] is `true`.\n */\n (rowCount: number | undefined, more: boolean, rst?: any[]) => void\n ): this\n\n /**\n * `request.on('doneInProc', function (rowCount, more, rows) { });`\n *\n * Indicates the completion status of a SQL statement within a stored procedure. All rows from a statement\n * in a stored procedure have been provided (through `row` events).\n *\n * This event may also occur when executing multiple calls with the same query using [[execSql]].\n */\n on(\n event: 'doneInProc',\n listener:\n /**\n * @param rowCount\n * The number of result rows. May be `undefined` if not available.\n *\n * @param more\n * If there are more results to come (probably because multiple statements are being executed), then `true`.\n *\n * @param rst\n * Rows as a result of executing the SQL statement.\n * Will only be avaiable if Connection's [[ConnectionOptions.rowCollectionOnDone]] is `true`.\n */\n (rowCount: number | undefined, more: boolean, rst?: any[]) => void\n ): this\n\n /**\n * Indicates the completion status of a stored procedure. This is also generated for stored procedures\n * executed through SQL statements.\\\n * This event may also occur when executing multiple calls with the same query using [[execSql]].\n */\n on(\n event: 'doneProc',\n listener:\n /**\n * @param rowCount\n * The number of result rows. May be `undefined` if not available.\n *\n * @param more\n * If there are more results to come (probably because multiple statements are being executed), then `true`.\n *\n * @param rst\n * Rows as a result of executing the SQL statement.\n * Will only be avaiable if Connection's [[ConnectionOptions.rowCollectionOnDone]] is `true`.\n */\n (rowCount: number | undefined, more: boolean, procReturnStatusValue: number, rst?: any[]) => void\n ): this\n\n /**\n * A value for an output parameter (that was added to the request with [[addOutputParameter]]).\n * See also `Using Parameters`.\n */\n on(\n event: 'returnValue',\n listener:\n /**\n * @param parameterName\n * The parameter name. (Does not start with '@'.)\n *\n * @param value\n * The parameter's output value.\n *\n * @param metadata\n * The same data that is exposed in the `columnMetaData` event.\n */\n (parameterName: string, value: unknown, metadata: Metadata) => void\n ): this\n\n /**\n * This event gives the columns by which data is ordered, if `ORDER BY` clause is executed in SQL Server.\n */\n on(\n event: 'order',\n listener:\n /**\n * @param orderColumns\n * An array of column numbers in the result set by which data is ordered.\n */\n (orderColumns: number[]) => void\n ): this\n\n on(event: 'requestCompleted', listener: () => void): this\n\n on(event: 'cancel', listener: () => void): this\n\n on(event: 'pause', listener: () => void): this\n\n on(event: 'resume', listener: () => void): this\n\n on(event: string | symbol, listener: (...args: any[]) => void) {\n return super.on(event, listener);\n }\n\n /**\n * @private\n */\n emit(event: 'columnMetadata', columns: ColumnMetadata[] | { [key: string]: ColumnMetadata }): boolean\n /**\n * @private\n */\n emit(event: 'prepared'): boolean\n /**\n * @private\n */\n emit(event: 'error', err: Error): boolean\n /**\n * @private\n */\n emit(event: 'row', columns: any): boolean\n /**\n * @private\n */\n emit(event: 'done', rowCount: number | undefined, more: boolean, rst?: any[]): boolean\n /**\n * @private\n */\n emit(event: 'doneInProc', rowCount: number | undefined, more: boolean, rst?: any[]): boolean\n /**\n * @private\n */\n emit(event: 'doneProc', rowCount: number | undefined, more: boolean, procReturnStatusValue: number, rst?: any[]): boolean\n /**\n * @private\n */\n emit(event: 'returnValue', parameterName: string, value: unknown, metadata: Metadata): boolean\n /**\n * @private\n */\n emit(event: 'requestCompleted'): boolean\n /**\n * @private\n */\n emit(event: 'cancel'): boolean\n /**\n * @private\n */\n emit(event: 'pause'): boolean\n /**\n * @private\n */\n emit(event: 'resume'): boolean\n /**\n * @private\n */\n emit(event: 'order', orderColumns: number[]): boolean\n emit(event: string | symbol, ...args: any[]) {\n return super.emit(event, ...args);\n }\n\n /**\n * @param sqlTextOrProcedure\n * The SQL statement to be executed\n *\n * @param callback\n * The callback to execute once the request has been fully completed.\n */\n constructor(sqlTextOrProcedure: string | undefined, callback: CompletionCallback, options?: RequestOptions) {\n super();\n\n this.sqlTextOrProcedure = sqlTextOrProcedure;\n this.parameters = [];\n this.parametersByName = {};\n this.preparing = false;\n this.handle = undefined;\n this.canceled = false;\n this.paused = false;\n this.error = undefined;\n this.connection = undefined;\n this.timeout = undefined;\n this.userCallback = callback;\n this.statementColumnEncryptionSetting = (options && options.statementColumnEncryptionSetting) || SQLServerStatementColumnEncryptionSetting.UseConnectionSetting;\n this.cryptoMetadataLoaded = false;\n this.callback = function(err: Error | undefined | null, rowCount?: number, rows?: any) {\n if (this.preparing) {\n this.preparing = false;\n if (err) {\n this.emit('error', err);\n } else {\n this.emit('prepared');\n }\n } else {\n this.userCallback(err, rowCount, rows);\n this.emit('requestCompleted');\n }\n };\n }\n\n /**\n * @param name\n * The parameter name. This should correspond to a parameter in the SQL,\n * or a parameter that a called procedure expects. The name should not start with `@`.\n *\n * @param type\n * One of the supported data types.\n *\n * @param value\n * The value that the parameter is to be given. The Javascript type of the\n * argument should match that documented for data types.\n *\n * @param options\n * Additional type options. Optional.\n */\n // TODO: `type` must be a valid TDS value type\n addParameter(name: string, type: DataType, value?: unknown, options?: Readonly<ParameterOptions> | null) {\n const { output = false, length, precision, scale } = options ?? {};\n\n const parameter: Parameter = {\n type: type,\n name: name,\n value: value,\n output: output,\n length: length,\n precision: precision,\n scale: scale\n };\n\n this.parameters.push(parameter);\n this.parametersByName[name] = parameter;\n }\n\n /**\n * @param name\n * The parameter name. This should correspond to a parameter in the SQL,\n * or a parameter that a called procedure expects.\n *\n * @param type\n * One of the supported data types.\n *\n * @param value\n * The value that the parameter is to be given. The Javascript type of the\n * argument should match that documented for data types\n *\n * @param options\n * Additional type options. Optional.\n */\n addOutputParameter(name: string, type: DataType, value?: unknown, options?: Readonly<ParameterOptions> | null) {\n this.addParameter(name, type, value, { ...options, output: true });\n }\n\n /**\n * @private\n */\n makeParamsParameter(parameters: Parameter[]) {\n let paramsParameter = '';\n for (let i = 0, len = parameters.length; i < len; i++) {\n const parameter = parameters[i];\n if (paramsParameter.length > 0) {\n paramsParameter += ', ';\n }\n paramsParameter += '@' + parameter.name + ' ';\n paramsParameter += parameter.type.declaration(parameter);\n if (parameter.output) {\n paramsParameter += ' OUTPUT';\n }\n }\n return paramsParameter;\n }\n\n /**\n * @private\n */\n validateParameters(collation: Collation | undefined) {\n for (let i = 0, len = this.parameters.length; i < len; i++) {\n const parameter = this.parameters[i];\n\n try {\n parameter.value = parameter.type.validate(parameter.value, collation);\n } catch (error: any) {\n throw new RequestError('Validation failed for parameter \\'' + parameter.name + '\\'. ' + error.message, 'EPARAM');\n }\n }\n }\n\n /**\n * Temporarily suspends the flow of data from the database. No more `row` events will be emitted until [[resume] is called.\n * If this request is already in a paused state, calling [[pause]] has no effect.\n */\n pause() {\n if (this.paused) {\n return;\n }\n this.emit('pause');\n this.paused = true;\n }\n\n /**\n * Resumes the flow of data from the database.\n * If this request is not in a paused state, calling [[resume]] has no effect.\n */\n resume() {\n if (!this.paused) {\n return;\n }\n this.paused = false;\n this.emit('resume');\n }\n\n /**\n * Cancels a request while waiting for a server response.\n */\n cancel() {\n if (this.canceled) {\n return;\n }\n\n this.canceled = true;\n this.emit('cancel');\n }\n\n /**\n * Sets a timeout for this request.\n *\n * @param timeout\n * The number of milliseconds before the request is considered failed,\n * or `0` for no timeout. When no timeout is set for the request,\n * the [[ConnectionOptions.requestTimeout]] of the [[Connection]] is used.\n */\n setTimeout(timeout?: number) {\n this.timeout = timeout;\n }\n}\n\nexport default Request;\nmodule.exports = Request;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,OAAO,SAASC,oBAAY,CAAC;EACjC;AACF;AACA;EACEC,kBAAkB;EAClB;AACF;AACA;EACEC,UAAU;EACV;AACF;AACA;EACEC,gBAAgB;EAChB;AACF;AACA;EACEC,SAAS;EACT;AACF;AACA;EACEC,QAAQ;EACR;AACF;AACA;EACEC,MAAM;EACN;AACF;AACA;EACEC,YAAY;EACZ;AACF;AACA;EACEC,MAAM;EACN;AACF;AACA;EACEC,KAAK;EACL;AACF;AACA;EACEC,UAAU;EACV;AACF;AACA;EACEC,OAAO;;EAEP;AACF;AACA;EACEC,IAAI;EACJ;AACF;AACA;EACEC,GAAG;EACH;AACF;AACA;EACEC,QAAQ;;EAER;AACF;AACA;EACEC,QAAQ;EAGRC,aAAa;EACbC,gCAAgC;EAChCC,oBAAoB;;EAEpB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAOE;AACF;AACA;;EAGE;AACF;AACA;;EAGE;AACF;AACA;;EAoBE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAkBE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAkBE;AACF;AACA;AACA;AACA;;EAkBE;AACF;AACA;AACA;;EAiBE;AACF;AACA;;EAmBEC,EAAEA,CAACC,KAAsB,EAAEC,QAAkC,EAAE;IAC7D,OAAO,KAAK,CAACF,EAAE,CAACC,KAAK,EAAEC,QAAQ,CAAC;EAClC;;EAEA;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;A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"}
|
|
1
|
+
{"version":3,"file":"request.js","names":["_events","require","_errors","_types","Request","EventEmitter","sqlTextOrProcedure","parameters","parametersByName","preparing","canceled","paused","userCallback","handle","error","connection","timeout","rows","rst","rowCount","callback","shouldHonorAE","statementColumnEncryptionSetting","cryptoMetadataLoaded","on","event","listener","emit","args","constructor","options","undefined","SQLServerStatementColumnEncryptionSetting","UseConnectionSetting","err","addParameter","name","type","value","output","length","precision","scale","parameter","push","addOutputParameter","makeParamsParameter","paramsParameter","i","len","declaration","validateParameters","collation","validate","RequestError","message","pause","resume","cancel","setTimeout","_default","exports","default","module"],"sources":["../src/request.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { type Parameter, type DataType } from './data-type';\nimport { RequestError } from './errors';\n\nimport Connection from './connection';\nimport { type Metadata } from './metadata-parser';\nimport { SQLServerStatementColumnEncryptionSetting } from './always-encrypted/types';\nimport { type ColumnMetadata } from './token/colmetadata-token-parser';\nimport { Collation } from './collation';\n\n/**\n * The callback is called when the request has completed, either successfully or with an error.\n * If an error occurs during execution of the statement(s), then `err` will describe the error.\n *\n * As only one request at a time may be executed on a connection, another request should not\n * be initiated until this callback is called.\n *\n * This callback is called before `requestCompleted` is emitted.\n */\ntype CompletionCallback =\n /**\n * @param error\n * If an error occured, an error object.\n *\n * @param rowCount\n * The number of rows emitted as result of executing the SQL statement.\n *\n * @param rows\n * Rows as a result of executing the SQL statement.\n * Will only be available if [[ConnectionOptions.rowCollectionOnRequestCompletion]] is `true`.\n */\n // TODO: Figure out how to type the `rows` parameter here.\n (error: Error | null | undefined, rowCount?: number, rows?: any) => void;\n\nexport interface ParameterOptions {\n output?: boolean;\n length?: number;\n precision?: number;\n scale?: number;\n}\n\ninterface RequestOptions {\n statementColumnEncryptionSetting?: SQLServerStatementColumnEncryptionSetting;\n}\n\n/**\n * ```js\n * const { Request } = require('tedious');\n * const request = new Request(\"select 42, 'hello world'\", (err, rowCount) {\n * // Request completion callback...\n * });\n * connection.execSql(request);\n * ```\n */\nclass Request extends EventEmitter {\n /**\n * @private\n */\n sqlTextOrProcedure: string | undefined;\n /**\n * @private\n */\n parameters: Parameter[];\n /**\n * @private\n */\n parametersByName: { [key: string]: Parameter };\n /**\n * @private\n */\n preparing: boolean;\n /**\n * @private\n */\n canceled: boolean;\n /**\n * @private\n */\n paused: boolean;\n /**\n * @private\n */\n userCallback: CompletionCallback;\n /**\n * @private\n */\n handle: number | undefined;\n /**\n * @private\n */\n error: Error | undefined;\n /**\n * @private\n */\n connection: Connection | undefined;\n /**\n * @private\n */\n timeout: number | undefined;\n\n /**\n * @private\n */\n rows?: Array<any>;\n /**\n * @private\n */\n rst?: Array<any>;\n /**\n * @private\n */\n rowCount?: number;\n\n /**\n * @private\n */\n callback: CompletionCallback;\n\n\n shouldHonorAE?: boolean;\n statementColumnEncryptionSetting: SQLServerStatementColumnEncryptionSetting;\n cryptoMetadataLoaded: boolean;\n\n /**\n * This event, describing result set columns, will be emitted before row\n * events are emitted. This event may be emited multiple times when more\n * than one recordset is produced by the statement.\n *\n * An array like object, where the columns can be accessed either by index\n * or name. Columns with a name that is an integer are not accessible by name,\n * as it would be interpreted as an array index.\n */\n on(\n event: 'columnMetadata',\n listener:\n (columns: ColumnMetadata[] | { [key: string]: ColumnMetadata }) => void\n ): this\n\n /**\n * The request has been prepared and can be used in subsequent calls to execute and unprepare.\n */\n on(event: 'prepared', listener: () => void): this\n\n /**\n * The request encountered an error and has not been prepared.\n */\n on(event: 'error', listener: (err: Error) => void): this\n\n /**\n * A row resulting from execution of the SQL statement.\n */\n on(\n event: 'row',\n listener:\n /**\n * An array or object (depends on [[ConnectionOptions.useColumnNames]]), where the columns can be accessed by index/name.\n * Each column has two properties, `metadata` and `value`:\n *\n * * `metadata`\n *\n * The same data that is exposed in the `columnMetadata` event.\n *\n * * `value`\n *\n * The column's value. It will be `null` for a `NULL`.\n * If there are multiple columns with the same name, then this will be an array of the values.\n */\n (columns: any) => void\n ): this\n\n /**\n * All rows from a result set have been provided (through `row` events).\n *\n * This token is used to indicate the completion of a SQL statement.\n * As multiple SQL statements can be sent to the server in a single SQL batch, multiple `done` can be generated.\n * An `done` event is emited for each SQL statement in the SQL batch except variable declarations.\n * For execution of SQL statements within stored procedures, `doneProc` and `doneInProc` events are used in place of `done`.\n *\n * If you are using [[Connection.execSql]] then SQL server may treat the multiple calls with the same query as a stored procedure.\n * When this occurs, the `doneProc` and `doneInProc` events may be emitted instead. You must handle both events to ensure complete coverage.\n */\n on(\n event: 'done',\n listener:\n /**\n * @param rowCount\n * The number of result rows. May be `undefined` if not available.\n *\n * @param more\n * If there are more results to come (probably because multiple statements are being executed), then `true`.\n *\n * @param rst\n * Rows as a result of executing the SQL statement.\n * Will only be avaiable if Connection's [[ConnectionOptions.rowCollectionOnDone]] is `true`.\n */\n (rowCount: number | undefined, more: boolean, rst?: any[]) => void\n ): this\n\n /**\n * `request.on('doneInProc', function (rowCount, more, rows) { });`\n *\n * Indicates the completion status of a SQL statement within a stored procedure. All rows from a statement\n * in a stored procedure have been provided (through `row` events).\n *\n * This event may also occur when executing multiple calls with the same query using [[execSql]].\n */\n on(\n event: 'doneInProc',\n listener:\n /**\n * @param rowCount\n * The number of result rows. May be `undefined` if not available.\n *\n * @param more\n * If there are more results to come (probably because multiple statements are being executed), then `true`.\n *\n * @param rst\n * Rows as a result of executing the SQL statement.\n * Will only be avaiable if Connection's [[ConnectionOptions.rowCollectionOnDone]] is `true`.\n */\n (rowCount: number | undefined, more: boolean, rst?: any[]) => void\n ): this\n\n /**\n * Indicates the completion status of a stored procedure. This is also generated for stored procedures\n * executed through SQL statements.\\\n * This event may also occur when executing multiple calls with the same query using [[execSql]].\n */\n on(\n event: 'doneProc',\n listener:\n /**\n * @param rowCount\n * The number of result rows. May be `undefined` if not available.\n *\n * @param more\n * If there are more results to come (probably because multiple statements are being executed), then `true`.\n *\n * @param rst\n * Rows as a result of executing the SQL statement.\n * Will only be avaiable if Connection's [[ConnectionOptions.rowCollectionOnDone]] is `true`.\n */\n (rowCount: number | undefined, more: boolean, procReturnStatusValue: number, rst?: any[]) => void\n ): this\n\n /**\n * A value for an output parameter (that was added to the request with [[addOutputParameter]]).\n * See also `Using Parameters`.\n */\n on(\n event: 'returnValue',\n listener:\n /**\n * @param parameterName\n * The parameter name. (Does not start with '@'.)\n *\n * @param value\n * The parameter's output value.\n *\n * @param metadata\n * The same data that is exposed in the `columnMetaData` event.\n */\n (parameterName: string, value: unknown, metadata: Metadata) => void\n ): this\n\n /**\n * This event gives the columns by which data is ordered, if `ORDER BY` clause is executed in SQL Server.\n */\n on(\n event: 'order',\n listener:\n /**\n * @param orderColumns\n * An array of column numbers in the result set by which data is ordered.\n */\n (orderColumns: number[]) => void\n ): this\n\n on(event: 'requestCompleted', listener: () => void): this\n\n on(event: 'cancel', listener: () => void): this\n\n on(event: 'pause', listener: () => void): this\n\n on(event: 'resume', listener: () => void): this\n\n on(event: string | symbol, listener: (...args: any[]) => void) {\n return super.on(event, listener);\n }\n\n /**\n * @private\n */\n emit(event: 'columnMetadata', columns: ColumnMetadata[] | { [key: string]: ColumnMetadata }): boolean\n /**\n * @private\n */\n emit(event: 'prepared'): boolean\n /**\n * @private\n */\n emit(event: 'error', err: Error): boolean\n /**\n * @private\n */\n emit(event: 'row', columns: any): boolean\n /**\n * @private\n */\n emit(event: 'done', rowCount: number | undefined, more: boolean, rst?: any[]): boolean\n /**\n * @private\n */\n emit(event: 'doneInProc', rowCount: number | undefined, more: boolean, rst?: any[]): boolean\n /**\n * @private\n */\n emit(event: 'doneProc', rowCount: number | undefined, more: boolean, procReturnStatusValue: number, rst?: any[]): boolean\n /**\n * @private\n */\n emit(event: 'returnValue', parameterName: string, value: unknown, metadata: Metadata): boolean\n /**\n * @private\n */\n emit(event: 'requestCompleted'): boolean\n /**\n * @private\n */\n emit(event: 'cancel'): boolean\n /**\n * @private\n */\n emit(event: 'pause'): boolean\n /**\n * @private\n */\n emit(event: 'resume'): boolean\n /**\n * @private\n */\n emit(event: 'order', orderColumns: number[]): boolean\n emit(event: string | symbol, ...args: any[]) {\n return super.emit(event, ...args);\n }\n\n /**\n * @param sqlTextOrProcedure\n * The SQL statement to be executed\n *\n * @param callback\n * The callback to execute once the request has been fully completed.\n */\n constructor(sqlTextOrProcedure: string | undefined, callback: CompletionCallback, options?: RequestOptions) {\n super();\n\n this.sqlTextOrProcedure = sqlTextOrProcedure;\n this.parameters = [];\n this.parametersByName = {};\n this.preparing = false;\n this.handle = undefined;\n this.canceled = false;\n this.paused = false;\n this.error = undefined;\n this.connection = undefined;\n this.timeout = undefined;\n this.userCallback = callback;\n this.statementColumnEncryptionSetting = (options && options.statementColumnEncryptionSetting) || SQLServerStatementColumnEncryptionSetting.UseConnectionSetting;\n this.cryptoMetadataLoaded = false;\n this.callback = function(err: Error | undefined | null, rowCount?: number, rows?: any) {\n if (this.preparing) {\n this.preparing = false;\n if (err) {\n this.emit('error', err);\n } else {\n this.emit('prepared');\n }\n } else {\n this.userCallback(err, rowCount, rows);\n this.emit('requestCompleted');\n }\n };\n }\n\n /**\n * @param name\n * The parameter name. This should correspond to a parameter in the SQL,\n * or a parameter that a called procedure expects. The name should not start with `@`.\n *\n * @param type\n * One of the supported data types.\n *\n * @param value\n * The value that the parameter is to be given. The Javascript type of the\n * argument should match that documented for data types.\n *\n * @param options\n * Additional type options. Optional.\n */\n // TODO: `type` must be a valid TDS value type\n addParameter(name: string, type: DataType, value?: unknown, options?: Readonly<ParameterOptions> | null) {\n const { output = false, length, precision, scale } = options ?? {};\n\n const parameter: Parameter = {\n type: type,\n name: name,\n value: value,\n output: output,\n length: length,\n precision: precision,\n scale: scale\n };\n\n this.parameters.push(parameter);\n this.parametersByName[name] = parameter;\n }\n\n /**\n * @param name\n * The parameter name. This should correspond to a parameter in the SQL,\n * or a parameter that a called procedure expects.\n *\n * @param type\n * One of the supported data types.\n *\n * @param value\n * The value that the parameter is to be given. The Javascript type of the\n * argument should match that documented for data types\n *\n * @param options\n * Additional type options. Optional.\n */\n addOutputParameter(name: string, type: DataType, value?: unknown, options?: Readonly<ParameterOptions> | null) {\n this.addParameter(name, type, value, { ...options, output: true });\n }\n\n /**\n * @private\n */\n makeParamsParameter(parameters: Parameter[]) {\n let paramsParameter = '';\n for (let i = 0, len = parameters.length; i < len; i++) {\n const parameter = parameters[i];\n if (paramsParameter.length > 0) {\n paramsParameter += ', ';\n }\n paramsParameter += '@' + parameter.name + ' ';\n paramsParameter += parameter.type.declaration(parameter);\n if (parameter.output) {\n paramsParameter += ' OUTPUT';\n }\n }\n return paramsParameter;\n }\n\n /**\n * @private\n */\n validateParameters(collation: Collation | undefined) {\n for (let i = 0, len = this.parameters.length; i < len; i++) {\n const parameter = this.parameters[i];\n\n try {\n parameter.value = parameter.type.validate(parameter.value, collation);\n } catch (error: any) {\n throw new RequestError('Validation failed for parameter \\'' + parameter.name + '\\'. ' + error.message, 'EPARAM');\n }\n }\n }\n\n /**\n * Temporarily suspends the flow of data from the database. No more `row` events will be emitted until [[resume] is called.\n * If this request is already in a paused state, calling [[pause]] has no effect.\n */\n pause() {\n if (this.paused) {\n return;\n }\n this.emit('pause');\n this.paused = true;\n }\n\n /**\n * Resumes the flow of data from the database.\n * If this request is not in a paused state, calling [[resume]] has no effect.\n */\n resume() {\n if (!this.paused) {\n return;\n }\n this.paused = false;\n this.emit('resume');\n }\n\n /**\n * Cancels a request while waiting for a server response.\n */\n cancel() {\n if (this.canceled) {\n return;\n }\n\n this.canceled = true;\n this.emit('cancel');\n }\n\n /**\n * Sets a timeout for this request.\n *\n * @param timeout\n * The number of milliseconds before the request is considered failed,\n * or `0` for no timeout. When no timeout is set for the request,\n * the [[ConnectionOptions.requestTimeout]] of the [[Connection]] is used.\n */\n setTimeout(timeout?: number) {\n this.timeout = timeout;\n }\n}\n\nexport default Request;\nmodule.exports = Request;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,OAAO,SAASC,oBAAY,CAAC;EACjC;AACF;AACA;EACEC,kBAAkB;EAClB;AACF;AACA;EACEC,UAAU;EACV;AACF;AACA;EACEC,gBAAgB;EAChB;AACF;AACA;EACEC,SAAS;EACT;AACF;AACA;EACEC,QAAQ;EACR;AACF;AACA;EACEC,MAAM;EACN;AACF;AACA;EACEC,YAAY;EACZ;AACF;AACA;EACEC,MAAM;EACN;AACF;AACA;EACEC,KAAK;EACL;AACF;AACA;EACEC,UAAU;EACV;AACF;AACA;EACEC,OAAO;;EAEP;AACF;AACA;EACEC,IAAI;EACJ;AACF;AACA;EACEC,GAAG;EACH;AACF;AACA;EACEC,QAAQ;;EAER;AACF;AACA;EACEC,QAAQ;EAGRC,aAAa;EACbC,gCAAgC;EAChCC,oBAAoB;;EAEpB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAOE;AACF;AACA;;EAGE;AACF;AACA;;EAGE;AACF;AACA;;EAoBE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAkBE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAkBE;AACF;AACA;AACA;AACA;;EAkBE;AACF;AACA;AACA;;EAiBE;AACF;AACA;;EAmBEC,EAAEA,CAACC,KAAsB,EAAEC,QAAkC,EAAE;IAC7D,OAAO,KAAK,CAACF,EAAE,CAACC,KAAK,EAAEC,QAAQ,CAAC;EAClC;;EAEA;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;AACA;;EAEE;AACF;A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"}
|
|
@@ -104,4 +104,4 @@ class RpcRequestPayload {
|
|
|
104
104
|
var _default = RpcRequestPayload;
|
|
105
105
|
exports.default = _default;
|
|
106
106
|
module.exports = RpcRequestPayload;
|
|
107
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FsbEhlYWRlcnMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlNUQVRVUyIsIkJZX1JFRl9WQUxVRSIsIkRFRkFVTFRfVkFMVUUiLCJScGNSZXF1ZXN0UGF5bG9hZCIsInByb2NlZHVyZSIsInBhcmFtZXRlcnMiLCJvcHRpb25zIiwidHhuRGVzY3JpcHRvciIsImNvbGxhdGlvbiIsImNvbnN0cnVjdG9yIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJnZW5lcmF0ZURhdGEiLCJidWZmZXIiLCJXcml0YWJsZVRyYWNraW5nQnVmZmVyIiwidGRzVmVyc2lvbiIsIm91dHN0YW5kaW5nUmVxdWVzdENvdW50Iiwid3JpdGVUb1RyYWNraW5nQnVmZmVyIiwid3JpdGVVc1ZhcmNoYXIiLCJ3cml0ZVVTaG9ydCIsIm9wdGlvbkZsYWdzIiwid3JpdGVVSW50MTZMRSIsImRhdGEiLCJwYXJhbWV0ZXJzTGVuZ3RoIiwibGVuZ3RoIiwiaSIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsInRvU3RyaW5nIiwiaW5kZW50IiwicGFyYW1ldGVyIiwiQnVmZmVyIiwiYnl0ZUxlbmd0aCIsIm5hbWUiLCJ3cml0ZUJWYXJjaGFyIiwic3RhdHVzRmxhZ3MiLCJvdXRwdXQiLCJ3cml0ZVVJbnQ4IiwicGFyYW0iLCJ2YWx1ZSIsInR5cGUiLCJpZCIsInJlc29sdmVMZW5ndGgiLCJwcmVjaXNpb24iLCJyZXNvbHZlUHJlY2lzaW9uIiwic2NhbGUiLCJyZXNvbHZlU2NhbGUiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi9zcmMvcnBjcmVxdWVzdC1wYXlsb2FkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXcml0YWJsZVRyYWNraW5nQnVmZmVyIGZyb20gJy4vdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlcic7XG5pbXBvcnQgeyB3cml0ZVRvVHJhY2tpbmdCdWZmZXIgfSBmcm9tICcuL2FsbC1oZWFkZXJzJztcbmltcG9ydCB7IFBhcmFtZXRlciwgUGFyYW1ldGVyRGF0YSB9IGZyb20gJy4vZGF0YS10eXBlJztcbmltcG9ydCB7IEludGVybmFsQ29ubmVjdGlvbk9wdGlvbnMgfSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGF0aW9uIH0gZnJvbSAnLi9jb2xsYXRpb24nO1xuXG4vLyBjb25zdCBPUFRJT04gPSB7XG4vLyAgIFdJVEhfUkVDT01QSUxFOiAweDAxLFxuLy8gICBOT19NRVRBREFUQTogMHgwMixcbi8vICAgUkVVU0VfTUVUQURBVEE6IDB4MDRcbi8vIH07XG5cbmNvbnN0IFNUQVRVUyA9IHtcbiAgQllfUkVGX1ZBTFVFOiAweDAxLFxuICBERUZBVUxUX1ZBTFVFOiAweDAyXG59O1xuXG4vKlxuICBzMi4yLjYuNVxuICovXG5jbGFzcyBScGNSZXF1ZXN0UGF5bG9hZCBpbXBsZW1lbnRzIEl0ZXJhYmxlPEJ1ZmZlcj4ge1xuICBwcm9jZWR1cmU6IHN0cmluZyB8IG51bWJlcjtcbiAgcGFyYW1ldGVyczogUGFyYW1ldGVyW107XG5cbiAgb3B0aW9uczogSW50ZXJuYWxDb25uZWN0aW9uT3B0aW9ucztcbiAgdHhuRGVzY3JpcHRvcjogQnVmZmVyO1xuICBjb2xsYXRpb246IENvbGxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcm9jZWR1cmU6IHN0cmluZyB8IG51bWJlciwgcGFyYW1ldGVyczogUGFyYW1ldGVyW10sIHR4bkRlc2NyaXB0b3I6IEJ1ZmZlciwgb3B0aW9uczogSW50ZXJuYWxDb25uZWN0aW9uT3B0aW9ucywgY29sbGF0aW9uOiBDb2xsYXRpb24gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnByb2NlZHVyZSA9IHByb2NlZHVyZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy50eG5EZXNjcmlwdG9yID0gdHhuRGVzY3JpcHRvcjtcbiAgICB0aGlzLmNvbGxhdGlvbiA9IGNvbGxhdGlvbjtcbiAgfVxuXG4gIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlRGF0YSgpO1xuICB9XG5cbiAgKiBnZW5lcmF0ZURhdGEoKSB7XG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoNTAwKTtcbiAgICBpZiAodGhpcy5vcHRpb25zLnRkc1ZlcnNpb24gPj0gJzdfMicpIHtcbiAgICAgIGNvbnN0IG91dHN0YW5kaW5nUmVxdWVzdENvdW50ID0gMTtcbiAgICAgIHdyaXRlVG9UcmFja2luZ0J1ZmZlcihidWZmZXIsIHRoaXMudHhuRGVzY3JpcHRvciwgb3V0c3RhbmRpbmdSZXF1ZXN0Q291bnQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdGhpcy5wcm9jZWR1cmUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBidWZmZXIud3JpdGVVc1ZhcmNoYXIodGhpcy5wcm9jZWR1cmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBidWZmZXIud3JpdGVVU2hvcnQoMHhGRkZGKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVTaG9ydCh0aGlzLnByb2NlZHVyZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9uRmxhZ3MgPSAwO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKG9wdGlvbkZsYWdzKTtcbiAgICB5aWVsZCBidWZmZXIuZGF0YTtcblxuICAgIGNvbnN0IHBhcmFtZXRlcnNMZW5ndGggPSB0aGlzLnBhcmFtZXRlcnMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW1ldGVyc0xlbmd0aDsgaSsrKSB7XG4gICAgICB5aWVsZCAqIHRoaXMuZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHRoaXMucGFyYW1ldGVyc1tpXSk7XG4gICAgfVxuICB9XG5cbiAgdG9TdHJpbmcoaW5kZW50ID0gJycpIHtcbiAgICByZXR1cm4gaW5kZW50ICsgKCdSUEMgUmVxdWVzdCAtICcgKyB0aGlzLnByb2NlZHVyZSk7XG4gIH1cblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXI6IFBhcmFtZXRlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDEgKyAyICsgQnVmZmVyLmJ5dGVMZW5ndGgocGFyYW1ldGVyLm5hbWUsICd1Y3MtMicpICsgMSk7XG5cbiAgICBpZiAocGFyYW1ldGVyLm5hbWUpIHtcbiAgICAgIGJ1ZmZlci53cml0ZUJWYXJjaGFyKCdAJyArIHBhcmFtZXRlci5uYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmZmVyLndyaXRlQlZhcmNoYXIoJycpO1xuICAgIH1cblxuICAgIGxldCBzdGF0dXNGbGFncyA9IDA7XG4gICAgaWYgKHBhcmFtZXRlci5vdXRwdXQpIHtcbiAgICAgIHN0YXR1c0ZsYWdzIHw9IFNUQVRVUy5CWV9SRUZfVkFMVUU7XG4gICAgfVxuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHN0YXR1c0ZsYWdzKTtcblxuICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuXG4gICAgY29uc3QgcGFyYW06IFBhcmFtZXRlckRhdGEgPSB7IHZhbHVlOiBwYXJhbWV0ZXIudmFsdWUgfTtcblxuICAgIGNvbnN0IHR5cGUgPSBwYXJhbWV0ZXIudHlwZTtcblxuICAgIGlmICgodHlwZS5pZCAmIDB4MzApID09PSAweDIwKSB7XG4gICAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCkge1xuICAgICAgICBwYXJhbS5sZW5ndGggPSBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgICAgfSBlbHNlIGlmICh0eXBlLnJlc29sdmVMZW5ndGgpIHtcbiAgICAgICAgcGFyYW0ubGVuZ3RoID0gdHlwZS5yZXNvbHZlTGVuZ3RoKHBhcmFtZXRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24pIHtcbiAgICAgIHBhcmFtLnByZWNpc2lvbiA9IHBhcmFtZXRlci5wcmVjaXNpb247XG4gICAgfSBlbHNlIGlmICh0eXBlLnJlc29sdmVQcmVjaXNpb24pIHtcbiAgICAgIHBhcmFtLnByZWNpc2lvbiA9IHR5cGUucmVzb2x2ZVByZWNpc2lvbihwYXJhbWV0ZXIpO1xuICAgIH1cblxuICAgIGlmIChwYXJhbWV0ZXIuc2NhbGUpIHtcbiAgICAgIHBhcmFtLnNjYWxlID0gcGFyYW1ldGVyLnNjYWxlO1xuICAgIH0gZWxzZSBpZiAodHlwZS5yZXNvbHZlU2NhbGUpIHtcbiAgICAgIHBhcmFtLnNjYWxlID0gdHlwZS5yZXNvbHZlU2NhbGUocGFyYW1ldGVyKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb2xsYXRpb24pIHtcbiAgICAgIHBhcmFtLmNvbGxhdGlvbiA9IHRoaXMuY29sbGF0aW9uO1xuICAgIH1cblxuICAgIHlpZWxkIHR5cGUuZ2VuZXJhdGVUeXBlSW5mbyhwYXJhbSwgdGhpcy5vcHRpb25zKTtcbiAgICB5aWVsZCB0eXBlLmdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtLCB0aGlzLm9wdGlvbnMpO1xuICAgIHlpZWxkICogdHlwZS5nZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW0sIHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUnBjUmVxdWVzdFBheWxvYWQ7XG5tb2R1bGUuZXhwb3J0cyA9IFJwY1JlcXVlc3RQYXlsb2FkO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSx1QkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQXNELFNBQUFELHVCQUFBRyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBS3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxNQUFNRyxNQUFN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
|
|
107
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FsbEhlYWRlcnMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlNUQVRVUyIsIkJZX1JFRl9WQUxVRSIsIkRFRkFVTFRfVkFMVUUiLCJScGNSZXF1ZXN0UGF5bG9hZCIsInByb2NlZHVyZSIsInBhcmFtZXRlcnMiLCJvcHRpb25zIiwidHhuRGVzY3JpcHRvciIsImNvbGxhdGlvbiIsImNvbnN0cnVjdG9yIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJnZW5lcmF0ZURhdGEiLCJidWZmZXIiLCJXcml0YWJsZVRyYWNraW5nQnVmZmVyIiwidGRzVmVyc2lvbiIsIm91dHN0YW5kaW5nUmVxdWVzdENvdW50Iiwid3JpdGVUb1RyYWNraW5nQnVmZmVyIiwid3JpdGVVc1ZhcmNoYXIiLCJ3cml0ZVVTaG9ydCIsIm9wdGlvbkZsYWdzIiwid3JpdGVVSW50MTZMRSIsImRhdGEiLCJwYXJhbWV0ZXJzTGVuZ3RoIiwibGVuZ3RoIiwiaSIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsInRvU3RyaW5nIiwiaW5kZW50IiwicGFyYW1ldGVyIiwiQnVmZmVyIiwiYnl0ZUxlbmd0aCIsIm5hbWUiLCJ3cml0ZUJWYXJjaGFyIiwic3RhdHVzRmxhZ3MiLCJvdXRwdXQiLCJ3cml0ZVVJbnQ4IiwicGFyYW0iLCJ2YWx1ZSIsInR5cGUiLCJpZCIsInJlc29sdmVMZW5ndGgiLCJwcmVjaXNpb24iLCJyZXNvbHZlUHJlY2lzaW9uIiwic2NhbGUiLCJyZXNvbHZlU2NhbGUiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi9zcmMvcnBjcmVxdWVzdC1wYXlsb2FkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXcml0YWJsZVRyYWNraW5nQnVmZmVyIGZyb20gJy4vdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlcic7XG5pbXBvcnQgeyB3cml0ZVRvVHJhY2tpbmdCdWZmZXIgfSBmcm9tICcuL2FsbC1oZWFkZXJzJztcbmltcG9ydCB7IHR5cGUgUGFyYW1ldGVyLCB0eXBlIFBhcmFtZXRlckRhdGEgfSBmcm9tICcuL2RhdGEtdHlwZSc7XG5pbXBvcnQgeyB0eXBlIEludGVybmFsQ29ubmVjdGlvbk9wdGlvbnMgfSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGF0aW9uIH0gZnJvbSAnLi9jb2xsYXRpb24nO1xuXG4vLyBjb25zdCBPUFRJT04gPSB7XG4vLyAgIFdJVEhfUkVDT01QSUxFOiAweDAxLFxuLy8gICBOT19NRVRBREFUQTogMHgwMixcbi8vICAgUkVVU0VfTUVUQURBVEE6IDB4MDRcbi8vIH07XG5cbmNvbnN0IFNUQVRVUyA9IHtcbiAgQllfUkVGX1ZBTFVFOiAweDAxLFxuICBERUZBVUxUX1ZBTFVFOiAweDAyXG59O1xuXG4vKlxuICBzMi4yLjYuNVxuICovXG5jbGFzcyBScGNSZXF1ZXN0UGF5bG9hZCBpbXBsZW1lbnRzIEl0ZXJhYmxlPEJ1ZmZlcj4ge1xuICBwcm9jZWR1cmU6IHN0cmluZyB8IG51bWJlcjtcbiAgcGFyYW1ldGVyczogUGFyYW1ldGVyW107XG5cbiAgb3B0aW9uczogSW50ZXJuYWxDb25uZWN0aW9uT3B0aW9ucztcbiAgdHhuRGVzY3JpcHRvcjogQnVmZmVyO1xuICBjb2xsYXRpb246IENvbGxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcm9jZWR1cmU6IHN0cmluZyB8IG51bWJlciwgcGFyYW1ldGVyczogUGFyYW1ldGVyW10sIHR4bkRlc2NyaXB0b3I6IEJ1ZmZlciwgb3B0aW9uczogSW50ZXJuYWxDb25uZWN0aW9uT3B0aW9ucywgY29sbGF0aW9uOiBDb2xsYXRpb24gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnByb2NlZHVyZSA9IHByb2NlZHVyZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy50eG5EZXNjcmlwdG9yID0gdHhuRGVzY3JpcHRvcjtcbiAgICB0aGlzLmNvbGxhdGlvbiA9IGNvbGxhdGlvbjtcbiAgfVxuXG4gIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlRGF0YSgpO1xuICB9XG5cbiAgKiBnZW5lcmF0ZURhdGEoKSB7XG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoNTAwKTtcbiAgICBpZiAodGhpcy5vcHRpb25zLnRkc1ZlcnNpb24gPj0gJzdfMicpIHtcbiAgICAgIGNvbnN0IG91dHN0YW5kaW5nUmVxdWVzdENvdW50ID0gMTtcbiAgICAgIHdyaXRlVG9UcmFja2luZ0J1ZmZlcihidWZmZXIsIHRoaXMudHhuRGVzY3JpcHRvciwgb3V0c3RhbmRpbmdSZXF1ZXN0Q291bnQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdGhpcy5wcm9jZWR1cmUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBidWZmZXIud3JpdGVVc1ZhcmNoYXIodGhpcy5wcm9jZWR1cmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBidWZmZXIud3JpdGVVU2hvcnQoMHhGRkZGKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVTaG9ydCh0aGlzLnByb2NlZHVyZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9uRmxhZ3MgPSAwO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKG9wdGlvbkZsYWdzKTtcbiAgICB5aWVsZCBidWZmZXIuZGF0YTtcblxuICAgIGNvbnN0IHBhcmFtZXRlcnNMZW5ndGggPSB0aGlzLnBhcmFtZXRlcnMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW1ldGVyc0xlbmd0aDsgaSsrKSB7XG4gICAgICB5aWVsZCAqIHRoaXMuZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHRoaXMucGFyYW1ldGVyc1tpXSk7XG4gICAgfVxuICB9XG5cbiAgdG9TdHJpbmcoaW5kZW50ID0gJycpIHtcbiAgICByZXR1cm4gaW5kZW50ICsgKCdSUEMgUmVxdWVzdCAtICcgKyB0aGlzLnByb2NlZHVyZSk7XG4gIH1cblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXI6IFBhcmFtZXRlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDEgKyAyICsgQnVmZmVyLmJ5dGVMZW5ndGgocGFyYW1ldGVyLm5hbWUsICd1Y3MtMicpICsgMSk7XG5cbiAgICBpZiAocGFyYW1ldGVyLm5hbWUpIHtcbiAgICAgIGJ1ZmZlci53cml0ZUJWYXJjaGFyKCdAJyArIHBhcmFtZXRlci5uYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmZmVyLndyaXRlQlZhcmNoYXIoJycpO1xuICAgIH1cblxuICAgIGxldCBzdGF0dXNGbGFncyA9IDA7XG4gICAgaWYgKHBhcmFtZXRlci5vdXRwdXQpIHtcbiAgICAgIHN0YXR1c0ZsYWdzIHw9IFNUQVRVUy5CWV9SRUZfVkFMVUU7XG4gICAgfVxuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHN0YXR1c0ZsYWdzKTtcblxuICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuXG4gICAgY29uc3QgcGFyYW06IFBhcmFtZXRlckRhdGEgPSB7IHZhbHVlOiBwYXJhbWV0ZXIudmFsdWUgfTtcblxuICAgIGNvbnN0IHR5cGUgPSBwYXJhbWV0ZXIudHlwZTtcblxuICAgIGlmICgodHlwZS5pZCAmIDB4MzApID09PSAweDIwKSB7XG4gICAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCkge1xuICAgICAgICBwYXJhbS5sZW5ndGggPSBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgICAgfSBlbHNlIGlmICh0eXBlLnJlc29sdmVMZW5ndGgpIHtcbiAgICAgICAgcGFyYW0ubGVuZ3RoID0gdHlwZS5yZXNvbHZlTGVuZ3RoKHBhcmFtZXRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtZXRlci5wcmVjaXNpb24pIHtcbiAgICAgIHBhcmFtLnByZWNpc2lvbiA9IHBhcmFtZXRlci5wcmVjaXNpb247XG4gICAgfSBlbHNlIGlmICh0eXBlLnJlc29sdmVQcmVjaXNpb24pIHtcbiAgICAgIHBhcmFtLnByZWNpc2lvbiA9IHR5cGUucmVzb2x2ZVByZWNpc2lvbihwYXJhbWV0ZXIpO1xuICAgIH1cblxuICAgIGlmIChwYXJhbWV0ZXIuc2NhbGUpIHtcbiAgICAgIHBhcmFtLnNjYWxlID0gcGFyYW1ldGVyLnNjYWxlO1xuICAgIH0gZWxzZSBpZiAodHlwZS5yZXNvbHZlU2NhbGUpIHtcbiAgICAgIHBhcmFtLnNjYWxlID0gdHlwZS5yZXNvbHZlU2NhbGUocGFyYW1ldGVyKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb2xsYXRpb24pIHtcbiAgICAgIHBhcmFtLmNvbGxhdGlvbiA9IHRoaXMuY29sbGF0aW9uO1xuICAgIH1cblxuICAgIHlpZWxkIHR5cGUuZ2VuZXJhdGVUeXBlSW5mbyhwYXJhbSwgdGhpcy5vcHRpb25zKTtcbiAgICB5aWVsZCB0eXBlLmdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtLCB0aGlzLm9wdGlvbnMpO1xuICAgIHlpZWxkICogdHlwZS5nZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW0sIHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUnBjUmVxdWVzdFBheWxvYWQ7XG5tb2R1bGUuZXhwb3J0cyA9IFJwY1JlcXVlc3RQYXlsb2FkO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSx1QkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQXNELFNBQUFELHVCQUFBRyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBS3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcrequest-payload.js","names":["_writableTrackingBuffer","_interopRequireDefault","require","_allHeaders","obj","__esModule","default","STATUS","BY_REF_VALUE","DEFAULT_VALUE","RpcRequestPayload","procedure","parameters","options","txnDescriptor","collation","constructor","Symbol","iterator","generateData","buffer","WritableTrackingBuffer","tdsVersion","outstandingRequestCount","writeToTrackingBuffer","writeUsVarchar","writeUShort","optionFlags","writeUInt16LE","data","parametersLength","length","i","generateParameterData","toString","indent","parameter","Buffer","byteLength","name","writeBVarchar","statusFlags","output","writeUInt8","param","value","type","id","resolveLength","precision","resolvePrecision","scale","resolveScale","generateTypeInfo","generateParameterLength","_default","exports","module"],"sources":["../src/rpcrequest-payload.ts"],"sourcesContent":["import WritableTrackingBuffer from './tracking-buffer/writable-tracking-buffer';\nimport { writeToTrackingBuffer } from './all-headers';\nimport { Parameter, ParameterData } from './data-type';\nimport { InternalConnectionOptions } from './connection';\nimport { Collation } from './collation';\n\n// const OPTION = {\n// WITH_RECOMPILE: 0x01,\n// NO_METADATA: 0x02,\n// REUSE_METADATA: 0x04\n// };\n\nconst STATUS = {\n BY_REF_VALUE: 0x01,\n DEFAULT_VALUE: 0x02\n};\n\n/*\n s2.2.6.5\n */\nclass RpcRequestPayload implements Iterable<Buffer> {\n procedure: string | number;\n parameters: Parameter[];\n\n options: InternalConnectionOptions;\n txnDescriptor: Buffer;\n collation: Collation | undefined;\n\n constructor(procedure: string | number, parameters: Parameter[], txnDescriptor: Buffer, options: InternalConnectionOptions, collation: Collation | undefined) {\n this.procedure = procedure;\n this.parameters = parameters;\n this.options = options;\n this.txnDescriptor = txnDescriptor;\n this.collation = collation;\n }\n\n [Symbol.iterator]() {\n return this.generateData();\n }\n\n * generateData() {\n const buffer = new WritableTrackingBuffer(500);\n if (this.options.tdsVersion >= '7_2') {\n const outstandingRequestCount = 1;\n writeToTrackingBuffer(buffer, this.txnDescriptor, outstandingRequestCount);\n }\n\n if (typeof this.procedure === 'string') {\n buffer.writeUsVarchar(this.procedure);\n } else {\n buffer.writeUShort(0xFFFF);\n buffer.writeUShort(this.procedure);\n }\n\n const optionFlags = 0;\n buffer.writeUInt16LE(optionFlags);\n yield buffer.data;\n\n const parametersLength = this.parameters.length;\n for (let i = 0; i < parametersLength; i++) {\n yield * this.generateParameterData(this.parameters[i]);\n }\n }\n\n toString(indent = '') {\n return indent + ('RPC Request - ' + this.procedure);\n }\n\n * generateParameterData(parameter: Parameter) {\n const buffer = new WritableTrackingBuffer(1 + 2 + Buffer.byteLength(parameter.name, 'ucs-2') + 1);\n\n if (parameter.name) {\n buffer.writeBVarchar('@' + parameter.name);\n } else {\n buffer.writeBVarchar('');\n }\n\n let statusFlags = 0;\n if (parameter.output) {\n statusFlags |= STATUS.BY_REF_VALUE;\n }\n buffer.writeUInt8(statusFlags);\n\n yield buffer.data;\n\n const param: ParameterData = { value: parameter.value };\n\n const type = parameter.type;\n\n if ((type.id & 0x30) === 0x20) {\n if (parameter.length) {\n param.length = parameter.length;\n } else if (type.resolveLength) {\n param.length = type.resolveLength(parameter);\n }\n }\n\n if (parameter.precision) {\n param.precision = parameter.precision;\n } else if (type.resolvePrecision) {\n param.precision = type.resolvePrecision(parameter);\n }\n\n if (parameter.scale) {\n param.scale = parameter.scale;\n } else if (type.resolveScale) {\n param.scale = type.resolveScale(parameter);\n }\n\n if (this.collation) {\n param.collation = this.collation;\n }\n\n yield type.generateTypeInfo(param, this.options);\n yield type.generateParameterLength(param, this.options);\n yield * type.generateParameterData(param, this.options);\n }\n}\n\nexport default RpcRequestPayload;\nmodule.exports = RpcRequestPayload;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpcrequest-payload.js","names":["_writableTrackingBuffer","_interopRequireDefault","require","_allHeaders","obj","__esModule","default","STATUS","BY_REF_VALUE","DEFAULT_VALUE","RpcRequestPayload","procedure","parameters","options","txnDescriptor","collation","constructor","Symbol","iterator","generateData","buffer","WritableTrackingBuffer","tdsVersion","outstandingRequestCount","writeToTrackingBuffer","writeUsVarchar","writeUShort","optionFlags","writeUInt16LE","data","parametersLength","length","i","generateParameterData","toString","indent","parameter","Buffer","byteLength","name","writeBVarchar","statusFlags","output","writeUInt8","param","value","type","id","resolveLength","precision","resolvePrecision","scale","resolveScale","generateTypeInfo","generateParameterLength","_default","exports","module"],"sources":["../src/rpcrequest-payload.ts"],"sourcesContent":["import WritableTrackingBuffer from './tracking-buffer/writable-tracking-buffer';\nimport { writeToTrackingBuffer } from './all-headers';\nimport { type Parameter, type ParameterData } from './data-type';\nimport { type InternalConnectionOptions } from './connection';\nimport { Collation } from './collation';\n\n// const OPTION = {\n// WITH_RECOMPILE: 0x01,\n// NO_METADATA: 0x02,\n// REUSE_METADATA: 0x04\n// };\n\nconst STATUS = {\n BY_REF_VALUE: 0x01,\n DEFAULT_VALUE: 0x02\n};\n\n/*\n s2.2.6.5\n */\nclass RpcRequestPayload implements Iterable<Buffer> {\n procedure: string | number;\n parameters: Parameter[];\n\n options: InternalConnectionOptions;\n txnDescriptor: Buffer;\n collation: Collation | undefined;\n\n constructor(procedure: string | number, parameters: Parameter[], txnDescriptor: Buffer, options: InternalConnectionOptions, collation: Collation | undefined) {\n this.procedure = procedure;\n this.parameters = parameters;\n this.options = options;\n this.txnDescriptor = txnDescriptor;\n this.collation = collation;\n }\n\n [Symbol.iterator]() {\n return this.generateData();\n }\n\n * generateData() {\n const buffer = new WritableTrackingBuffer(500);\n if (this.options.tdsVersion >= '7_2') {\n const outstandingRequestCount = 1;\n writeToTrackingBuffer(buffer, this.txnDescriptor, outstandingRequestCount);\n }\n\n if (typeof this.procedure === 'string') {\n buffer.writeUsVarchar(this.procedure);\n } else {\n buffer.writeUShort(0xFFFF);\n buffer.writeUShort(this.procedure);\n }\n\n const optionFlags = 0;\n buffer.writeUInt16LE(optionFlags);\n yield buffer.data;\n\n const parametersLength = this.parameters.length;\n for (let i = 0; i < parametersLength; i++) {\n yield * this.generateParameterData(this.parameters[i]);\n }\n }\n\n toString(indent = '') {\n return indent + ('RPC Request - ' + this.procedure);\n }\n\n * generateParameterData(parameter: Parameter) {\n const buffer = new WritableTrackingBuffer(1 + 2 + Buffer.byteLength(parameter.name, 'ucs-2') + 1);\n\n if (parameter.name) {\n buffer.writeBVarchar('@' + parameter.name);\n } else {\n buffer.writeBVarchar('');\n }\n\n let statusFlags = 0;\n if (parameter.output) {\n statusFlags |= STATUS.BY_REF_VALUE;\n }\n buffer.writeUInt8(statusFlags);\n\n yield buffer.data;\n\n const param: ParameterData = { value: parameter.value };\n\n const type = parameter.type;\n\n if ((type.id & 0x30) === 0x20) {\n if (parameter.length) {\n param.length = parameter.length;\n } else if (type.resolveLength) {\n param.length = type.resolveLength(parameter);\n }\n }\n\n if (parameter.precision) {\n param.precision = parameter.precision;\n } else if (type.resolvePrecision) {\n param.precision = type.resolvePrecision(parameter);\n }\n\n if (parameter.scale) {\n param.scale = parameter.scale;\n } else if (type.resolveScale) {\n param.scale = type.resolveScale(parameter);\n }\n\n if (this.collation) {\n param.collation = this.collation;\n }\n\n yield type.generateTypeInfo(param, this.options);\n yield type.generateParameterLength(param, this.options);\n yield * type.generateParameterData(param, this.options);\n }\n}\n\nexport default RpcRequestPayload;\nmodule.exports = RpcRequestPayload;\n"],"mappings":"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"}
|
package/lib/tedious.js
CHANGED
|
@@ -71,4 +71,4 @@ function connect(config, connectListener) {
|
|
|
71
71
|
connection.connect(connectListener);
|
|
72
72
|
return connection;
|
|
73
73
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYnVsa0xvYWQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jb25uZWN0aW9uIiwiX3JlcXVlc3QiLCJfbGlicmFyeSIsIl9lcnJvcnMiLCJfZGF0YVR5cGUiLCJfdHJhbnNhY3Rpb24iLCJfdGRzVmVyc2lvbnMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImxpYnJhcnkiLCJuYW1lIiwiZXhwb3J0cyIsImNvbm5lY3QiLCJjb25maWciLCJjb25uZWN0TGlzdGVuZXIiLCJjb25uZWN0aW9uIiwiQ29ubmVjdGlvbiJdLCJzb3VyY2VzIjpbIi4uL3NyYy90ZWRpb3VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWxrTG9hZCBmcm9tICcuL2J1bGstbG9hZCc7XG5pbXBvcnQgQ29ubmVjdGlvbiwgeyB0eXBlIENvbm5lY3Rpb25Db25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb25uZWN0aW9uJztcbmltcG9ydCBSZXF1ZXN0IGZyb20gJy4vcmVxdWVzdCc7XG5pbXBvcnQgeyBuYW1lIH0gZnJvbSAnLi9saWJyYXJ5JztcblxuaW1wb3J0IHsgQ29ubmVjdGlvbkVycm9yLCBSZXF1ZXN0RXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5cbmltcG9ydCB7IFRZUEVTIH0gZnJvbSAnLi9kYXRhLXR5cGUnO1xuaW1wb3J0IHsgSVNPTEFUSU9OX0xFVkVMIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyB2ZXJzaW9ucyBhcyBURFNfVkVSU0lPTiB9IGZyb20gJy4vdGRzLXZlcnNpb25zJztcblxuY29uc3QgbGlicmFyeSA9IHsgbmFtZTogbmFtZSB9O1xuXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdChjb25maWc6IENvbm5lY3Rpb25Db25maWd1cmF0aW9uLCBjb25uZWN0TGlzdGVuZXI/OiAoZXJyPzogRXJyb3IpID0+IHZvaWQpIHtcbiAgY29uc3QgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uKGNvbmZpZyk7XG4gIGNvbm5lY3Rpb24uY29ubmVjdChjb25uZWN0TGlzdGVuZXIpO1xuICByZXR1cm4gY29ubmVjdGlvbjtcbn1cblxuZXhwb3J0IHtcbiAgQnVsa0xvYWQsXG4gIENvbm5lY3Rpb24sXG4gIFJlcXVlc3QsXG4gIGxpYnJhcnksXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgUmVxdWVzdEVycm9yLFxuICBUWVBFUyxcbiAgSVNPTEFUSU9OX0xFVkVMLFxuICBURFNfVkVSU0lPTlxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFlBQUEsR0FBQVAsT0FBQTtBQUF5RCxTQUFBRCx1QkFBQVMsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUV6RCxNQUFNRyxPQUFPLEdBQUc7RUFBRUMsSUFBSSxFQUFFQTtBQUFLLENBQUM7QUFBQ0MsT0FBQSxDQUFBRixPQUFBLEdBQUFBLE9BQUE7QUFFeEIsU0FBU0csT0FBT0EsQ0FBQ0MsTUFBK0IsRUFBRUMsZUFBdUMsRUFBRTtFQUNoRyxNQUFNQyxVQUFVLEdBQUcsSUFBSUMsbUJBQVUsQ0FBQ0gsTUFBTSxDQUFDO0VBQ3pDRSxVQUFVLENBQUNILE9BQU8sQ0FBQ0UsZUFBZSxDQUFDO0VBQ25DLE9BQU9DLFVBQVU7QUFDbkIifQ==
|
package/lib/tedious.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tedious.js","names":["_bulkLoad","_interopRequireDefault","require","_connection","_request","_library","_errors","_dataType","_transaction","_tdsVersions","obj","__esModule","default","library","name","exports","connect","config","connectListener","connection","Connection"],"sources":["../src/tedious.ts"],"sourcesContent":["import BulkLoad from './bulk-load';\nimport Connection, { ConnectionConfiguration } from './connection';\nimport Request from './request';\nimport { name } from './library';\n\nimport { ConnectionError, RequestError } from './errors';\n\nimport { TYPES } from './data-type';\nimport { ISOLATION_LEVEL } from './transaction';\nimport { versions as TDS_VERSION } from './tds-versions';\n\nconst library = { name: name };\n\nexport function connect(config: ConnectionConfiguration, connectListener?: (err?: Error) => void) {\n const connection = new Connection(config);\n connection.connect(connectListener);\n return connection;\n}\n\nexport {\n BulkLoad,\n Connection,\n Request,\n library,\n ConnectionError,\n RequestError,\n TYPES,\n ISOLATION_LEVEL,\n TDS_VERSION\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAAyD,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD,MAAMG,OAAO,GAAG;EAAEC,IAAI,EAAEA;AAAK,CAAC;AAACC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAExB,SAASG,OAAOA,CAACC,MAA+B,EAAEC,eAAuC,EAAE;EAChG,MAAMC,UAAU,GAAG,IAAIC,mBAAU,CAACH,MAAM,CAAC;EACzCE,UAAU,CAACH,OAAO,CAACE,eAAe,CAAC;EACnC,OAAOC,UAAU;AACnB"}
|
|
1
|
+
{"version":3,"file":"tedious.js","names":["_bulkLoad","_interopRequireDefault","require","_connection","_request","_library","_errors","_dataType","_transaction","_tdsVersions","obj","__esModule","default","library","name","exports","connect","config","connectListener","connection","Connection"],"sources":["../src/tedious.ts"],"sourcesContent":["import BulkLoad from './bulk-load';\nimport Connection, { type ConnectionConfiguration } from './connection';\nimport Request from './request';\nimport { name } from './library';\n\nimport { ConnectionError, RequestError } from './errors';\n\nimport { TYPES } from './data-type';\nimport { ISOLATION_LEVEL } from './transaction';\nimport { versions as TDS_VERSION } from './tds-versions';\n\nconst library = { name: name };\n\nexport function connect(config: ConnectionConfiguration, connectListener?: (err?: Error) => void) {\n const connection = new Connection(config);\n connection.connect(connectListener);\n return connection;\n}\n\nexport {\n BulkLoad,\n Connection,\n Request,\n library,\n ConnectionError,\n RequestError,\n TYPES,\n ISOLATION_LEVEL,\n TDS_VERSION\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAAyD,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD,MAAMG,OAAO,GAAG;EAAEC,IAAI,EAAEA;AAAK,CAAC;AAACC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAExB,SAASG,OAAOA,CAACC,MAA+B,EAAEC,eAAuC,EAAE;EAChG,MAAMC,UAAU,GAAG,IAAIC,mBAAU,CAACH,MAAM,CAAC;EACzCE,UAAU,CAACH,OAAO,CAACE,eAAe,CAAC;EACnC,OAAOC,UAAU;AACnB"}
|
|
@@ -93,4 +93,4 @@ async function colMetadataParser(parser) {
|
|
|
93
93
|
var _default = colMetadataParser;
|
|
94
94
|
exports.default = _default;
|
|
95
95
|
module.exports = colMetadataParser;
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWV0YWRhdGFQYXJzZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl90b2tlbiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwicmVhZFRhYmxlTmFtZSIsInBhcnNlciIsIm9wdGlvbnMiLCJtZXRhZGF0YSIsImNhbGxiYWNrIiwidHlwZSIsImhhc1RhYmxlTmFtZSIsInRkc1ZlcnNpb24iLCJyZWFkVUludDgiLCJudW1iZXJPZlRhYmxlTmFtZVBhcnRzIiwidGFibGVOYW1lIiwiaSIsIm5leHQiLCJkb25lIiwicmVhZFVzVmFyQ2hhciIsInBhcnQiLCJwdXNoIiwidW5kZWZpbmVkIiwicmVhZENvbHVtbk5hbWUiLCJpbmRleCIsInJlYWRCVmFyQ2hhciIsImNvbE5hbWUiLCJjb2x1bW5OYW1lUmVwbGFjZXIiLCJjYW1lbENhc2VDb2x1bW5zIiwicmVwbGFjZSIsInMiLCJ0b0xvd2VyQ2FzZSIsInJlYWRDb2x1bW4iLCJtZXRhZGF0YVBhcnNlIiwidXNlclR5cGUiLCJmbGFncyIsImNvbGxhdGlvbiIsInByZWNpc2lvbiIsInNjYWxlIiwidWR0SW5mbyIsImRhdGFMZW5ndGgiLCJzY2hlbWEiLCJjb2xNZXRhZGF0YVBhcnNlciIsImJ1ZmZlciIsImxlbmd0aCIsInBvc2l0aW9uIiwic3RyZWFtQnVmZmVyIiwid2FpdEZvckNodW5rIiwiY29sdW1uQ291bnQiLCJyZWFkVUludDE2TEUiLCJjb2x1bW5zIiwiY29sdW1uIiwiYyIsInN1c3BlbmRlZCIsIkNvbE1ldGFkYXRhVG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vY29sbWV0YWRhdGEtdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZXRhZGF0YVBhcnNlLCB7IHR5cGUgTWV0YWRhdGEgfSBmcm9tICcuLi9tZXRhZGF0YS1wYXJzZXInO1xuXG5pbXBvcnQgUGFyc2VyLCB7IHR5cGUgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyBDb2xNZXRhZGF0YVRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uTWV0YWRhdGEgZXh0ZW5kcyBNZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgY29sdW1uJ3MgbmFtZeOAglxuICAgKi9cbiAgY29sTmFtZTogc3RyaW5nO1xuXG4gIHRhYmxlTmFtZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiByZWFkVGFibGVOYW1lKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBtZXRhZGF0YTogTWV0YWRhdGEsIGNhbGxiYWNrOiAodGFibGVOYW1lPzogc3RyaW5nIHwgc3RyaW5nW10pID0+IHZvaWQpIHtcbiAgaWYgKG1ldGFkYXRhLnR5cGUuaGFzVGFibGVOYW1lKSB7XG4gICAgaWYgKG9wdGlvbnMudGRzVmVyc2lvbiA+PSAnN18yJykge1xuICAgICAgcGFyc2VyLnJlYWRVSW50OCgobnVtYmVyT2ZUYWJsZU5hbWVQYXJ0cykgPT4ge1xuICAgICAgICBjb25zdCB0YWJsZU5hbWU6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBmdW5jdGlvbiBuZXh0KGRvbmU6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgICBpZiAobnVtYmVyT2ZUYWJsZU5hbWVQYXJ0cyA9PT0gaSkge1xuICAgICAgICAgICAgcmV0dXJuIGRvbmUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwYXJzZXIucmVhZFVzVmFyQ2hhcigocGFydCkgPT4ge1xuICAgICAgICAgICAgdGFibGVOYW1lLnB1c2gocGFydCk7XG5cbiAgICAgICAgICAgIGkrKztcblxuICAgICAgICAgICAgbmV4dChkb25lKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5leHQoKCkgPT4ge1xuICAgICAgICAgIGNhbGxiYWNrKHRhYmxlTmFtZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlci5yZWFkVXNWYXJDaGFyKGNhbGxiYWNrKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY2FsbGJhY2sodW5kZWZpbmVkKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWFkQ29sdW1uTmFtZShwYXJzZXI6IFBhcnNlciwgb3B0aW9uczogUGFyc2VyT3B0aW9ucywgaW5kZXg6IG51bWJlciwgbWV0YWRhdGE6IE1ldGFkYXRhLCBjYWxsYmFjazogKGNvbE5hbWU6IHN0cmluZykgPT4gdm9pZCkge1xuICBwYXJzZXIucmVhZEJWYXJDaGFyKChjb2xOYW1lKSA9PiB7XG4gICAgaWYgKG9wdGlvbnMuY29sdW1uTmFtZVJlcGxhY2VyKSB7XG4gICAgICBjYWxsYmFjayhvcHRpb25zLmNvbHVtbk5hbWVSZXBsYWNlcihjb2xOYW1lLCBpbmRleCwgbWV0YWRhdGEpKTtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMuY2FtZWxDYXNlQ29sdW1ucykge1xuICAgICAgY2FsbGJhY2soY29sTmFtZS5yZXBsYWNlKC9eW0EtWl0vLCBmdW5jdGlvbihzKSB7XG4gICAgICAgIHJldHVybiBzLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhbGxiYWNrKGNvbE5hbWUpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlYWRDb2x1bW4ocGFyc2VyOiBQYXJzZXIsIG9wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGluZGV4OiBudW1iZXIsIGNhbGxiYWNrOiAoY29sdW1uOiBDb2x1bW5NZXRhZGF0YSkgPT4gdm9pZCkge1xuICBtZXRhZGF0YVBhcnNlKHBhcnNlciwgb3B0aW9ucywgKG1ldGFkYXRhKSA9PiB7XG4gICAgcmVhZFRhYmxlTmFtZShwYXJzZXIsIG9wdGlvbnMsIG1ldGFkYXRhLCAodGFibGVOYW1lKSA9PiB7XG4gICAgICByZWFkQ29sdW1uTmFtZShwYXJzZXIsIG9wdGlvbnMsIGluZGV4LCBtZXRhZGF0YSwgKGNvbE5hbWUpID0+IHtcbiAgICAgICAgY2FsbGJhY2soe1xuICAgICAgICAgIHVzZXJUeXBlOiBtZXRhZGF0YS51c2VyVHlwZSxcbiAgICAgICAgICBmbGFnczogbWV0YWRhdGEuZmxhZ3MsXG4gICAgICAgICAgdHlwZTogbWV0YWRhdGEudHlwZSxcbiAgICAgICAgICBjb2xsYXRpb246IG1ldGFkYXRhLmNvbGxhdGlvbixcbiAgICAgICAgICBwcmVjaXNpb246IG1ldGFkYXRhLnByZWNpc2lvbixcbiAgICAgICAgICBzY2FsZTogbWV0YWRhdGEuc2NhbGUsXG4gICAgICAgICAgdWR0SW5mbzogbWV0YWRhdGEudWR0SW5mbyxcbiAgICAgICAgICBkYXRhTGVuZ3RoOiBtZXRhZGF0YS5kYXRhTGVuZ3RoLFxuICAgICAgICAgIHNjaGVtYTogbWV0YWRhdGEuc2NoZW1hLFxuICAgICAgICAgIGNvbE5hbWU6IGNvbE5hbWUsXG4gICAgICAgICAgdGFibGVOYW1lOiB0YWJsZU5hbWVcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNvbE1ldGFkYXRhUGFyc2VyKHBhcnNlcjogUGFyc2VyKTogUHJvbWlzZTxDb2xNZXRhZGF0YVRva2VuPiB7XG4gIHdoaWxlIChwYXJzZXIuYnVmZmVyLmxlbmd0aCAtIHBhcnNlci5wb3NpdGlvbiA8IDIpIHtcbiAgICBhd2FpdCBwYXJzZXIuc3RyZWFtQnVmZmVyLndhaXRGb3JDaHVuaygpO1xuICB9XG5cbiAgY29uc3QgY29sdW1uQ291bnQgPSBwYXJzZXIuYnVmZmVyLnJlYWRVSW50MTZMRShwYXJzZXIucG9zaXRpb24pO1xuICBwYXJzZXIucG9zaXRpb24gKz0gMjtcblxuICBjb25zdCBjb2x1bW5zOiBDb2x1bW5NZXRhZGF0YVtdID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1uQ291bnQ7IGkrKykge1xuICAgIGxldCBjb2x1bW46IENvbHVtbk1ldGFkYXRhO1xuXG4gICAgcmVhZENvbHVtbihwYXJzZXIsIHBhcnNlci5vcHRpb25zLCBpLCAoYykgPT4ge1xuICAgICAgY29sdW1uID0gYztcbiAgICB9KTtcblxuICAgIHdoaWxlIChwYXJzZXIuc3VzcGVuZGVkKSB7XG4gICAgICBhd2FpdCBwYXJzZXIuc3RyZWFtQnVmZmVyLndhaXRGb3JDaHVuaygpO1xuXG4gICAgICBwYXJzZXIuc3VzcGVuZGVkID0gZmFsc2U7XG4gICAgICBjb25zdCBuZXh0ID0gcGFyc2VyLm5leHQhO1xuXG4gICAgICBuZXh0KCk7XG4gICAgfVxuXG4gICAgY29sdW1ucy5wdXNoKGNvbHVtbiEpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBDb2xNZXRhZGF0YVRva2VuKGNvbHVtbnMpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb2xNZXRhZGF0YVBhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gY29sTWV0YWRhdGFQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUEyQyxTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQVczQyxTQUFTRyxhQUFhQSxDQUFDQyxNQUFjLEVBQUVDLE9BQXNCLEVBQUVDLFFBQWtCLEVBQUVDLFFBQWlELEVBQUU7RUFDcEksSUFBSUQsUUFBUSxDQUFDRSxJQUFJLENBQUNDLFlBQVksRUFBRTtJQUM5QixJQUFJSixPQUFPLENBQUNLLFVBQVUsSUFBSSxLQUFLLEVBQUU7TUFDL0JOLE1BQU0sQ0FBQ08sU0FBUyxDQUFFQyxzQkFBc0IsSUFBSztRQUMzQyxNQUFNQyxTQUFtQixHQUFHLEVBQUU7UUFFOUIsSUFBSUMsQ0FBQyxHQUFHLENBQUM7UUFDVCxTQUFTQyxJQUFJQSxDQUFDQyxJQUFn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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colmetadata-token-parser.js","names":["_metadataParser","_interopRequireDefault","require","_token","obj","__esModule","default","readTableName","parser","options","metadata","callback","type","hasTableName","tdsVersion","readUInt8","numberOfTableNameParts","tableName","i","next","done","readUsVarChar","part","push","undefined","readColumnName","index","readBVarChar","colName","columnNameReplacer","camelCaseColumns","replace","s","toLowerCase","readColumn","metadataParse","userType","flags","collation","precision","scale","udtInfo","dataLength","schema","colMetadataParser","buffer","length","position","streamBuffer","waitForChunk","columnCount","readUInt16LE","columns","column","c","suspended","ColMetadataToken","_default","exports","module"],"sources":["../../src/token/colmetadata-token-parser.ts"],"sourcesContent":["import metadataParse, { Metadata } from '../metadata-parser';\n\nimport Parser, { ParserOptions } from './stream-parser';\nimport { ColMetadataToken } from './token';\n\nexport interface ColumnMetadata extends Metadata {\n /**\n * The column's name。\n */\n colName: string;\n\n tableName?: string | string[] | undefined;\n}\n\nfunction readTableName(parser: Parser, options: ParserOptions, metadata: Metadata, callback: (tableName?: string | string[]) => void) {\n if (metadata.type.hasTableName) {\n if (options.tdsVersion >= '7_2') {\n parser.readUInt8((numberOfTableNameParts) => {\n const tableName: string[] = [];\n\n let i = 0;\n function next(done: () => void) {\n if (numberOfTableNameParts === i) {\n return done();\n }\n\n parser.readUsVarChar((part) => {\n tableName.push(part);\n\n i++;\n\n next(done);\n });\n }\n\n next(() => {\n callback(tableName);\n });\n });\n } else {\n parser.readUsVarChar(callback);\n }\n } else {\n callback(undefined);\n }\n}\n\nfunction readColumnName(parser: Parser, options: ParserOptions, index: number, metadata: Metadata, callback: (colName: string) => void) {\n parser.readBVarChar((colName) => {\n if (options.columnNameReplacer) {\n callback(options.columnNameReplacer(colName, index, metadata));\n } else if (options.camelCaseColumns) {\n callback(colName.replace(/^[A-Z]/, function(s) {\n return s.toLowerCase();\n }));\n } else {\n callback(colName);\n }\n });\n}\n\nfunction readColumn(parser: Parser, options: ParserOptions, index: number, callback: (column: ColumnMetadata) => void) {\n metadataParse(parser, options, (metadata) => {\n readTableName(parser, options, metadata, (tableName) => {\n readColumnName(parser, options, index, metadata, (colName) => {\n callback({\n userType: metadata.userType,\n flags: metadata.flags,\n type: metadata.type,\n collation: metadata.collation,\n precision: metadata.precision,\n scale: metadata.scale,\n udtInfo: metadata.udtInfo,\n dataLength: metadata.dataLength,\n schema: metadata.schema,\n colName: colName,\n tableName: tableName\n });\n });\n });\n });\n}\n\nasync function colMetadataParser(parser: Parser): Promise<ColMetadataToken> {\n while (parser.buffer.length - parser.position < 2) {\n await parser.streamBuffer.waitForChunk();\n }\n\n const columnCount = parser.buffer.readUInt16LE(parser.position);\n parser.position += 2;\n\n const columns: ColumnMetadata[] = [];\n for (let i = 0; i < columnCount; i++) {\n let column: ColumnMetadata;\n\n readColumn(parser, parser.options, i, (c) => {\n column = c;\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\n columns.push(column!);\n }\n\n return new ColMetadataToken(columns);\n}\n\nexport default colMetadataParser;\nmodule.exports = colMetadataParser;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colmetadata-token-parser.js","names":["_metadataParser","_interopRequireDefault","require","_token","obj","__esModule","default","readTableName","parser","options","metadata","callback","type","hasTableName","tdsVersion","readUInt8","numberOfTableNameParts","tableName","i","next","done","readUsVarChar","part","push","undefined","readColumnName","index","readBVarChar","colName","columnNameReplacer","camelCaseColumns","replace","s","toLowerCase","readColumn","metadataParse","userType","flags","collation","precision","scale","udtInfo","dataLength","schema","colMetadataParser","buffer","length","position","streamBuffer","waitForChunk","columnCount","readUInt16LE","columns","column","c","suspended","ColMetadataToken","_default","exports","module"],"sources":["../../src/token/colmetadata-token-parser.ts"],"sourcesContent":["import metadataParse, { type Metadata } from '../metadata-parser';\n\nimport Parser, { type ParserOptions } from './stream-parser';\nimport { ColMetadataToken } from './token';\n\nexport interface ColumnMetadata extends Metadata {\n /**\n * The column's name。\n */\n colName: string;\n\n tableName?: string | string[] | undefined;\n}\n\nfunction readTableName(parser: Parser, options: ParserOptions, metadata: Metadata, callback: (tableName?: string | string[]) => void) {\n if (metadata.type.hasTableName) {\n if (options.tdsVersion >= '7_2') {\n parser.readUInt8((numberOfTableNameParts) => {\n const tableName: string[] = [];\n\n let i = 0;\n function next(done: () => void) {\n if (numberOfTableNameParts === i) {\n return done();\n }\n\n parser.readUsVarChar((part) => {\n tableName.push(part);\n\n i++;\n\n next(done);\n });\n }\n\n next(() => {\n callback(tableName);\n });\n });\n } else {\n parser.readUsVarChar(callback);\n }\n } else {\n callback(undefined);\n }\n}\n\nfunction readColumnName(parser: Parser, options: ParserOptions, index: number, metadata: Metadata, callback: (colName: string) => void) {\n parser.readBVarChar((colName) => {\n if (options.columnNameReplacer) {\n callback(options.columnNameReplacer(colName, index, metadata));\n } else if (options.camelCaseColumns) {\n callback(colName.replace(/^[A-Z]/, function(s) {\n return s.toLowerCase();\n }));\n } else {\n callback(colName);\n }\n });\n}\n\nfunction readColumn(parser: Parser, options: ParserOptions, index: number, callback: (column: ColumnMetadata) => void) {\n metadataParse(parser, options, (metadata) => {\n readTableName(parser, options, metadata, (tableName) => {\n readColumnName(parser, options, index, metadata, (colName) => {\n callback({\n userType: metadata.userType,\n flags: metadata.flags,\n type: metadata.type,\n collation: metadata.collation,\n precision: metadata.precision,\n scale: metadata.scale,\n udtInfo: metadata.udtInfo,\n dataLength: metadata.dataLength,\n schema: metadata.schema,\n colName: colName,\n tableName: tableName\n });\n });\n });\n });\n}\n\nasync function colMetadataParser(parser: Parser): Promise<ColMetadataToken> {\n while (parser.buffer.length - parser.position < 2) {\n await parser.streamBuffer.waitForChunk();\n }\n\n const columnCount = parser.buffer.readUInt16LE(parser.position);\n parser.position += 2;\n\n const columns: ColumnMetadata[] = [];\n for (let i = 0; i < columnCount; i++) {\n let column: ColumnMetadata;\n\n readColumn(parser, parser.options, i, (c) => {\n column = c;\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\n columns.push(column!);\n }\n\n return new ColMetadataToken(columns);\n}\n\nexport default colMetadataParser;\nmodule.exports = colMetadataParser;\n"],"mappings":"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"}
|
|
@@ -61,4 +61,4 @@ function doneProcParser(parser, options, callback) {
|
|
|
61
61
|
callback(new _token.DoneProcToken(data));
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiU1RBVFVTIiwiTU9SRSIsIkVSUk9SIiwiSU5YQUNUIiwiQ09VTlQiLCJBVFROIiwiU1JWRVJST1IiLCJwYXJzZVRva2VuIiwicGFyc2VyIiwib3B0aW9ucyIsImNhbGxiYWNrIiwicmVhZFVJbnQxNkxFIiwic3RhdHVzIiwibW9yZSIsInNxbEVycm9yIiwicm93Q291bnRWYWxpZCIsImF0dGVudGlvbiIsInNlcnZlckVycm9yIiwiY3VyQ21kIiwibmV4dCIsInJvd0NvdW50IiwidW5kZWZpbmVkIiwidGRzVmVyc2lvbiIsInJlYWRVSW50MzJMRSIsInJlYWRCaWdVSW50NjRMRSIsIk51bWJlciIsImRvbmVQYXJzZXIiLCJkYXRhIiwiRG9uZVRva2VuIiwiZG9uZUluUHJvY1BhcnNlciIsIkRvbmVJblByb2NUb2tlbiIsImRvbmVQcm9jUGFyc2VyIiwiRG9uZVByb2NUb2tlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9kb25lLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2VyLCB7IHR5cGUgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyBEb25lVG9rZW4sIERvbmVJblByb2NUb2tlbiwgRG9uZVByb2NUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG4vLyBzMi4yLjcuNS82LzdcblxuY29uc3QgU1RBVFVTID0ge1xuICBNT1JFOiAweDAwMDEsXG4gIEVSUk9SOiAweDAwMDIsXG4gIC8vIFRoaXMgYml0IGlzIG5vdCB5ZXQgaW4gdXNlIGJ5IFNRTCBTZXJ2ZXIsIHNvIGlzIG5vdCBleHBvc2VkIGluIHRoZSByZXR1cm5lZCB0b2tlblxuICBJTlhBQ1Q6IDB4MDAwNCxcbiAgQ09VTlQ6IDB4MDAxMCxcbiAgQVRUTjogMHgwMDIwLFxuICBTUlZFUlJPUjogMHgwMTAwXG59O1xuXG5pbnRlcmZhY2UgVG9rZW5EYXRhIHtcbiAgbW9yZTogYm9vbGVhbjtcbiAgc3FsRXJyb3I6IGJvb2xlYW47XG4gIGF0dGVudGlvbjogYm9vbGVhbjtcbiAgc2VydmVyRXJyb3I6IGJvb2xlYW47XG4gIHJvd0NvdW50OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGN1ckNtZDogbnVtYmVyO1xufVxuXG5mdW5jdGlvbiBwYXJzZVRva2VuKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKGRhdGE6IFRva2VuRGF0YSkgPT4gdm9pZCkge1xuICBwYXJzZXIucmVhZFVJbnQxNkxFKChzdGF0dXMpID0+IHtcbiAgICBjb25zdCBtb3JlID0gISEoc3RhdHVzICYgU1RBVFVTLk1PUkUpO1xuICAgIGNvbnN0IHNxbEVycm9yID0gISEoc3RhdHVzICYgU1RBVFVTLkVSUk9SKTtcbiAgICBjb25zdCByb3dDb3VudFZhbGlkID0gISEoc3RhdHVzICYgU1RBVFVTLkNPVU5UKTtcbiAgICBjb25zdCBhdHRlbnRpb24gPSAhIShzdGF0dXMgJiBTVEFUVVMuQVRUTik7XG4gICAgY29uc3Qgc2VydmVyRXJyb3IgPSAhIShzdGF0dXMgJiBTVEFUVVMuU1JWRVJST1IpO1xuXG4gICAgcGFyc2VyLnJlYWRVSW50MTZMRSgoY3VyQ21kKSA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gKHJvd0NvdW50OiBudW1iZXIpID0+IHtcbiAgICAgICAgY2FsbGJhY2soe1xuICAgICAgICAgIG1vcmU6IG1vcmUsXG4gICAgICAgICAgc3FsRXJyb3I6IHNxbEVycm9yLFxuICAgICAgICAgIGF0dGVudGlvbjogYXR0ZW50aW9uLFxuICAgICAgICAgIHNlcnZlckVycm9yOiBzZXJ2ZXJFcnJvcixcbiAgICAgICAgICByb3dDb3VudDogcm93Q291bnRWYWxpZCA/IHJvd0NvdW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgIGN1ckNtZDogY3VyQ21kXG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgaWYgKG9wdGlvbnMudGRzVmVyc2lvbiA8ICc3XzInKSB7XG4gICAgICAgIHBhcnNlci5yZWFkVUludDMyTEUobmV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJzZXIucmVhZEJpZ1VJbnQ2NExFKChyb3dDb3VudCkgPT4ge1xuICAgICAgICAgIG5leHQoTnVtYmVyKHJvd0NvdW50KSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvbmVQYXJzZXIocGFyc2VyOiBQYXJzZXIsIG9wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IERvbmVUb2tlbikgPT4gdm9pZCkge1xuICBwYXJzZVRva2VuKHBhcnNlciwgb3B0aW9ucywgKGRhdGEpID0+IHtcbiAgICBjYWxsYmFjayhuZXcgRG9uZVRva2VuKGRhdGEpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb25lSW5Qcm9jUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBEb25lSW5Qcm9jVG9rZW4pID0+IHZvaWQpIHtcbiAgcGFyc2VUb2tlbihwYXJzZXIsIG9wdGlvbnMsIChkYXRhKSA9PiB7XG4gICAgY2FsbGJhY2sobmV3IERvbmVJblByb2NUb2tlbihkYXRhKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9uZVByb2NQYXJzZXIocGFyc2VyOiBQYXJzZXIsIG9wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IERvbmVQcm9jVG9rZW4pID0+IHZvaWQpIHtcbiAgcGFyc2VUb2tlbihwYXJzZXIsIG9wdGlvbnMsIChkYXRhKSA9PiB7XG4gICAgY2FsbGJhY2sobmV3IERvbmVQcm9jVG9rZW4oZGF0YSkpO1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQTs7QUFFQSxNQUFNQyxNQUFNLEdBQUc7RUFDYkMsSUFBSSxFQUFF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"done-token-parser.js","names":["_token","require","STATUS","MORE","ERROR","INXACT","COUNT","ATTN","SRVERROR","parseToken","parser","options","callback","readUInt16LE","status","more","sqlError","rowCountValid","attention","serverError","curCmd","next","rowCount","undefined","tdsVersion","readUInt32LE","readBigUInt64LE","Number","doneParser","data","DoneToken","doneInProcParser","DoneInProcToken","doneProcParser","DoneProcToken"],"sources":["../../src/token/done-token-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\nimport { DoneToken, DoneInProcToken, DoneProcToken } from './token';\n\n// s2.2.7.5/6/7\n\nconst STATUS = {\n MORE: 0x0001,\n ERROR: 0x0002,\n // This bit is not yet in use by SQL Server, so is not exposed in the returned token\n INXACT: 0x0004,\n COUNT: 0x0010,\n ATTN: 0x0020,\n SRVERROR: 0x0100\n};\n\ninterface TokenData {\n more: boolean;\n sqlError: boolean;\n attention: boolean;\n serverError: boolean;\n rowCount: number | undefined;\n curCmd: number;\n}\n\nfunction parseToken(parser: Parser, options: ParserOptions, callback: (data: TokenData) => void) {\n parser.readUInt16LE((status) => {\n const more = !!(status & STATUS.MORE);\n const sqlError = !!(status & STATUS.ERROR);\n const rowCountValid = !!(status & STATUS.COUNT);\n const attention = !!(status & STATUS.ATTN);\n const serverError = !!(status & STATUS.SRVERROR);\n\n parser.readUInt16LE((curCmd) => {\n const next = (rowCount: number) => {\n callback({\n more: more,\n sqlError: sqlError,\n attention: attention,\n serverError: serverError,\n rowCount: rowCountValid ? rowCount : undefined,\n curCmd: curCmd\n });\n };\n\n if (options.tdsVersion < '7_2') {\n parser.readUInt32LE(next);\n } else {\n parser.readBigUInt64LE((rowCount) => {\n next(Number(rowCount));\n });\n }\n });\n });\n}\n\nexport function doneParser(parser: Parser, options: ParserOptions, callback: (token: DoneToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneToken(data));\n });\n}\n\nexport function doneInProcParser(parser: Parser, options: ParserOptions, callback: (token: DoneInProcToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneInProcToken(data));\n });\n}\n\nexport function doneProcParser(parser: Parser, options: ParserOptions, callback: (token: DoneProcToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneProcToken(data));\n });\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA;;AAEA,MAAMC,MAAM,GAAG;EACbC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,MAAM;EACb;EACAC,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE;AACZ,CAAC;AAWD,SAASC,UAAUA,CAACC,MAAc,EAAEC,OAAsB,EAAEC,QAAmC,EAAE;EAC/FF,MAAM,CAACG,YAAY,CAAEC,MAAM,IAAK;IAC9B,MAAMC,IAAI,GAAG,CAAC,EAAED,MAAM,GAAGZ,MAAM,CAACC,IAAI,CAAC;IACrC,MAAMa,QAAQ,GAAG,CAAC,EAAEF,MAAM,GAAGZ,MAAM,CAACE,KAAK,CAAC;IAC1C,MAAMa,aAAa,GAAG,CAAC,EAAEH,MAAM,GAAGZ,MAAM,CAACI,KAAK,CAAC;IAC/C,MAAMY,SAAS,GAAG,CAAC,EAAEJ,MAAM,GAAGZ,MAAM,CAACK,IAAI,CAAC;IAC1C,MAAMY,WAAW,GAAG,CAAC,EAAEL,MAAM,GAAGZ,MAAM,CAACM,QAAQ,CAAC;IAEhDE,MAAM,CAACG,YAAY,CAAEO,MAAM,IAAK;MAC9B,MAAMC,IAAI,GAAIC,QAAgB,IAAK;QACjCV,QAAQ,CAAC;UACPG,IAAI,EAAEA,IAAI;UACVC,QAAQ,EAAEA,QAAQ;UAClBE,SAAS,EAAEA,SAAS;UACpBC,WAAW,EAAEA,WAAW;UACxBG,QAAQ,EAAEL,aAAa,GAAGK,QAAQ,GAAGC,SAAS;UAC9CH,MAAM,EAAEA;QACV,CAAC,CAAC;MACJ,CAAC;MAED,IAAIT,OAAO,CAACa,UAAU,GAAG,KAAK,EAAE;QAC9Bd,MAAM,CAACe,YAAY,CAACJ,IAAI,CAAC;MAC3B,CAAC,MAAM;QACLX,MAAM,CAACgB,eAAe,CAAEJ,QAAQ,IAAK;UACnCD,IAAI,CAACM,MAAM,CAACL,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEO,SAASM,UAAUA,CAAClB,MAAc,EAAEC,OAAsB,EAAEC,QAAoC,EAAE;EACvGH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIkB,gBAAS,CAACD,IAAI,CAAC,CAAC;EAC/B,CAAC,CAAC;AACJ;AAEO,SAASE,gBAAgBA,CAACrB,MAAc,EAAEC,OAAsB,EAAEC,QAA0C,EAAE;EACnHH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIoB,sBAAe,CAACH,IAAI,CAAC,CAAC;EACrC,CAAC,CAAC;AACJ;AAEO,SAASI,cAAcA,CAACvB,MAAc,EAAEC,OAAsB,EAAEC,QAAwC,EAAE;EAC/GH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIsB,oBAAa,CAACL,IAAI,CAAC,CAAC;EACnC,CAAC,CAAC;AACJ"}
|
|
1
|
+
{"version":3,"file":"done-token-parser.js","names":["_token","require","STATUS","MORE","ERROR","INXACT","COUNT","ATTN","SRVERROR","parseToken","parser","options","callback","readUInt16LE","status","more","sqlError","rowCountValid","attention","serverError","curCmd","next","rowCount","undefined","tdsVersion","readUInt32LE","readBigUInt64LE","Number","doneParser","data","DoneToken","doneInProcParser","DoneInProcToken","doneProcParser","DoneProcToken"],"sources":["../../src/token/done-token-parser.ts"],"sourcesContent":["import Parser, { type ParserOptions } from './stream-parser';\nimport { DoneToken, DoneInProcToken, DoneProcToken } from './token';\n\n// s2.2.7.5/6/7\n\nconst STATUS = {\n MORE: 0x0001,\n ERROR: 0x0002,\n // This bit is not yet in use by SQL Server, so is not exposed in the returned token\n INXACT: 0x0004,\n COUNT: 0x0010,\n ATTN: 0x0020,\n SRVERROR: 0x0100\n};\n\ninterface TokenData {\n more: boolean;\n sqlError: boolean;\n attention: boolean;\n serverError: boolean;\n rowCount: number | undefined;\n curCmd: number;\n}\n\nfunction parseToken(parser: Parser, options: ParserOptions, callback: (data: TokenData) => void) {\n parser.readUInt16LE((status) => {\n const more = !!(status & STATUS.MORE);\n const sqlError = !!(status & STATUS.ERROR);\n const rowCountValid = !!(status & STATUS.COUNT);\n const attention = !!(status & STATUS.ATTN);\n const serverError = !!(status & STATUS.SRVERROR);\n\n parser.readUInt16LE((curCmd) => {\n const next = (rowCount: number) => {\n callback({\n more: more,\n sqlError: sqlError,\n attention: attention,\n serverError: serverError,\n rowCount: rowCountValid ? rowCount : undefined,\n curCmd: curCmd\n });\n };\n\n if (options.tdsVersion < '7_2') {\n parser.readUInt32LE(next);\n } else {\n parser.readBigUInt64LE((rowCount) => {\n next(Number(rowCount));\n });\n }\n });\n });\n}\n\nexport function doneParser(parser: Parser, options: ParserOptions, callback: (token: DoneToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneToken(data));\n });\n}\n\nexport function doneInProcParser(parser: Parser, options: ParserOptions, callback: (token: DoneInProcToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneInProcToken(data));\n });\n}\n\nexport function doneProcParser(parser: Parser, options: ParserOptions, callback: (token: DoneProcToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneProcToken(data));\n });\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA;;AAEA,MAAMC,MAAM,GAAG;EACbC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,MAAM;EACb;EACAC,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE;AACZ,CAAC;AAWD,SAASC,UAAUA,CAACC,MAAc,EAAEC,OAAsB,EAAEC,QAAmC,EAAE;EAC/FF,MAAM,CAACG,YAAY,CAAEC,MAAM,IAAK;IAC9B,MAAMC,IAAI,GAAG,CAAC,EAAED,MAAM,GAAGZ,MAAM,CAACC,IAAI,CAAC;IACrC,MAAMa,QAAQ,GAAG,CAAC,EAAEF,MAAM,GAAGZ,MAAM,CAACE,KAAK,CAAC;IAC1C,MAAMa,aAAa,GAAG,CAAC,EAAEH,MAAM,GAAGZ,MAAM,CAACI,KAAK,CAAC;IAC/C,MAAMY,SAAS,GAAG,CAAC,EAAEJ,MAAM,GAAGZ,MAAM,CAACK,IAAI,CAAC;IAC1C,MAAMY,WAAW,GAAG,CAAC,EAAEL,MAAM,GAAGZ,MAAM,CAACM,QAAQ,CAAC;IAEhDE,MAAM,CAACG,YAAY,CAAEO,MAAM,IAAK;MAC9B,MAAMC,IAAI,GAAIC,QAAgB,IAAK;QACjCV,QAAQ,CAAC;UACPG,IAAI,EAAEA,IAAI;UACVC,QAAQ,EAAEA,QAAQ;UAClBE,SAAS,EAAEA,SAAS;UACpBC,WAAW,EAAEA,WAAW;UACxBG,QAAQ,EAAEL,aAAa,GAAGK,QAAQ,GAAGC,SAAS;UAC9CH,MAAM,EAAEA;QACV,CAAC,CAAC;MACJ,CAAC;MAED,IAAIT,OAAO,CAACa,UAAU,GAAG,KAAK,EAAE;QAC9Bd,MAAM,CAACe,YAAY,CAACJ,IAAI,CAAC;MAC3B,CAAC,MAAM;QACLX,MAAM,CAACgB,eAAe,CAAEJ,QAAQ,IAAK;UACnCD,IAAI,CAACM,MAAM,CAACL,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEO,SAASM,UAAUA,CAAClB,MAAc,EAAEC,OAAsB,EAAEC,QAAoC,EAAE;EACvGH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIkB,gBAAS,CAACD,IAAI,CAAC,CAAC;EAC/B,CAAC,CAAC;AACJ;AAEO,SAASE,gBAAgBA,CAACrB,MAAc,EAAEC,OAAsB,EAAEC,QAA0C,EAAE;EACnHH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIoB,sBAAe,CAACH,IAAI,CAAC,CAAC;EACrC,CAAC,CAAC;AACJ;AAEO,SAASI,cAAcA,CAACvB,MAAc,EAAEC,OAAsB,EAAEC,QAAwC,EAAE;EAC/GH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIsB,oBAAa,CAACL,IAAI,CAAC,CAAC;EACnC,CAAC,CAAC;AACJ"}
|
|
@@ -159,4 +159,4 @@ function envChangeParser(parser, _options, callback) {
|
|
|
159
159
|
var _default = envChangeParser;
|
|
160
160
|
exports.default = _default;
|
|
161
161
|
module.exports = envChangeParser;
|
|
162
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29sbGF0aW9uIiwicmVxdWlyZSIsIl90b2tlbiIsInR5cGVzIiwibmFtZSIsImV2ZW50IiwicmVhZE5ld0FuZE9sZFZhbHVlIiwicGFyc2VyIiwibGVuZ3RoIiwidHlwZSIsImNhbGxiYWNrIiwicmVhZEJWYXJDaGFyIiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsIlBhY2tldFNpemVFbnZDaGFuZ2VUb2tlbiIsInBhcnNlSW50IiwiRGF0YWJhc2VFbnZDaGFuZ2VUb2tlbiIsIkxhbmd1YWdlRW52Q2hhbmdlVG9rZW4iLCJDaGFyc2V0RW52Q2hhbmdlVG9rZW4iLCJEYXRhYmFzZU1pcnJvcmluZ1BhcnRuZXJFbnZDaGFuZ2VUb2tlbiIsInJlYWRCVmFyQnl0ZSIsIm5ld0NvbGxhdGlvbiIsIkNvbGxhdGlvbiIsImZyb21CdWZmZXIiLCJ1bmRlZmluZWQiLCJvbGRDb2xsYXRpb24iLCJDb2xsYXRpb25DaGFuZ2VUb2tlbiIsIkJlZ2luVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbiIsIkNvbW1pdFRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4iLCJSb2xsYmFja1RyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4iLCJSZXNldENvbm5lY3Rpb25FbnZDaGFuZ2VUb2tlbiIsInJlYWRVSW50MTZMRSIsInZhbHVlTGVuZ3RoIiwicmVhZEJ1ZmZlciIsInJvdXRlUGFja2V0IiwicHJvdG9jb2wiLCJyZWFkVUludDgiLCJFcnJvciIsInBvcnQiLCJzZXJ2ZXJMZW4iLCJzZXJ2ZXIiLCJ0b1N0cmluZyIsIm9sZFZhbHVlTGVuZ3RoIiwiUm91dGluZ0VudkNoYW5nZVRva2VuIiwiY29uc29sZSIsImVycm9yIiwiZW52Q2hhbmdlUGFyc2VyIiwiX29wdGlvbnMiLCJ0eXBlTnVtYmVyIiwidG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rva2VuL2Vudi1jaGFuZ2UtdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyBDb2xsYXRpb24gfSBmcm9tICcuLi9jb2xsYXRpb24nO1xuXG5pbXBvcnQge1xuICBEYXRhYmFzZUVudkNoYW5nZVRva2VuLFxuICBMYW5ndWFnZUVudkNoYW5nZVRva2VuLFxuICBDaGFyc2V0RW52Q2hhbmdlVG9rZW4sXG4gIFBhY2tldFNpemVFbnZDaGFuZ2VUb2tlbixcbiAgQmVnaW5UcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuLFxuICBDb21taXRUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuLFxuICBSb2xsYmFja1RyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4sXG4gIERhdGFiYXNlTWlycm9yaW5nUGFydG5lckVudkNoYW5nZVRva2VuLFxuICBSZXNldENvbm5lY3Rpb25FbnZDaGFuZ2VUb2tlbixcbiAgUm91dGluZ0VudkNoYW5nZVRva2VuLFxuICBDb2xsYXRpb25DaGFuZ2VUb2tlblxufSBmcm9tICcuL3Rva2VuJztcblxudHlwZSBFbnZDaGFuZ2VUb2tlbiA9XG4gIERhdGFiYXNlRW52Q2hhbmdlVG9rZW4gfFxuICBMYW5ndWFnZUVudkNoYW5nZVRva2VuIHxcbiAgQ2hhcnNldEVudkNoYW5nZVRva2VuIHxcbiAgUGFja2V0U2l6ZUVudkNoYW5nZVRva2VuIHxcbiAgQmVnaW5UcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuIHxcbiAgQ29tbWl0VHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbiB8XG4gIFJvbGxiYWNrVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbiB8XG4gIERhdGFiYXNlTWlycm9yaW5nUGFydG5lckVudkNoYW5nZVRva2VuIHxcbiAgUmVzZXRDb25uZWN0aW9uRW52Q2hhbmdlVG9rZW4gfFxuICBSb3V0aW5nRW52Q2hhbmdlVG9rZW4gfFxuICBDb2xsYXRpb25DaGFuZ2VUb2tlbjtcblxuY29uc3QgdHlwZXM6IHsgW2tleTogbnVtYmVyXTogeyBuYW1lOiBzdHJpbmcsIGV2ZW50Pzogc3RyaW5nIH19ID0ge1xuICAxOiB7XG4gICAgbmFtZTogJ0RBVEFCQVNFJyxcbiAgICBldmVudDogJ2RhdGFiYXNlQ2hhbmdlJ1xuICB9LFxuICAyOiB7XG4gICAgbmFtZTogJ0xBTkdVQUdFJyxcbiAgICBldmVudDogJ2xhbmd1YWdlQ2hhbmdlJ1xuICB9LFxuICAzOiB7XG4gICAgbmFtZTogJ0NIQVJTRVQnLFxuICAgIGV2ZW50OiAnY2hhcnNldENoYW5nZSdcbiAgfSxcbiAgNDoge1xuICAgIG5hbWU6ICdQQUNLRVRfU0laRScsXG4gICAgZXZlbnQ6ICdwYWNrZXRTaXplQ2hhbmdlJ1xuICB9LFxuICA3OiB7XG4gICAgbmFtZTogJ1NRTF9DT0xMQVRJT04nLFxuICAgIGV2ZW50OiAnc3FsQ29sbGF0aW9uQ2hhbmdlJ1xuICB9LFxuICA4OiB7XG4gICAgbmFtZTogJ0JFR0lOX1RYTicsXG4gICAgZXZlbnQ6ICdiZWdpblRyYW5zYWN0aW9uJ1xuICB9LFxuICA5OiB7XG4gICAgbmFtZTogJ0NPTU1JVF9UWE4nLFxuICAgIGV2ZW50OiAnY29tbWl0VHJhbnNhY3Rpb24nXG4gIH0sXG4gIDEwOiB7XG4gICAgbmFtZTogJ1JPTExCQUNLX1RYTicsXG4gICAgZXZlbnQ6ICdyb2xsYmFja1RyYW5zYWN0aW9uJ1xuICB9LFxuICAxMzoge1xuICAgIG5hbWU6ICdEQVRBQkFTRV9NSVJST1JJTkdfUEFSVE5FUicsXG4gICAgZXZlbnQ6ICdwYXJ0bmVyTm9kZSdcbiAgfSxcbiAgMTc6IHtcbiAgICBuYW1lOiAnVFhOX0VOREVEJ1xuICB9LFxuICAxODoge1xuICAgIG5hbWU6ICdSRVNFVF9DT05ORUNUSU9OJyxcbiAgICBldmVudDogJ3Jlc2V0Q29ubmVjdGlvbidcbiAgfSxcbiAgMjA6IHtcbiAgICBuYW1lOiAnUk9VVElOR19DSEFOR0UnLFxuICAgIGV2ZW50OiAncm91dGluZ0NoYW5nZSdcbiAgfVxufTtcblxuZnVuY3Rpb24gcmVhZE5ld0FuZE9sZFZhbHVlKHBhcnNlcjogUGFyc2VyLCBsZW5ndGg6IG51bWJlciwgdHlwZTogeyBuYW1lOiBzdHJpbmcsIGV2ZW50Pzogc3RyaW5nIH0sIGNhbGxiYWNrOiAodG9rZW46IEVudkNoYW5nZVRva2VuIHwgdW5kZWZpbmVkKSA9PiB2b2lkKSB7XG4gIHN3aXRjaCAodHlwZS5uYW1lKSB7XG4gICAgY2FzZSAnREFUQUJBU0UnOlxuICAgIGNhc2UgJ0xBTkdVQUdFJzpcbiAgICBjYXNlICdDSEFSU0VUJzpcbiAgICBjYXNlICdQQUNLRVRfU0laRSc6XG4gICAgY2FzZSAnREFUQUJBU0VfTUlSUk9SSU5HX1BBUlRORVInOlxuICAgICAgcmV0dXJuIHBhcnNlci5yZWFkQlZhckNoYXIoKG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgIHBhcnNlci5yZWFkQlZhckNoYXIoKG9sZFZhbHVlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh0eXBlLm5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ1BBQ0tFVF9TSVpFJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBQYWNrZXRTaXplRW52Q2hhbmdlVG9rZW4ocGFyc2VJbnQobmV3VmFsdWUpLCBwYXJzZUludChvbGRWYWx1ZSkpKTtcblxuICAgICAgICAgICAgY2FzZSAnREFUQUJBU0UnOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IERhdGFiYXNlRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ0xBTkdVQUdFJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBMYW5ndWFnZUVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuXG4gICAgICAgICAgICBjYXNlICdDSEFSU0VUJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBDaGFyc2V0RW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ0RBVEFCQVNFX01JUlJPUklOR19QQVJUTkVSJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBEYXRhYmFzZU1pcnJvcmluZ1BhcnRuZXJFbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBjYXNlICdTUUxfQ09MTEFUSU9OJzpcbiAgICBjYXNlICdCRUdJTl9UWE4nOlxuICAgIGNhc2UgJ0NPTU1JVF9UWE4nOlxuICAgIGNhc2UgJ1JPTExCQUNLX1RYTic6XG4gICAgY2FzZSAnUkVTRVRfQ09OTkVDVElPTic6XG4gICAgICByZXR1cm4gcGFyc2VyLnJlYWRCVmFyQnl0ZSgobmV3VmFsdWUpID0+IHtcbiAgICAgICAgcGFyc2VyLnJlYWRCVmFyQnl0ZSgob2xkVmFsdWUpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKHR5cGUubmFtZSkge1xuICAgICAgICAgICAgY2FzZSAnU1FMX0NPTExBVElPTic6IHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Q29sbGF0aW9uID0gbmV3VmFsdWUubGVuZ3RoID8gQ29sbGF0aW9uLmZyb21CdWZmZXIobmV3VmFsdWUpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBjb25zdCBvbGRDb2xsYXRpb24gPSBvbGRWYWx1ZS5sZW5ndGggPyBDb2xsYXRpb24uZnJvbUJ1ZmZlcihvbGRWYWx1ZSkgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBDb2xsYXRpb25DaGFuZ2VUb2tlbihuZXdDb2xsYXRpb24sIG9sZENvbGxhdGlvbikpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlICdCRUdJTl9UWE4nOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IEJlZ2luVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcblxuICAgICAgICAgICAgY2FzZSAnQ09NTUlUX1RYTic6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgQ29tbWl0VHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcblxuICAgICAgICAgICAgY2FzZSAnUk9MTEJBQ0tfVFhOJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBSb2xsYmFja1RyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ1JFU0VUX0NPTk5FQ1RJT04nOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IFJlc2V0Q29ubmVjdGlvbkVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIGNhc2UgJ1JPVVRJTkdfQ0hBTkdFJzpcbiAgICAgIHJldHVybiBwYXJzZXIucmVhZFVJbnQxNkxFKCh2YWx1ZUxlbmd0aCkgPT4ge1xuICAgICAgICAvLyBSb3V0aW5nIENoYW5nZTpcbiAgICAgICAgLy8gQnl0ZSAxOiBQcm90b2NvbCAobXVzdCBiZSAwKVxuICAgICAgICAvLyBCeXRlcyAyLTMgKFVTSE9SVCk6IFBvcnQgbnVtYmVyXG4gICAgICAgIC8vIEJ5dGVzIDQtNSAoVVNIT1JUKTogTGVuZ3RoIG9mIHNlcnZlciBkYXRhIGluIHVuaWNvZGUgKDJieXRlIGNoYXJzKVxuICAgICAgICAvLyBCeXRlcyA2LSo6IFNlcnZlciBuYW1lIGluIHVuaWNvZGUgY2hhcmFjdGVyc1xuICAgICAgICBwYXJzZXIucmVhZEJ1ZmZlcih2YWx1ZUxlbmd0aCwgKHJvdXRlUGFja2V0KSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvdG9jb2wgPSByb3V0ZVBhY2tldC5yZWFkVUludDgoMCk7XG5cbiAgICAgICAgICBpZiAocHJvdG9jb2wgIT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcm90b2NvbCBieXRlIGluIHJvdXRpbmcgY2hhbmdlIGV2ZW50Jyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcG9ydCA9IHJvdXRlUGFja2V0LnJlYWRVSW50MTZMRSgxKTtcbiAgICAgICAgICBjb25zdCBzZXJ2ZXJMZW4gPSByb3V0ZVBhY2tldC5yZWFkVUludDE2TEUoMyk7XG4gICAgICAgICAgLy8gMiBieXRlcyBwZXIgY2hhciwgc3RhcnRpbmcgYXQgb2Zmc2V0IDVcbiAgICAgICAgICBjb25zdCBzZXJ2ZXIgPSByb3V0ZVBhY2tldC50b1N0cmluZygndWNzMicsIDUsIDUgKyAoc2VydmVyTGVuICogMikpO1xuXG4gICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB7XG4gICAgICAgICAgICBwcm90b2NvbDogcHJvdG9jb2wsXG4gICAgICAgICAgICBwb3J0OiBwb3J0LFxuICAgICAgICAgICAgc2VydmVyOiBzZXJ2ZXJcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgcGFyc2VyLnJlYWRVSW50MTZMRSgob2xkVmFsdWVMZW5ndGgpID0+IHtcbiAgICAgICAgICAgIHBhcnNlci5yZWFkQnVmZmVyKG9sZFZhbHVlTGVuZ3RoLCAob2xkVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IFJvdXRpbmdFbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RlZGlvdXMgPiBVbnN1cHBvcnRlZCBFTlZDSEFOR0UgdHlwZSAnICsgdHlwZS5uYW1lKTtcbiAgICAgIC8vIHNraXAgdW5rbm93biBieXRlc1xuICAgICAgcGFyc2VyLnJlYWRCdWZmZXIobGVuZ3RoIC0gMSwgKCkgPT4ge1xuICAgICAgICBjYWxsYmFjayh1bmRlZmluZWQpO1xuICAgICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZW52Q2hhbmdlUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBfb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogRW52Q2hhbmdlVG9rZW4gfCB1bmRlZmluZWQpID0+IHZvaWQpIHtcbiAgcGFyc2VyLnJlYWRVSW50MTZMRSgobGVuZ3RoKSA9PiB7XG4gICAgcGFyc2VyLnJlYWRVSW50OCgodHlwZU51bWJlcikgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IHR5cGVzW3R5cGVOdW1iZXJdO1xuXG4gICAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignVGVkaW91cyA+IFVuc3VwcG9ydGVkIEVOVkNIQU5HRSB0eXBlICcgKyB0eXBlTnVtYmVyKTtcbiAgICAgICAgLy8gc2tpcCB1bmtub3duIGJ5dGVzXG4gICAgICAgIHJldHVybiBwYXJzZXIucmVhZEJ1ZmZlcihsZW5ndGggLSAxLCAoKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2sodW5kZWZpbmVkKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJlYWROZXdBbmRPbGRWYWx1ZShwYXJzZXIsIGxlbmd0aCwgdHlwZSwgKHRva2VuKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZW52Q2hhbmdlUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSBlbnZDaGFuZ2VQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQTJCQSxNQUFNRSxLQUF5RCxHQUFHO0VBQ2hFLENBQUMsRUFBRTtJQUNEQyxJQUFJLEVBQUUsVUFBVTtJQUNoQkMsS0FBSyxFQUFFO0VBQ1QsQ0FBQztFQUNELENBQUMsRUFBRTtJQUNERCxJQUFJLEVBQUUsVUFBVTtJQUNoQkMsS0FBSyxFQUFFO0VBQ1QsQ0FB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
|
|
162
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29sbGF0aW9uIiwicmVxdWlyZSIsIl90b2tlbiIsInR5cGVzIiwibmFtZSIsImV2ZW50IiwicmVhZE5ld0FuZE9sZFZhbHVlIiwicGFyc2VyIiwibGVuZ3RoIiwidHlwZSIsImNhbGxiYWNrIiwicmVhZEJWYXJDaGFyIiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsIlBhY2tldFNpemVFbnZDaGFuZ2VUb2tlbiIsInBhcnNlSW50IiwiRGF0YWJhc2VFbnZDaGFuZ2VUb2tlbiIsIkxhbmd1YWdlRW52Q2hhbmdlVG9rZW4iLCJDaGFyc2V0RW52Q2hhbmdlVG9rZW4iLCJEYXRhYmFzZU1pcnJvcmluZ1BhcnRuZXJFbnZDaGFuZ2VUb2tlbiIsInJlYWRCVmFyQnl0ZSIsIm5ld0NvbGxhdGlvbiIsIkNvbGxhdGlvbiIsImZyb21CdWZmZXIiLCJ1bmRlZmluZWQiLCJvbGRDb2xsYXRpb24iLCJDb2xsYXRpb25DaGFuZ2VUb2tlbiIsIkJlZ2luVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbiIsIkNvbW1pdFRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4iLCJSb2xsYmFja1RyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4iLCJSZXNldENvbm5lY3Rpb25FbnZDaGFuZ2VUb2tlbiIsInJlYWRVSW50MTZMRSIsInZhbHVlTGVuZ3RoIiwicmVhZEJ1ZmZlciIsInJvdXRlUGFja2V0IiwicHJvdG9jb2wiLCJyZWFkVUludDgiLCJFcnJvciIsInBvcnQiLCJzZXJ2ZXJMZW4iLCJzZXJ2ZXIiLCJ0b1N0cmluZyIsIm9sZFZhbHVlTGVuZ3RoIiwiUm91dGluZ0VudkNoYW5nZVRva2VuIiwiY29uc29sZSIsImVycm9yIiwiZW52Q2hhbmdlUGFyc2VyIiwiX29wdGlvbnMiLCJ0eXBlTnVtYmVyIiwidG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rva2VuL2Vudi1jaGFuZ2UtdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgdHlwZSBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcbmltcG9ydCB7IENvbGxhdGlvbiB9IGZyb20gJy4uL2NvbGxhdGlvbic7XG5cbmltcG9ydCB7XG4gIERhdGFiYXNlRW52Q2hhbmdlVG9rZW4sXG4gIExhbmd1YWdlRW52Q2hhbmdlVG9rZW4sXG4gIENoYXJzZXRFbnZDaGFuZ2VUb2tlbixcbiAgUGFja2V0U2l6ZUVudkNoYW5nZVRva2VuLFxuICBCZWdpblRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4sXG4gIENvbW1pdFRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4sXG4gIFJvbGxiYWNrVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbixcbiAgRGF0YWJhc2VNaXJyb3JpbmdQYXJ0bmVyRW52Q2hhbmdlVG9rZW4sXG4gIFJlc2V0Q29ubmVjdGlvbkVudkNoYW5nZVRva2VuLFxuICBSb3V0aW5nRW52Q2hhbmdlVG9rZW4sXG4gIENvbGxhdGlvbkNoYW5nZVRva2VuXG59IGZyb20gJy4vdG9rZW4nO1xuXG50eXBlIEVudkNoYW5nZVRva2VuID1cbiAgRGF0YWJhc2VFbnZDaGFuZ2VUb2tlbiB8XG4gIExhbmd1YWdlRW52Q2hhbmdlVG9rZW4gfFxuICBDaGFyc2V0RW52Q2hhbmdlVG9rZW4gfFxuICBQYWNrZXRTaXplRW52Q2hhbmdlVG9rZW4gfFxuICBCZWdpblRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4gfFxuICBDb21taXRUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuIHxcbiAgUm9sbGJhY2tUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuIHxcbiAgRGF0YWJhc2VNaXJyb3JpbmdQYXJ0bmVyRW52Q2hhbmdlVG9rZW4gfFxuICBSZXNldENvbm5lY3Rpb25FbnZDaGFuZ2VUb2tlbiB8XG4gIFJvdXRpbmdFbnZDaGFuZ2VUb2tlbiB8XG4gIENvbGxhdGlvbkNoYW5nZVRva2VuO1xuXG5jb25zdCB0eXBlczogeyBba2V5OiBudW1iZXJdOiB7IG5hbWU6IHN0cmluZywgZXZlbnQ/OiBzdHJpbmcgfX0gPSB7XG4gIDE6IHtcbiAgICBuYW1lOiAnREFUQUJBU0UnLFxuICAgIGV2ZW50OiAnZGF0YWJhc2VDaGFuZ2UnXG4gIH0sXG4gIDI6IHtcbiAgICBuYW1lOiAnTEFOR1VBR0UnLFxuICAgIGV2ZW50OiAnbGFuZ3VhZ2VDaGFuZ2UnXG4gIH0sXG4gIDM6IHtcbiAgICBuYW1lOiAnQ0hBUlNFVCcsXG4gICAgZXZlbnQ6ICdjaGFyc2V0Q2hhbmdlJ1xuICB9LFxuICA0OiB7XG4gICAgbmFtZTogJ1BBQ0tFVF9TSVpFJyxcbiAgICBldmVudDogJ3BhY2tldFNpemVDaGFuZ2UnXG4gIH0sXG4gIDc6IHtcbiAgICBuYW1lOiAnU1FMX0NPTExBVElPTicsXG4gICAgZXZlbnQ6ICdzcWxDb2xsYXRpb25DaGFuZ2UnXG4gIH0sXG4gIDg6IHtcbiAgICBuYW1lOiAnQkVHSU5fVFhOJyxcbiAgICBldmVudDogJ2JlZ2luVHJhbnNhY3Rpb24nXG4gIH0sXG4gIDk6IHtcbiAgICBuYW1lOiAnQ09NTUlUX1RYTicsXG4gICAgZXZlbnQ6ICdjb21taXRUcmFuc2FjdGlvbidcbiAgfSxcbiAgMTA6IHtcbiAgICBuYW1lOiAnUk9MTEJBQ0tfVFhOJyxcbiAgICBldmVudDogJ3JvbGxiYWNrVHJhbnNhY3Rpb24nXG4gIH0sXG4gIDEzOiB7XG4gICAgbmFtZTogJ0RBVEFCQVNFX01JUlJPUklOR19QQVJUTkVSJyxcbiAgICBldmVudDogJ3BhcnRuZXJOb2RlJ1xuICB9LFxuICAxNzoge1xuICAgIG5hbWU6ICdUWE5fRU5ERUQnXG4gIH0sXG4gIDE4OiB7XG4gICAgbmFtZTogJ1JFU0VUX0NPTk5FQ1RJT04nLFxuICAgIGV2ZW50OiAncmVzZXRDb25uZWN0aW9uJ1xuICB9LFxuICAyMDoge1xuICAgIG5hbWU6ICdST1VUSU5HX0NIQU5HRScsXG4gICAgZXZlbnQ6ICdyb3V0aW5nQ2hhbmdlJ1xuICB9XG59O1xuXG5mdW5jdGlvbiByZWFkTmV3QW5kT2xkVmFsdWUocGFyc2VyOiBQYXJzZXIsIGxlbmd0aDogbnVtYmVyLCB0eXBlOiB7IG5hbWU6IHN0cmluZywgZXZlbnQ/OiBzdHJpbmcgfSwgY2FsbGJhY2s6ICh0b2tlbjogRW52Q2hhbmdlVG9rZW4gfCB1bmRlZmluZWQpID0+IHZvaWQpIHtcbiAgc3dpdGNoICh0eXBlLm5hbWUpIHtcbiAgICBjYXNlICdEQVRBQkFTRSc6XG4gICAgY2FzZSAnTEFOR1VBR0UnOlxuICAgIGNhc2UgJ0NIQVJTRVQnOlxuICAgIGNhc2UgJ1BBQ0tFVF9TSVpFJzpcbiAgICBjYXNlICdEQVRBQkFTRV9NSVJST1JJTkdfUEFSVE5FUic6XG4gICAgICByZXR1cm4gcGFyc2VyLnJlYWRCVmFyQ2hhcigobmV3VmFsdWUpID0+IHtcbiAgICAgICAgcGFyc2VyLnJlYWRCVmFyQ2hhcigob2xkVmFsdWUpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKHR5cGUubmFtZSkge1xuICAgICAgICAgICAgY2FzZSAnUEFDS0VUX1NJWkUnOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IFBhY2tldFNpemVFbnZDaGFuZ2VUb2tlbihwYXJzZUludChuZXdWYWx1ZSksIHBhcnNlSW50KG9sZFZhbHVlKSkpO1xuXG4gICAgICAgICAgICBjYXNlICdEQVRBQkFTRSc6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgRGF0YWJhc2VFbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcblxuICAgICAgICAgICAgY2FzZSAnTEFOR1VBR0UnOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IExhbmd1YWdlRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ0NIQVJTRVQnOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IENoYXJzZXRFbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcblxuICAgICAgICAgICAgY2FzZSAnREFUQUJBU0VfTUlSUk9SSU5HX1BBUlRORVInOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IERhdGFiYXNlTWlycm9yaW5nUGFydG5lckVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIGNhc2UgJ1NRTF9DT0xMQVRJT04nOlxuICAgIGNhc2UgJ0JFR0lOX1RYTic6XG4gICAgY2FzZSAnQ09NTUlUX1RYTic6XG4gICAgY2FzZSAnUk9MTEJBQ0tfVFhOJzpcbiAgICBjYXNlICdSRVNFVF9DT05ORUNUSU9OJzpcbiAgICAgIHJldHVybiBwYXJzZXIucmVhZEJWYXJCeXRlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgICBwYXJzZXIucmVhZEJWYXJCeXRlKChvbGRWYWx1ZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAodHlwZS5uYW1lKSB7XG4gICAgICAgICAgICBjYXNlICdTUUxfQ09MTEFUSU9OJzoge1xuICAgICAgICAgICAgICBjb25zdCBuZXdDb2xsYXRpb24gPSBuZXdWYWx1ZS5sZW5ndGggPyBDb2xsYXRpb24uZnJvbUJ1ZmZlcihuZXdWYWx1ZSkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGNvbnN0IG9sZENvbGxhdGlvbiA9IG9sZFZhbHVlLmxlbmd0aCA/IENvbGxhdGlvbi5mcm9tQnVmZmVyKG9sZFZhbHVlKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IENvbGxhdGlvbkNoYW5nZVRva2VuKG5ld0NvbGxhdGlvbiwgb2xkQ29sbGF0aW9uKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgJ0JFR0lOX1RYTic6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgQmVnaW5UcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuXG4gICAgICAgICAgICBjYXNlICdDT01NSVRfVFhOJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBDb21taXRUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuXG4gICAgICAgICAgICBjYXNlICdST0xMQkFDS19UWE4nOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IFJvbGxiYWNrVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcblxuICAgICAgICAgICAgY2FzZSAnUkVTRVRfQ09OTkVDVElPTic6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgUmVzZXRDb25uZWN0aW9uRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgY2FzZSAnUk9VVElOR19DSEFOR0UnOlxuICAgICAgcmV0dXJuIHBhcnNlci5yZWFkVUludDE2TEUoKHZhbHVlTGVuZ3RoKSA9PiB7XG4gICAgICAgIC8vIFJvdXRpbmcgQ2hhbmdlOlxuICAgICAgICAvLyBCeXRlIDE6IFByb3RvY29sIChtdXN0IGJlIDApXG4gICAgICAgIC8vIEJ5dGVzIDItMyAoVVNIT1JUKTogUG9ydCBudW1iZXJcbiAgICAgICAgLy8gQnl0ZXMgNC01IChVU0hPUlQpOiBMZW5ndGggb2Ygc2VydmVyIGRhdGEgaW4gdW5pY29kZSAoMmJ5dGUgY2hhcnMpXG4gICAgICAgIC8vIEJ5dGVzIDYtKjogU2VydmVyIG5hbWUgaW4gdW5pY29kZSBjaGFyYWN0ZXJzXG4gICAgICAgIHBhcnNlci5yZWFkQnVmZmVyKHZhbHVlTGVuZ3RoLCAocm91dGVQYWNrZXQpID0+IHtcbiAgICAgICAgICBjb25zdCBwcm90b2NvbCA9IHJvdXRlUGFja2V0LnJlYWRVSW50OCgwKTtcblxuICAgICAgICAgIGlmIChwcm90b2NvbCAhPT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByb3RvY29sIGJ5dGUgaW4gcm91dGluZyBjaGFuZ2UgZXZlbnQnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBwb3J0ID0gcm91dGVQYWNrZXQucmVhZFVJbnQxNkxFKDEpO1xuICAgICAgICAgIGNvbnN0IHNlcnZlckxlbiA9IHJvdXRlUGFja2V0LnJlYWRVSW50MTZMRSgzKTtcbiAgICAgICAgICAvLyAyIGJ5dGVzIHBlciBjaGFyLCBzdGFydGluZyBhdCBvZmZzZXQgNVxuICAgICAgICAgIGNvbnN0IHNlcnZlciA9IHJvdXRlUGFja2V0LnRvU3RyaW5nKCd1Y3MyJywgNSwgNSArIChzZXJ2ZXJMZW4gKiAyKSk7XG5cbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHtcbiAgICAgICAgICAgIHByb3RvY29sOiBwcm90b2NvbCxcbiAgICAgICAgICAgIHBvcnQ6IHBvcnQsXG4gICAgICAgICAgICBzZXJ2ZXI6IHNlcnZlclxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBwYXJzZXIucmVhZFVJbnQxNkxFKChvbGRWYWx1ZUxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgcGFyc2VyLnJlYWRCdWZmZXIob2xkVmFsdWVMZW5ndGgsIChvbGRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBjYWxsYmFjayhuZXcgUm91dGluZ0VudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgY29uc29sZS5lcnJvcignVGVkaW91cyA+IFVuc3VwcG9ydGVkIEVOVkNIQU5HRSB0eXBlICcgKyB0eXBlLm5hbWUpO1xuICAgICAgLy8gc2tpcCB1bmtub3duIGJ5dGVzXG4gICAgICBwYXJzZXIucmVhZEJ1ZmZlcihsZW5ndGggLSAxLCAoKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKHVuZGVmaW5lZCk7XG4gICAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnZDaGFuZ2VQYXJzZXIocGFyc2VyOiBQYXJzZXIsIF9vcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBFbnZDaGFuZ2VUb2tlbiB8IHVuZGVmaW5lZCkgPT4gdm9pZCkge1xuICBwYXJzZXIucmVhZFVJbnQxNkxFKChsZW5ndGgpID0+IHtcbiAgICBwYXJzZXIucmVhZFVJbnQ4KCh0eXBlTnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCB0eXBlID0gdHlwZXNbdHlwZU51bWJlcl07XG5cbiAgICAgIGlmICghdHlwZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdUZWRpb3VzID4gVW5zdXBwb3J0ZWQgRU5WQ0hBTkdFIHR5cGUgJyArIHR5cGVOdW1iZXIpO1xuICAgICAgICAvLyBza2lwIHVua25vd24gYnl0ZXNcbiAgICAgICAgcmV0dXJuIHBhcnNlci5yZWFkQnVmZmVyKGxlbmd0aCAtIDEsICgpID0+IHtcbiAgICAgICAgICBjYWxsYmFjayh1bmRlZmluZWQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmVhZE5ld0FuZE9sZFZhbHVlKHBhcnNlciwgbGVuZ3RoLCB0eXBlLCAodG9rZW4pID0+IHtcbiAgICAgICAgY2FsbGJhY2sodG9rZW4pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBlbnZDaGFuZ2VQYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IGVudkNoYW5nZVBhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBMkJBLE1BQU1FLEtBQXlELEdBQUc7RUFDaEUsQ0FBQyxFQUFFO0lBQ0RDLElBQUksRUFBRSxVQUFVO0lBQ2hCQyxLQUFLLEVBQUU7RUFDVCxDQUFDO0VBQ0QsQ0FBQyxFQUFFO0lBQ0RELElBQUksRUFBRSxVQUFVO0lBQ2hCQyxLQUFLLEVBQUU7RUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-change-token-parser.js","names":["_collation","require","_token","types","name","event","readNewAndOldValue","parser","length","type","callback","readBVarChar","newValue","oldValue","PacketSizeEnvChangeToken","parseInt","DatabaseEnvChangeToken","LanguageEnvChangeToken","CharsetEnvChangeToken","DatabaseMirroringPartnerEnvChangeToken","readBVarByte","newCollation","Collation","fromBuffer","undefined","oldCollation","CollationChangeToken","BeginTransactionEnvChangeToken","CommitTransactionEnvChangeToken","RollbackTransactionEnvChangeToken","ResetConnectionEnvChangeToken","readUInt16LE","valueLength","readBuffer","routePacket","protocol","readUInt8","Error","port","serverLen","server","toString","oldValueLength","RoutingEnvChangeToken","console","error","envChangeParser","_options","typeNumber","token","_default","exports","default","module"],"sources":["../../src/token/env-change-token-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\nimport { Collation } from '../collation';\n\nimport {\n DatabaseEnvChangeToken,\n LanguageEnvChangeToken,\n CharsetEnvChangeToken,\n PacketSizeEnvChangeToken,\n BeginTransactionEnvChangeToken,\n CommitTransactionEnvChangeToken,\n RollbackTransactionEnvChangeToken,\n DatabaseMirroringPartnerEnvChangeToken,\n ResetConnectionEnvChangeToken,\n RoutingEnvChangeToken,\n CollationChangeToken\n} from './token';\n\ntype EnvChangeToken =\n DatabaseEnvChangeToken |\n LanguageEnvChangeToken |\n CharsetEnvChangeToken |\n PacketSizeEnvChangeToken |\n BeginTransactionEnvChangeToken |\n CommitTransactionEnvChangeToken |\n RollbackTransactionEnvChangeToken |\n DatabaseMirroringPartnerEnvChangeToken |\n ResetConnectionEnvChangeToken |\n RoutingEnvChangeToken |\n CollationChangeToken;\n\nconst types: { [key: number]: { name: string, event?: string }} = {\n 1: {\n name: 'DATABASE',\n event: 'databaseChange'\n },\n 2: {\n name: 'LANGUAGE',\n event: 'languageChange'\n },\n 3: {\n name: 'CHARSET',\n event: 'charsetChange'\n },\n 4: {\n name: 'PACKET_SIZE',\n event: 'packetSizeChange'\n },\n 7: {\n name: 'SQL_COLLATION',\n event: 'sqlCollationChange'\n },\n 8: {\n name: 'BEGIN_TXN',\n event: 'beginTransaction'\n },\n 9: {\n name: 'COMMIT_TXN',\n event: 'commitTransaction'\n },\n 10: {\n name: 'ROLLBACK_TXN',\n event: 'rollbackTransaction'\n },\n 13: {\n name: 'DATABASE_MIRRORING_PARTNER',\n event: 'partnerNode'\n },\n 17: {\n name: 'TXN_ENDED'\n },\n 18: {\n name: 'RESET_CONNECTION',\n event: 'resetConnection'\n },\n 20: {\n name: 'ROUTING_CHANGE',\n event: 'routingChange'\n }\n};\n\nfunction readNewAndOldValue(parser: Parser, length: number, type: { name: string, event?: string }, callback: (token: EnvChangeToken | undefined) => void) {\n switch (type.name) {\n case 'DATABASE':\n case 'LANGUAGE':\n case 'CHARSET':\n case 'PACKET_SIZE':\n case 'DATABASE_MIRRORING_PARTNER':\n return parser.readBVarChar((newValue) => {\n parser.readBVarChar((oldValue) => {\n switch (type.name) {\n case 'PACKET_SIZE':\n return callback(new PacketSizeEnvChangeToken(parseInt(newValue), parseInt(oldValue)));\n\n case 'DATABASE':\n return callback(new DatabaseEnvChangeToken(newValue, oldValue));\n\n case 'LANGUAGE':\n return callback(new LanguageEnvChangeToken(newValue, oldValue));\n\n case 'CHARSET':\n return callback(new CharsetEnvChangeToken(newValue, oldValue));\n\n case 'DATABASE_MIRRORING_PARTNER':\n return callback(new DatabaseMirroringPartnerEnvChangeToken(newValue, oldValue));\n }\n });\n });\n\n case 'SQL_COLLATION':\n case 'BEGIN_TXN':\n case 'COMMIT_TXN':\n case 'ROLLBACK_TXN':\n case 'RESET_CONNECTION':\n return parser.readBVarByte((newValue) => {\n parser.readBVarByte((oldValue) => {\n switch (type.name) {\n case 'SQL_COLLATION': {\n const newCollation = newValue.length ? Collation.fromBuffer(newValue) : undefined;\n const oldCollation = oldValue.length ? Collation.fromBuffer(oldValue) : undefined;\n\n return callback(new CollationChangeToken(newCollation, oldCollation));\n }\n\n case 'BEGIN_TXN':\n return callback(new BeginTransactionEnvChangeToken(newValue, oldValue));\n\n case 'COMMIT_TXN':\n return callback(new CommitTransactionEnvChangeToken(newValue, oldValue));\n\n case 'ROLLBACK_TXN':\n return callback(new RollbackTransactionEnvChangeToken(newValue, oldValue));\n\n case 'RESET_CONNECTION':\n return callback(new ResetConnectionEnvChangeToken(newValue, oldValue));\n }\n });\n });\n\n case 'ROUTING_CHANGE':\n return parser.readUInt16LE((valueLength) => {\n // Routing Change:\n // Byte 1: Protocol (must be 0)\n // Bytes 2-3 (USHORT): Port number\n // Bytes 4-5 (USHORT): Length of server data in unicode (2byte chars)\n // Bytes 6-*: Server name in unicode characters\n parser.readBuffer(valueLength, (routePacket) => {\n const protocol = routePacket.readUInt8(0);\n\n if (protocol !== 0) {\n throw new Error('Unknown protocol byte in routing change event');\n }\n\n const port = routePacket.readUInt16LE(1);\n const serverLen = routePacket.readUInt16LE(3);\n // 2 bytes per char, starting at offset 5\n const server = routePacket.toString('ucs2', 5, 5 + (serverLen * 2));\n\n const newValue = {\n protocol: protocol,\n port: port,\n server: server\n };\n\n parser.readUInt16LE((oldValueLength) => {\n parser.readBuffer(oldValueLength, (oldValue) => {\n callback(new RoutingEnvChangeToken(newValue, oldValue));\n });\n });\n });\n });\n\n default:\n console.error('Tedious > Unsupported ENVCHANGE type ' + type.name);\n // skip unknown bytes\n parser.readBuffer(length - 1, () => {\n callback(undefined);\n });\n }\n}\n\nfunction envChangeParser(parser: Parser, _options: ParserOptions, callback: (token: EnvChangeToken | undefined) => void) {\n parser.readUInt16LE((length) => {\n parser.readUInt8((typeNumber) => {\n const type = types[typeNumber];\n\n if (!type) {\n console.error('Tedious > Unsupported ENVCHANGE type ' + typeNumber);\n // skip unknown bytes\n return parser.readBuffer(length - 1, () => {\n callback(undefined);\n });\n }\n\n readNewAndOldValue(parser, length, type, (token) => {\n callback(token);\n });\n });\n });\n}\n\nexport default envChangeParser;\nmodule.exports = envChangeParser;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"env-change-token-parser.js","names":["_collation","require","_token","types","name","event","readNewAndOldValue","parser","length","type","callback","readBVarChar","newValue","oldValue","PacketSizeEnvChangeToken","parseInt","DatabaseEnvChangeToken","LanguageEnvChangeToken","CharsetEnvChangeToken","DatabaseMirroringPartnerEnvChangeToken","readBVarByte","newCollation","Collation","fromBuffer","undefined","oldCollation","CollationChangeToken","BeginTransactionEnvChangeToken","CommitTransactionEnvChangeToken","RollbackTransactionEnvChangeToken","ResetConnectionEnvChangeToken","readUInt16LE","valueLength","readBuffer","routePacket","protocol","readUInt8","Error","port","serverLen","server","toString","oldValueLength","RoutingEnvChangeToken","console","error","envChangeParser","_options","typeNumber","token","_default","exports","default","module"],"sources":["../../src/token/env-change-token-parser.ts"],"sourcesContent":["import Parser, { type ParserOptions } from './stream-parser';\nimport { Collation } from '../collation';\n\nimport {\n DatabaseEnvChangeToken,\n LanguageEnvChangeToken,\n CharsetEnvChangeToken,\n PacketSizeEnvChangeToken,\n BeginTransactionEnvChangeToken,\n CommitTransactionEnvChangeToken,\n RollbackTransactionEnvChangeToken,\n DatabaseMirroringPartnerEnvChangeToken,\n ResetConnectionEnvChangeToken,\n RoutingEnvChangeToken,\n CollationChangeToken\n} from './token';\n\ntype EnvChangeToken =\n DatabaseEnvChangeToken |\n LanguageEnvChangeToken |\n CharsetEnvChangeToken |\n PacketSizeEnvChangeToken |\n BeginTransactionEnvChangeToken |\n CommitTransactionEnvChangeToken |\n RollbackTransactionEnvChangeToken |\n DatabaseMirroringPartnerEnvChangeToken |\n ResetConnectionEnvChangeToken |\n RoutingEnvChangeToken |\n CollationChangeToken;\n\nconst types: { [key: number]: { name: string, event?: string }} = {\n 1: {\n name: 'DATABASE',\n event: 'databaseChange'\n },\n 2: {\n name: 'LANGUAGE',\n event: 'languageChange'\n },\n 3: {\n name: 'CHARSET',\n event: 'charsetChange'\n },\n 4: {\n name: 'PACKET_SIZE',\n event: 'packetSizeChange'\n },\n 7: {\n name: 'SQL_COLLATION',\n event: 'sqlCollationChange'\n },\n 8: {\n name: 'BEGIN_TXN',\n event: 'beginTransaction'\n },\n 9: {\n name: 'COMMIT_TXN',\n event: 'commitTransaction'\n },\n 10: {\n name: 'ROLLBACK_TXN',\n event: 'rollbackTransaction'\n },\n 13: {\n name: 'DATABASE_MIRRORING_PARTNER',\n event: 'partnerNode'\n },\n 17: {\n name: 'TXN_ENDED'\n },\n 18: {\n name: 'RESET_CONNECTION',\n event: 'resetConnection'\n },\n 20: {\n name: 'ROUTING_CHANGE',\n event: 'routingChange'\n }\n};\n\nfunction readNewAndOldValue(parser: Parser, length: number, type: { name: string, event?: string }, callback: (token: EnvChangeToken | undefined) => void) {\n switch (type.name) {\n case 'DATABASE':\n case 'LANGUAGE':\n case 'CHARSET':\n case 'PACKET_SIZE':\n case 'DATABASE_MIRRORING_PARTNER':\n return parser.readBVarChar((newValue) => {\n parser.readBVarChar((oldValue) => {\n switch (type.name) {\n case 'PACKET_SIZE':\n return callback(new PacketSizeEnvChangeToken(parseInt(newValue), parseInt(oldValue)));\n\n case 'DATABASE':\n return callback(new DatabaseEnvChangeToken(newValue, oldValue));\n\n case 'LANGUAGE':\n return callback(new LanguageEnvChangeToken(newValue, oldValue));\n\n case 'CHARSET':\n return callback(new CharsetEnvChangeToken(newValue, oldValue));\n\n case 'DATABASE_MIRRORING_PARTNER':\n return callback(new DatabaseMirroringPartnerEnvChangeToken(newValue, oldValue));\n }\n });\n });\n\n case 'SQL_COLLATION':\n case 'BEGIN_TXN':\n case 'COMMIT_TXN':\n case 'ROLLBACK_TXN':\n case 'RESET_CONNECTION':\n return parser.readBVarByte((newValue) => {\n parser.readBVarByte((oldValue) => {\n switch (type.name) {\n case 'SQL_COLLATION': {\n const newCollation = newValue.length ? Collation.fromBuffer(newValue) : undefined;\n const oldCollation = oldValue.length ? Collation.fromBuffer(oldValue) : undefined;\n\n return callback(new CollationChangeToken(newCollation, oldCollation));\n }\n\n case 'BEGIN_TXN':\n return callback(new BeginTransactionEnvChangeToken(newValue, oldValue));\n\n case 'COMMIT_TXN':\n return callback(new CommitTransactionEnvChangeToken(newValue, oldValue));\n\n case 'ROLLBACK_TXN':\n return callback(new RollbackTransactionEnvChangeToken(newValue, oldValue));\n\n case 'RESET_CONNECTION':\n return callback(new ResetConnectionEnvChangeToken(newValue, oldValue));\n }\n });\n });\n\n case 'ROUTING_CHANGE':\n return parser.readUInt16LE((valueLength) => {\n // Routing Change:\n // Byte 1: Protocol (must be 0)\n // Bytes 2-3 (USHORT): Port number\n // Bytes 4-5 (USHORT): Length of server data in unicode (2byte chars)\n // Bytes 6-*: Server name in unicode characters\n parser.readBuffer(valueLength, (routePacket) => {\n const protocol = routePacket.readUInt8(0);\n\n if (protocol !== 0) {\n throw new Error('Unknown protocol byte in routing change event');\n }\n\n const port = routePacket.readUInt16LE(1);\n const serverLen = routePacket.readUInt16LE(3);\n // 2 bytes per char, starting at offset 5\n const server = routePacket.toString('ucs2', 5, 5 + (serverLen * 2));\n\n const newValue = {\n protocol: protocol,\n port: port,\n server: server\n };\n\n parser.readUInt16LE((oldValueLength) => {\n parser.readBuffer(oldValueLength, (oldValue) => {\n callback(new RoutingEnvChangeToken(newValue, oldValue));\n });\n });\n });\n });\n\n default:\n console.error('Tedious > Unsupported ENVCHANGE type ' + type.name);\n // skip unknown bytes\n parser.readBuffer(length - 1, () => {\n callback(undefined);\n });\n }\n}\n\nfunction envChangeParser(parser: Parser, _options: ParserOptions, callback: (token: EnvChangeToken | undefined) => void) {\n parser.readUInt16LE((length) => {\n parser.readUInt8((typeNumber) => {\n const type = types[typeNumber];\n\n if (!type) {\n console.error('Tedious > Unsupported ENVCHANGE type ' + typeNumber);\n // skip unknown bytes\n return parser.readBuffer(length - 1, () => {\n callback(undefined);\n });\n }\n\n readNewAndOldValue(parser, length, type, (token) => {\n callback(token);\n });\n });\n });\n}\n\nexport default envChangeParser;\nmodule.exports = envChangeParser;\n"],"mappings":"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"}
|
|
@@ -42,4 +42,4 @@ function featureExtAckParser(parser, _options, callback) {
|
|
|
42
42
|
var _default = featureExtAckParser;
|
|
43
43
|
exports.default = _default;
|
|
44
44
|
module.exports = featureExtAckParser;
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiRkVBVFVSRV9JRCIsIlNFU1NJT05SRUNPVkVSWSIsIkZFREFVVEgiLCJDT0xVTU5FTkNSWVBUSU9OIiwiR0xPQkFMVFJBTlNBQ1RJT05TIiwiQVpVUkVTUUxTVVBQT1JUIiwiVVRGOF9TVVBQT1JUIiwiVEVSTUlOQVRPUiIsImZlYXR1cmVFeHRBY2tQYXJzZXIiLCJwYXJzZXIiLCJfb3B0aW9ucyIsImNhbGxiYWNrIiwiZmVkQXV0aCIsInV0ZjhTdXBwb3J0IiwibmV4dCIsInJlYWRVSW50OCIsImZlYXR1cmVJZCIsIkZlYXR1cmVFeHRBY2tUb2tlbiIsInJlYWRVSW50MzJMRSIsImZlYXR1cmVBY2tEYXRhTGVuIiwicmVhZEJ1ZmZlciIsImZlYXR1cmVEYXRhIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9mZWF0dXJlLWV4dC1hY2stcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgdHlwZSBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcblxuaW1wb3J0IHsgRmVhdHVyZUV4dEFja1Rva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmNvbnN0IEZFQVRVUkVfSUQgPSB7XG4gIFNFU1NJT05SRUNPVkVSWTogMHgwMSxcbiAgRkVEQVVUSDogMHgwMixcbiAgQ09MVU1ORU5DUllQVElPTjogMHgwNCxcbiAgR0xPQkFMVFJBTlNBQ1RJT05TOiAweDA1LFxuICBBWlVSRVNRTFNVUFBPUlQ6IDB4MDgsXG4gIFVURjhfU1VQUE9SVDogMHgwQSxcbiAgVEVSTUlOQVRPUjogMHhGRlxufTtcblxuZnVuY3Rpb24gZmVhdHVyZUV4dEFja1BhcnNlcihwYXJzZXI6IFBhcnNlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IEZlYXR1cmVFeHRBY2tUb2tlbikgPT4gdm9pZCkge1xuICBsZXQgZmVkQXV0aDogQnVmZmVyIHwgdW5kZWZpbmVkO1xuICBsZXQgdXRmOFN1cHBvcnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgZnVuY3Rpb24gbmV4dCgpIHtcbiAgICBwYXJzZXIucmVhZFVJbnQ4KChmZWF0dXJlSWQpID0+IHtcbiAgICAgIGlmIChmZWF0dXJlSWQgPT09IEZFQVRVUkVfSUQuVEVSTUlOQVRPUikge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IEZlYXR1cmVFeHRBY2tUb2tlbihmZWRBdXRoLCB1dGY4U3VwcG9ydCkpO1xuICAgICAgfVxuXG4gICAgICBwYXJzZXIucmVhZFVJbnQzMkxFKChmZWF0dXJlQWNrRGF0YUxlbikgPT4ge1xuICAgICAgICBwYXJzZXIucmVhZEJ1ZmZlcihmZWF0dXJlQWNrRGF0YUxlbiwgKGZlYXR1cmVEYXRhKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChmZWF0dXJlSWQpIHtcbiAgICAgICAgICAgIGNhc2UgRkVBVFVSRV9JRC5GRURBVVRIOlxuICAgICAgICAgICAgICBmZWRBdXRoID0gZmVhdHVyZURhdGE7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGRUFUVVJFX0lELlVURjhfU1VQUE9SVDpcbiAgICAgICAgICAgICAgdXRmOFN1cHBvcnQgPSAhIWZlYXR1cmVEYXRhWzBdO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmV4dCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmZWF0dXJlRXh0QWNrUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSBmZWF0dXJlRXh0QWNrUGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxNQUFNQyxVQUFVLEdBQUc7RUFDakJDLGVBQWUsRUFBRSxJQUFJO0VBQ3JCQyxPQUFPLEVBQUUsSUFBSTtFQUNiQyxnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCQyxrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCQyxlQUFlLEVBQUUsSUFBSTtFQUNyQkMsWUFBWSxFQUFFLElBQUk7RUFDbEJDLFVBQVUsRUFBRTtBQUNkLENBQUM7QUFFRCxTQUFTQyxtQkFBbUJBLENBQUNDLE1BQWMsRUFBRUMsUUFBdUIsRUFBRUMsUUFBNkMsRUFBRTtFQUNuSCxJQUFJQyxPQUEyQjtFQUMvQixJQUFJQyxXQUFnQztFQUVwQyxTQUFTQyxJQUFJQSxDQUFBLEVBQUc7SUFDZEwsTUFBTSxDQUFDTSxTQUFTLENBQUVDLFNBQVMsSUFBSztNQUM5QixJQUFJQSxTQUFTLEtBQUtoQixVQUFVLENBQUNPLFVBQVUsRUFBRTtRQUN2QyxPQUFPSSxRQUFRLENBQUMsSUFBSU0seUJBQWtCLENBQUNMLE9BQU8sRUFBRUMsV0FBVyxDQUFDLENBQUM7TUFDL0Q7TUFFQUosTUFBTSxDQUFDUyxZQUFZLENBQUVDLGlCQUFpQixJQUFLO1FBQ3pDVixNQUFNLENBQUNXLFVBQVUsQ0FBQ0QsaUJBQWlCLEVBQUdFLFdBQVcsSUFBSztVQUNwRCxRQUFRTCxTQUFTO1lBQ2YsS0FBS2hCLFVBQVUsQ0FBQ0UsT0FBTztjQUNyQlUsT0FBTyxHQUFHUyxXQUFXO2NBQ3JCO1lBQ0YsS0FBS3JCLFVBQVUsQ0FBQ00sWUFBWTtjQUMxQk8sV0FBVyxHQUFHLENBQUMsQ0FBQ1EsV0FBVyxDQUFDLENBQUMsQ0FBQztjQUM5QjtVQUNKO1VBQ0FQLElBQUksQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDO01BQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0VBQ0o7RUFFQUEsSUFBSSxDQUFDLENBQUM7QUFDUjtBQUFDLElBQUFRLFFBQUEsR0FFY2QsbUJBQW1CO0FBQUFlLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBO0FBQ2xDRyxNQUFNLENBQUNGLE9BQU8sR0FBR2YsbUJBQW1CIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-ext-ack-parser.js","names":["_token","require","FEATURE_ID","SESSIONRECOVERY","FEDAUTH","COLUMNENCRYPTION","GLOBALTRANSACTIONS","AZURESQLSUPPORT","UTF8_SUPPORT","TERMINATOR","featureExtAckParser","parser","_options","callback","fedAuth","utf8Support","next","readUInt8","featureId","FeatureExtAckToken","readUInt32LE","featureAckDataLen","readBuffer","featureData","_default","exports","default","module"],"sources":["../../src/token/feature-ext-ack-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\n\nimport { FeatureExtAckToken } from './token';\n\nconst FEATURE_ID = {\n SESSIONRECOVERY: 0x01,\n FEDAUTH: 0x02,\n COLUMNENCRYPTION: 0x04,\n GLOBALTRANSACTIONS: 0x05,\n AZURESQLSUPPORT: 0x08,\n UTF8_SUPPORT: 0x0A,\n TERMINATOR: 0xFF\n};\n\nfunction featureExtAckParser(parser: Parser, _options: ParserOptions, callback: (token: FeatureExtAckToken) => void) {\n let fedAuth: Buffer | undefined;\n let utf8Support: boolean | undefined;\n\n function next() {\n parser.readUInt8((featureId) => {\n if (featureId === FEATURE_ID.TERMINATOR) {\n return callback(new FeatureExtAckToken(fedAuth, utf8Support));\n }\n\n parser.readUInt32LE((featureAckDataLen) => {\n parser.readBuffer(featureAckDataLen, (featureData) => {\n switch (featureId) {\n case FEATURE_ID.FEDAUTH:\n fedAuth = featureData;\n break;\n case FEATURE_ID.UTF8_SUPPORT:\n utf8Support = !!featureData[0];\n break;\n }\n next();\n });\n });\n });\n }\n\n next();\n}\n\nexport default featureExtAckParser;\nmodule.exports = featureExtAckParser;\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,UAAU,GAAG;EACjBC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,IAAI;EACbC,gBAAgB,EAAE,IAAI;EACtBC,kBAAkB,EAAE,IAAI;EACxBC,eAAe,EAAE,IAAI;EACrBC,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAE;AACd,CAAC;AAED,SAASC,mBAAmBA,CAACC,MAAc,EAAEC,QAAuB,EAAEC,QAA6C,EAAE;EACnH,IAAIC,OAA2B;EAC/B,IAAIC,WAAgC;EAEpC,SAASC,IAAIA,CAAA,EAAG;IACdL,MAAM,CAACM,SAAS,CAAEC,SAAS,IAAK;MAC9B,IAAIA,SAAS,KAAKhB,UAAU,CAACO,UAAU,EAAE;QACvC,OAAOI,QAAQ,CAAC,IAAIM,yBAAkB,CAACL,OAAO,EAAEC,WAAW,CAAC,CAAC;MAC/D;MAEAJ,MAAM,CAACS,YAAY,CAAEC,iBAAiB,IAAK;QACzCV,MAAM,CAACW,UAAU,CAACD,iBAAiB,EAAGE,WAAW,IAAK;UACpD,QAAQL,SAAS;YACf,KAAKhB,UAAU,CAACE,OAAO;cACrBU,OAAO,GAAGS,WAAW;cACrB;YACF,KAAKrB,UAAU,CAACM,YAAY;cAC1BO,WAAW,GAAG,CAAC,CAACQ,WAAW,CAAC,CAAC,CAAC;cAC9B;UACJ;UACAP,IAAI,CAAC,CAAC;QACR,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAA,IAAI,CAAC,CAAC;AACR;AAAC,IAAAQ,QAAA,GAEcd,mBAAmB;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAClCG,MAAM,CAACF,OAAO,GAAGf,mBAAmB"}
|
|
1
|
+
{"version":3,"file":"feature-ext-ack-parser.js","names":["_token","require","FEATURE_ID","SESSIONRECOVERY","FEDAUTH","COLUMNENCRYPTION","GLOBALTRANSACTIONS","AZURESQLSUPPORT","UTF8_SUPPORT","TERMINATOR","featureExtAckParser","parser","_options","callback","fedAuth","utf8Support","next","readUInt8","featureId","FeatureExtAckToken","readUInt32LE","featureAckDataLen","readBuffer","featureData","_default","exports","default","module"],"sources":["../../src/token/feature-ext-ack-parser.ts"],"sourcesContent":["import Parser, { type ParserOptions } from './stream-parser';\n\nimport { FeatureExtAckToken } from './token';\n\nconst FEATURE_ID = {\n SESSIONRECOVERY: 0x01,\n FEDAUTH: 0x02,\n COLUMNENCRYPTION: 0x04,\n GLOBALTRANSACTIONS: 0x05,\n AZURESQLSUPPORT: 0x08,\n UTF8_SUPPORT: 0x0A,\n TERMINATOR: 0xFF\n};\n\nfunction featureExtAckParser(parser: Parser, _options: ParserOptions, callback: (token: FeatureExtAckToken) => void) {\n let fedAuth: Buffer | undefined;\n let utf8Support: boolean | undefined;\n\n function next() {\n parser.readUInt8((featureId) => {\n if (featureId === FEATURE_ID.TERMINATOR) {\n return callback(new FeatureExtAckToken(fedAuth, utf8Support));\n }\n\n parser.readUInt32LE((featureAckDataLen) => {\n parser.readBuffer(featureAckDataLen, (featureData) => {\n switch (featureId) {\n case FEATURE_ID.FEDAUTH:\n fedAuth = featureData;\n break;\n case FEATURE_ID.UTF8_SUPPORT:\n utf8Support = !!featureData[0];\n break;\n }\n next();\n });\n });\n });\n }\n\n next();\n}\n\nexport default featureExtAckParser;\nmodule.exports = featureExtAckParser;\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,UAAU,GAAG;EACjBC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,IAAI;EACbC,gBAAgB,EAAE,IAAI;EACtBC,kBAAkB,EAAE,IAAI;EACxBC,eAAe,EAAE,IAAI;EACrBC,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAE;AACd,CAAC;AAED,SAASC,mBAAmBA,CAACC,MAAc,EAAEC,QAAuB,EAAEC,QAA6C,EAAE;EACnH,IAAIC,OAA2B;EAC/B,IAAIC,WAAgC;EAEpC,SAASC,IAAIA,CAAA,EAAG;IACdL,MAAM,CAACM,SAAS,CAAEC,SAAS,IAAK;MAC9B,IAAIA,SAAS,KAAKhB,UAAU,CAACO,UAAU,EAAE;QACvC,OAAOI,QAAQ,CAAC,IAAIM,yBAAkB,CAACL,OAAO,EAAEC,WAAW,CAAC,CAAC;MAC/D;MAEAJ,MAAM,CAACS,YAAY,CAAEC,iBAAiB,IAAK;QACzCV,MAAM,CAACW,UAAU,CAACD,iBAAiB,EAAGE,WAAW,IAAK;UACpD,QAAQL,SAAS;YACf,KAAKhB,UAAU,CAACE,OAAO;cACrBU,OAAO,GAAGS,WAAW;cACrB;YACF,KAAKrB,UAAU,CAACM,YAAY;cAC1BO,WAAW,GAAG,CAAC,CAACQ,WAAW,CAAC,CAAC,CAAC;cAC9B;UACJ;UACAP,IAAI,CAAC,CAAC;QACR,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAA,IAAI,CAAC,CAAC;AACR;AAAC,IAAAQ,QAAA,GAEcd,mBAAmB;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAClCG,MAAM,CAACF,OAAO,GAAGf,mBAAmB"}
|
|
@@ -43,4 +43,4 @@ function fedAuthInfoParser(parser, _options, callback) {
|
|
|
43
43
|
var _default = fedAuthInfoParser;
|
|
44
44
|
exports.default = _default;
|
|
45
45
|
module.exports = fedAuthInfoParser;
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiRkVEQVVUSElORk9JRCIsIlNUU1VSTCIsIlNQTiIsImZlZEF1dGhJbmZvUGFyc2VyIiwicGFyc2VyIiwiX29wdGlvbnMiLCJjYWxsYmFjayIsInJlYWRVSW50MzJMRSIsInRva2VuTGVuZ3RoIiwicmVhZEJ1ZmZlciIsImRhdGEiLCJzcG4iLCJzdHN1cmwiLCJvZmZzZXQiLCJjb3VudE9mSW5mb0lEcyIsImkiLCJmZWRhdXRoSW5mb0lEIiwicmVhZFVJbnQ4IiwiZmVkQXV0aEluZm9EYXRhTGVuIiwiZmVkQXV0aEluZm9EYXRhT2Zmc2V0IiwidG9TdHJpbmciLCJGZWRBdXRoSW5mb1Rva2VuIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9mZWRhdXRoLWluZm8tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgdHlwZSBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcbmltcG9ydCB7IEZlZEF1dGhJbmZvVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuY29uc3QgRkVEQVVUSElORk9JRCA9IHtcbiAgU1RTVVJMOiAweDAxLFxuICBTUE46IDB4MDJcbn07XG5cbmZ1bmN0aW9uIGZlZEF1dGhJbmZvUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBfb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogRmVkQXV0aEluZm9Ub2tlbikgPT4gdm9pZCkge1xuICBwYXJzZXIucmVhZFVJbnQzMkxFKCh0b2tlbkxlbmd0aCkgPT4ge1xuICAgIHBhcnNlci5yZWFkQnVmZmVyKHRva2VuTGVuZ3RoLCAoZGF0YSkgPT4ge1xuICAgICAgbGV0IHNwbjogc3RyaW5nIHwgdW5kZWZpbmVkLCBzdHN1cmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgICAgbGV0IG9mZnNldCA9IDA7XG5cbiAgICAgIGNvbnN0IGNvdW50T2ZJbmZvSURzID0gZGF0YS5yZWFkVUludDMyTEUob2Zmc2V0KTtcbiAgICAgIG9mZnNldCArPSA0O1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50T2ZJbmZvSURzOyBpKyspIHtcbiAgICAgICAgY29uc3QgZmVkYXV0aEluZm9JRCA9IGRhdGEucmVhZFVJbnQ4KG9mZnNldCk7XG4gICAgICAgIG9mZnNldCArPSAxO1xuXG4gICAgICAgIGNvbnN0IGZlZEF1dGhJbmZvRGF0YUxlbiA9IGRhdGEucmVhZFVJbnQzMkxFKG9mZnNldCk7XG4gICAgICAgIG9mZnNldCArPSA0O1xuXG4gICAgICAgIGNvbnN0IGZlZEF1dGhJbmZvRGF0YU9mZnNldCA9IGRhdGEucmVhZFVJbnQzMkxFKG9mZnNldCk7XG4gICAgICAgIG9mZnNldCArPSA0O1xuXG4gICAgICAgIHN3aXRjaCAoZmVkYXV0aEluZm9JRCkge1xuICAgICAgICAgIGNhc2UgRkVEQVVUSElORk9JRC5TUE46XG4gICAgICAgICAgICBzcG4gPSBkYXRhLnRvU3RyaW5nKCd1Y3MyJywgZmVkQXV0aEluZm9EYXRhT2Zmc2V0LCBmZWRBdXRoSW5mb0RhdGFPZmZzZXQgKyBmZWRBdXRoSW5mb0RhdGFMZW4pO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIEZFREFVVEhJTkZPSUQuU1RTVVJMOlxuICAgICAgICAgICAgc3RzdXJsID0gZGF0YS50b1N0cmluZygndWNzMicsIGZlZEF1dGhJbmZvRGF0YU9mZnNldCwgZmVkQXV0aEluZm9EYXRhT2Zmc2V0ICsgZmVkQXV0aEluZm9EYXRhTGVuKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgLy8gaWdub3JpbmcgdW5rbm93biBmZWRhdXRoaW5mbyBvcHRpb25zXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNhbGxiYWNrKG5ldyBGZWRBdXRoSW5mb1Rva2VuKHNwbiwgc3RzdXJsKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmZWRBdXRoSW5mb1BhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gZmVkQXV0aEluZm9QYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBLE1BQU1DLGFBQWEsR0FBRztFQUNwQkMsTUFBTSxFQUFFLElBQUk7RUFDWkMsR0FBRyxFQUFFO0FBQ1AsQ0FBQztBQUVELFNBQVNDLGlCQUFpQkEsQ0FBQ0MsTUFBYyxFQUFFQyxRQUF1QixFQUFFQyxRQUEyQyxFQUFFO0VBQy9HRixNQUFNLENBQUNHLFlBQVksQ0FBRUMsV0FBVyxJQUFLO0lBQ25DSixNQUFNLENBQUNLLFVBQVUsQ0FBQ0QsV0FBVyxFQUFHRSxJQUFJLElBQUs7TUFDdkMsSUFBSUMsR0FBdUIsRUFBRUMsTUFBMEI7TUFFdkQsSUFBSUMsTUFBTSxHQUFHLENBQUM7TUFFZCxNQUFNQyxjQUFjLEdBQUdKLElBQUksQ0FBQ0gsWUFBWSxDQUFDTSxNQUFNLENBQUM7TUFDaERBLE1BQU0sSUFBSSxDQUFDO01BRVgsS0FBSyxJQUFJRSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdELGNBQWMsRUFBRUMsQ0FBQyxFQUFFLEVBQUU7UUFDdkMsTUFBTUMsYUFBYSxHQUFHTixJQUFJLENBQUNPLFNBQVMsQ0FBQ0osTUFBTSxDQUFDO1FBQzVDQSxNQUFNLElBQUksQ0FBQztRQUVYLE1BQU1LLGtCQUFrQixHQUFHUixJQUFJLENBQUNILFlBQVksQ0FBQ00sTUFBTSxDQUFDO1FBQ3BEQSxNQUFNLElBQUksQ0FBQztRQUVYLE1BQU1NLHFCQUFxQixHQUFHVCxJQUFJLENBQUNILFlBQVksQ0FBQ00sTUFBTSxDQUFDO1FBQ3ZEQSxNQUFNLElBQUksQ0FBQztRQUVYLFFBQVFHLGFBQWE7VUFDbkIsS0FBS2hCLGFBQWEsQ0FBQ0UsR0FBRztZQUNwQlMsR0FBRyxHQUFHRCxJQUFJLENBQUNVLFFBQVEsQ0FBQyxNQUFNLEVBQUVELHFCQUFxQixFQUFFQSxxQkFBcUIsR0FBR0Qsa0JBQWtCLENBQUM7WUFDOUY7VUFFRixLQUFLbEIsYUFBYSxDQUFDQyxNQUFNO1lBQ3ZCVyxNQUFNLEdBQUdGLElBQUksQ0FBQ1UsUUFBUSxDQUFDLE1BQU0sRUFBRUQscUJBQXFCLEVBQUVBLHFCQUFxQixHQUFHRCxrQkFBa0IsQ0FBQztZQUNqRzs7VUFFRjtVQUNBO1lBQ0U7UUFDSjtNQUNGO01BRUFaLFFBQVEsQ0FBQyxJQUFJZSx1QkFBZ0IsQ0FBQ1YsR0FBRyxFQUFFQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSjtBQUFDLElBQUFVLFFBQUEsR0FFY25CLGlCQUFpQjtBQUFBb0IsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUE7QUFDaENHLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHcEIsaUJBQWlCIn0=
|