plugin-data-source-mssql 2.0.0 → 2.0.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/README.md +31 -10
- package/dist/node_modules/tedious/245.index.js +741 -0
- package/dist/node_modules/tedious/LICENSE +21 -0
- package/dist/node_modules/tedious/appveyor.yml +67 -0
- package/dist/node_modules/tedious/benchmarks/bulk-load/iterable.js +61 -0
- package/dist/node_modules/tedious/benchmarks/common.js +287 -0
- package/dist/node_modules/tedious/benchmarks/connection/open.js +26 -0
- package/dist/node_modules/tedious/benchmarks/package-lock.json +21173 -0
- package/dist/node_modules/tedious/benchmarks/package.json +11 -0
- package/dist/node_modules/tedious/benchmarks/query/call-tvp.js +105 -0
- package/dist/node_modules/tedious/benchmarks/query/insert-varbinary.js +46 -0
- package/dist/node_modules/tedious/benchmarks/query/select-many-rows.js +63 -0
- package/dist/node_modules/tedious/benchmarks/query/select-nvarchar.js +50 -0
- package/dist/node_modules/tedious/benchmarks/query/select-varbinary.js +50 -0
- package/dist/node_modules/tedious/benchmarks/request/rpcrequest-payload-tvp.js +45 -0
- package/dist/node_modules/tedious/benchmarks/request/rpcrequest-payload-varbinary.js +37 -0
- package/dist/node_modules/tedious/benchmarks/token-parser/colmetadata-token.js +27 -0
- package/dist/node_modules/tedious/benchmarks/token-parser/done-token.js +28 -0
- package/dist/node_modules/tedious/benchmarks/token-parser/simple-tokens.js +363 -0
- package/dist/node_modules/tedious/lib/all-headers.d.ts +2 -0
- package/dist/node_modules/tedious/lib/all-headers.js +24 -0
- package/dist/node_modules/tedious/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +82 -0
- package/dist/node_modules/tedious/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +55 -0
- package/dist/node_modules/tedious/lib/always-encrypted/cek-entry.d.ts +11 -0
- package/dist/node_modules/tedious/lib/always-encrypted/cek-entry.js +42 -0
- package/dist/node_modules/tedious/lib/always-encrypted/get-parameter-encryption-metadata.js +90 -0
- package/dist/node_modules/tedious/lib/always-encrypted/key-crypto.js +94 -0
- package/dist/node_modules/tedious/lib/always-encrypted/keystore-provider-azure-key-vault.d.ts +21 -0
- package/dist/node_modules/tedious/lib/always-encrypted/keystore-provider-azure-key-vault.js +247 -0
- package/dist/node_modules/tedious/lib/always-encrypted/symmetric-key-cache.js +36 -0
- package/dist/node_modules/tedious/lib/always-encrypted/symmetric-key.js +25 -0
- package/dist/node_modules/tedious/lib/always-encrypted/types.d.ts +73 -0
- package/dist/node_modules/tedious/lib/always-encrypted/types.js +48 -0
- package/dist/node_modules/tedious/lib/always-encrypted/utils.js +23 -0
- package/dist/node_modules/tedious/lib/bulk-load-payload.d.ts +8 -0
- package/dist/node_modules/tedious/lib/bulk-load-payload.js +23 -0
- package/dist/node_modules/tedious/lib/bulk-load.d.ts +275 -0
- package/dist/node_modules/tedious/lib/bulk-load.js +516 -0
- package/dist/node_modules/tedious/lib/collation.d.ts +28 -0
- package/dist/node_modules/tedious/lib/collation.js +348 -0
- package/dist/node_modules/tedious/lib/connection.d.ts +1310 -0
- package/dist/node_modules/tedious/lib/connection.js +2730 -0
- package/dist/node_modules/tedious/lib/connector.d.ts +18 -0
- package/dist/node_modules/tedious/lib/connector.js +150 -0
- package/dist/node_modules/tedious/lib/data-type.d.ts +455 -0
- package/dist/node_modules/tedious/lib/data-type.js +428 -0
- package/dist/node_modules/tedious/lib/data-types/bigint.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/bigint.js +53 -0
- package/dist/node_modules/tedious/lib/data-types/binary.d.ts +5 -0
- package/dist/node_modules/tedious/lib/data-types/binary.js +67 -0
- package/dist/node_modules/tedious/lib/data-types/bit.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/bit.js +46 -0
- package/dist/node_modules/tedious/lib/data-types/bitn.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/bitn.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/char.d.ts +5 -0
- package/dist/node_modules/tedious/lib/data-types/char.js +86 -0
- package/dist/node_modules/tedious/lib/data-types/date.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/date.js +72 -0
- package/dist/node_modules/tedious/lib/data-types/datetime.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/datetime.js +93 -0
- package/dist/node_modules/tedious/lib/data-types/datetime2.d.ts +5 -0
- package/dist/node_modules/tedious/lib/data-types/datetime2.js +118 -0
- package/dist/node_modules/tedious/lib/data-types/datetimen.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/datetimen.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/datetimeoffset.d.ts +5 -0
- package/dist/node_modules/tedious/lib/data-types/datetimeoffset.js +111 -0
- package/dist/node_modules/tedious/lib/data-types/decimal.d.ts +6 -0
- package/dist/node_modules/tedious/lib/data-types/decimal.js +107 -0
- package/dist/node_modules/tedious/lib/data-types/decimaln.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/decimaln.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/float.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/float.js +47 -0
- package/dist/node_modules/tedious/lib/data-types/floatn.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/floatn.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/image.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/image.js +56 -0
- package/dist/node_modules/tedious/lib/data-types/int.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/int.js +53 -0
- package/dist/node_modules/tedious/lib/data-types/intn.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/intn.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/money.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/money.js +59 -0
- package/dist/node_modules/tedious/lib/data-types/moneyn.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/moneyn.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/nchar.d.ts +5 -0
- package/dist/node_modules/tedious/lib/data-types/nchar.js +100 -0
- package/dist/node_modules/tedious/lib/data-types/ntext.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/ntext.js +60 -0
- package/dist/node_modules/tedious/lib/data-types/null.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/null.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/numeric.d.ts +6 -0
- package/dist/node_modules/tedious/lib/data-types/numeric.js +106 -0
- package/dist/node_modules/tedious/lib/data-types/numericn.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/numericn.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/nvarchar.d.ts +5 -0
- package/dist/node_modules/tedious/lib/data-types/nvarchar.js +133 -0
- package/dist/node_modules/tedious/lib/data-types/real.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/real.js +48 -0
- package/dist/node_modules/tedious/lib/data-types/smalldatetime.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/smalldatetime.js +83 -0
- package/dist/node_modules/tedious/lib/data-types/smallint.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/smallint.js +53 -0
- package/dist/node_modules/tedious/lib/data-types/smallmoney.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/smallmoney.js +51 -0
- package/dist/node_modules/tedious/lib/data-types/sql-variant.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/sql-variant.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/text.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/text.js +69 -0
- package/dist/node_modules/tedious/lib/data-types/time.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/time.js +96 -0
- package/dist/node_modules/tedious/lib/data-types/tinyint.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/tinyint.js +53 -0
- package/dist/node_modules/tedious/lib/data-types/tvp.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/tvp.js +117 -0
- package/dist/node_modules/tedious/lib/data-types/udt.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/udt.js +29 -0
- package/dist/node_modules/tedious/lib/data-types/uniqueidentifier.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/uniqueidentifier.js +50 -0
- package/dist/node_modules/tedious/lib/data-types/varbinary.d.ts +5 -0
- package/dist/node_modules/tedious/lib/data-types/varbinary.js +119 -0
- package/dist/node_modules/tedious/lib/data-types/varchar.d.ts +5 -0
- package/dist/node_modules/tedious/lib/data-types/varchar.js +112 -0
- package/dist/node_modules/tedious/lib/data-types/xml.d.ts +3 -0
- package/dist/node_modules/tedious/lib/data-types/xml.js +29 -0
- package/dist/node_modules/tedious/lib/debug.d.ts +25 -0
- package/dist/node_modules/tedious/lib/debug.js +67 -0
- package/dist/node_modules/tedious/lib/errors/abort-error.d.ts +4 -0
- package/dist/node_modules/tedious/lib/errors/abort-error.js +15 -0
- package/dist/node_modules/tedious/lib/errors/timeout-error.d.ts +4 -0
- package/dist/node_modules/tedious/lib/errors/timeout-error.js +15 -0
- package/dist/node_modules/tedious/lib/errors.d.ts +17 -0
- package/dist/node_modules/tedious/lib/errors.js +23 -0
- package/dist/node_modules/tedious/lib/guid-parser.d.ts +3 -0
- package/dist/node_modules/tedious/lib/guid-parser.js +30 -0
- package/dist/node_modules/tedious/lib/incoming-message-stream.d.ts +19 -0
- package/dist/node_modules/tedious/lib/incoming-message-stream.js +97 -0
- package/dist/node_modules/tedious/lib/instance-lookup.d.ts +13 -0
- package/dist/node_modules/tedious/lib/instance-lookup.js +96 -0
- package/dist/node_modules/tedious/lib/library.d.ts +1 -0
- package/dist/node_modules/tedious/lib/library.js +8 -0
- package/dist/node_modules/tedious/lib/login7-payload.d.ts +51 -0
- package/dist/node_modules/tedious/lib/login7-payload.js +402 -0
- package/dist/node_modules/tedious/lib/message-io.d.ts +28 -0
- package/dist/node_modules/tedious/lib/message-io.js +153 -0
- package/dist/node_modules/tedious/lib/message.d.ts +11 -0
- package/dist/node_modules/tedious/lib/message.js +21 -0
- package/dist/node_modules/tedious/lib/metadata-parser.d.ts +48 -0
- package/dist/node_modules/tedious/lib/metadata-parser.js +380 -0
- package/dist/node_modules/tedious/lib/ntlm-payload.d.ts +23 -0
- package/dist/node_modules/tedious/lib/ntlm-payload.js +136 -0
- package/dist/node_modules/tedious/lib/ntlm.d.ts +4 -0
- package/dist/node_modules/tedious/lib/ntlm.js +72 -0
- package/dist/node_modules/tedious/lib/outgoing-message-stream.d.ts +15 -0
- package/dist/node_modules/tedious/lib/outgoing-message-stream.js +81 -0
- package/dist/node_modules/tedious/lib/packet.d.ts +33 -0
- package/dist/node_modules/tedious/lib/packet.js +191 -0
- package/dist/node_modules/tedious/lib/prelogin-payload.d.ts +61 -0
- package/dist/node_modules/tedious/lib/prelogin-payload.js +209 -0
- package/dist/node_modules/tedious/lib/request.d.ts +370 -0
- package/dist/node_modules/tedious/lib/request.js +387 -0
- package/dist/node_modules/tedious/lib/rpcrequest-payload.d.ts +16 -0
- package/dist/node_modules/tedious/lib/rpcrequest-payload.js +109 -0
- package/dist/node_modules/tedious/lib/sender.d.ts +5 -0
- package/dist/node_modules/tedious/lib/sender.js +83 -0
- package/dist/node_modules/tedious/lib/special-stored-procedure.d.ts +18 -0
- package/dist/node_modules/tedious/lib/special-stored-procedure.js +26 -0
- package/dist/node_modules/tedious/lib/sqlbatch-payload.d.ts +13 -0
- package/dist/node_modules/tedious/lib/sqlbatch-payload.js +34 -0
- package/dist/node_modules/tedious/lib/tds-versions.d.ts +6 -0
- package/dist/node_modules/tedious/lib/tds-versions.js +19 -0
- package/dist/node_modules/tedious/lib/tedious.d.ts +13 -0
- package/dist/node_modules/tedious/lib/tedious.js +249 -0
- package/dist/node_modules/tedious/lib/token/colmetadata-token-parser.d.ts +12 -0
- package/dist/node_modules/tedious/lib/token/colmetadata-token-parser.js +124 -0
- package/dist/node_modules/tedious/lib/token/done-token-parser.d.ts +6 -0
- package/dist/node_modules/tedious/lib/token/done-token-parser.js +76 -0
- package/dist/node_modules/tedious/lib/token/env-change-token-parser.d.ts +5 -0
- package/dist/node_modules/tedious/lib/token/env-change-token-parser.js +190 -0
- package/dist/node_modules/tedious/lib/token/feature-ext-ack-parser.d.ts +5 -0
- package/dist/node_modules/tedious/lib/token/feature-ext-ack-parser.js +52 -0
- package/dist/node_modules/tedious/lib/token/fedauth-info-parser.d.ts +5 -0
- package/dist/node_modules/tedious/lib/token/fedauth-info-parser.js +62 -0
- package/dist/node_modules/tedious/lib/token/handler.d.ts +135 -0
- package/dist/node_modules/tedious/lib/token/handler.js +444 -0
- package/dist/node_modules/tedious/lib/token/helpers.d.ts +28 -0
- package/dist/node_modules/tedious/lib/token/helpers.js +205 -0
- package/dist/node_modules/tedious/lib/token/infoerror-token-parser.d.ts +5 -0
- package/dist/node_modules/tedious/lib/token/infoerror-token-parser.js +80 -0
- package/dist/node_modules/tedious/lib/token/loginack-token-parser.d.ts +5 -0
- package/dist/node_modules/tedious/lib/token/loginack-token-parser.js +75 -0
- package/dist/node_modules/tedious/lib/token/nbcrow-token-parser.d.ts +4 -0
- package/dist/node_modules/tedious/lib/token/nbcrow-token-parser.js +104 -0
- package/dist/node_modules/tedious/lib/token/order-token-parser.d.ts +5 -0
- package/dist/node_modules/tedious/lib/token/order-token-parser.js +34 -0
- package/dist/node_modules/tedious/lib/token/returnstatus-token-parser.d.ts +5 -0
- package/dist/node_modules/tedious/lib/token/returnstatus-token-parser.js +21 -0
- package/dist/node_modules/tedious/lib/token/returnvalue-token-parser.d.ts +4 -0
- package/dist/node_modules/tedious/lib/token/returnvalue-token-parser.js +94 -0
- package/dist/node_modules/tedious/lib/token/row-token-parser.d.ts +4 -0
- package/dist/node_modules/tedious/lib/token/row-token-parser.js +77 -0
- package/dist/node_modules/tedious/lib/token/sspi-token-parser.d.ts +5 -0
- package/dist/node_modules/tedious/lib/token/sspi-token-parser.js +42 -0
- package/dist/node_modules/tedious/lib/token/stream-parser.d.ts +34 -0
- package/dist/node_modules/tedious/lib/token/stream-parser.js +341 -0
- package/dist/node_modules/tedious/lib/token/token-stream-parser.d.ts +15 -0
- package/dist/node_modules/tedious/lib/token/token-stream-parser.js +36 -0
- package/dist/node_modules/tedious/lib/token/token.d.ts +312 -0
- package/dist/node_modules/tedious/lib/token/token.js +328 -0
- package/dist/node_modules/tedious/lib/tracking-buffer/writable-tracking-buffer.d.ts +47 -0
- package/dist/node_modules/tedious/lib/tracking-buffer/writable-tracking-buffer.js +249 -0
- package/dist/node_modules/tedious/lib/transaction.d.ts +39 -0
- package/dist/node_modules/tedious/lib/transaction.js +137 -0
- package/dist/node_modules/tedious/lib/transient-error-lookup.d.ts +3 -0
- package/dist/node_modules/tedious/lib/transient-error-lookup.js +19 -0
- package/dist/node_modules/tedious/lib/utils/with-timeout.d.ts +7 -0
- package/dist/node_modules/tedious/lib/utils/with-timeout.js +36 -0
- package/dist/node_modules/tedious/lib/value-parser.d.ts +7 -0
- package/dist/node_modules/tedious/lib/value-parser.js +813 -0
- package/dist/node_modules/tedious/node_modules/@types/node/assert/strict.d.ts +105 -0
- package/dist/node_modules/tedious/node_modules/@types/node/assert.d.ts +955 -0
- package/dist/node_modules/tedious/node_modules/@types/node/async_hooks.d.ts +623 -0
- package/dist/node_modules/tedious/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/dist/node_modules/tedious/node_modules/@types/node/buffer.d.ts +1810 -0
- package/dist/node_modules/tedious/node_modules/@types/node/child_process.d.ts +1428 -0
- package/dist/node_modules/tedious/node_modules/@types/node/cluster.d.ts +486 -0
- package/dist/node_modules/tedious/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/dist/node_modules/tedious/node_modules/@types/node/console.d.ts +151 -0
- package/dist/node_modules/tedious/node_modules/@types/node/constants.d.ts +20 -0
- package/dist/node_modules/tedious/node_modules/@types/node/crypto.d.ts +4065 -0
- package/dist/node_modules/tedious/node_modules/@types/node/dgram.d.ts +564 -0
- package/dist/node_modules/tedious/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
- package/dist/node_modules/tedious/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/dist/node_modules/tedious/node_modules/@types/node/dns.d.ts +922 -0
- package/dist/node_modules/tedious/node_modules/@types/node/domain.d.ts +166 -0
- package/dist/node_modules/tedious/node_modules/@types/node/events.d.ts +1054 -0
- package/dist/node_modules/tedious/node_modules/@types/node/fs/promises.d.ts +1329 -0
- package/dist/node_modules/tedious/node_modules/@types/node/fs.d.ts +4676 -0
- package/dist/node_modules/tedious/node_modules/@types/node/globals.d.ts +150 -0
- package/dist/node_modules/tedious/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/dist/node_modules/tedious/node_modules/@types/node/http.d.ts +2167 -0
- package/dist/node_modules/tedious/node_modules/@types/node/http2.d.ts +2480 -0
- package/dist/node_modules/tedious/node_modules/@types/node/https.d.ts +405 -0
- package/dist/node_modules/tedious/node_modules/@types/node/index.d.ts +115 -0
- package/dist/node_modules/tedious/node_modules/@types/node/inspector/promises.d.ts +41 -0
- package/dist/node_modules/tedious/node_modules/@types/node/inspector.d.ts +224 -0
- package/dist/node_modules/tedious/node_modules/@types/node/inspector.generated.d.ts +4226 -0
- package/dist/node_modules/tedious/node_modules/@types/node/module.d.ts +819 -0
- package/dist/node_modules/tedious/node_modules/@types/node/net.d.ts +933 -0
- package/dist/node_modules/tedious/node_modules/@types/node/os.d.ts +507 -0
- package/dist/node_modules/tedious/node_modules/@types/node/package.json +155 -0
- package/dist/node_modules/tedious/node_modules/@types/node/path/posix.d.ts +8 -0
- package/dist/node_modules/tedious/node_modules/@types/node/path/win32.d.ts +8 -0
- package/dist/node_modules/tedious/node_modules/@types/node/path.d.ts +187 -0
- package/dist/node_modules/tedious/node_modules/@types/node/perf_hooks.d.ts +643 -0
- package/dist/node_modules/tedious/node_modules/@types/node/process.d.ts +2161 -0
- package/dist/node_modules/tedious/node_modules/@types/node/punycode.d.ts +117 -0
- package/dist/node_modules/tedious/node_modules/@types/node/querystring.d.ts +152 -0
- package/dist/node_modules/tedious/node_modules/@types/node/quic.d.ts +910 -0
- package/dist/node_modules/tedious/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/dist/node_modules/tedious/node_modules/@types/node/readline.d.ts +541 -0
- package/dist/node_modules/tedious/node_modules/@types/node/repl.d.ts +415 -0
- package/dist/node_modules/tedious/node_modules/@types/node/sea.d.ts +162 -0
- package/dist/node_modules/tedious/node_modules/@types/node/sqlite.d.ts +955 -0
- package/dist/node_modules/tedious/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/dist/node_modules/tedious/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/dist/node_modules/tedious/node_modules/@types/node/stream/web.d.ts +296 -0
- package/dist/node_modules/tedious/node_modules/@types/node/stream.d.ts +1760 -0
- package/dist/node_modules/tedious/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/dist/node_modules/tedious/node_modules/@types/node/test/reporters.d.ts +96 -0
- package/dist/node_modules/tedious/node_modules/@types/node/test.d.ts +2240 -0
- package/dist/node_modules/tedious/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/dist/node_modules/tedious/node_modules/@types/node/timers.d.ts +159 -0
- package/dist/node_modules/tedious/node_modules/@types/node/tls.d.ts +1198 -0
- package/dist/node_modules/tedious/node_modules/@types/node/trace_events.d.ts +197 -0
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/index.d.ts +117 -0
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.7/index.d.ts +117 -0
- package/dist/node_modules/tedious/node_modules/@types/node/tty.d.ts +250 -0
- package/dist/node_modules/tedious/node_modules/@types/node/url.d.ts +519 -0
- package/dist/node_modules/tedious/node_modules/@types/node/util/types.d.ts +558 -0
- package/dist/node_modules/tedious/node_modules/@types/node/util.d.ts +1662 -0
- package/dist/node_modules/tedious/node_modules/@types/node/v8.d.ts +983 -0
- package/dist/node_modules/tedious/node_modules/@types/node/vm.d.ts +1208 -0
- package/dist/node_modules/tedious/node_modules/@types/node/wasi.d.ts +202 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/dist/node_modules/tedious/node_modules/@types/node/worker_threads.d.ts +717 -0
- package/dist/node_modules/tedious/node_modules/@types/node/zlib.d.ts +618 -0
- package/dist/node_modules/tedious/node_modules/bl/.github/dependabot.yml +16 -0
- package/dist/node_modules/tedious/node_modules/bl/.github/workflows/test-and-release.yml +61 -0
- package/dist/node_modules/tedious/node_modules/bl/BufferList.d.ts +431 -0
- package/dist/node_modules/tedious/node_modules/bl/BufferList.js +421 -0
- package/dist/node_modules/tedious/node_modules/bl/bl.js +84 -0
- package/dist/node_modules/tedious/node_modules/bl/index.d.ts +88 -0
- package/dist/node_modules/tedious/node_modules/bl/package.json +123 -0
- package/dist/node_modules/tedious/node_modules/bl/test/convert.js +21 -0
- package/dist/node_modules/tedious/node_modules/bl/test/indexOf.js +492 -0
- package/dist/node_modules/tedious/node_modules/bl/test/isBufferList.js +32 -0
- package/dist/node_modules/tedious/node_modules/bl/test/test.js +1032 -0
- package/dist/node_modules/tedious/node_modules/buffer/index.d.ts +194 -0
- package/dist/node_modules/tedious/node_modules/buffer/index.js +2106 -0
- package/dist/node_modules/tedious/node_modules/buffer/package.json +93 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_readable.js +4 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_transform.js +4 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_writable.js +4 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/legacy.js +89 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/validators.js +530 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/browser.js +35 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/errors.js +343 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/index.js +65 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/primordials.js +124 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/util.js +148 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/stream/promises.js +43 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/stream.js +143 -0
- package/dist/node_modules/tedious/node_modules/readable-stream/package.json +88 -0
- package/dist/node_modules/tedious/node_modules/sprintf-js/dist/.gitattributes +4 -0
- package/dist/node_modules/tedious/node_modules/sprintf-js/dist/angular-sprintf.min.js +3 -0
- package/dist/node_modules/tedious/node_modules/sprintf-js/dist/sprintf.min.js +3 -0
- package/dist/node_modules/tedious/node_modules/sprintf-js/package.json +35 -0
- package/dist/node_modules/tedious/node_modules/sprintf-js/src/angular-sprintf.js +24 -0
- package/dist/node_modules/tedious/node_modules/sprintf-js/src/sprintf.js +231 -0
- package/dist/node_modules/tedious/node_modules/undici-types/agent.d.ts +32 -0
- package/dist/node_modules/tedious/node_modules/undici-types/api.d.ts +43 -0
- package/dist/node_modules/tedious/node_modules/undici-types/balanced-pool.d.ts +29 -0
- package/dist/node_modules/tedious/node_modules/undici-types/cache-interceptor.d.ts +172 -0
- package/dist/node_modules/tedious/node_modules/undici-types/cache.d.ts +36 -0
- package/dist/node_modules/tedious/node_modules/undici-types/client-stats.d.ts +15 -0
- package/dist/node_modules/tedious/node_modules/undici-types/client.d.ts +108 -0
- package/dist/node_modules/tedious/node_modules/undici-types/connector.d.ts +34 -0
- package/dist/node_modules/tedious/node_modules/undici-types/content-type.d.ts +21 -0
- package/dist/node_modules/tedious/node_modules/undici-types/cookies.d.ts +30 -0
- package/dist/node_modules/tedious/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/dist/node_modules/tedious/node_modules/undici-types/dispatcher.d.ts +276 -0
- package/dist/node_modules/tedious/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/dist/node_modules/tedious/node_modules/undici-types/errors.d.ts +161 -0
- package/dist/node_modules/tedious/node_modules/undici-types/eventsource.d.ts +66 -0
- package/dist/node_modules/tedious/node_modules/undici-types/fetch.d.ts +211 -0
- package/dist/node_modules/tedious/node_modules/undici-types/formdata.d.ts +108 -0
- package/dist/node_modules/tedious/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/dist/node_modules/tedious/node_modules/undici-types/global-origin.d.ts +7 -0
- package/dist/node_modules/tedious/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/dist/node_modules/tedious/node_modules/undici-types/handlers.d.ts +15 -0
- package/dist/node_modules/tedious/node_modules/undici-types/header.d.ts +160 -0
- package/dist/node_modules/tedious/node_modules/undici-types/index.d.ts +80 -0
- package/dist/node_modules/tedious/node_modules/undici-types/interceptors.d.ts +39 -0
- package/dist/node_modules/tedious/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/dist/node_modules/tedious/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/dist/node_modules/tedious/node_modules/undici-types/mock-client.d.ts +27 -0
- package/dist/node_modules/tedious/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/dist/node_modules/tedious/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/dist/node_modules/tedious/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/dist/node_modules/tedious/node_modules/undici-types/package.json +55 -0
- package/dist/node_modules/tedious/node_modules/undici-types/patch.d.ts +29 -0
- package/dist/node_modules/tedious/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/dist/node_modules/tedious/node_modules/undici-types/pool.d.ts +41 -0
- package/dist/node_modules/tedious/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/dist/node_modules/tedious/node_modules/undici-types/readable.d.ts +68 -0
- package/dist/node_modules/tedious/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/dist/node_modules/tedious/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/dist/node_modules/tedious/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/dist/node_modules/tedious/node_modules/undici-types/util.d.ts +18 -0
- package/dist/node_modules/tedious/node_modules/undici-types/utility.d.ts +7 -0
- package/dist/node_modules/tedious/node_modules/undici-types/webidl.d.ts +341 -0
- package/dist/node_modules/tedious/node_modules/undici-types/websocket.d.ts +186 -0
- package/dist/node_modules/tedious/package.json +1 -0
- package/dist/node_modules/tedious/tsconfig.build-types.json +15 -0
- package/dist/node_modules/tedious/tsconfig.json +29 -0
- package/dist/node_modules/tedious/types/js-md4.d.ts +7 -0
- package/dist/node_modules/tedious/types/native-duplexpair.d.ts +12 -0
- package/dist/server/data-source/MssqlExternalDataSource.js +33 -2
- package/package.json +1 -1
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _events = require("events");
|
|
8
|
+
var _errors = require("./errors");
|
|
9
|
+
var _types = require("./always-encrypted/types");
|
|
10
|
+
/**
|
|
11
|
+
* The callback is called when the request has completed, either successfully or with an error.
|
|
12
|
+
* If an error occurs during execution of the statement(s), then `err` will describe the error.
|
|
13
|
+
*
|
|
14
|
+
* As only one request at a time may be executed on a connection, another request should not
|
|
15
|
+
* be initiated until this callback is called.
|
|
16
|
+
*
|
|
17
|
+
* This callback is called before `requestCompleted` is emitted.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* ```js
|
|
22
|
+
* const { Request } = require('tedious');
|
|
23
|
+
* const request = new Request("select 42, 'hello world'", (err, rowCount) {
|
|
24
|
+
* // Request completion callback...
|
|
25
|
+
* });
|
|
26
|
+
* connection.execSql(request);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
class Request extends _events.EventEmitter {
|
|
30
|
+
/**
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @private
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* This event, describing result set columns, will be emitted before row
|
|
92
|
+
* events are emitted. This event may be emitted multiple times when more
|
|
93
|
+
* than one recordset is produced by the statement.
|
|
94
|
+
*
|
|
95
|
+
* An array like object, where the columns can be accessed either by index
|
|
96
|
+
* or name. Columns with a name that is an integer are not accessible by name,
|
|
97
|
+
* as it would be interpreted as an array index.
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* The request has been prepared and can be used in subsequent calls to execute and unprepare.
|
|
102
|
+
*/
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* The request encountered an error and has not been prepared.
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* A row resulting from execution of the SQL statement.
|
|
110
|
+
*/
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* All rows from a result set have been provided (through `row` events).
|
|
114
|
+
*
|
|
115
|
+
* This token is used to indicate the completion of a SQL statement.
|
|
116
|
+
* As multiple SQL statements can be sent to the server in a single SQL batch, multiple `done` can be generated.
|
|
117
|
+
* An `done` event is emitted for each SQL statement in the SQL batch except variable declarations.
|
|
118
|
+
* For execution of SQL statements within stored procedures, `doneProc` and `doneInProc` events are used in place of `done`.
|
|
119
|
+
*
|
|
120
|
+
* If you are using [[Connection.execSql]] then SQL server may treat the multiple calls with the same query as a stored procedure.
|
|
121
|
+
* When this occurs, the `doneProc` and `doneInProc` events may be emitted instead. You must handle both events to ensure complete coverage.
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* `request.on('doneInProc', function (rowCount, more, rows) { });`
|
|
126
|
+
*
|
|
127
|
+
* Indicates the completion status of a SQL statement within a stored procedure. All rows from a statement
|
|
128
|
+
* in a stored procedure have been provided (through `row` events).
|
|
129
|
+
*
|
|
130
|
+
* This event may also occur when executing multiple calls with the same query using [[execSql]].
|
|
131
|
+
*/
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Indicates the completion status of a stored procedure. This is also generated for stored procedures
|
|
135
|
+
* executed through SQL statements.\
|
|
136
|
+
* This event may also occur when executing multiple calls with the same query using [[execSql]].
|
|
137
|
+
*/
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* A value for an output parameter (that was added to the request with [[addOutputParameter]]).
|
|
141
|
+
* See also `Using Parameters`.
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* This event gives the columns by which data is ordered, if `ORDER BY` clause is executed in SQL Server.
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
on(event, listener) {
|
|
149
|
+
return super.on(event, listener);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* @private
|
|
154
|
+
*/
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* @private
|
|
162
|
+
*/
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* @private
|
|
166
|
+
*/
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* @private
|
|
170
|
+
*/
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* @private
|
|
174
|
+
*/
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @private
|
|
178
|
+
*/
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @private
|
|
182
|
+
*/
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* @private
|
|
186
|
+
*/
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* @private
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* @private
|
|
194
|
+
*/
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* @private
|
|
198
|
+
*/
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* @private
|
|
202
|
+
*/
|
|
203
|
+
|
|
204
|
+
emit(event, ...args) {
|
|
205
|
+
return super.emit(event, ...args);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* @param sqlTextOrProcedure
|
|
210
|
+
* The SQL statement to be executed
|
|
211
|
+
*
|
|
212
|
+
* @param callback
|
|
213
|
+
* The callback to execute once the request has been fully completed.
|
|
214
|
+
*/
|
|
215
|
+
constructor(sqlTextOrProcedure, callback, options) {
|
|
216
|
+
super();
|
|
217
|
+
this.sqlTextOrProcedure = sqlTextOrProcedure;
|
|
218
|
+
this.parameters = [];
|
|
219
|
+
this.parametersByName = {};
|
|
220
|
+
this.preparing = false;
|
|
221
|
+
this.handle = undefined;
|
|
222
|
+
this.canceled = false;
|
|
223
|
+
this.paused = false;
|
|
224
|
+
this.error = undefined;
|
|
225
|
+
this.connection = undefined;
|
|
226
|
+
this.timeout = undefined;
|
|
227
|
+
this.userCallback = callback;
|
|
228
|
+
this.statementColumnEncryptionSetting = options && options.statementColumnEncryptionSetting || _types.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting;
|
|
229
|
+
this.cryptoMetadataLoaded = false;
|
|
230
|
+
this.callback = function (err, rowCount, rows) {
|
|
231
|
+
if (this.preparing) {
|
|
232
|
+
this.preparing = false;
|
|
233
|
+
if (err) {
|
|
234
|
+
this.emit('error', err);
|
|
235
|
+
} else {
|
|
236
|
+
this.emit('prepared');
|
|
237
|
+
}
|
|
238
|
+
} else {
|
|
239
|
+
this.userCallback(err, rowCount, rows);
|
|
240
|
+
this.emit('requestCompleted');
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* @param name
|
|
247
|
+
* The parameter name. This should correspond to a parameter in the SQL,
|
|
248
|
+
* or a parameter that a called procedure expects. The name should not start with `@`.
|
|
249
|
+
*
|
|
250
|
+
* @param type
|
|
251
|
+
* One of the supported data types.
|
|
252
|
+
*
|
|
253
|
+
* @param value
|
|
254
|
+
* The value that the parameter is to be given. The Javascript type of the
|
|
255
|
+
* argument should match that documented for data types.
|
|
256
|
+
*
|
|
257
|
+
* @param options
|
|
258
|
+
* Additional type options. Optional.
|
|
259
|
+
*/
|
|
260
|
+
// TODO: `type` must be a valid TDS value type
|
|
261
|
+
addParameter(name, type, value, options) {
|
|
262
|
+
const {
|
|
263
|
+
output = false,
|
|
264
|
+
length,
|
|
265
|
+
precision,
|
|
266
|
+
scale
|
|
267
|
+
} = options ?? {};
|
|
268
|
+
const parameter = {
|
|
269
|
+
type: type,
|
|
270
|
+
name: name,
|
|
271
|
+
value: value,
|
|
272
|
+
output: output,
|
|
273
|
+
length: length,
|
|
274
|
+
precision: precision,
|
|
275
|
+
scale: scale
|
|
276
|
+
};
|
|
277
|
+
this.parameters.push(parameter);
|
|
278
|
+
this.parametersByName[name] = parameter;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* @param name
|
|
283
|
+
* The parameter name. This should correspond to a parameter in the SQL,
|
|
284
|
+
* or a parameter that a called procedure expects.
|
|
285
|
+
*
|
|
286
|
+
* @param type
|
|
287
|
+
* One of the supported data types.
|
|
288
|
+
*
|
|
289
|
+
* @param value
|
|
290
|
+
* The value that the parameter is to be given. The Javascript type of the
|
|
291
|
+
* argument should match that documented for data types
|
|
292
|
+
*
|
|
293
|
+
* @param options
|
|
294
|
+
* Additional type options. Optional.
|
|
295
|
+
*/
|
|
296
|
+
addOutputParameter(name, type, value, options) {
|
|
297
|
+
this.addParameter(name, type, value, {
|
|
298
|
+
...options,
|
|
299
|
+
output: true
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* @private
|
|
305
|
+
*/
|
|
306
|
+
makeParamsParameter(parameters) {
|
|
307
|
+
let paramsParameter = '';
|
|
308
|
+
for (let i = 0, len = parameters.length; i < len; i++) {
|
|
309
|
+
const parameter = parameters[i];
|
|
310
|
+
if (paramsParameter.length > 0) {
|
|
311
|
+
paramsParameter += ', ';
|
|
312
|
+
}
|
|
313
|
+
paramsParameter += '@' + parameter.name + ' ';
|
|
314
|
+
paramsParameter += parameter.type.declaration(parameter);
|
|
315
|
+
if (parameter.output) {
|
|
316
|
+
paramsParameter += ' OUTPUT';
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return paramsParameter;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* @private
|
|
324
|
+
*/
|
|
325
|
+
validateParameters(collation) {
|
|
326
|
+
for (let i = 0, len = this.parameters.length; i < len; i++) {
|
|
327
|
+
const parameter = this.parameters[i];
|
|
328
|
+
try {
|
|
329
|
+
parameter.value = parameter.type.validate(parameter.value, collation);
|
|
330
|
+
} catch (error) {
|
|
331
|
+
throw new _errors.RequestError('Validation failed for parameter \'' + parameter.name + '\'. ' + error.message, 'EPARAM', {
|
|
332
|
+
cause: error
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Temporarily suspends the flow of data from the database. No more `row` events will be emitted until [[resume] is called.
|
|
340
|
+
* If this request is already in a paused state, calling [[pause]] has no effect.
|
|
341
|
+
*/
|
|
342
|
+
pause() {
|
|
343
|
+
if (this.paused) {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
this.emit('pause');
|
|
347
|
+
this.paused = true;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Resumes the flow of data from the database.
|
|
352
|
+
* If this request is not in a paused state, calling [[resume]] has no effect.
|
|
353
|
+
*/
|
|
354
|
+
resume() {
|
|
355
|
+
if (!this.paused) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
this.paused = false;
|
|
359
|
+
this.emit('resume');
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* Cancels a request while waiting for a server response.
|
|
364
|
+
*/
|
|
365
|
+
cancel() {
|
|
366
|
+
if (this.canceled) {
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
this.canceled = true;
|
|
370
|
+
this.emit('cancel');
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Sets a timeout for this request.
|
|
375
|
+
*
|
|
376
|
+
* @param timeout
|
|
377
|
+
* The number of milliseconds before the request is considered failed,
|
|
378
|
+
* or `0` for no timeout. When no timeout is set for the request,
|
|
379
|
+
* the [[ConnectionOptions.requestTimeout]] of the [[Connection]] is used.
|
|
380
|
+
*/
|
|
381
|
+
setTimeout(timeout) {
|
|
382
|
+
this.timeout = timeout;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
var _default = exports.default = Request;
|
|
386
|
+
module.exports = Request;
|
|
387
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9lcnJvcnMiLCJfdHlwZXMiLCJSZXF1ZXN0IiwiRXZlbnRFbWl0dGVyIiwib24iLCJldmVudCIsImxpc3RlbmVyIiwiZW1pdCIsImFyZ3MiLCJjb25zdHJ1Y3RvciIsInNxbFRleHRPclByb2NlZHVyZSIsImNhbGxiYWNrIiwib3B0aW9ucyIsInBhcmFtZXRlcnMiLCJwYXJhbWV0ZXJzQnlOYW1lIiwicHJlcGFyaW5nIiwiaGFuZGxlIiwidW5kZWZpbmVkIiwiY2FuY2VsZWQiLCJwYXVzZWQiLCJlcnJvciIsImNvbm5lY3Rpb24iLCJ0aW1lb3V0IiwidXNlckNhbGxiYWNrIiwic3RhdGVtZW50Q29sdW1uRW5jcnlwdGlvblNldHRpbmciLCJTUUxTZXJ2ZXJTdGF0ZW1lbnRDb2x1bW5FbmNyeXB0aW9uU2V0dGluZyIsIlVzZUNvbm5lY3Rpb25TZXR0aW5nIiwiY3J5cHRvTWV0YWRhdGFMb2FkZWQiLCJlcnIiLCJyb3dDb3VudCIsInJvd3MiLCJhZGRQYXJhbWV0ZXIiLCJuYW1lIiwidHlwZSIsInZhbHVlIiwib3V0cHV0IiwibGVuZ3RoIiwicHJlY2lzaW9uIiwic2NhbGUiLCJwYXJhbWV0ZXIiLCJwdXNoIiwiYWRkT3V0cHV0UGFyYW1ldGVyIiwibWFrZVBhcmFtc1BhcmFtZXRlciIsInBhcmFtc1BhcmFtZXRlciIsImkiLCJsZW4iLCJkZWNsYXJhdGlvbiIsInZhbGlkYXRlUGFyYW1ldGVycyIsImNvbGxhdGlvbiIsInZhbGlkYXRlIiwiUmVxdWVzdEVycm9yIiwibWVzc2FnZSIsImNhdXNlIiwicGF1c2UiLCJyZXN1bWUiLCJjYW5jZWwiLCJzZXRUaW1lb3V0IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXF1ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgeyB0eXBlIFBhcmFtZXRlciwgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4vZGF0YS10eXBlJztcbmltcG9ydCB7IFJlcXVlc3RFcnJvciB9IGZyb20gJy4vZXJyb3JzJztcblxuaW1wb3J0IENvbm5lY3Rpb24gZnJvbSAnLi9jb25uZWN0aW9uJztcbmltcG9ydCB7IHR5cGUgTWV0YWRhdGEgfSBmcm9tICcuL21ldGFkYXRhLXBhcnNlcic7XG5pbXBvcnQgeyBTUUxTZXJ2ZXJTdGF0ZW1lbnRDb2x1bW5FbmNyeXB0aW9uU2V0dGluZyB9IGZyb20gJy4vYWx3YXlzLWVuY3J5cHRlZC90eXBlcyc7XG5pbXBvcnQgeyB0eXBlIENvbHVtbk1ldGFkYXRhIH0gZnJvbSAnLi90b2tlbi9jb2xtZXRhZGF0YS10b2tlbi1wYXJzZXInO1xuaW1wb3J0IHsgQ29sbGF0aW9uIH0gZnJvbSAnLi9jb2xsYXRpb24nO1xuXG4vKipcbiAqIFRoZSBjYWxsYmFjayBpcyBjYWxsZWQgd2hlbiB0aGUgcmVxdWVzdCBoYXMgY29tcGxldGVkLCBlaXRoZXIgc3VjY2Vzc2Z1bGx5IG9yIHdpdGggYW4gZXJyb3IuXG4gKiBJZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIGV4ZWN1dGlvbiBvZiB0aGUgc3RhdGVtZW50KHMpLCB0aGVuIGBlcnJgIHdpbGwgZGVzY3JpYmUgdGhlIGVycm9yLlxuICpcbiAqIEFzIG9ubHkgb25lIHJlcXVlc3QgYXQgYSB0aW1lIG1heSBiZSBleGVjdXRlZCBvbiBhIGNvbm5lY3Rpb24sIGFub3RoZXIgcmVxdWVzdCBzaG91bGQgbm90XG4gKiBiZSBpbml0aWF0ZWQgdW50aWwgdGhpcyBjYWxsYmFjayBpcyBjYWxsZWQuXG4gKlxuICogVGhpcyBjYWxsYmFjayBpcyBjYWxsZWQgYmVmb3JlIGByZXF1ZXN0Q29tcGxldGVkYCBpcyBlbWl0dGVkLlxuICovXG50eXBlIENvbXBsZXRpb25DYWxsYmFjayA9XG4gIC8qKlxuICAgKiBAcGFyYW0gZXJyb3JcbiAgICogICBJZiBhbiBlcnJvciBvY2N1cnJlZCwgYW4gZXJyb3Igb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gcm93Q291bnRcbiAgICogICBUaGUgbnVtYmVyIG9mIHJvd3MgZW1pdHRlZCBhcyByZXN1bHQgb2YgZXhlY3V0aW5nIHRoZSBTUUwgc3RhdGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcm93c1xuICAgKiAgIFJvd3MgYXMgYSByZXN1bHQgb2YgZXhlY3V0aW5nIHRoZSBTUUwgc3RhdGVtZW50LlxuICAgKiAgIFdpbGwgb25seSBiZSBhdmFpbGFibGUgaWYgW1tDb25uZWN0aW9uT3B0aW9ucy5yb3dDb2xsZWN0aW9uT25SZXF1ZXN0Q29tcGxldGlvbl1dIGlzIGB0cnVlYC5cbiAgICovXG4gIC8vIFRPRE86IEZpZ3VyZSBvdXQgaG93IHRvIHR5cGUgdGhlIGByb3dzYCBwYXJhbWV0ZXIgaGVyZS5cbiAgKGVycm9yOiBFcnJvciB8IG51bGwgfCB1bmRlZmluZWQsIHJvd0NvdW50PzogbnVtYmVyLCByb3dzPzogYW55KSA9PiB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlck9wdGlvbnMge1xuICBvdXRwdXQ/OiBib29sZWFuO1xuICBsZW5ndGg/OiBudW1iZXI7XG4gIHByZWNpc2lvbj86IG51bWJlcjtcbiAgc2NhbGU/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBSZXF1ZXN0T3B0aW9ucyB7XG4gIHN0YXRlbWVudENvbHVtbkVuY3J5cHRpb25TZXR0aW5nPzogU1FMU2VydmVyU3RhdGVtZW50Q29sdW1uRW5jcnlwdGlvblNldHRpbmc7XG59XG5cbi8qKlxuICogYGBganNcbiAqIGNvbnN0IHsgUmVxdWVzdCB9ID0gcmVxdWlyZSgndGVkaW91cycpO1xuICogY29uc3QgcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KFwic2VsZWN0IDQyLCAnaGVsbG8gd29ybGQnXCIsIChlcnIsIHJvd0NvdW50KSB7XG4gKiAgIC8vIFJlcXVlc3QgY29tcGxldGlvbiBjYWxsYmFjay4uLlxuICogfSk7XG4gKiBjb25uZWN0aW9uLmV4ZWNTcWwocmVxdWVzdCk7XG4gKiBgYGBcbiAqL1xuY2xhc3MgUmVxdWVzdCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZGVjbGFyZSBzcWxUZXh0T3JQcm9jZWR1cmU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZWNsYXJlIHBhcmFtZXRlcnM6IFBhcmFtZXRlcltdO1xuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGRlY2xhcmUgcGFyYW1ldGVyc0J5TmFtZTogeyBba2V5OiBzdHJpbmddOiBQYXJhbWV0ZXIgfTtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZWNsYXJlIHByZXBhcmluZzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZWNsYXJlIGNhbmNlbGVkOiBib29sZWFuO1xuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGRlY2xhcmUgcGF1c2VkOiBib29sZWFuO1xuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGRlY2xhcmUgdXNlckNhbGxiYWNrOiBDb21wbGV0aW9uQ2FsbGJhY2s7XG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZGVjbGFyZSBoYW5kbGU6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZWNsYXJlIGVycm9yOiBFcnJvciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZWNsYXJlIGNvbm5lY3Rpb246IENvbm5lY3Rpb24gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZGVjbGFyZSB0aW1lb3V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZWNsYXJlIHJvd3M/OiBBcnJheTxhbnk+O1xuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGRlY2xhcmUgcnN0PzogQXJyYXk8YW55PjtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZWNsYXJlIHJvd0NvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZGVjbGFyZSBjYWxsYmFjazogQ29tcGxldGlvbkNhbGxiYWNrO1xuXG5cbiAgZGVjbGFyZSBzaG91bGRIb25vckFFPzogYm9vbGVhbjtcbiAgZGVjbGFyZSBzdGF0ZW1lbnRDb2x1bW5FbmNyeXB0aW9uU2V0dGluZzogU1FMU2VydmVyU3RhdGVtZW50Q29sdW1uRW5jcnlwdGlvblNldHRpbmc7XG4gIGRlY2xhcmUgY3J5cHRvTWV0YWRhdGFMb2FkZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQsIGRlc2NyaWJpbmcgcmVzdWx0IHNldCBjb2x1bW5zLCB3aWxsIGJlIGVtaXR0ZWQgYmVmb3JlIHJvd1xuICAgKiBldmVudHMgYXJlIGVtaXR0ZWQuIFRoaXMgZXZlbnQgbWF5IGJlIGVtaXR0ZWQgbXVsdGlwbGUgdGltZXMgd2hlbiBtb3JlXG4gICAqIHRoYW4gb25lIHJlY29yZHNldCBpcyBwcm9kdWNlZCBieSB0aGUgc3RhdGVtZW50LlxuICAgKlxuICAgKiBBbiBhcnJheSBsaWtlIG9iamVjdCwgd2hlcmUgdGhlIGNvbHVtbnMgY2FuIGJlIGFjY2Vzc2VkIGVpdGhlciBieSBpbmRleFxuICAgKiBvciBuYW1lLiBDb2x1bW5zIHdpdGggYSBuYW1lIHRoYXQgaXMgYW4gaW50ZWdlciBhcmUgbm90IGFjY2Vzc2libGUgYnkgbmFtZSxcbiAgICogYXMgaXQgd291bGQgYmUgaW50ZXJwcmV0ZWQgYXMgYW4gYXJyYXkgaW5kZXguXG4gICAqL1xuICBvbihcbiAgICBldmVudDogJ2NvbHVtbk1ldGFkYXRhJyxcbiAgICBsaXN0ZW5lcjpcbiAgICAoY29sdW1uczogQ29sdW1uTWV0YWRhdGFbXSB8IHsgW2tleTogc3RyaW5nXTogQ29sdW1uTWV0YWRhdGEgfSkgPT4gdm9pZFxuICApOiB0aGlzXG5cbiAgLyoqXG4gICAqIFRoZSByZXF1ZXN0IGhhcyBiZWVuIHByZXBhcmVkIGFuZCBjYW4gYmUgdXNlZCBpbiBzdWJzZXF1ZW50IGNhbGxzIHRvIGV4ZWN1dGUgYW5kIHVucHJlcGFyZS5cbiAgICovXG4gIG9uKGV2ZW50OiAncHJlcGFyZWQnLCBsaXN0ZW5lcjogKCkgPT4gdm9pZCk6IHRoaXNcblxuICAvKipcbiAgICogVGhlIHJlcXVlc3QgZW5jb3VudGVyZWQgYW4gZXJyb3IgYW5kIGhhcyBub3QgYmVlbiBwcmVwYXJlZC5cbiAgICovXG4gIG9uKGV2ZW50OiAnZXJyb3InLCBsaXN0ZW5lcjogKGVycjogRXJyb3IpID0+IHZvaWQpOiB0aGlzXG5cbiAgLyoqXG4gICAqIEEgcm93IHJlc3VsdGluZyBmcm9tIGV4ZWN1dGlvbiBvZiB0aGUgU1FMIHN0YXRlbWVudC5cbiAgICovXG4gIG9uKFxuICAgIGV2ZW50OiAncm93JyxcbiAgICBsaXN0ZW5lcjpcbiAgICAgIC8qKlxuICAgICAgICogQW4gYXJyYXkgb3Igb2JqZWN0IChkZXBlbmRzIG9uIFtbQ29ubmVjdGlvbk9wdGlvbnMudXNlQ29sdW1uTmFtZXNdXSksIHdoZXJlIHRoZSBjb2x1bW5zIGNhbiBiZSBhY2Nlc3NlZCBieSBpbmRleC9uYW1lLlxuICAgICAgICogRWFjaCBjb2x1bW4gaGFzIHR3byBwcm9wZXJ0aWVzLCBgbWV0YWRhdGFgIGFuZCBgdmFsdWVg77yaXG4gICAgICAgKlxuICAgICAgICogKiBgbWV0YWRhdGFgXG4gICAgICAgKlxuICAgICAgICogICAgVGhlIHNhbWUgZGF0YSB0aGF0IGlzIGV4cG9zZWQgaW4gdGhlIGBjb2x1bW5NZXRhZGF0YWAgZXZlbnQuXG4gICAgICAgKlxuICAgICAgICogKiBgdmFsdWVgXG4gICAgICAgKlxuICAgICAgICogICAgVGhlIGNvbHVtbidzIHZhbHVlLiBJdCB3aWxsIGJlIGBudWxsYCBmb3IgYSBgTlVMTGAuXG4gICAgICAgKiAgICBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29sdW1ucyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoZW4gdGhpcyB3aWxsIGJlIGFuIGFycmF5IG9mIHRoZSB2YWx1ZXMuXG4gICAgICAgKi9cbiAgICAgIChjb2x1bW5zOiBhbnkpID0+IHZvaWRcbiAgKTogdGhpc1xuXG4gIC8qKlxuICAgKiBBbGwgcm93cyBmcm9tIGEgcmVzdWx0IHNldCBoYXZlIGJlZW4gcHJvdmlkZWQgKHRocm91Z2ggYHJvd2AgZXZlbnRzKS5cbiAgICpcbiAgICogVGhpcyB0b2tlbiBpcyB1c2VkIHRvIGluZGljYXRlIHRoZSBjb21wbGV0aW9uIG9mIGEgU1FMIHN0YXRlbWVudC5cbiAgICogQXMgbXVsdGlwbGUgU1FMIHN0YXRlbWVudHMgY2FuIGJlIHNlbnQgdG8gdGhlIHNlcnZlciBpbiBhIHNpbmdsZSBTUUwgYmF0Y2gsIG11bHRpcGxlIGBkb25lYCBjYW4gYmUgZ2VuZXJhdGVkLlxuICAgKiBBbiBgZG9uZWAgZXZlbnQgaXMgZW1pdHRlZCBmb3IgZWFjaCBTUUwgc3RhdGVtZW50IGluIHRoZSBTUUwgYmF0Y2ggZXhjZXB0IHZhcmlhYmxlIGRlY2xhcmF0aW9ucy5cbiAgICogRm9yIGV4ZWN1dGlvbiBvZiBTUUwgc3RhdGVtZW50cyB3aXRoaW4gc3RvcmVkIHByb2NlZHVyZXMsIGBkb25lUHJvY2AgYW5kIGBkb25lSW5Qcm9jYCBldmVudHMgYXJlIHVzZWQgaW4gcGxhY2Ugb2YgYGRvbmVgLlxuICAgKlxuICAgKiBJZiB5b3UgYXJlIHVzaW5nIFtbQ29ubmVjdGlvbi5leGVjU3FsXV0gdGhlbiBTUUwgc2VydmVyIG1heSB0cmVhdCB0aGUgbXVsdGlwbGUgY2FsbHMgd2l0aCB0aGUgc2FtZSBxdWVyeSBhcyBhIHN0b3JlZCBwcm9jZWR1cmUuXG4gICAqIFdoZW4gdGhpcyBvY2N1cnMsIHRoZSBgZG9uZVByb2NgIGFuZCBgZG9uZUluUHJvY2AgZXZlbnRzIG1heSBiZSBlbWl0dGVkIGluc3RlYWQuIFlvdSBtdXN0IGhhbmRsZSBib3RoIGV2ZW50cyB0byBlbnN1cmUgY29tcGxldGUgY292ZXJhZ2UuXG4gICAqL1xuICBvbihcbiAgICBldmVudDogJ2RvbmUnLFxuICAgIGxpc3RlbmVyOlxuICAgICAgLyoqXG4gICAgICAgKiBAcGFyYW0gcm93Q291bnRcbiAgICAgICAqICAgVGhlIG51bWJlciBvZiByZXN1bHQgcm93cy4gTWF5IGJlIGB1bmRlZmluZWRgIGlmIG5vdCBhdmFpbGFibGUuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIG1vcmVcbiAgICAgICAqICAgSWYgdGhlcmUgYXJlIG1vcmUgcmVzdWx0cyB0byBjb21lIChwcm9iYWJseSBiZWNhdXNlIG11bHRpcGxlIHN0YXRlbWVudHMgYXJlIGJlaW5nIGV4ZWN1dGVkKSwgdGhlbiBgdHJ1ZWAuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHJzdFxuICAgICAgICogICBSb3dzIGFzIGEgcmVzdWx0IG9mIGV4ZWN1dGluZyB0aGUgU1FMIHN0YXRlbWVudC5cbiAgICAgICAqICAgV2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBpZiBDb25uZWN0aW9uJ3MgW1tDb25uZWN0aW9uT3B0aW9ucy5yb3dDb2xsZWN0aW9uT25Eb25lXV0gaXMgYHRydWVgLlxuICAgICAgICovXG4gICAgICAocm93Q291bnQ6IG51bWJlciB8IHVuZGVmaW5lZCwgbW9yZTogYm9vbGVhbiwgcnN0PzogYW55W10pID0+IHZvaWRcbiAgKTogdGhpc1xuXG4gIC8qKlxuICAgKiBgcmVxdWVzdC5vbignZG9uZUluUHJvYycsIGZ1bmN0aW9uIChyb3dDb3VudCwgbW9yZSwgcm93cykgeyB9KTtgXG4gICAqXG4gICAqIEluZGljYXRlcyB0aGUgY29tcGxldGlvbiBzdGF0dXMgb2YgYSBTUUwgc3RhdGVtZW50IHdpdGhpbiBhIHN0b3JlZCBwcm9jZWR1cmUuIEFsbCByb3dzIGZyb20gYSBzdGF0ZW1lbnRcbiAgICogaW4gYSBzdG9yZWQgcHJvY2VkdXJlIGhhdmUgYmVlbiBwcm92aWRlZCAodGhyb3VnaCBgcm93YCBldmVudHMpLlxuICAgKlxuICAgKiBUaGlzIGV2ZW50IG1heSBhbHNvIG9jY3VyIHdoZW4gZXhlY3V0aW5nIG11bHRpcGxlIGNhbGxzIHdpdGggdGhlIHNhbWUgcXVlcnkgdXNpbmcgW1tleGVjU3FsXV0uXG4gICAqL1xuICBvbihcbiAgICBldmVudDogJ2RvbmVJblByb2MnLFxuICAgIGxpc3RlbmVyOlxuICAgICAgLyoqXG4gICAgICAgKiBAcGFyYW0gcm93Q291bnRcbiAgICAgICAqICAgVGhlIG51bWJlciBvZiByZXN1bHQgcm93cy4gTWF5IGJlIGB1bmRlZmluZWRgIGlmIG5vdCBhdmFpbGFibGUuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIG1vcmVcbiAgICAgICAqICAgSWYgdGhlcmUgYXJlIG1vcmUgcmVzdWx0cyB0byBjb21lIChwcm9iYWJseSBiZWNhdXNlIG11bHRpcGxlIHN0YXRlbWVudHMgYXJlIGJlaW5nIGV4ZWN1dGVkKSwgdGhlbiBgdHJ1ZWAuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHJzdFxuICAgICAgICogICBSb3dzIGFzIGEgcmVzdWx0IG9mIGV4ZWN1dGluZyB0aGUgU1FMIHN0YXRlbWVudC5cbiAgICAgICAqICAgV2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBpZiBDb25uZWN0aW9uJ3MgW1tDb25uZWN0aW9uT3B0aW9ucy5yb3dDb2xsZWN0aW9uT25Eb25lXV0gaXMgYHRydWVgLlxuICAgICAgICovXG4gICAgICAocm93Q291bnQ6IG51bWJlciB8IHVuZGVmaW5lZCwgbW9yZTogYm9vbGVhbiwgcnN0PzogYW55W10pID0+IHZvaWRcbiAgKTogdGhpc1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhlIGNvbXBsZXRpb24gc3RhdHVzIG9mIGEgc3RvcmVkIHByb2NlZHVyZS4gVGhpcyBpcyBhbHNvIGdlbmVyYXRlZCBmb3Igc3RvcmVkIHByb2NlZHVyZXNcbiAgICogZXhlY3V0ZWQgdGhyb3VnaCBTUUwgc3RhdGVtZW50cy5cXFxuICAgKiBUaGlzIGV2ZW50IG1heSBhbHNvIG9jY3VyIHdoZW4gZXhlY3V0aW5nIG11bHRpcGxlIGNhbGxzIHdpdGggdGhlIHNhbWUgcXVlcnkgdXNpbmcgW1tleGVjU3FsXV0uXG4gICAqL1xuICBvbihcbiAgICBldmVudDogJ2RvbmVQcm9jJyxcbiAgICBsaXN0ZW5lcjpcbiAgICAgIC8qKlxuICAgICAgICogQHBhcmFtIHJvd0NvdW50XG4gICAgICAgKiAgIFRoZSBudW1iZXIgb2YgcmVzdWx0IHJvd3MuIE1heSBiZSBgdW5kZWZpbmVkYCBpZiBub3QgYXZhaWxhYmxlLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSBtb3JlXG4gICAgICAgKiAgIElmIHRoZXJlIGFyZSBtb3JlIHJlc3VsdHMgdG8gY29tZSAocHJvYmFibHkgYmVjYXVzZSBtdWx0aXBsZSBzdGF0ZW1lbnRzIGFyZSBiZWluZyBleGVjdXRlZCksIHRoZW4gYHRydWVgLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSByc3RcbiAgICAgICAqICAgUm93cyBhcyBhIHJlc3VsdCBvZiBleGVjdXRpbmcgdGhlIFNRTCBzdGF0ZW1lbnQuXG4gICAgICAgKiAgIFdpbGwgb25seSBiZSBhdmFpbGFibGUgaWYgQ29ubmVjdGlvbidzIFtbQ29ubmVjdGlvbk9wdGlvbnMucm93Q29sbGVjdGlvbk9uRG9uZV1dIGlzIGB0cnVlYC5cbiAgICAgICAqL1xuICAgICAgKHJvd0NvdW50OiBudW1iZXIgfCB1bmRlZmluZWQsIG1vcmU6IGJvb2xlYW4sIHByb2NSZXR1cm5TdGF0dXNWYWx1ZTogbnVtYmVyLCByc3Q/OiBhbnlbXSkgPT4gdm9pZFxuICApOiB0aGlzXG5cbiAgLyoqXG4gICAqIEEgdmFsdWUgZm9yIGFuIG91dHB1dCBwYXJhbWV0ZXIgKHRoYXQgd2FzIGFkZGVkIHRvIHRoZSByZXF1ZXN0IHdpdGggW1thZGRPdXRwdXRQYXJhbWV0ZXJdXSkuXG4gICAqIFNlZSBhbHNvIGBVc2luZyBQYXJhbWV0ZXJzYC5cbiAgICovXG4gIG9uKFxuICAgIGV2ZW50OiAncmV0dXJuVmFsdWUnLFxuICAgIGxpc3RlbmVyOlxuICAgICAgLyoqXG4gICAgICAgKiBAcGFyYW0gcGFyYW1ldGVyTmFtZVxuICAgICAgICogICBUaGUgcGFyYW1ldGVyIG5hbWUuIChEb2VzIG5vdCBzdGFydCB3aXRoICdAJy4pXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHZhbHVlXG4gICAgICAgKiAgIFRoZSBwYXJhbWV0ZXIncyBvdXRwdXQgdmFsdWUuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIG1ldGFkYXRhXG4gICAgICAgKiAgIFRoZSBzYW1lIGRhdGEgdGhhdCBpcyBleHBvc2VkIGluIHRoZSBgY29sdW1uTWV0YURhdGFgIGV2ZW50LlxuICAgICAgICovXG4gICAgICAocGFyYW1ldGVyTmFtZTogc3RyaW5nLCB2YWx1ZTogdW5rbm93biwgbWV0YWRhdGE6IE1ldGFkYXRhKSA9PiB2b2lkXG4gICk6IHRoaXNcblxuICAvKipcbiAgICogVGhpcyBldmVudCBnaXZlcyB0aGUgY29sdW1ucyBieSB3aGljaCBkYXRhIGlzIG9yZGVyZWQsIGlmIGBPUkRFUiBCWWAgY2xhdXNlIGlzIGV4ZWN1dGVkIGluIFNRTCBTZXJ2ZXIuXG4gICAqL1xuICBvbihcbiAgICBldmVudDogJ29yZGVyJyxcbiAgICBsaXN0ZW5lcjpcbiAgICAgIC8qKlxuICAgICAgICogQHBhcmFtIG9yZGVyQ29sdW1uc1xuICAgICAgICogICBBbiBhcnJheSBvZiBjb2x1bW4gbnVtYmVycyBpbiB0aGUgcmVzdWx0IHNldCBieSB3aGljaCBkYXRhIGlzIG9yZGVyZWQuXG4gICAgICAgKi9cbiAgICAgIChvcmRlckNvbHVtbnM6IG51bWJlcltdKSA9PiB2b2lkXG4gICk6IHRoaXNcblxuICBvbihldmVudDogJ3JlcXVlc3RDb21wbGV0ZWQnLCBsaXN0ZW5lcjogKCkgPT4gdm9pZCk6IHRoaXNcblxuICBvbihldmVudDogJ2NhbmNlbCcsIGxpc3RlbmVyOiAoKSA9PiB2b2lkKTogdGhpc1xuXG4gIG9uKGV2ZW50OiAncGF1c2UnLCBsaXN0ZW5lcjogKCkgPT4gdm9pZCk6IHRoaXNcblxuICBvbihldmVudDogJ3Jlc3VtZScsIGxpc3RlbmVyOiAoKSA9PiB2b2lkKTogdGhpc1xuXG4gIG9uKGV2ZW50OiBzdHJpbmcgfCBzeW1ib2wsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpIHtcbiAgICByZXR1cm4gc3VwZXIub24oZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZW1pdChldmVudDogJ2NvbHVtbk1ldGFkYXRhJywgY29sdW1uczogQ29sdW1uTWV0YWRhdGFbXSB8IHsgW2tleTogc3RyaW5nXTogQ29sdW1uTWV0YWRhdGEgfSk6IGJvb2xlYW5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBlbWl0KGV2ZW50OiAncHJlcGFyZWQnKTogYm9vbGVhblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGVtaXQoZXZlbnQ6ICdlcnJvcicsIGVycjogRXJyb3IpOiBib29sZWFuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZW1pdChldmVudDogJ3JvdycsIGNvbHVtbnM6IGFueSk6IGJvb2xlYW5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBlbWl0KGV2ZW50OiAnZG9uZScsIHJvd0NvdW50OiBudW1iZXIgfCB1bmRlZmluZWQsIG1vcmU6IGJvb2xlYW4sIHJzdD86IGFueVtdKTogYm9vbGVhblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGVtaXQoZXZlbnQ6ICdkb25lSW5Qcm9jJywgcm93Q291bnQ6IG51bWJlciB8IHVuZGVmaW5lZCwgbW9yZTogYm9vbGVhbiwgcnN0PzogYW55W10pOiBib29sZWFuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZW1pdChldmVudDogJ2RvbmVQcm9jJywgcm93Q291bnQ6IG51bWJlciB8IHVuZGVmaW5lZCwgbW9yZTogYm9vbGVhbiwgcHJvY1JldHVyblN0YXR1c1ZhbHVlOiBudW1iZXIsIHJzdD86IGFueVtdKTogYm9vbGVhblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGVtaXQoZXZlbnQ6ICdyZXR1cm5WYWx1ZScsIHBhcmFtZXRlck5hbWU6IHN0cmluZywgdmFsdWU6IHVua25vd24sIG1ldGFkYXRhOiBNZXRhZGF0YSk6IGJvb2xlYW5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBlbWl0KGV2ZW50OiAncmVxdWVzdENvbXBsZXRlZCcpOiBib29sZWFuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZW1pdChldmVudDogJ2NhbmNlbCcpOiBib29sZWFuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZW1pdChldmVudDogJ3BhdXNlJyk6IGJvb2xlYW5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBlbWl0KGV2ZW50OiAncmVzdW1lJyk6IGJvb2xlYW5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBlbWl0KGV2ZW50OiAnb3JkZXInLCBvcmRlckNvbHVtbnM6IG51bWJlcltdKTogYm9vbGVhblxuICBlbWl0KGV2ZW50OiBzdHJpbmcgfCBzeW1ib2wsIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgcmV0dXJuIHN1cGVyLmVtaXQoZXZlbnQsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBzcWxUZXh0T3JQcm9jZWR1cmVcbiAgICogICBUaGUgU1FMIHN0YXRlbWVudCB0byBiZSBleGVjdXRlZFxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2tcbiAgICogICBUaGUgY2FsbGJhY2sgdG8gZXhlY3V0ZSBvbmNlIHRoZSByZXF1ZXN0IGhhcyBiZWVuIGZ1bGx5IGNvbXBsZXRlZC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNxbFRleHRPclByb2NlZHVyZTogc3RyaW5nIHwgdW5kZWZpbmVkLCBjYWxsYmFjazogQ29tcGxldGlvbkNhbGxiYWNrLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5zcWxUZXh0T3JQcm9jZWR1cmUgPSBzcWxUZXh0T3JQcm9jZWR1cmU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gW107XG4gICAgdGhpcy5wYXJhbWV0ZXJzQnlOYW1lID0ge307XG4gICAgdGhpcy5wcmVwYXJpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmhhbmRsZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNhbmNlbGVkID0gZmFsc2U7XG4gICAgdGhpcy5wYXVzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmVycm9yID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY29ubmVjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRpbWVvdXQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy51c2VyQ2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB0aGlzLnN0YXRlbWVudENvbHVtbkVuY3J5cHRpb25TZXR0aW5nID0gKG9wdGlvbnMgJiYgb3B0aW9ucy5zdGF0ZW1lbnRDb2x1bW5FbmNyeXB0aW9uU2V0dGluZykgfHwgU1FMU2VydmVyU3RhdGVtZW50Q29sdW1uRW5jcnlwdGlvblNldHRpbmcuVXNlQ29ubmVjdGlvblNldHRpbmc7XG4gICAgdGhpcy5jcnlwdG9NZXRhZGF0YUxvYWRlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2FsbGJhY2sgPSBmdW5jdGlvbihlcnI6IEVycm9yIHwgdW5kZWZpbmVkIHwgbnVsbCwgcm93Q291bnQ/OiBudW1iZXIsIHJvd3M/OiBhbnkpIHtcbiAgICAgIGlmICh0aGlzLnByZXBhcmluZykge1xuICAgICAgICB0aGlzLnByZXBhcmluZyA9IGZhbHNlO1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgdGhpcy5lbWl0KCdlcnJvcicsIGVycik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbWl0KCdwcmVwYXJlZCcpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnVzZXJDYWxsYmFjayhlcnIsIHJvd0NvdW50LCByb3dzKTtcbiAgICAgICAgdGhpcy5lbWl0KCdyZXF1ZXN0Q29tcGxldGVkJyk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZVxuICAgKiAgIFRoZSBwYXJhbWV0ZXIgbmFtZS4gVGhpcyBzaG91bGQgY29ycmVzcG9uZCB0byBhIHBhcmFtZXRlciBpbiB0aGUgU1FMLFxuICAgKiAgIG9yIGEgcGFyYW1ldGVyIHRoYXQgYSBjYWxsZWQgcHJvY2VkdXJlIGV4cGVjdHMuIFRoZSBuYW1lIHNob3VsZCBub3Qgc3RhcnQgd2l0aCBgQGAuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlXG4gICAqICAgT25lIG9mIHRoZSBzdXBwb3J0ZWQgZGF0YSB0eXBlcy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqICAgVGhlIHZhbHVlIHRoYXQgdGhlIHBhcmFtZXRlciBpcyB0byBiZSBnaXZlbi4gVGhlIEphdmFzY3JpcHQgdHlwZSBvZiB0aGVcbiAgICogICBhcmd1bWVudCBzaG91bGQgbWF0Y2ggdGhhdCBkb2N1bWVudGVkIGZvciBkYXRhIHR5cGVzLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiAgIEFkZGl0aW9uYWwgdHlwZSBvcHRpb25zLiBPcHRpb25hbC5cbiAgICovXG4gIC8vIFRPRE86IGB0eXBlYCBtdXN0IGJlIGEgdmFsaWQgVERTIHZhbHVlIHR5cGVcbiAgYWRkUGFyYW1ldGVyKG5hbWU6IHN0cmluZywgdHlwZTogRGF0YVR5cGUsIHZhbHVlPzogdW5rbm93biwgb3B0aW9ucz86IFJlYWRvbmx5PFBhcmFtZXRlck9wdGlvbnM+IHwgbnVsbCkge1xuICAgIGNvbnN0IHsgb3V0cHV0ID0gZmFsc2UsIGxlbmd0aCwgcHJlY2lzaW9uLCBzY2FsZSB9ID0gb3B0aW9ucyA/PyB7fTtcblxuICAgIGNvbnN0IHBhcmFtZXRlcjogUGFyYW1ldGVyID0ge1xuICAgICAgdHlwZTogdHlwZSxcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBvdXRwdXQ6IG91dHB1dCxcbiAgICAgIGxlbmd0aDogbGVuZ3RoLFxuICAgICAgcHJlY2lzaW9uOiBwcmVjaXNpb24sXG4gICAgICBzY2FsZTogc2NhbGVcbiAgICB9O1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzLnB1c2gocGFyYW1ldGVyKTtcbiAgICB0aGlzLnBhcmFtZXRlcnNCeU5hbWVbbmFtZV0gPSBwYXJhbWV0ZXI7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIG5hbWVcbiAgICogICBUaGUgcGFyYW1ldGVyIG5hbWUuIFRoaXMgc2hvdWxkIGNvcnJlc3BvbmQgdG8gYSBwYXJhbWV0ZXIgaW4gdGhlIFNRTCxcbiAgICogICBvciBhIHBhcmFtZXRlciB0aGF0IGEgY2FsbGVkIHByb2NlZHVyZSBleHBlY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZVxuICAgKiAgIE9uZSBvZiB0aGUgc3VwcG9ydGVkIGRhdGEgdHlwZXMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiAgIFRoZSB2YWx1ZSB0aGF0IHRoZSBwYXJhbWV0ZXIgaXMgdG8gYmUgZ2l2ZW4uIFRoZSBKYXZhc2NyaXB0IHR5cGUgb2YgdGhlXG4gICAqICAgYXJndW1lbnQgc2hvdWxkIG1hdGNoIHRoYXQgZG9jdW1lbnRlZCBmb3IgZGF0YSB0eXBlc1xuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiAgIEFkZGl0aW9uYWwgdHlwZSBvcHRpb25zLiBPcHRpb25hbC5cbiAgICovXG4gIGFkZE91dHB1dFBhcmFtZXRlcihuYW1lOiBzdHJpbmcsIHR5cGU6IERhdGFUeXBlLCB2YWx1ZT86IHVua25vd24sIG9wdGlvbnM/OiBSZWFkb25seTxQYXJhbWV0ZXJPcHRpb25zPiB8IG51bGwpIHtcbiAgICB0aGlzLmFkZFBhcmFtZXRlcihuYW1lLCB0eXBlLCB2YWx1ZSwgeyAuLi5vcHRpb25zLCBvdXRwdXQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIG1ha2VQYXJhbXNQYXJhbWV0ZXIocGFyYW1ldGVyczogUGFyYW1ldGVyW10pIHtcbiAgICBsZXQgcGFyYW1zUGFyYW1ldGVyID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHBhcmFtZXRlcnMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlciA9IHBhcmFtZXRlcnNbaV07XG4gICAgICBpZiAocGFyYW1zUGFyYW1ldGVyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcGFyYW1zUGFyYW1ldGVyICs9ICcsICc7XG4gICAgICB9XG4gICAgICBwYXJhbXNQYXJhbWV0ZXIgKz0gJ0AnICsgcGFyYW1ldGVyLm5hbWUgKyAnICc7XG4gICAgICBwYXJhbXNQYXJhbWV0ZXIgKz0gcGFyYW1ldGVyLnR5cGUuZGVjbGFyYXRpb24ocGFyYW1ldGVyKTtcbiAgICAgIGlmIChwYXJhbWV0ZXIub3V0cHV0KSB7XG4gICAgICAgIHBhcmFtc1BhcmFtZXRlciArPSAnIE9VVFBVVCc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXNQYXJhbWV0ZXI7XG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHZhbGlkYXRlUGFyYW1ldGVycyhjb2xsYXRpb246IENvbGxhdGlvbiB8IHVuZGVmaW5lZCkge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLnBhcmFtZXRlcnMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlciA9IHRoaXMucGFyYW1ldGVyc1tpXTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyYW1ldGVyLnZhbHVlID0gcGFyYW1ldGVyLnR5cGUudmFsaWRhdGUocGFyYW1ldGVyLnZhbHVlLCBjb2xsYXRpb24pO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICB0aHJvdyBuZXcgUmVxdWVzdEVycm9yKCdWYWxpZGF0aW9uIGZhaWxlZCBmb3IgcGFyYW1ldGVyIFxcJycgKyBwYXJhbWV0ZXIubmFtZSArICdcXCcuICcgKyBlcnJvci5tZXNzYWdlLCAnRVBBUkFNJywgeyBjYXVzZTogZXJyb3IgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRlbXBvcmFyaWx5IHN1c3BlbmRzIHRoZSBmbG93IG9mIGRhdGEgZnJvbSB0aGUgZGF0YWJhc2UuIE5vIG1vcmUgYHJvd2AgZXZlbnRzIHdpbGwgYmUgZW1pdHRlZCB1bnRpbCBbW3Jlc3VtZV0gaXMgY2FsbGVkLlxuICAgKiBJZiB0aGlzIHJlcXVlc3QgaXMgYWxyZWFkeSBpbiBhIHBhdXNlZCBzdGF0ZSwgY2FsbGluZyBbW3BhdXNlXV0gaGFzIG5vIGVmZmVjdC5cbiAgICovXG4gIHBhdXNlKCkge1xuICAgIGlmICh0aGlzLnBhdXNlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVtaXQoJ3BhdXNlJyk7XG4gICAgdGhpcy5wYXVzZWQgPSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VtZXMgdGhlIGZsb3cgb2YgZGF0YSBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICogSWYgdGhpcyByZXF1ZXN0IGlzIG5vdCBpbiBhIHBhdXNlZCBzdGF0ZSwgY2FsbGluZyBbW3Jlc3VtZV1dIGhhcyBubyBlZmZlY3QuXG4gICAqL1xuICByZXN1bWUoKSB7XG4gICAgaWYgKCF0aGlzLnBhdXNlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnBhdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuZW1pdCgncmVzdW1lJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2FuY2VscyBhIHJlcXVlc3Qgd2hpbGUgd2FpdGluZyBmb3IgYSBzZXJ2ZXIgcmVzcG9uc2UuXG4gICAqL1xuICBjYW5jZWwoKSB7XG4gICAgaWYgKHRoaXMuY2FuY2VsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNhbmNlbGVkID0gdHJ1ZTtcbiAgICB0aGlzLmVtaXQoJ2NhbmNlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYSB0aW1lb3V0IGZvciB0aGlzIHJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB0aW1lb3V0XG4gICAqICAgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSByZXF1ZXN0IGlzIGNvbnNpZGVyZWQgZmFpbGVkLFxuICAgKiAgIG9yIGAwYCBmb3Igbm8gdGltZW91dC4gV2hlbiBubyB0aW1lb3V0IGlzIHNldCBmb3IgdGhlIHJlcXVlc3QsXG4gICAqICAgdGhlIFtbQ29ubmVjdGlvbk9wdGlvbnMucmVxdWVzdFRpbWVvdXRdXSBvZiB0aGUgW1tDb25uZWN0aW9uXV0gaXMgdXNlZC5cbiAgICovXG4gIHNldFRpbWVvdXQodGltZW91dD86IG51bWJlcikge1xuICAgIHRoaXMudGltZW91dCA9IHRpbWVvdXQ7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVxdWVzdDtcbm1vZHVsZS5leHBvcnRzID0gUmVxdWVzdDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBSUEsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNRyxPQUFPLFNBQVNDLG9CQUFZLENBQUM7RUFDakM7QUFDRjtBQUNBOztFQUVFO0FBQ0Y7QUFDQTs7RUFFRTtBQUNGO0FBQ0E7O0VBRUU7QUFDRjtBQUNBOztFQUVFO0FBQ0Y7QUFDQTs7RUFFRTtBQUNGO0FBQ0E7O0VBRUU7QUFDRjtBQUNBOztFQUVFO0FBQ0Y7QUFDQTs7RUFFRTtBQUNGO0FBQ0E7O0VBRUU7QUFDRjtBQUNBOztFQUVFO0FBQ0Y7QUFDQTs7RUFHRTtBQUNGO0FBQ0E7O0VBRUU7QUFDRjtBQUNBOztFQUVFO0FBQ0Y7QUFDQTs7RUFHRTtBQUNGO0FB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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Parameter } from './data-type';
|
|
2
|
+
import { type InternalConnectionOptions } from './connection';
|
|
3
|
+
import { Collation } from './collation';
|
|
4
|
+
declare class RpcRequestPayload implements Iterable<Buffer> {
|
|
5
|
+
procedure: string | number;
|
|
6
|
+
parameters: Parameter[];
|
|
7
|
+
options: InternalConnectionOptions;
|
|
8
|
+
txnDescriptor: Buffer;
|
|
9
|
+
collation: Collation | undefined;
|
|
10
|
+
constructor(procedure: string | number, parameters: Parameter[], txnDescriptor: Buffer, options: InternalConnectionOptions, collation: Collation | undefined);
|
|
11
|
+
[Symbol.iterator](): Generator<Buffer, void, unknown>;
|
|
12
|
+
generateData(): Generator<Buffer, void, unknown>;
|
|
13
|
+
toString(indent?: string): string;
|
|
14
|
+
generateParameterData(parameter: Parameter): Generator<Buffer, void, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export default RpcRequestPayload;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _writableTrackingBuffer = _interopRequireDefault(require("./tracking-buffer/writable-tracking-buffer"));
|
|
8
|
+
var _allHeaders = require("./all-headers");
|
|
9
|
+
var _errors = require("./errors");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
// const OPTION = {
|
|
12
|
+
// WITH_RECOMPILE: 0x01,
|
|
13
|
+
// NO_METADATA: 0x02,
|
|
14
|
+
// REUSE_METADATA: 0x04
|
|
15
|
+
// };
|
|
16
|
+
|
|
17
|
+
const STATUS = {
|
|
18
|
+
BY_REF_VALUE: 0x01,
|
|
19
|
+
DEFAULT_VALUE: 0x02
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/*
|
|
23
|
+
s2.2.6.5
|
|
24
|
+
*/
|
|
25
|
+
class RpcRequestPayload {
|
|
26
|
+
constructor(procedure, parameters, txnDescriptor, options, collation) {
|
|
27
|
+
this.procedure = procedure;
|
|
28
|
+
this.parameters = parameters;
|
|
29
|
+
this.options = options;
|
|
30
|
+
this.txnDescriptor = txnDescriptor;
|
|
31
|
+
this.collation = collation;
|
|
32
|
+
}
|
|
33
|
+
[Symbol.iterator]() {
|
|
34
|
+
return this.generateData();
|
|
35
|
+
}
|
|
36
|
+
*generateData() {
|
|
37
|
+
const buffer = new _writableTrackingBuffer.default(500);
|
|
38
|
+
if (this.options.tdsVersion >= '7_2') {
|
|
39
|
+
const outstandingRequestCount = 1;
|
|
40
|
+
(0, _allHeaders.writeToTrackingBuffer)(buffer, this.txnDescriptor, outstandingRequestCount);
|
|
41
|
+
}
|
|
42
|
+
if (typeof this.procedure === 'string') {
|
|
43
|
+
buffer.writeUsVarchar(this.procedure);
|
|
44
|
+
} else {
|
|
45
|
+
buffer.writeUShort(0xFFFF);
|
|
46
|
+
buffer.writeUShort(this.procedure);
|
|
47
|
+
}
|
|
48
|
+
const optionFlags = 0;
|
|
49
|
+
buffer.writeUInt16LE(optionFlags);
|
|
50
|
+
yield buffer.data;
|
|
51
|
+
const parametersLength = this.parameters.length;
|
|
52
|
+
for (let i = 0; i < parametersLength; i++) {
|
|
53
|
+
yield* this.generateParameterData(this.parameters[i]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
toString(indent = '') {
|
|
57
|
+
return indent + ('RPC Request - ' + this.procedure);
|
|
58
|
+
}
|
|
59
|
+
*generateParameterData(parameter) {
|
|
60
|
+
const buffer = new _writableTrackingBuffer.default(1 + 2 + Buffer.byteLength(parameter.name, 'ucs-2') + 1);
|
|
61
|
+
if (parameter.name) {
|
|
62
|
+
buffer.writeBVarchar('@' + parameter.name);
|
|
63
|
+
} else {
|
|
64
|
+
buffer.writeBVarchar('');
|
|
65
|
+
}
|
|
66
|
+
let statusFlags = 0;
|
|
67
|
+
if (parameter.output) {
|
|
68
|
+
statusFlags |= STATUS.BY_REF_VALUE;
|
|
69
|
+
}
|
|
70
|
+
buffer.writeUInt8(statusFlags);
|
|
71
|
+
yield buffer.data;
|
|
72
|
+
const param = {
|
|
73
|
+
value: parameter.value
|
|
74
|
+
};
|
|
75
|
+
const type = parameter.type;
|
|
76
|
+
if ((type.id & 0x30) === 0x20) {
|
|
77
|
+
if (parameter.length) {
|
|
78
|
+
param.length = parameter.length;
|
|
79
|
+
} else if (type.resolveLength) {
|
|
80
|
+
param.length = type.resolveLength(parameter);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (parameter.precision) {
|
|
84
|
+
param.precision = parameter.precision;
|
|
85
|
+
} else if (type.resolvePrecision) {
|
|
86
|
+
param.precision = type.resolvePrecision(parameter);
|
|
87
|
+
}
|
|
88
|
+
if (parameter.scale) {
|
|
89
|
+
param.scale = parameter.scale;
|
|
90
|
+
} else if (type.resolveScale) {
|
|
91
|
+
param.scale = type.resolveScale(parameter);
|
|
92
|
+
}
|
|
93
|
+
if (this.collation) {
|
|
94
|
+
param.collation = this.collation;
|
|
95
|
+
}
|
|
96
|
+
yield type.generateTypeInfo(param, this.options);
|
|
97
|
+
yield type.generateParameterLength(param, this.options);
|
|
98
|
+
try {
|
|
99
|
+
yield* type.generateParameterData(param, this.options);
|
|
100
|
+
} catch (error) {
|
|
101
|
+
throw new _errors.InputError(`Input parameter '${parameter.name}' could not be validated`, {
|
|
102
|
+
cause: error
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
var _default = exports.default = RpcRequestPayload;
|
|
108
|
+
module.exports = RpcRequestPayload;
|
|
109
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FsbEhlYWRlcnMiLCJfZXJyb3JzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJTVEFUVVMiLCJCWV9SRUZfVkFMVUUiLCJERUZBVUxUX1ZBTFVFIiwiUnBjUmVxdWVzdFBheWxvYWQiLCJjb25zdHJ1Y3RvciIsInByb2NlZHVyZSIsInBhcmFtZXRlcnMiLCJ0eG5EZXNjcmlwdG9yIiwib3B0aW9ucyIsImNvbGxhdGlvbiIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiZ2VuZXJhdGVEYXRhIiwiYnVmZmVyIiwiV3JpdGFibGVUcmFja2luZ0J1ZmZlciIsInRkc1ZlcnNpb24iLCJvdXRzdGFuZGluZ1JlcXVlc3RDb3VudCIsIndyaXRlVG9UcmFja2luZ0J1ZmZlciIsIndyaXRlVXNWYXJjaGFyIiwid3JpdGVVU2hvcnQiLCJvcHRpb25GbGFncyIsIndyaXRlVUludDE2TEUiLCJkYXRhIiwicGFyYW1ldGVyc0xlbmd0aCIsImxlbmd0aCIsImkiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ0b1N0cmluZyIsImluZGVudCIsInBhcmFtZXRlciIsIkJ1ZmZlciIsImJ5dGVMZW5ndGgiLCJuYW1lIiwid3JpdGVCVmFyY2hhciIsInN0YXR1c0ZsYWdzIiwib3V0cHV0Iiwid3JpdGVVSW50OCIsInBhcmFtIiwidmFsdWUiLCJ0eXBlIiwiaWQiLCJyZXNvbHZlTGVuZ3RoIiwicHJlY2lzaW9uIiwicmVzb2x2ZVByZWNpc2lvbiIsInNjYWxlIiwicmVzb2x2ZVNjYWxlIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwiZXJyb3IiLCJJbnB1dEVycm9yIiwiY2F1c2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi9zcmMvcnBjcmVxdWVzdC1wYXlsb2FkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXcml0YWJsZVRyYWNraW5nQnVmZmVyIGZyb20gJy4vdHJhY2tpbmctYnVmZmVyL3dyaXRhYmxlLXRyYWNraW5nLWJ1ZmZlcic7XG5pbXBvcnQgeyB3cml0ZVRvVHJhY2tpbmdCdWZmZXIgfSBmcm9tICcuL2FsbC1oZWFkZXJzJztcbmltcG9ydCB7IHR5cGUgUGFyYW1ldGVyLCB0eXBlIFBhcmFtZXRlckRhdGEgfSBmcm9tICcuL2RhdGEtdHlwZSc7XG5pbXBvcnQgeyB0eXBlIEludGVybmFsQ29ubmVjdGlvbk9wdGlvbnMgfSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGF0aW9uIH0gZnJvbSAnLi9jb2xsYXRpb24nO1xuaW1wb3J0IHsgSW5wdXRFcnJvciB9IGZyb20gJy4vZXJyb3JzJztcblxuLy8gY29uc3QgT1BUSU9OID0ge1xuLy8gICBXSVRIX1JFQ09NUElMRTogMHgwMSxcbi8vICAgTk9fTUVUQURBVEE6IDB4MDIsXG4vLyAgIFJFVVNFX01FVEFEQVRBOiAweDA0XG4vLyB9O1xuXG5jb25zdCBTVEFUVVMgPSB7XG4gIEJZX1JFRl9WQUxVRTogMHgwMSxcbiAgREVGQVVMVF9WQUxVRTogMHgwMlxufTtcblxuLypcbiAgczIuMi42LjVcbiAqL1xuY2xhc3MgUnBjUmVxdWVzdFBheWxvYWQgaW1wbGVtZW50cyBJdGVyYWJsZTxCdWZmZXI+IHtcbiAgZGVjbGFyZSBwcm9jZWR1cmU6IHN0cmluZyB8IG51bWJlcjtcbiAgZGVjbGFyZSBwYXJhbWV0ZXJzOiBQYXJhbWV0ZXJbXTtcblxuICBkZWNsYXJlIG9wdGlvbnM6IEludGVybmFsQ29ubmVjdGlvbk9wdGlvbnM7XG4gIGRlY2xhcmUgdHhuRGVzY3JpcHRvcjogQnVmZmVyO1xuICBkZWNsYXJlIGNvbGxhdGlvbjogQ29sbGF0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByb2NlZHVyZTogc3RyaW5nIHwgbnVtYmVyLCBwYXJhbWV0ZXJzOiBQYXJhbWV0ZXJbXSwgdHhuRGVzY3JpcHRvcjogQnVmZmVyLCBvcHRpb25zOiBJbnRlcm5hbENvbm5lY3Rpb25PcHRpb25zLCBjb2xsYXRpb246IENvbGxhdGlvbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMucHJvY2VkdXJlID0gcHJvY2VkdXJlO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnR4bkRlc2NyaXB0b3IgPSB0eG5EZXNjcmlwdG9yO1xuICAgIHRoaXMuY29sbGF0aW9uID0gY29sbGF0aW9uO1xuICB9XG5cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVEYXRhKCk7XG4gIH1cblxuICAqIGdlbmVyYXRlRGF0YSgpIHtcbiAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcig1MDApO1xuICAgIGlmICh0aGlzLm9wdGlvbnMudGRzVmVyc2lvbiA+PSAnN18yJykge1xuICAgICAgY29uc3Qgb3V0c3RhbmRpbmdSZXF1ZXN0Q291bnQgPSAxO1xuICAgICAgd3JpdGVUb1RyYWNraW5nQnVmZmVyKGJ1ZmZlciwgdGhpcy50eG5EZXNjcmlwdG9yLCBvdXRzdGFuZGluZ1JlcXVlc3RDb3VudCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0aGlzLnByb2NlZHVyZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVzVmFyY2hhcih0aGlzLnByb2NlZHVyZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVTaG9ydCgweEZGRkYpO1xuICAgICAgYnVmZmVyLndyaXRlVVNob3J0KHRoaXMucHJvY2VkdXJlKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25GbGFncyA9IDA7XG4gICAgYnVmZmVyLndyaXRlVUludDE2TEUob3B0aW9uRmxhZ3MpO1xuICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuXG4gICAgY29uc3QgcGFyYW1ldGVyc0xlbmd0aCA9IHRoaXMucGFyYW1ldGVycy5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzTGVuZ3RoOyBpKyspIHtcbiAgICAgIHlpZWxkICogdGhpcy5nZW5lcmF0ZVBhcmFtZXRlckRhdGEodGhpcy5wYXJhbWV0ZXJzW2ldKTtcbiAgICB9XG4gIH1cblxuICB0b1N0cmluZyhpbmRlbnQgPSAnJykge1xuICAgIHJldHVybiBpbmRlbnQgKyAoJ1JQQyBSZXF1ZXN0IC0gJyArIHRoaXMucHJvY2VkdXJlKTtcbiAgfVxuXG4gICogZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlcjogUGFyYW1ldGVyKSB7XG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoMSArIDIgKyBCdWZmZXIuYnl0ZUxlbmd0aChwYXJhbWV0ZXIubmFtZSwgJ3Vjcy0yJykgKyAxKTtcblxuICAgIGlmIChwYXJhbWV0ZXIubmFtZSkge1xuICAgICAgYnVmZmVyLndyaXRlQlZhcmNoYXIoJ0AnICsgcGFyYW1ldGVyLm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBidWZmZXIud3JpdGVCVmFyY2hhcignJyk7XG4gICAgfVxuXG4gICAgbGV0IHN0YXR1c0ZsYWdzID0gMDtcbiAgICBpZiAocGFyYW1ldGVyLm91dHB1dCkge1xuICAgICAgc3RhdHVzRmxhZ3MgfD0gU1RBVFVTLkJZX1JFRl9WQUxVRTtcbiAgICB9XG4gICAgYnVmZmVyLndyaXRlVUludDgoc3RhdHVzRmxhZ3MpO1xuXG4gICAgeWllbGQgYnVmZmVyLmRhdGE7XG5cbiAgICBjb25zdCBwYXJhbTogUGFyYW1ldGVyRGF0YSA9IHsgdmFsdWU6IHBhcmFtZXRlci52YWx1ZSB9O1xuXG4gICAgY29uc3QgdHlwZSA9IHBhcmFtZXRlci50eXBlO1xuXG4gICAgaWYgKCh0eXBlLmlkICYgMHgzMCkgPT09IDB4MjApIHtcbiAgICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoKSB7XG4gICAgICAgIHBhcmFtLmxlbmd0aCA9IHBhcmFtZXRlci5sZW5ndGg7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUucmVzb2x2ZUxlbmd0aCkge1xuICAgICAgICBwYXJhbS5sZW5ndGggPSB0eXBlLnJlc29sdmVMZW5ndGgocGFyYW1ldGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1ldGVyLnByZWNpc2lvbikge1xuICAgICAgcGFyYW0ucHJlY2lzaW9uID0gcGFyYW1ldGVyLnByZWNpc2lvbjtcbiAgICB9IGVsc2UgaWYgKHR5cGUucmVzb2x2ZVByZWNpc2lvbikge1xuICAgICAgcGFyYW0ucHJlY2lzaW9uID0gdHlwZS5yZXNvbHZlUHJlY2lzaW9uKHBhcmFtZXRlcik7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtZXRlci5zY2FsZSkge1xuICAgICAgcGFyYW0uc2NhbGUgPSBwYXJhbWV0ZXIuc2NhbGU7XG4gICAgfSBlbHNlIGlmICh0eXBlLnJlc29sdmVTY2FsZSkge1xuICAgICAgcGFyYW0uc2NhbGUgPSB0eXBlLnJlc29sdmVTY2FsZShwYXJhbWV0ZXIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbGxhdGlvbikge1xuICAgICAgcGFyYW0uY29sbGF0aW9uID0gdGhpcy5jb2xsYXRpb247XG4gICAgfVxuXG4gICAgeWllbGQgdHlwZS5nZW5lcmF0ZVR5cGVJbmZvKHBhcmFtLCB0aGlzLm9wdGlvbnMpO1xuICAgIHlpZWxkIHR5cGUuZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW0sIHRoaXMub3B0aW9ucyk7XG4gICAgdHJ5IHtcbiAgICAgIHlpZWxkICogdHlwZS5nZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW0sIHRoaXMub3B0aW9ucyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnB1dEVycm9yKGBJbnB1dCBwYXJhbWV0ZXIgJyR7cGFyYW1ldGVyLm5hbWV9JyBjb3VsZCBub3QgYmUgdmFsaWRhdGVkYCwgeyBjYXVzZTogZXJyb3IgfSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJwY1JlcXVlc3RQYXlsb2FkO1xubW9kdWxlLmV4cG9ydHMgPSBScGNSZXF1ZXN0UGF5bG9hZDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUlBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUFzQyxTQUFBRCx1QkFBQUksR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUV0QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU1HLE1BQU0sR0FBRztFQUNiQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsYUFBYSxFQUFFO0FBQ2pCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsTUFBTUMsaUJBQWlCLENBQTZCO0VBUWxEQyxXQUFXQSxDQUFDQyxTQUEwQixFQUFFQyxVQUF1QixFQUFFQyxhQUFxQixFQUFFQyxPQUFrQyxFQUFFQyxTQUFnQyxFQUFFO0lBQzVKLElBQUksQ0FBQ0osU0FBUyxHQUFHQSxTQUFTO0lBQzFCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQSxVQUFVO0lBQzVCLElBQUksQ0FBQ0UsT0FBTyxHQUFHQSxPQUFPO0lBQ3RCLElBQUksQ0FBQ0QsYUFBYSxHQUFHQSxhQUFhO0lBQ2xDLElBQUksQ0FBQ0UsU0FBUyxHQUFHQSxTQUFTO0VBQzVCO0VBRUEsQ0FBQ0MsTUFBTSxDQUFDQyxRQUFRLElBQUk7SUFDbEIsT0FBTyxJQUFJLENBQUNDLFlBQVksQ0FBQyxDQUFDO0VBQzVCO0VBRUEsQ0FBRUEsWUFBWUEsQ0FBQSxFQUFHO0lBQ2YsTUFBTUMsTUFBTSxHQUFHLElBQUlDLCtCQUFzQixDQUFDLEdBQUcsQ0FBQztJQUM5QyxJQUFJLElBQUksQ0FBQ04sT0FBTyxDQUFDTyxVQUFVLElBQUksS0FBSyxFQUFFO01BQ3BDLE1BQU1DLHVCQUF1QixHQUFHLENBQUM7TUFDakMsSUFB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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import dns from 'dns';
|
|
2
|
+
type LookupFunction = (hostname: string, options: dns.LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: dns.LookupAddress[]) => void) => void;
|
|
3
|
+
export declare function sendInParallel(addresses: dns.LookupAddress[], port: number, request: Buffer, signal: AbortSignal): Promise<Buffer>;
|
|
4
|
+
export declare function sendMessage(host: string, port: number, lookup: LookupFunction, signal: AbortSignal, request: Buffer): Promise<Buffer>;
|
|
5
|
+
export {};
|