@zowe/db2-for-zowe-cli 6.1.16 → 6.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2174) hide show
  1. package/README.md +38 -7
  2. package/lib/Db2PluginLifeCycle.d.ts +82 -0
  3. package/lib/Db2PluginLifeCycle.js +159 -0
  4. package/lib/Db2PluginLifeCycle.js.map +1 -0
  5. package/lib/imperative.js +1 -0
  6. package/lib/imperative.js.map +1 -1
  7. package/node_modules/adm-zip/LICENSE +21 -0
  8. package/node_modules/adm-zip/README.md +90 -0
  9. package/node_modules/adm-zip/adm-zip.js +994 -0
  10. package/node_modules/adm-zip/headers/entryHeader.js +384 -0
  11. package/node_modules/adm-zip/headers/index.js +2 -0
  12. package/node_modules/adm-zip/headers/mainHeader.js +177 -0
  13. package/node_modules/adm-zip/methods/deflater.js +33 -0
  14. package/node_modules/adm-zip/methods/index.js +3 -0
  15. package/node_modules/adm-zip/methods/inflater.js +34 -0
  16. package/node_modules/adm-zip/methods/zipcrypto.js +175 -0
  17. package/node_modules/adm-zip/package.json +56 -0
  18. package/node_modules/adm-zip/types.d.ts +223 -0
  19. package/node_modules/adm-zip/util/constants.js +142 -0
  20. package/node_modules/adm-zip/util/decoder.js +5 -0
  21. package/node_modules/adm-zip/util/errors.js +63 -0
  22. package/node_modules/adm-zip/util/fattr.js +76 -0
  23. package/node_modules/adm-zip/util/index.js +5 -0
  24. package/node_modules/adm-zip/util/utils.js +393 -0
  25. package/node_modules/adm-zip/zipEntry.js +390 -0
  26. package/node_modules/adm-zip/zipFile.js +456 -0
  27. package/node_modules/asynckit/LICENSE +21 -0
  28. package/node_modules/asynckit/README.md +233 -0
  29. package/node_modules/asynckit/bench.js +76 -0
  30. package/node_modules/asynckit/index.js +6 -0
  31. package/node_modules/asynckit/lib/abort.js +29 -0
  32. package/node_modules/asynckit/lib/async.js +34 -0
  33. package/node_modules/asynckit/lib/defer.js +26 -0
  34. package/node_modules/asynckit/lib/iterate.js +75 -0
  35. package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  36. package/node_modules/asynckit/lib/readable_parallel.js +25 -0
  37. package/node_modules/asynckit/lib/readable_serial.js +25 -0
  38. package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  39. package/node_modules/asynckit/lib/state.js +37 -0
  40. package/node_modules/asynckit/lib/streamify.js +141 -0
  41. package/node_modules/asynckit/lib/terminator.js +29 -0
  42. package/node_modules/asynckit/package.json +63 -0
  43. package/node_modules/asynckit/parallel.js +43 -0
  44. package/node_modules/asynckit/serial.js +17 -0
  45. package/node_modules/asynckit/serialOrdered.js +75 -0
  46. package/node_modules/asynckit/stream.js +21 -0
  47. package/node_modules/available-typed-arrays/.eslintrc +5 -0
  48. package/node_modules/available-typed-arrays/.github/FUNDING.yml +12 -0
  49. package/node_modules/available-typed-arrays/.nycrc +9 -0
  50. package/node_modules/available-typed-arrays/CHANGELOG.md +100 -0
  51. package/node_modules/available-typed-arrays/LICENSE +21 -0
  52. package/node_modules/available-typed-arrays/README.md +55 -0
  53. package/node_modules/available-typed-arrays/index.d.ts +8 -0
  54. package/node_modules/available-typed-arrays/index.js +17 -0
  55. package/node_modules/available-typed-arrays/package.json +93 -0
  56. package/node_modules/available-typed-arrays/test/index.js +18 -0
  57. package/node_modules/available-typed-arrays/tsconfig.json +49 -0
  58. package/node_modules/axios/CHANGELOG.md +1934 -0
  59. package/node_modules/axios/LICENSE +7 -0
  60. package/node_modules/axios/MIGRATION_GUIDE.md +877 -0
  61. package/node_modules/axios/README.md +2851 -0
  62. package/node_modules/axios/dist/axios.js +5807 -0
  63. package/node_modules/axios/dist/axios.min.js +5 -0
  64. package/node_modules/axios/dist/axios.min.js.map +1 -0
  65. package/node_modules/axios/dist/browser/axios.cjs +5829 -0
  66. package/node_modules/axios/dist/esm/axios.js +5850 -0
  67. package/node_modules/axios/dist/esm/axios.min.js +3 -0
  68. package/node_modules/axios/dist/esm/axios.min.js.map +1 -0
  69. package/node_modules/axios/dist/node/axios.cjs +6808 -0
  70. package/node_modules/axios/index.d.cts +766 -0
  71. package/node_modules/axios/index.d.ts +787 -0
  72. package/node_modules/axios/index.js +45 -0
  73. package/node_modules/axios/lib/adapters/README.md +36 -0
  74. package/node_modules/axios/lib/adapters/adapters.js +132 -0
  75. package/node_modules/axios/lib/adapters/fetch.js +696 -0
  76. package/node_modules/axios/lib/adapters/http.js +1490 -0
  77. package/node_modules/axios/lib/adapters/xhr.js +277 -0
  78. package/node_modules/axios/lib/axios.js +89 -0
  79. package/node_modules/axios/lib/cancel/CancelToken.js +135 -0
  80. package/node_modules/axios/lib/cancel/CanceledError.js +22 -0
  81. package/node_modules/axios/lib/cancel/isCancel.js +5 -0
  82. package/node_modules/axios/lib/core/Axios.js +306 -0
  83. package/node_modules/axios/lib/core/AxiosError.js +219 -0
  84. package/node_modules/axios/lib/core/AxiosHeaders.js +474 -0
  85. package/node_modules/axios/lib/core/InterceptorManager.js +171 -0
  86. package/node_modules/axios/lib/core/README.md +8 -0
  87. package/node_modules/axios/lib/core/buildFullPath.js +76 -0
  88. package/node_modules/axios/lib/core/dispatchRequest.js +95 -0
  89. package/node_modules/axios/lib/core/mergeConfig.js +174 -0
  90. package/node_modules/axios/lib/core/methodList.js +17 -0
  91. package/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  92. package/node_modules/axios/lib/core/settle.js +27 -0
  93. package/node_modules/axios/lib/core/transformData.js +28 -0
  94. package/node_modules/axios/lib/defaults/index.js +178 -0
  95. package/node_modules/axios/lib/defaults/transitional.js +10 -0
  96. package/node_modules/axios/lib/env/README.md +3 -0
  97. package/node_modules/axios/lib/env/classes/FormData.js +2 -0
  98. package/node_modules/axios/lib/env/data.js +1 -0
  99. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +156 -0
  100. package/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +59 -0
  101. package/node_modules/axios/lib/helpers/Http2Sessions.js +121 -0
  102. package/node_modules/axios/lib/helpers/HttpStatusCode.js +88 -0
  103. package/node_modules/axios/lib/helpers/README.md +7 -0
  104. package/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +29 -0
  105. package/node_modules/axios/lib/helpers/bind.js +14 -0
  106. package/node_modules/axios/lib/helpers/buildURL.js +69 -0
  107. package/node_modules/axios/lib/helpers/callbackify.js +18 -0
  108. package/node_modules/axios/lib/helpers/combineURLs.js +23 -0
  109. package/node_modules/axios/lib/helpers/composeSignals.js +68 -0
  110. package/node_modules/axios/lib/helpers/cookies.js +64 -0
  111. package/node_modules/axios/lib/helpers/deprecatedMethod.js +31 -0
  112. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +166 -0
  113. package/node_modules/axios/lib/helpers/formDataToJSON.js +125 -0
  114. package/node_modules/axios/lib/helpers/formDataToStream.js +119 -0
  115. package/node_modules/axios/lib/helpers/fromDataURI.js +69 -0
  116. package/node_modules/axios/lib/helpers/isAbsoluteURL.js +19 -0
  117. package/node_modules/axios/lib/helpers/isAxiosError.js +14 -0
  118. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +16 -0
  119. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  120. package/node_modules/axios/lib/helpers/null.js +2 -0
  121. package/node_modules/axios/lib/helpers/parseHeaders.js +71 -0
  122. package/node_modules/axios/lib/helpers/parseProtocol.js +6 -0
  123. package/node_modules/axios/lib/helpers/progressEventReducer.js +54 -0
  124. package/node_modules/axios/lib/helpers/readBlob.js +15 -0
  125. package/node_modules/axios/lib/helpers/resolveConfig.js +107 -0
  126. package/node_modules/axios/lib/helpers/sanitizeHeaderValue.js +60 -0
  127. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +505 -0
  128. package/node_modules/axios/lib/helpers/speedometer.js +55 -0
  129. package/node_modules/axios/lib/helpers/spread.js +28 -0
  130. package/node_modules/axios/lib/helpers/throttle.js +45 -0
  131. package/node_modules/axios/lib/helpers/toFormData.js +279 -0
  132. package/node_modules/axios/lib/helpers/toURLEncodedForm.js +19 -0
  133. package/node_modules/axios/lib/helpers/trackStream.js +89 -0
  134. package/node_modules/axios/lib/helpers/validator.js +112 -0
  135. package/node_modules/axios/lib/platform/browser/classes/Blob.js +3 -0
  136. package/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
  137. package/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +4 -0
  138. package/node_modules/axios/lib/platform/browser/index.js +13 -0
  139. package/node_modules/axios/lib/platform/common/utils.js +52 -0
  140. package/node_modules/axios/lib/platform/index.js +7 -0
  141. package/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  142. package/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
  143. package/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +4 -0
  144. package/node_modules/axios/lib/platform/node/index.js +37 -0
  145. package/node_modules/axios/lib/utils.js +1150 -0
  146. package/node_modules/axios/node_modules/agent-base/README.md +145 -0
  147. package/node_modules/axios/node_modules/agent-base/dist/src/index.d.ts +78 -0
  148. package/node_modules/axios/node_modules/agent-base/dist/src/index.js +203 -0
  149. package/node_modules/axios/node_modules/agent-base/dist/src/index.js.map +1 -0
  150. package/node_modules/axios/node_modules/agent-base/dist/src/promisify.d.ts +4 -0
  151. package/node_modules/axios/node_modules/agent-base/dist/src/promisify.js +18 -0
  152. package/node_modules/axios/node_modules/agent-base/dist/src/promisify.js.map +1 -0
  153. package/node_modules/axios/node_modules/agent-base/package.json +64 -0
  154. package/node_modules/axios/node_modules/agent-base/src/index.ts +345 -0
  155. package/node_modules/axios/node_modules/agent-base/src/promisify.ts +33 -0
  156. package/node_modules/axios/node_modules/https-proxy-agent/README.md +137 -0
  157. package/node_modules/axios/node_modules/https-proxy-agent/dist/agent.d.ts +30 -0
  158. package/node_modules/axios/node_modules/https-proxy-agent/dist/agent.js +177 -0
  159. package/node_modules/axios/node_modules/https-proxy-agent/dist/agent.js.map +1 -0
  160. package/node_modules/axios/node_modules/https-proxy-agent/dist/index.d.ts +23 -0
  161. package/node_modules/axios/node_modules/https-proxy-agent/dist/index.js +14 -0
  162. package/node_modules/axios/node_modules/https-proxy-agent/dist/index.js.map +1 -0
  163. package/node_modules/axios/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +7 -0
  164. package/node_modules/axios/node_modules/https-proxy-agent/dist/parse-proxy-response.js +66 -0
  165. package/node_modules/axios/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
  166. package/node_modules/axios/node_modules/https-proxy-agent/package.json +56 -0
  167. package/node_modules/axios/package.json +203 -0
  168. package/node_modules/big-integer/BigInteger.d.ts +2393 -0
  169. package/node_modules/big-integer/BigInteger.js +1453 -0
  170. package/node_modules/big-integer/BigInteger.min.js +1 -0
  171. package/node_modules/big-integer/LICENSE +24 -0
  172. package/node_modules/big-integer/README.md +589 -0
  173. package/node_modules/big-integer/bower.json +29 -0
  174. package/node_modules/big-integer/package.json +48 -0
  175. package/node_modules/big-integer/tsconfig.json +24 -0
  176. package/node_modules/bindings/LICENSE.md +22 -0
  177. package/node_modules/bindings/README.md +98 -0
  178. package/node_modules/bindings/bindings.js +221 -0
  179. package/node_modules/bindings/package.json +28 -0
  180. package/node_modules/buffer-alloc/index.js +32 -0
  181. package/node_modules/buffer-alloc/package.json +26 -0
  182. package/node_modules/buffer-alloc/readme.md +43 -0
  183. package/node_modules/buffer-alloc-unsafe/index.js +17 -0
  184. package/node_modules/buffer-alloc-unsafe/package.json +24 -0
  185. package/node_modules/buffer-alloc-unsafe/readme.md +46 -0
  186. package/node_modules/buffer-fill/index.js +113 -0
  187. package/node_modules/buffer-fill/package.json +16 -0
  188. package/node_modules/buffer-fill/readme.md +54 -0
  189. package/node_modules/call-bind/.eslintignore +1 -0
  190. package/node_modules/call-bind/.eslintrc +16 -0
  191. package/node_modules/call-bind/.github/FUNDING.yml +12 -0
  192. package/node_modules/call-bind/.nycrc +9 -0
  193. package/node_modules/call-bind/CHANGELOG.md +115 -0
  194. package/node_modules/call-bind/LICENSE +21 -0
  195. package/node_modules/call-bind/README.md +64 -0
  196. package/node_modules/call-bind/callBound.js +15 -0
  197. package/node_modules/call-bind/index.js +24 -0
  198. package/node_modules/call-bind/package.json +93 -0
  199. package/node_modules/call-bind/test/callBound.js +54 -0
  200. package/node_modules/call-bind/test/index.js +82 -0
  201. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  202. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  203. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  204. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  205. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  206. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  207. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  208. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  209. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  210. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  211. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  212. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  213. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  214. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  215. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  216. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  217. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  218. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  219. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  220. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  221. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  222. package/node_modules/call-bound/.eslintrc +13 -0
  223. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  224. package/node_modules/call-bound/.nycrc +9 -0
  225. package/node_modules/call-bound/CHANGELOG.md +42 -0
  226. package/node_modules/call-bound/LICENSE +21 -0
  227. package/node_modules/call-bound/README.md +53 -0
  228. package/node_modules/call-bound/index.d.ts +94 -0
  229. package/node_modules/call-bound/index.js +19 -0
  230. package/node_modules/call-bound/package.json +99 -0
  231. package/node_modules/call-bound/test/index.js +61 -0
  232. package/node_modules/call-bound/tsconfig.json +10 -0
  233. package/node_modules/combined-stream/License +19 -0
  234. package/node_modules/combined-stream/Readme.md +138 -0
  235. package/node_modules/combined-stream/lib/combined_stream.js +208 -0
  236. package/node_modules/combined-stream/package.json +25 -0
  237. package/node_modules/core-util-is/LICENSE +19 -0
  238. package/node_modules/core-util-is/README.md +3 -0
  239. package/node_modules/core-util-is/lib/util.js +107 -0
  240. package/node_modules/core-util-is/package.json +38 -0
  241. package/node_modules/debug/LICENSE +20 -0
  242. package/node_modules/debug/README.md +481 -0
  243. package/node_modules/debug/package.json +64 -0
  244. package/node_modules/debug/src/browser.js +272 -0
  245. package/node_modules/debug/src/common.js +292 -0
  246. package/node_modules/debug/src/index.js +10 -0
  247. package/node_modules/debug/src/node.js +263 -0
  248. package/node_modules/define-data-property/.eslintrc +24 -0
  249. package/node_modules/define-data-property/.github/FUNDING.yml +12 -0
  250. package/node_modules/define-data-property/.nycrc +13 -0
  251. package/node_modules/define-data-property/CHANGELOG.md +70 -0
  252. package/node_modules/define-data-property/LICENSE +21 -0
  253. package/node_modules/define-data-property/README.md +67 -0
  254. package/node_modules/define-data-property/index.d.ts +12 -0
  255. package/node_modules/define-data-property/index.js +56 -0
  256. package/node_modules/define-data-property/package.json +106 -0
  257. package/node_modules/define-data-property/test/index.js +392 -0
  258. package/node_modules/define-data-property/tsconfig.json +59 -0
  259. package/node_modules/delayed-stream/.npmignore +1 -0
  260. package/node_modules/delayed-stream/License +19 -0
  261. package/node_modules/delayed-stream/Makefile +7 -0
  262. package/node_modules/delayed-stream/Readme.md +141 -0
  263. package/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  264. package/node_modules/delayed-stream/package.json +27 -0
  265. package/node_modules/dunder-proto/.eslintrc +5 -0
  266. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  267. package/node_modules/dunder-proto/.nycrc +13 -0
  268. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  269. package/node_modules/dunder-proto/LICENSE +21 -0
  270. package/node_modules/dunder-proto/README.md +54 -0
  271. package/node_modules/dunder-proto/get.d.ts +5 -0
  272. package/node_modules/dunder-proto/get.js +30 -0
  273. package/node_modules/dunder-proto/package.json +76 -0
  274. package/node_modules/dunder-proto/set.d.ts +5 -0
  275. package/node_modules/dunder-proto/set.js +35 -0
  276. package/node_modules/dunder-proto/test/get.js +34 -0
  277. package/node_modules/dunder-proto/test/index.js +4 -0
  278. package/node_modules/dunder-proto/test/set.js +50 -0
  279. package/node_modules/dunder-proto/tsconfig.json +9 -0
  280. package/node_modules/end-of-stream/LICENSE +21 -0
  281. package/node_modules/end-of-stream/README.md +54 -0
  282. package/node_modules/end-of-stream/index.js +96 -0
  283. package/node_modules/end-of-stream/package.json +37 -0
  284. package/node_modules/es-define-property/.eslintrc +13 -0
  285. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  286. package/node_modules/es-define-property/.nycrc +9 -0
  287. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  288. package/node_modules/es-define-property/LICENSE +21 -0
  289. package/node_modules/es-define-property/README.md +49 -0
  290. package/node_modules/es-define-property/index.d.ts +3 -0
  291. package/node_modules/es-define-property/index.js +14 -0
  292. package/node_modules/es-define-property/package.json +81 -0
  293. package/node_modules/es-define-property/test/index.js +56 -0
  294. package/node_modules/es-define-property/tsconfig.json +10 -0
  295. package/node_modules/es-errors/.eslintrc +5 -0
  296. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  297. package/node_modules/es-errors/CHANGELOG.md +40 -0
  298. package/node_modules/es-errors/LICENSE +21 -0
  299. package/node_modules/es-errors/README.md +55 -0
  300. package/node_modules/es-errors/eval.d.ts +3 -0
  301. package/node_modules/es-errors/eval.js +4 -0
  302. package/node_modules/es-errors/index.d.ts +3 -0
  303. package/node_modules/es-errors/index.js +4 -0
  304. package/node_modules/es-errors/package.json +80 -0
  305. package/node_modules/es-errors/range.d.ts +3 -0
  306. package/node_modules/es-errors/range.js +4 -0
  307. package/node_modules/es-errors/ref.d.ts +3 -0
  308. package/node_modules/es-errors/ref.js +4 -0
  309. package/node_modules/es-errors/syntax.d.ts +3 -0
  310. package/node_modules/es-errors/syntax.js +4 -0
  311. package/node_modules/es-errors/test/index.js +19 -0
  312. package/node_modules/es-errors/tsconfig.json +49 -0
  313. package/node_modules/es-errors/type.d.ts +3 -0
  314. package/node_modules/es-errors/type.js +4 -0
  315. package/node_modules/es-errors/uri.d.ts +3 -0
  316. package/node_modules/es-errors/uri.js +4 -0
  317. package/node_modules/es-object-atoms/.eslintrc +16 -0
  318. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  319. package/node_modules/es-object-atoms/CHANGELOG.md +44 -0
  320. package/node_modules/es-object-atoms/LICENSE +21 -0
  321. package/node_modules/es-object-atoms/README.md +63 -0
  322. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  323. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  324. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  325. package/node_modules/es-object-atoms/ToObject.js +10 -0
  326. package/node_modules/es-object-atoms/index.d.ts +3 -0
  327. package/node_modules/es-object-atoms/index.js +4 -0
  328. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  329. package/node_modules/es-object-atoms/isObject.js +6 -0
  330. package/node_modules/es-object-atoms/package.json +79 -0
  331. package/node_modules/es-object-atoms/test/index.js +38 -0
  332. package/node_modules/es-object-atoms/tsconfig.json +7 -0
  333. package/node_modules/es-set-tostringtag/.eslintrc +13 -0
  334. package/node_modules/es-set-tostringtag/.nycrc +9 -0
  335. package/node_modules/es-set-tostringtag/CHANGELOG.md +67 -0
  336. package/node_modules/es-set-tostringtag/LICENSE +21 -0
  337. package/node_modules/es-set-tostringtag/README.md +53 -0
  338. package/node_modules/es-set-tostringtag/index.d.ts +10 -0
  339. package/node_modules/es-set-tostringtag/index.js +35 -0
  340. package/node_modules/es-set-tostringtag/package.json +78 -0
  341. package/node_modules/es-set-tostringtag/test/index.js +85 -0
  342. package/node_modules/es-set-tostringtag/tsconfig.json +9 -0
  343. package/node_modules/file-uri-to-path/.npmignore +1 -0
  344. package/node_modules/file-uri-to-path/.travis.yml +30 -0
  345. package/node_modules/file-uri-to-path/History.md +21 -0
  346. package/node_modules/file-uri-to-path/LICENSE +20 -0
  347. package/node_modules/file-uri-to-path/README.md +74 -0
  348. package/node_modules/file-uri-to-path/index.d.ts +2 -0
  349. package/node_modules/file-uri-to-path/index.js +66 -0
  350. package/node_modules/file-uri-to-path/package.json +32 -0
  351. package/node_modules/file-uri-to-path/test/test.js +24 -0
  352. package/node_modules/file-uri-to-path/test/tests.json +13 -0
  353. package/node_modules/follow-redirects/LICENSE +18 -0
  354. package/node_modules/follow-redirects/README.md +157 -0
  355. package/node_modules/follow-redirects/debug.js +15 -0
  356. package/node_modules/follow-redirects/http.js +1 -0
  357. package/node_modules/follow-redirects/https.js +1 -0
  358. package/node_modules/follow-redirects/index.js +709 -0
  359. package/node_modules/follow-redirects/package.json +58 -0
  360. package/node_modules/for-each/.editorconfig +20 -0
  361. package/node_modules/for-each/.eslintrc +30 -0
  362. package/node_modules/for-each/.github/FUNDING.yml +12 -0
  363. package/node_modules/for-each/.github/SECURITY.md +3 -0
  364. package/node_modules/for-each/.nycrc +8 -0
  365. package/node_modules/for-each/CHANGELOG.md +107 -0
  366. package/node_modules/for-each/LICENSE +22 -0
  367. package/node_modules/for-each/README.md +39 -0
  368. package/node_modules/for-each/index.d.ts +35 -0
  369. package/node_modules/for-each/index.js +69 -0
  370. package/node_modules/for-each/package.json +76 -0
  371. package/node_modules/for-each/test/test.js +224 -0
  372. package/node_modules/for-each/tsconfig.json +8 -0
  373. package/node_modules/form-data/CHANGELOG.md +686 -0
  374. package/node_modules/form-data/License +19 -0
  375. package/node_modules/form-data/README.md +355 -0
  376. package/node_modules/form-data/index.d.ts +62 -0
  377. package/node_modules/form-data/lib/browser.js +4 -0
  378. package/node_modules/form-data/lib/form_data.js +506 -0
  379. package/node_modules/form-data/lib/populate.js +10 -0
  380. package/node_modules/form-data/package.json +82 -0
  381. package/node_modules/fs-constants/LICENSE +21 -0
  382. package/node_modules/fs-constants/README.md +26 -0
  383. package/node_modules/fs-constants/browser.js +1 -0
  384. package/node_modules/fs-constants/index.js +1 -0
  385. package/node_modules/fs-constants/package.json +19 -0
  386. package/node_modules/fs-extra/LICENSE +15 -0
  387. package/node_modules/fs-extra/README.md +294 -0
  388. package/node_modules/fs-extra/lib/copy/copy-sync.js +176 -0
  389. package/node_modules/fs-extra/lib/copy/copy.js +180 -0
  390. package/node_modules/fs-extra/lib/copy/index.js +7 -0
  391. package/node_modules/fs-extra/lib/empty/index.js +39 -0
  392. package/node_modules/fs-extra/lib/ensure/file.js +66 -0
  393. package/node_modules/fs-extra/lib/ensure/index.js +23 -0
  394. package/node_modules/fs-extra/lib/ensure/link.js +64 -0
  395. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +101 -0
  396. package/node_modules/fs-extra/lib/ensure/symlink-type.js +34 -0
  397. package/node_modules/fs-extra/lib/ensure/symlink.js +108 -0
  398. package/node_modules/fs-extra/lib/esm.mjs +68 -0
  399. package/node_modules/fs-extra/lib/fs/index.js +146 -0
  400. package/node_modules/fs-extra/lib/index.js +16 -0
  401. package/node_modules/fs-extra/lib/json/index.js +16 -0
  402. package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  403. package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  404. package/node_modules/fs-extra/lib/json/output-json.js +12 -0
  405. package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  406. package/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
  407. package/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
  408. package/node_modules/fs-extra/lib/move/index.js +7 -0
  409. package/node_modules/fs-extra/lib/move/move-sync.js +55 -0
  410. package/node_modules/fs-extra/lib/move/move.js +59 -0
  411. package/node_modules/fs-extra/lib/output-file/index.js +31 -0
  412. package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  413. package/node_modules/fs-extra/lib/remove/index.js +17 -0
  414. package/node_modules/fs-extra/lib/util/async.js +29 -0
  415. package/node_modules/fs-extra/lib/util/stat.js +165 -0
  416. package/node_modules/fs-extra/lib/util/utimes.js +53 -0
  417. package/node_modules/fs-extra/package.json +71 -0
  418. package/node_modules/function-bind/.eslintrc +21 -0
  419. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  420. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  421. package/node_modules/function-bind/.nycrc +13 -0
  422. package/node_modules/function-bind/CHANGELOG.md +136 -0
  423. package/node_modules/function-bind/LICENSE +20 -0
  424. package/node_modules/function-bind/README.md +46 -0
  425. package/node_modules/function-bind/implementation.js +84 -0
  426. package/node_modules/function-bind/index.js +5 -0
  427. package/node_modules/function-bind/package.json +87 -0
  428. package/node_modules/function-bind/test/.eslintrc +9 -0
  429. package/node_modules/function-bind/test/index.js +252 -0
  430. package/node_modules/get-intrinsic/.eslintrc +42 -0
  431. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  432. package/node_modules/get-intrinsic/.nycrc +9 -0
  433. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  434. package/node_modules/get-intrinsic/LICENSE +21 -0
  435. package/node_modules/get-intrinsic/README.md +71 -0
  436. package/node_modules/get-intrinsic/index.js +378 -0
  437. package/node_modules/get-intrinsic/package.json +97 -0
  438. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  439. package/node_modules/get-proto/.eslintrc +10 -0
  440. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  441. package/node_modules/get-proto/.nycrc +9 -0
  442. package/node_modules/get-proto/CHANGELOG.md +21 -0
  443. package/node_modules/get-proto/LICENSE +21 -0
  444. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  445. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  446. package/node_modules/get-proto/README.md +50 -0
  447. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  448. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  449. package/node_modules/get-proto/index.d.ts +5 -0
  450. package/node_modules/get-proto/index.js +27 -0
  451. package/node_modules/get-proto/package.json +81 -0
  452. package/node_modules/get-proto/test/index.js +68 -0
  453. package/node_modules/get-proto/tsconfig.json +9 -0
  454. package/node_modules/gopd/.eslintrc +16 -0
  455. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  456. package/node_modules/gopd/CHANGELOG.md +45 -0
  457. package/node_modules/gopd/LICENSE +21 -0
  458. package/node_modules/gopd/README.md +40 -0
  459. package/node_modules/gopd/gOPD.d.ts +1 -0
  460. package/node_modules/gopd/gOPD.js +4 -0
  461. package/node_modules/gopd/index.d.ts +5 -0
  462. package/node_modules/gopd/index.js +15 -0
  463. package/node_modules/gopd/package.json +77 -0
  464. package/node_modules/gopd/test/index.js +36 -0
  465. package/node_modules/gopd/tsconfig.json +9 -0
  466. package/node_modules/graceful-fs/LICENSE +15 -0
  467. package/node_modules/graceful-fs/README.md +143 -0
  468. package/node_modules/graceful-fs/clone.js +23 -0
  469. package/node_modules/graceful-fs/graceful-fs.js +448 -0
  470. package/node_modules/graceful-fs/legacy-streams.js +118 -0
  471. package/node_modules/graceful-fs/package.json +53 -0
  472. package/node_modules/graceful-fs/polyfills.js +355 -0
  473. package/node_modules/has-property-descriptors/.eslintrc +13 -0
  474. package/node_modules/has-property-descriptors/.github/FUNDING.yml +12 -0
  475. package/node_modules/has-property-descriptors/.nycrc +9 -0
  476. package/node_modules/has-property-descriptors/CHANGELOG.md +35 -0
  477. package/node_modules/has-property-descriptors/LICENSE +21 -0
  478. package/node_modules/has-property-descriptors/README.md +43 -0
  479. package/node_modules/has-property-descriptors/index.js +22 -0
  480. package/node_modules/has-property-descriptors/package.json +77 -0
  481. package/node_modules/has-property-descriptors/test/index.js +57 -0
  482. package/node_modules/has-symbols/.eslintrc +11 -0
  483. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  484. package/node_modules/has-symbols/.nycrc +9 -0
  485. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  486. package/node_modules/has-symbols/LICENSE +21 -0
  487. package/node_modules/has-symbols/README.md +46 -0
  488. package/node_modules/has-symbols/index.d.ts +3 -0
  489. package/node_modules/has-symbols/index.js +14 -0
  490. package/node_modules/has-symbols/package.json +111 -0
  491. package/node_modules/has-symbols/shams.d.ts +3 -0
  492. package/node_modules/has-symbols/shams.js +45 -0
  493. package/node_modules/has-symbols/test/index.js +22 -0
  494. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  495. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  496. package/node_modules/has-symbols/test/tests.js +58 -0
  497. package/node_modules/has-symbols/tsconfig.json +10 -0
  498. package/node_modules/has-tostringtag/.eslintrc +5 -0
  499. package/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
  500. package/node_modules/has-tostringtag/.nycrc +13 -0
  501. package/node_modules/has-tostringtag/CHANGELOG.md +42 -0
  502. package/node_modules/has-tostringtag/LICENSE +21 -0
  503. package/node_modules/has-tostringtag/README.md +46 -0
  504. package/node_modules/has-tostringtag/index.d.ts +3 -0
  505. package/node_modules/has-tostringtag/index.js +8 -0
  506. package/node_modules/has-tostringtag/package.json +108 -0
  507. package/node_modules/has-tostringtag/shams.d.ts +3 -0
  508. package/node_modules/has-tostringtag/shams.js +8 -0
  509. package/node_modules/has-tostringtag/test/index.js +21 -0
  510. package/node_modules/has-tostringtag/test/shams/core-js.js +31 -0
  511. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +30 -0
  512. package/node_modules/has-tostringtag/test/tests.js +15 -0
  513. package/node_modules/has-tostringtag/tsconfig.json +49 -0
  514. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  515. package/node_modules/hasown/.nycrc +13 -0
  516. package/node_modules/hasown/CHANGELOG.md +58 -0
  517. package/node_modules/hasown/LICENSE +21 -0
  518. package/node_modules/hasown/README.md +40 -0
  519. package/node_modules/hasown/eslint.config.mjs +6 -0
  520. package/node_modules/hasown/index.d.ts +3 -0
  521. package/node_modules/hasown/index.js +8 -0
  522. package/node_modules/hasown/package.json +91 -0
  523. package/node_modules/hasown/tsconfig.json +6 -0
  524. package/node_modules/ibm_db/APIDocumentation.md +2883 -0
  525. package/node_modules/ibm_db/LICENSE +23 -0
  526. package/node_modules/ibm_db/README.md +735 -0
  527. package/node_modules/ibm_db/binding.gyp +99 -0
  528. package/node_modules/ibm_db/installer/clidriver/bin/db2cli +0 -0
  529. package/node_modules/ibm_db/installer/clidriver/bin/db2diag +0 -0
  530. package/node_modules/ibm_db/installer/clidriver/bin/db2drdat +0 -0
  531. package/node_modules/ibm_db/installer/clidriver/bin/db2dsdcfgfill +0 -0
  532. package/node_modules/ibm_db/installer/clidriver/bin/db2ldcfg +0 -0
  533. package/node_modules/ibm_db/installer/clidriver/bin/db2lddrg +0 -0
  534. package/node_modules/ibm_db/installer/clidriver/bin/db2level +0 -0
  535. package/node_modules/ibm_db/installer/clidriver/bin/db2support +0 -0
  536. package/node_modules/ibm_db/installer/clidriver/bin/db2trc +0 -0
  537. package/node_modules/ibm_db/installer/clidriver/bnd/db2ajgrt.bnd +0 -0
  538. package/node_modules/ibm_db/installer/clidriver/bnd/db2cli.bnd +0 -0
  539. package/node_modules/ibm_db/installer/clidriver/bnd/db2cli.lst +4 -0
  540. package/node_modules/ibm_db/installer/clidriver/bnd/db2clipk.bnd +0 -0
  541. package/node_modules/ibm_db/installer/clidriver/bnd/db2clist.bnd +0 -0
  542. package/node_modules/ibm_db/installer/clidriver/bnd/db2spcdb.bnd +0 -0
  543. package/node_modules/ibm_db/installer/clidriver/cfg/db2cli.ini.sample +16 -0
  544. package/node_modules/ibm_db/installer/clidriver/cfg/db2dsdriver.cfg.sample +50 -0
  545. package/node_modules/ibm_db/installer/clidriver/cfg/db2dsdriver.xsd +216 -0
  546. package/node_modules/ibm_db/installer/clidriver/cfgcache/conlic.bin +0 -0
  547. package/node_modules/ibm_db/installer/clidriver/conv/alt/04370923.cnv +0 -0
  548. package/node_modules/ibm_db/installer/clidriver/conv/alt/08500923.cnv +0 -0
  549. package/node_modules/ibm_db/installer/clidriver/conv/alt/08501252.cnv +0 -0
  550. package/node_modules/ibm_db/installer/clidriver/conv/alt/08600923.cnv +0 -0
  551. package/node_modules/ibm_db/installer/clidriver/conv/alt/08630923.cnv +0 -0
  552. package/node_modules/ibm_db/installer/clidriver/conv/alt/09230437.cnv +0 -0
  553. package/node_modules/ibm_db/installer/clidriver/conv/alt/09230850.cnv +0 -0
  554. package/node_modules/ibm_db/installer/clidriver/conv/alt/09230860.cnv +0 -0
  555. package/node_modules/ibm_db/installer/clidriver/conv/alt/09231043.cnv +0 -0
  556. package/node_modules/ibm_db/installer/clidriver/conv/alt/09231051.cnv +0 -0
  557. package/node_modules/ibm_db/installer/clidriver/conv/alt/09231114.cnv +0 -0
  558. package/node_modules/ibm_db/installer/clidriver/conv/alt/09231208.cnv +0 -0
  559. package/node_modules/ibm_db/installer/clidriver/conv/alt/09231252.cnv +0 -0
  560. package/node_modules/ibm_db/installer/clidriver/conv/alt/09231275.cnv +0 -0
  561. package/node_modules/ibm_db/installer/clidriver/conv/alt/09241252.cnv +0 -0
  562. package/node_modules/ibm_db/installer/clidriver/conv/alt/09370950.cnv +0 -0
  563. package/node_modules/ibm_db/installer/clidriver/conv/alt/10430923.cnv +0 -0
  564. package/node_modules/ibm_db/installer/clidriver/conv/alt/10510923.cnv +0 -0
  565. package/node_modules/ibm_db/installer/clidriver/conv/alt/11140923.cnv +0 -0
  566. package/node_modules/ibm_db/installer/clidriver/conv/alt/12080923.cnv +0 -0
  567. package/node_modules/ibm_db/installer/clidriver/conv/alt/12520850.cnv +0 -0
  568. package/node_modules/ibm_db/installer/clidriver/conv/alt/12520923.cnv +0 -0
  569. package/node_modules/ibm_db/installer/clidriver/conv/alt/12750923.cnv +0 -0
  570. package/node_modules/ibm_db/installer/clidriver/conv/alt/1388ucs2.cnv +0 -0
  571. package/node_modules/ibm_db/installer/clidriver/conv/alt/IBM00850.ucs +0 -0
  572. package/node_modules/ibm_db/installer/clidriver/conv/alt/IBM00923.ucs +0 -0
  573. package/node_modules/ibm_db/installer/clidriver/conv/alt/IBM01252.ucs +0 -0
  574. package/node_modules/ibm_db/installer/clidriver/conv/ms/0930ucs2.cnv +0 -0
  575. package/node_modules/ibm_db/installer/clidriver/conv/ms/0939ucs2.cnv +0 -0
  576. package/node_modules/ibm_db/installer/clidriver/conv/ms/0943ucs2.cnv +0 -0
  577. package/node_modules/ibm_db/installer/clidriver/conv/ms/0954ucs2.cnv +0 -0
  578. package/node_modules/ibm_db/installer/clidriver/conv/ms/1390ucs2.cnv +0 -0
  579. package/node_modules/ibm_db/installer/clidriver/conv/ms/1399ucs2.cnv +0 -0
  580. package/node_modules/ibm_db/installer/clidriver/conv/ms/5039ucs2.cnv +0 -0
  581. package/node_modules/ibm_db/installer/clidriver/conv/ms/ucs20943.cnv +0 -0
  582. package/node_modules/ibm_db/installer/clidriver/db2dump/db2diag.log +0 -0
  583. package/node_modules/ibm_db/installer/clidriver/include/sql.h +3172 -0
  584. package/node_modules/ibm_db/installer/clidriver/include/sqlca.h +119 -0
  585. package/node_modules/ibm_db/installer/clidriver/include/sqlcli.h +1042 -0
  586. package/node_modules/ibm_db/installer/clidriver/include/sqlcli1.h +1962 -0
  587. package/node_modules/ibm_db/installer/clidriver/include/sqlda.h +303 -0
  588. package/node_modules/ibm_db/installer/clidriver/include/sqlenv.h +7409 -0
  589. package/node_modules/ibm_db/installer/clidriver/include/sqlext.h +2189 -0
  590. package/node_modules/ibm_db/installer/clidriver/include/sqlstate.h +1500 -0
  591. package/node_modules/ibm_db/installer/clidriver/include/sqlsystm.h +119 -0
  592. package/node_modules/ibm_db/installer/clidriver/include/sqltypes.h +22 -0
  593. package/node_modules/ibm_db/installer/clidriver/include/sqlucode.h +22 -0
  594. package/node_modules/ibm_db/installer/clidriver/include/sqlunx.h +24 -0
  595. package/node_modules/ibm_db/installer/clidriver/lib/icc/C/icc/Standard_International_Program_License_Agreement.pdf +0 -0
  596. package/node_modules/ibm_db/installer/clidriver/lib/icc/C/icc/icclib/ICCSIG.txt +23 -0
  597. package/node_modules/ibm_db/installer/clidriver/lib/icc/C/icc/icclib/libicclib084.so +0 -0
  598. package/node_modules/ibm_db/installer/clidriver/lib/icc/N/icc/Standard_International_Program_License_Agreement.pdf +0 -0
  599. package/node_modules/ibm_db/installer/clidriver/lib/icc/N/icc/icclib/ICCSIG.txt +23 -0
  600. package/node_modules/ibm_db/installer/clidriver/lib/icc/N/icc/icclib/libicclib085.so +0 -0
  601. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8acmeidup_64.so +0 -0
  602. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8cms_64.so +0 -0
  603. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8dbfl_64.so +0 -0
  604. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8drld_64.so +0 -0
  605. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8iccs_64.so +0 -0
  606. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8kicc_64.so +0 -0
  607. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8km2_64.so +0 -0
  608. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8km_64.so +0 -0
  609. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8ldap_64.so +0 -0
  610. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8p11_64.so +0 -0
  611. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8ssl_64.so +0 -0
  612. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8sys_64.so +0 -0
  613. package/node_modules/ibm_db/installer/clidriver/lib/icc/libgsk8valn_64.so +0 -0
  614. package/node_modules/ibm_db/installer/clidriver/lib/libDB2xml4c.so.58.0 +0 -0
  615. package/node_modules/ibm_db/installer/clidriver/lib/libdb2.so.1 +4 -0
  616. package/node_modules/ibm_db/installer/clidriver/lib/libdb2clixml4c.so.1 +0 -0
  617. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_cs +743 -0
  618. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_de +747 -0
  619. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_el +743 -0
  620. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_en +743 -0
  621. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_es +743 -0
  622. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_fr +743 -0
  623. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_in +747 -0
  624. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_it +743 -0
  625. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_ja +743 -0
  626. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_ko +743 -0
  627. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_lt +743 -0
  628. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_pl +743 -0
  629. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_pt +743 -0
  630. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_ru +743 -0
  631. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_sl +743 -0
  632. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_tr +743 -0
  633. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_zh +743 -0
  634. package/node_modules/ibm_db/installer/clidriver/license/UNIX/odbc_LI_zh_TW +743 -0
  635. package/node_modules/ibm_db/installer/clidriver/license/dsdriver_fixlist.html +134 -0
  636. package/node_modules/ibm_db/installer/clidriver/license/odbc_REDIST.txt +216 -0
  637. package/node_modules/ibm_db/installer/clidriver/license/odbc_notices.txt +444 -0
  638. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2adm.mo +0 -0
  639. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2admh.mo +0 -0
  640. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2caem.mo +0 -0
  641. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2cklog.mo +0 -0
  642. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2cli.mo +0 -0
  643. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2clia1.lst +35 -0
  644. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2clias.lst +21 -0
  645. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2clih.mo +0 -0
  646. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2clit.mo +0 -0
  647. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2clp.mo +0 -0
  648. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2clp2.mo +0 -0
  649. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2diag.mo +0 -0
  650. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2fodc.mo +0 -0
  651. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2sql.mo +0 -0
  652. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2sqlh.mo +0 -0
  653. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2stt.mo +0 -0
  654. package/node_modules/ibm_db/installer/clidriver/msg/en_US.iso88591/db2supp.mo +0 -0
  655. package/node_modules/ibm_db/installer/clidriver/properties/version/ibm.com_IBM_Data_Server_Driver_for_ODBC_and_CLI-12.1.4.swidtag +6 -0
  656. package/node_modules/ibm_db/installer/clidriver/scripts/setenv.sh +25 -0
  657. package/node_modules/ibm_db/installer/clidriver/scripts/testconnection.sh +67 -0
  658. package/node_modules/ibm_db/installer/clidriver/security64/plugin/IBM/client/IBMIAMauth.so +0 -0
  659. package/node_modules/ibm_db/installer/clidriver/security64/plugin/IBM/client/IBMkrb5.so +0 -0
  660. package/node_modules/ibm_db/installer/driverInstall.js +984 -0
  661. package/node_modules/ibm_db/installer/ifx.sh +38 -0
  662. package/node_modules/ibm_db/installer/setenv.sh +23 -0
  663. package/node_modules/ibm_db/installer/testODBCConnection.bat +51 -0
  664. package/node_modules/ibm_db/installer/testODBCConnection.sh +61 -0
  665. package/node_modules/ibm_db/lib/climacros.js +431 -0
  666. package/node_modules/ibm_db/lib/odbc.js +4293 -0
  667. package/node_modules/ibm_db/lib/simple-queue.js +42 -0
  668. package/node_modules/ibm_db/package.json +70 -0
  669. package/node_modules/ibm_db/src/odbc.cpp +1495 -0
  670. package/node_modules/ibm_db/src/odbc.h +477 -0
  671. package/node_modules/ibm_db/src/odbc_connection.cpp +1762 -0
  672. package/node_modules/ibm_db/src/odbc_connection.h +228 -0
  673. package/node_modules/ibm_db/src/odbc_result.cpp +1547 -0
  674. package/node_modules/ibm_db/src/odbc_result.h +152 -0
  675. package/node_modules/ibm_db/src/odbc_statement.cpp +2047 -0
  676. package/node_modules/ibm_db/src/odbc_statement.h +257 -0
  677. package/node_modules/ibm_db/src/strptime.c +389 -0
  678. package/node_modules/ibm_db/src/strptime.h +47 -0
  679. package/node_modules/ibm_db/test/README +23 -0
  680. package/node_modules/ibm_db/test/bench-insert.js +62 -0
  681. package/node_modules/ibm_db/test/bench-insertBatch10.js +74 -0
  682. package/node_modules/ibm_db/test/bench-insertBatch100.js +75 -0
  683. package/node_modules/ibm_db/test/bench-insertBatch1000.js +75 -0
  684. package/node_modules/ibm_db/test/bench-insertBatch10000.js +75 -0
  685. package/node_modules/ibm_db/test/bench-prepare-bind-execute-closeSync.js +60 -0
  686. package/node_modules/ibm_db/test/bench-prepare-bind-executeNonQuery.js +53 -0
  687. package/node_modules/ibm_db/test/bench-prepare-bindSync-execute-closeSync.js +50 -0
  688. package/node_modules/ibm_db/test/bench-prepare-bindSync-executeNonQuery.js +48 -0
  689. package/node_modules/ibm_db/test/bench-prepare-execute-closeSync.js +51 -0
  690. package/node_modules/ibm_db/test/bench-prepare-executeNonQuery.js +47 -0
  691. package/node_modules/ibm_db/test/bench-prepare-not.js +43 -0
  692. package/node_modules/ibm_db/test/bench-query-fetch.js +59 -0
  693. package/node_modules/ibm_db/test/bench-query-fetchAll.js +49 -0
  694. package/node_modules/ibm_db/test/bench-query-fetchAllSync.js +43 -0
  695. package/node_modules/ibm_db/test/bench-query.js +40 -0
  696. package/node_modules/ibm_db/test/bench-querySync-fetchArray.js +28 -0
  697. package/node_modules/ibm_db/test/bench-querySync.js +29 -0
  698. package/node_modules/ibm_db/test/common.d.ts +10 -0
  699. package/node_modules/ibm_db/test/common.js +127 -0
  700. package/node_modules/ibm_db/test/config.json +7 -0
  701. package/node_modules/ibm_db/test/config.zos.json +4 -0
  702. package/node_modules/ibm_db/test/data/panda.jpg +0 -0
  703. package/node_modules/ibm_db/test/data/phool.jpg +0 -0
  704. package/node_modules/ibm_db/test/data/pushpa.jpg +0 -0
  705. package/node_modules/ibm_db/test/data/sample1.txt +10 -0
  706. package/node_modules/ibm_db/test/data/sample2.txt +1 -0
  707. package/node_modules/ibm_db/test/data/sample3.txt +1 -0
  708. package/node_modules/ibm_db/test/data/sampledoc.docx +0 -0
  709. package/node_modules/ibm_db/test/data/trc.fmt +30114 -0
  710. package/node_modules/ibm_db/test/nodeEE-leak-huge-query.js +152 -0
  711. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query-multiple-connections.js +149 -0
  712. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query-pool-connections.js +155 -0
  713. package/node_modules/ibm_db/test/nodeEE-leak-multiple-query.js +134 -0
  714. package/node_modules/ibm_db/test/nodeEE-stress-async-waterfall-multiple-connections.js +175 -0
  715. package/node_modules/ibm_db/test/nodeEE-stress-async-waterfall.js +169 -0
  716. package/node_modules/ibm_db/test/nodeEE-stress-mixed-query-multiple-connections.js +160 -0
  717. package/node_modules/ibm_db/test/nodeEE-stress-mixed-query.js +149 -0
  718. package/node_modules/ibm_db/test/odbc-bench.c +123 -0
  719. package/node_modules/ibm_db/test/perfTest.js +53 -0
  720. package/node_modules/ibm_db/test/quick-example.sh +30 -0
  721. package/node_modules/ibm_db/test/quick-example.ts +80 -0
  722. package/node_modules/ibm_db/test/run-bench.js +96 -0
  723. package/node_modules/ibm_db/test/run-nodeEE.js +132 -0
  724. package/node_modules/ibm_db/test/run-tests.js +132 -0
  725. package/node_modules/ibm_db/test/sql-cli.js +28 -0
  726. package/node_modules/ibm_db/test/test-all-data-types.js +109 -0
  727. package/node_modules/ibm_db/test/test-array-insert.js +178 -0
  728. package/node_modules/ibm_db/test/test-async-await.js +105 -0
  729. package/node_modules/ibm_db/test/test-attributes.js +34 -0
  730. package/node_modules/ibm_db/test/test-bad-pool-connection-prepare-execute.js +57 -0
  731. package/node_modules/ibm_db/test/test-basic-test.js +138 -0
  732. package/node_modules/ibm_db/test/test-binary-array-insert.js +73 -0
  733. package/node_modules/ibm_db/test/test-blob-from-file.js +90 -0
  734. package/node_modules/ibm_db/test/test-blob-insert.js +144 -0
  735. package/node_modules/ibm_db/test/test-blob-stream-insert.js +321 -0
  736. package/node_modules/ibm_db/test/test-blob-to-file.js +370 -0
  737. package/node_modules/ibm_db/test/test-block-fetch.js +364 -0
  738. package/node_modules/ibm_db/test/test-blocking-issue210.js +123 -0
  739. package/node_modules/ibm_db/test/test-call-async.js +64 -0
  740. package/node_modules/ibm_db/test/test-call-stmt.js +53 -0
  741. package/node_modules/ibm_db/test/test-cancel.js +703 -0
  742. package/node_modules/ibm_db/test/test-chinese-char.js +59 -0
  743. package/node_modules/ibm_db/test/test-connection.js +306 -0
  744. package/node_modules/ibm_db/test/test-date.js +32 -0
  745. package/node_modules/ibm_db/test/test-dbclob.js +93 -0
  746. package/node_modules/ibm_db/test/test-decimals.js +135 -0
  747. package/node_modules/ibm_db/test/test-describe-metadata.js +148 -0
  748. package/node_modules/ibm_db/test/test-executeFile.js +167 -0
  749. package/node_modules/ibm_db/test/test-executeFileSync.js +86 -0
  750. package/node_modules/ibm_db/test/test-fetch-apis.js +146 -0
  751. package/node_modules/ibm_db/test/test-fetchN.js +130 -0
  752. package/node_modules/ibm_db/test/test-getinfo.js +197 -0
  753. package/node_modules/ibm_db/test/test-ibm-db-issue14.js +58 -0
  754. package/node_modules/ibm_db/test/test-ibm-db-issue17.js +54 -0
  755. package/node_modules/ibm_db/test/test-ibm-db-issue18.js +54 -0
  756. package/node_modules/ibm_db/test/test-issue-1059-fetchAll-undefined.js +67 -0
  757. package/node_modules/ibm_db/test/test-issue-1080-array-blob-insert.js +40 -0
  758. package/node_modules/ibm_db/test/test-issue-54.js +39 -0
  759. package/node_modules/ibm_db/test/test-issue-get-column-value-2.js +44 -0
  760. package/node_modules/ibm_db/test/test-issue211.js +80 -0
  761. package/node_modules/ibm_db/test/test-issue253.js +39 -0
  762. package/node_modules/ibm_db/test/test-max-pool-size.js +96 -0
  763. package/node_modules/ibm_db/test/test-memory-leaks-new-objects.js +33 -0
  764. package/node_modules/ibm_db/test/test-multi-open-query-close.js +75 -0
  765. package/node_modules/ibm_db/test/test-param-put-data.js +713 -0
  766. package/node_modules/ibm_db/test/test-pool-idle-connection.js +72 -0
  767. package/node_modules/ibm_db/test/test-pool-operations.js +325 -0
  768. package/node_modules/ibm_db/test/test-pool-stale-connections.js +111 -0
  769. package/node_modules/ibm_db/test/test-pool-uncommited.js +33 -0
  770. package/node_modules/ibm_db/test/test-prepare-execute.js +339 -0
  771. package/node_modules/ibm_db/test/test-prepareSync-multiple-execution.js +93 -0
  772. package/node_modules/ibm_db/test/test-primary-foreign-keys.js +246 -0
  773. package/node_modules/ibm_db/test/test-procedures.js +243 -0
  774. package/node_modules/ibm_db/test/test-promise-all-data-types.js +42 -0
  775. package/node_modules/ibm_db/test/test-query-operations.js +405 -0
  776. package/node_modules/ibm_db/test/test-quick-example.js +25 -0
  777. package/node_modules/ibm_db/test/test-row-array-insert.js +167 -0
  778. package/node_modules/ibm_db/test/test-sp-array.js +54 -0
  779. package/node_modules/ibm_db/test/test-sp-dbc-6000.js +88 -0
  780. package/node_modules/ibm_db/test/test-sp-memleak.js +136 -0
  781. package/node_modules/ibm_db/test/test-sp-resultset-execute.js +269 -0
  782. package/node_modules/ibm_db/test/test-sp-resultset.js +228 -0
  783. package/node_modules/ibm_db/test/test-transactions.js +261 -0
  784. package/node_modules/ibm_db/test/test-typescript.js +48 -0
  785. package/node_modules/ibm_db/test/test-xml-datatype.js +70 -0
  786. package/node_modules/ibm_db/test/testWebApp.js +56 -0
  787. package/node_modules/ibm_db/test/trace +51 -0
  788. package/node_modules/ibm_db/test/typescript-apis-test.js +978 -0
  789. package/node_modules/ibm_db/test/webapp.html +17 -0
  790. package/node_modules/ibm_db/test/webapp.js +79 -0
  791. package/node_modules/ibm_db/typescript/README.md +29 -0
  792. package/node_modules/ibm_db/typescript/dist/ConnStr.d.ts +8 -0
  793. package/node_modules/ibm_db/typescript/dist/DB2Error.d.ts +5 -0
  794. package/node_modules/ibm_db/typescript/dist/Database.d.ts +142 -0
  795. package/node_modules/ibm_db/typescript/dist/DescribeObject.d.ts +7 -0
  796. package/node_modules/ibm_db/typescript/dist/ODBC.d.ts +29 -0
  797. package/node_modules/ibm_db/typescript/dist/ODBCConnection.d.ts +39 -0
  798. package/node_modules/ibm_db/typescript/dist/ODBCResult.d.ts +53 -0
  799. package/node_modules/ibm_db/typescript/dist/ODBCStatement.d.ts +126 -0
  800. package/node_modules/ibm_db/typescript/dist/Options.d.ts +14 -0
  801. package/node_modules/ibm_db/typescript/dist/Pool.d.ts +30 -0
  802. package/node_modules/ibm_db/typescript/dist/PoolOptions.d.ts +7 -0
  803. package/node_modules/ibm_db/typescript/dist/attributes.d.ts +214 -0
  804. package/node_modules/ibm_db/typescript/dist/index.d.ts +24 -0
  805. package/node_modules/inherits/LICENSE +16 -0
  806. package/node_modules/inherits/README.md +42 -0
  807. package/node_modules/inherits/inherits.js +9 -0
  808. package/node_modules/inherits/inherits_browser.js +27 -0
  809. package/node_modules/inherits/package.json +29 -0
  810. package/node_modules/is-callable/.editorconfig +31 -0
  811. package/node_modules/is-callable/.eslintrc +10 -0
  812. package/node_modules/is-callable/.github/FUNDING.yml +12 -0
  813. package/node_modules/is-callable/.nycrc +9 -0
  814. package/node_modules/is-callable/CHANGELOG.md +158 -0
  815. package/node_modules/is-callable/LICENSE +22 -0
  816. package/node_modules/is-callable/README.md +83 -0
  817. package/node_modules/is-callable/index.js +101 -0
  818. package/node_modules/is-callable/package.json +106 -0
  819. package/node_modules/is-callable/test/index.js +244 -0
  820. package/node_modules/is-typed-array/.editorconfig +20 -0
  821. package/node_modules/is-typed-array/.eslintrc +13 -0
  822. package/node_modules/is-typed-array/.github/FUNDING.yml +12 -0
  823. package/node_modules/is-typed-array/.nycrc +9 -0
  824. package/node_modules/is-typed-array/CHANGELOG.md +166 -0
  825. package/node_modules/is-typed-array/LICENSE +22 -0
  826. package/node_modules/is-typed-array/README.md +70 -0
  827. package/node_modules/is-typed-array/index.d.ts +9 -0
  828. package/node_modules/is-typed-array/index.js +8 -0
  829. package/node_modules/is-typed-array/package.json +129 -0
  830. package/node_modules/is-typed-array/test/index.js +111 -0
  831. package/node_modules/is-typed-array/tsconfig.json +6 -0
  832. package/node_modules/isarray/LICENSE +21 -0
  833. package/node_modules/isarray/README.md +38 -0
  834. package/node_modules/isarray/index.js +5 -0
  835. package/node_modules/isarray/package.json +48 -0
  836. package/node_modules/jsonfile/LICENSE +15 -0
  837. package/node_modules/jsonfile/README.md +230 -0
  838. package/node_modules/jsonfile/index.js +88 -0
  839. package/node_modules/jsonfile/package.json +40 -0
  840. package/node_modules/jsonfile/utils.js +18 -0
  841. package/node_modules/lodash/LICENSE +47 -0
  842. package/node_modules/lodash/README.md +39 -0
  843. package/node_modules/lodash/_DataView.js +7 -0
  844. package/node_modules/lodash/_Hash.js +32 -0
  845. package/node_modules/lodash/_LazyWrapper.js +28 -0
  846. package/node_modules/lodash/_ListCache.js +32 -0
  847. package/node_modules/lodash/_LodashWrapper.js +22 -0
  848. package/node_modules/lodash/_Map.js +7 -0
  849. package/node_modules/lodash/_MapCache.js +32 -0
  850. package/node_modules/lodash/_Promise.js +7 -0
  851. package/node_modules/lodash/_Set.js +7 -0
  852. package/node_modules/lodash/_SetCache.js +27 -0
  853. package/node_modules/lodash/_Stack.js +27 -0
  854. package/node_modules/lodash/_Symbol.js +6 -0
  855. package/node_modules/lodash/_Uint8Array.js +6 -0
  856. package/node_modules/lodash/_WeakMap.js +7 -0
  857. package/node_modules/lodash/_apply.js +21 -0
  858. package/node_modules/lodash/_arrayAggregator.js +22 -0
  859. package/node_modules/lodash/_arrayEach.js +22 -0
  860. package/node_modules/lodash/_arrayEachRight.js +21 -0
  861. package/node_modules/lodash/_arrayEvery.js +23 -0
  862. package/node_modules/lodash/_arrayFilter.js +25 -0
  863. package/node_modules/lodash/_arrayIncludes.js +17 -0
  864. package/node_modules/lodash/_arrayIncludesWith.js +22 -0
  865. package/node_modules/lodash/_arrayLikeKeys.js +49 -0
  866. package/node_modules/lodash/_arrayMap.js +21 -0
  867. package/node_modules/lodash/_arrayPush.js +20 -0
  868. package/node_modules/lodash/_arrayReduce.js +26 -0
  869. package/node_modules/lodash/_arrayReduceRight.js +24 -0
  870. package/node_modules/lodash/_arraySample.js +15 -0
  871. package/node_modules/lodash/_arraySampleSize.js +17 -0
  872. package/node_modules/lodash/_arrayShuffle.js +15 -0
  873. package/node_modules/lodash/_arraySome.js +23 -0
  874. package/node_modules/lodash/_asciiSize.js +12 -0
  875. package/node_modules/lodash/_asciiToArray.js +12 -0
  876. package/node_modules/lodash/_asciiWords.js +15 -0
  877. package/node_modules/lodash/_assignMergeValue.js +20 -0
  878. package/node_modules/lodash/_assignValue.js +28 -0
  879. package/node_modules/lodash/_assocIndexOf.js +21 -0
  880. package/node_modules/lodash/_baseAggregator.js +21 -0
  881. package/node_modules/lodash/_baseAssign.js +17 -0
  882. package/node_modules/lodash/_baseAssignIn.js +17 -0
  883. package/node_modules/lodash/_baseAssignValue.js +25 -0
  884. package/node_modules/lodash/_baseAt.js +23 -0
  885. package/node_modules/lodash/_baseClamp.js +22 -0
  886. package/node_modules/lodash/_baseClone.js +166 -0
  887. package/node_modules/lodash/_baseConforms.js +18 -0
  888. package/node_modules/lodash/_baseConformsTo.js +27 -0
  889. package/node_modules/lodash/_baseCreate.js +30 -0
  890. package/node_modules/lodash/_baseDelay.js +21 -0
  891. package/node_modules/lodash/_baseDifference.js +67 -0
  892. package/node_modules/lodash/_baseEach.js +14 -0
  893. package/node_modules/lodash/_baseEachRight.js +14 -0
  894. package/node_modules/lodash/_baseEvery.js +21 -0
  895. package/node_modules/lodash/_baseExtremum.js +32 -0
  896. package/node_modules/lodash/_baseFill.js +32 -0
  897. package/node_modules/lodash/_baseFilter.js +21 -0
  898. package/node_modules/lodash/_baseFindIndex.js +24 -0
  899. package/node_modules/lodash/_baseFindKey.js +23 -0
  900. package/node_modules/lodash/_baseFlatten.js +38 -0
  901. package/node_modules/lodash/_baseFor.js +16 -0
  902. package/node_modules/lodash/_baseForOwn.js +16 -0
  903. package/node_modules/lodash/_baseForOwnRight.js +16 -0
  904. package/node_modules/lodash/_baseForRight.js +15 -0
  905. package/node_modules/lodash/_baseFunctions.js +19 -0
  906. package/node_modules/lodash/_baseGet.js +24 -0
  907. package/node_modules/lodash/_baseGetAllKeys.js +20 -0
  908. package/node_modules/lodash/_baseGetTag.js +28 -0
  909. package/node_modules/lodash/_baseGt.js +14 -0
  910. package/node_modules/lodash/_baseHas.js +19 -0
  911. package/node_modules/lodash/_baseHasIn.js +13 -0
  912. package/node_modules/lodash/_baseInRange.js +18 -0
  913. package/node_modules/lodash/_baseIndexOf.js +20 -0
  914. package/node_modules/lodash/_baseIndexOfWith.js +23 -0
  915. package/node_modules/lodash/_baseIntersection.js +74 -0
  916. package/node_modules/lodash/_baseInverter.js +21 -0
  917. package/node_modules/lodash/_baseInvoke.js +24 -0
  918. package/node_modules/lodash/_baseIsArguments.js +18 -0
  919. package/node_modules/lodash/_baseIsArrayBuffer.js +17 -0
  920. package/node_modules/lodash/_baseIsDate.js +18 -0
  921. package/node_modules/lodash/_baseIsEqual.js +28 -0
  922. package/node_modules/lodash/_baseIsEqualDeep.js +83 -0
  923. package/node_modules/lodash/_baseIsMap.js +18 -0
  924. package/node_modules/lodash/_baseIsMatch.js +62 -0
  925. package/node_modules/lodash/_baseIsNaN.js +12 -0
  926. package/node_modules/lodash/_baseIsNative.js +47 -0
  927. package/node_modules/lodash/_baseIsRegExp.js +18 -0
  928. package/node_modules/lodash/_baseIsSet.js +18 -0
  929. package/node_modules/lodash/_baseIsTypedArray.js +60 -0
  930. package/node_modules/lodash/_baseIteratee.js +31 -0
  931. package/node_modules/lodash/_baseKeys.js +30 -0
  932. package/node_modules/lodash/_baseKeysIn.js +33 -0
  933. package/node_modules/lodash/_baseLodash.js +10 -0
  934. package/node_modules/lodash/_baseLt.js +14 -0
  935. package/node_modules/lodash/_baseMap.js +22 -0
  936. package/node_modules/lodash/_baseMatches.js +22 -0
  937. package/node_modules/lodash/_baseMatchesProperty.js +33 -0
  938. package/node_modules/lodash/_baseMean.js +20 -0
  939. package/node_modules/lodash/_baseMerge.js +42 -0
  940. package/node_modules/lodash/_baseMergeDeep.js +94 -0
  941. package/node_modules/lodash/_baseNth.js +20 -0
  942. package/node_modules/lodash/_baseOrderBy.js +49 -0
  943. package/node_modules/lodash/_basePick.js +19 -0
  944. package/node_modules/lodash/_basePickBy.js +30 -0
  945. package/node_modules/lodash/_baseProperty.js +14 -0
  946. package/node_modules/lodash/_basePropertyDeep.js +16 -0
  947. package/node_modules/lodash/_basePropertyOf.js +14 -0
  948. package/node_modules/lodash/_basePullAll.js +51 -0
  949. package/node_modules/lodash/_basePullAt.js +37 -0
  950. package/node_modules/lodash/_baseRandom.js +18 -0
  951. package/node_modules/lodash/_baseRange.js +28 -0
  952. package/node_modules/lodash/_baseReduce.js +23 -0
  953. package/node_modules/lodash/_baseRepeat.js +35 -0
  954. package/node_modules/lodash/_baseRest.js +17 -0
  955. package/node_modules/lodash/_baseSample.js +15 -0
  956. package/node_modules/lodash/_baseSampleSize.js +18 -0
  957. package/node_modules/lodash/_baseSet.js +51 -0
  958. package/node_modules/lodash/_baseSetData.js +17 -0
  959. package/node_modules/lodash/_baseSetToString.js +22 -0
  960. package/node_modules/lodash/_baseShuffle.js +15 -0
  961. package/node_modules/lodash/_baseSlice.js +31 -0
  962. package/node_modules/lodash/_baseSome.js +22 -0
  963. package/node_modules/lodash/_baseSortBy.js +21 -0
  964. package/node_modules/lodash/_baseSortedIndex.js +42 -0
  965. package/node_modules/lodash/_baseSortedIndexBy.js +67 -0
  966. package/node_modules/lodash/_baseSortedUniq.js +30 -0
  967. package/node_modules/lodash/_baseSum.js +24 -0
  968. package/node_modules/lodash/_baseTimes.js +20 -0
  969. package/node_modules/lodash/_baseToNumber.js +24 -0
  970. package/node_modules/lodash/_baseToPairs.js +18 -0
  971. package/node_modules/lodash/_baseToString.js +37 -0
  972. package/node_modules/lodash/_baseTrim.js +19 -0
  973. package/node_modules/lodash/_baseUnary.js +14 -0
  974. package/node_modules/lodash/_baseUniq.js +72 -0
  975. package/node_modules/lodash/_baseUnset.js +52 -0
  976. package/node_modules/lodash/_baseUpdate.js +18 -0
  977. package/node_modules/lodash/_baseValues.js +19 -0
  978. package/node_modules/lodash/_baseWhile.js +26 -0
  979. package/node_modules/lodash/_baseWrapperValue.js +25 -0
  980. package/node_modules/lodash/_baseXor.js +36 -0
  981. package/node_modules/lodash/_baseZipObject.js +23 -0
  982. package/node_modules/lodash/_cacheHas.js +13 -0
  983. package/node_modules/lodash/_castArrayLikeObject.js +14 -0
  984. package/node_modules/lodash/_castFunction.js +14 -0
  985. package/node_modules/lodash/_castPath.js +21 -0
  986. package/node_modules/lodash/_castRest.js +14 -0
  987. package/node_modules/lodash/_castSlice.js +18 -0
  988. package/node_modules/lodash/_charsEndIndex.js +19 -0
  989. package/node_modules/lodash/_charsStartIndex.js +20 -0
  990. package/node_modules/lodash/_cloneArrayBuffer.js +16 -0
  991. package/node_modules/lodash/_cloneBuffer.js +35 -0
  992. package/node_modules/lodash/_cloneDataView.js +16 -0
  993. package/node_modules/lodash/_cloneRegExp.js +17 -0
  994. package/node_modules/lodash/_cloneSymbol.js +18 -0
  995. package/node_modules/lodash/_cloneTypedArray.js +16 -0
  996. package/node_modules/lodash/_compareAscending.js +41 -0
  997. package/node_modules/lodash/_compareMultiple.js +44 -0
  998. package/node_modules/lodash/_composeArgs.js +39 -0
  999. package/node_modules/lodash/_composeArgsRight.js +41 -0
  1000. package/node_modules/lodash/_copyArray.js +20 -0
  1001. package/node_modules/lodash/_copyObject.js +40 -0
  1002. package/node_modules/lodash/_copySymbols.js +16 -0
  1003. package/node_modules/lodash/_copySymbolsIn.js +16 -0
  1004. package/node_modules/lodash/_coreJsData.js +6 -0
  1005. package/node_modules/lodash/_countHolders.js +21 -0
  1006. package/node_modules/lodash/_createAggregator.js +23 -0
  1007. package/node_modules/lodash/_createAssigner.js +37 -0
  1008. package/node_modules/lodash/_createBaseEach.js +32 -0
  1009. package/node_modules/lodash/_createBaseFor.js +25 -0
  1010. package/node_modules/lodash/_createBind.js +28 -0
  1011. package/node_modules/lodash/_createCaseFirst.js +33 -0
  1012. package/node_modules/lodash/_createCompounder.js +24 -0
  1013. package/node_modules/lodash/_createCtor.js +37 -0
  1014. package/node_modules/lodash/_createCurry.js +46 -0
  1015. package/node_modules/lodash/_createFind.js +25 -0
  1016. package/node_modules/lodash/_createFlow.js +78 -0
  1017. package/node_modules/lodash/_createHybrid.js +92 -0
  1018. package/node_modules/lodash/_createInverter.js +17 -0
  1019. package/node_modules/lodash/_createMathOperation.js +38 -0
  1020. package/node_modules/lodash/_createOver.js +27 -0
  1021. package/node_modules/lodash/_createPadding.js +33 -0
  1022. package/node_modules/lodash/_createPartial.js +43 -0
  1023. package/node_modules/lodash/_createRange.js +30 -0
  1024. package/node_modules/lodash/_createRecurry.js +56 -0
  1025. package/node_modules/lodash/_createRelationalOperation.js +20 -0
  1026. package/node_modules/lodash/_createRound.js +35 -0
  1027. package/node_modules/lodash/_createSet.js +19 -0
  1028. package/node_modules/lodash/_createToPairs.js +30 -0
  1029. package/node_modules/lodash/_createWrap.js +106 -0
  1030. package/node_modules/lodash/_customDefaultsAssignIn.js +29 -0
  1031. package/node_modules/lodash/_customDefaultsMerge.js +28 -0
  1032. package/node_modules/lodash/_customOmitClone.js +16 -0
  1033. package/node_modules/lodash/_deburrLetter.js +71 -0
  1034. package/node_modules/lodash/_defineProperty.js +11 -0
  1035. package/node_modules/lodash/_equalArrays.js +84 -0
  1036. package/node_modules/lodash/_equalByTag.js +112 -0
  1037. package/node_modules/lodash/_equalObjects.js +90 -0
  1038. package/node_modules/lodash/_escapeHtmlChar.js +21 -0
  1039. package/node_modules/lodash/_escapeStringChar.js +22 -0
  1040. package/node_modules/lodash/_flatRest.js +16 -0
  1041. package/node_modules/lodash/_freeGlobal.js +4 -0
  1042. package/node_modules/lodash/_getAllKeys.js +16 -0
  1043. package/node_modules/lodash/_getAllKeysIn.js +17 -0
  1044. package/node_modules/lodash/_getData.js +15 -0
  1045. package/node_modules/lodash/_getFuncName.js +31 -0
  1046. package/node_modules/lodash/_getHolder.js +13 -0
  1047. package/node_modules/lodash/_getMapData.js +18 -0
  1048. package/node_modules/lodash/_getMatchData.js +24 -0
  1049. package/node_modules/lodash/_getNative.js +17 -0
  1050. package/node_modules/lodash/_getPrototype.js +6 -0
  1051. package/node_modules/lodash/_getRawTag.js +46 -0
  1052. package/node_modules/lodash/_getSymbols.js +30 -0
  1053. package/node_modules/lodash/_getSymbolsIn.js +25 -0
  1054. package/node_modules/lodash/_getTag.js +58 -0
  1055. package/node_modules/lodash/_getValue.js +13 -0
  1056. package/node_modules/lodash/_getView.js +33 -0
  1057. package/node_modules/lodash/_getWrapDetails.js +17 -0
  1058. package/node_modules/lodash/_hasPath.js +39 -0
  1059. package/node_modules/lodash/_hasUnicode.js +26 -0
  1060. package/node_modules/lodash/_hasUnicodeWord.js +15 -0
  1061. package/node_modules/lodash/_hashClear.js +15 -0
  1062. package/node_modules/lodash/_hashDelete.js +17 -0
  1063. package/node_modules/lodash/_hashGet.js +30 -0
  1064. package/node_modules/lodash/_hashHas.js +23 -0
  1065. package/node_modules/lodash/_hashSet.js +23 -0
  1066. package/node_modules/lodash/_initCloneArray.js +26 -0
  1067. package/node_modules/lodash/_initCloneByTag.js +77 -0
  1068. package/node_modules/lodash/_initCloneObject.js +18 -0
  1069. package/node_modules/lodash/_insertWrapDetails.js +23 -0
  1070. package/node_modules/lodash/_isFlattenable.js +20 -0
  1071. package/node_modules/lodash/_isIndex.js +25 -0
  1072. package/node_modules/lodash/_isIterateeCall.js +30 -0
  1073. package/node_modules/lodash/_isKey.js +29 -0
  1074. package/node_modules/lodash/_isKeyable.js +15 -0
  1075. package/node_modules/lodash/_isLaziable.js +28 -0
  1076. package/node_modules/lodash/_isMaskable.js +14 -0
  1077. package/node_modules/lodash/_isMasked.js +20 -0
  1078. package/node_modules/lodash/_isPrototype.js +18 -0
  1079. package/node_modules/lodash/_isStrictComparable.js +15 -0
  1080. package/node_modules/lodash/_iteratorToArray.js +18 -0
  1081. package/node_modules/lodash/_lazyClone.js +23 -0
  1082. package/node_modules/lodash/_lazyReverse.js +23 -0
  1083. package/node_modules/lodash/_lazyValue.js +69 -0
  1084. package/node_modules/lodash/_listCacheClear.js +13 -0
  1085. package/node_modules/lodash/_listCacheDelete.js +35 -0
  1086. package/node_modules/lodash/_listCacheGet.js +19 -0
  1087. package/node_modules/lodash/_listCacheHas.js +16 -0
  1088. package/node_modules/lodash/_listCacheSet.js +26 -0
  1089. package/node_modules/lodash/_mapCacheClear.js +21 -0
  1090. package/node_modules/lodash/_mapCacheDelete.js +18 -0
  1091. package/node_modules/lodash/_mapCacheGet.js +16 -0
  1092. package/node_modules/lodash/_mapCacheHas.js +16 -0
  1093. package/node_modules/lodash/_mapCacheSet.js +22 -0
  1094. package/node_modules/lodash/_mapToArray.js +18 -0
  1095. package/node_modules/lodash/_matchesStrictComparable.js +20 -0
  1096. package/node_modules/lodash/_memoizeCapped.js +26 -0
  1097. package/node_modules/lodash/_mergeData.js +90 -0
  1098. package/node_modules/lodash/_metaMap.js +6 -0
  1099. package/node_modules/lodash/_nativeCreate.js +6 -0
  1100. package/node_modules/lodash/_nativeKeys.js +6 -0
  1101. package/node_modules/lodash/_nativeKeysIn.js +20 -0
  1102. package/node_modules/lodash/_nodeUtil.js +30 -0
  1103. package/node_modules/lodash/_objectToString.js +22 -0
  1104. package/node_modules/lodash/_overArg.js +15 -0
  1105. package/node_modules/lodash/_overRest.js +36 -0
  1106. package/node_modules/lodash/_parent.js +16 -0
  1107. package/node_modules/lodash/_reEscape.js +4 -0
  1108. package/node_modules/lodash/_reEvaluate.js +4 -0
  1109. package/node_modules/lodash/_reInterpolate.js +4 -0
  1110. package/node_modules/lodash/_realNames.js +4 -0
  1111. package/node_modules/lodash/_reorder.js +29 -0
  1112. package/node_modules/lodash/_replaceHolders.js +29 -0
  1113. package/node_modules/lodash/_root.js +9 -0
  1114. package/node_modules/lodash/_safeGet.js +21 -0
  1115. package/node_modules/lodash/_setCacheAdd.js +19 -0
  1116. package/node_modules/lodash/_setCacheHas.js +14 -0
  1117. package/node_modules/lodash/_setData.js +20 -0
  1118. package/node_modules/lodash/_setToArray.js +18 -0
  1119. package/node_modules/lodash/_setToPairs.js +18 -0
  1120. package/node_modules/lodash/_setToString.js +14 -0
  1121. package/node_modules/lodash/_setWrapToString.js +21 -0
  1122. package/node_modules/lodash/_shortOut.js +37 -0
  1123. package/node_modules/lodash/_shuffleSelf.js +28 -0
  1124. package/node_modules/lodash/_stackClear.js +15 -0
  1125. package/node_modules/lodash/_stackDelete.js +18 -0
  1126. package/node_modules/lodash/_stackGet.js +14 -0
  1127. package/node_modules/lodash/_stackHas.js +14 -0
  1128. package/node_modules/lodash/_stackSet.js +34 -0
  1129. package/node_modules/lodash/_strictIndexOf.js +23 -0
  1130. package/node_modules/lodash/_strictLastIndexOf.js +21 -0
  1131. package/node_modules/lodash/_stringSize.js +18 -0
  1132. package/node_modules/lodash/_stringToArray.js +18 -0
  1133. package/node_modules/lodash/_stringToPath.js +27 -0
  1134. package/node_modules/lodash/_toKey.js +21 -0
  1135. package/node_modules/lodash/_toSource.js +26 -0
  1136. package/node_modules/lodash/_trimmedEndIndex.js +19 -0
  1137. package/node_modules/lodash/_unescapeHtmlChar.js +21 -0
  1138. package/node_modules/lodash/_unicodeSize.js +44 -0
  1139. package/node_modules/lodash/_unicodeToArray.js +40 -0
  1140. package/node_modules/lodash/_unicodeWords.js +69 -0
  1141. package/node_modules/lodash/_updateWrapDetails.js +46 -0
  1142. package/node_modules/lodash/_wrapperClone.js +23 -0
  1143. package/node_modules/lodash/add.js +22 -0
  1144. package/node_modules/lodash/after.js +42 -0
  1145. package/node_modules/lodash/array.js +67 -0
  1146. package/node_modules/lodash/ary.js +29 -0
  1147. package/node_modules/lodash/assign.js +58 -0
  1148. package/node_modules/lodash/assignIn.js +40 -0
  1149. package/node_modules/lodash/assignInWith.js +38 -0
  1150. package/node_modules/lodash/assignWith.js +37 -0
  1151. package/node_modules/lodash/at.js +23 -0
  1152. package/node_modules/lodash/attempt.js +35 -0
  1153. package/node_modules/lodash/before.js +40 -0
  1154. package/node_modules/lodash/bind.js +57 -0
  1155. package/node_modules/lodash/bindAll.js +41 -0
  1156. package/node_modules/lodash/bindKey.js +68 -0
  1157. package/node_modules/lodash/camelCase.js +29 -0
  1158. package/node_modules/lodash/capitalize.js +23 -0
  1159. package/node_modules/lodash/castArray.js +44 -0
  1160. package/node_modules/lodash/ceil.js +26 -0
  1161. package/node_modules/lodash/chain.js +38 -0
  1162. package/node_modules/lodash/chunk.js +50 -0
  1163. package/node_modules/lodash/clamp.js +39 -0
  1164. package/node_modules/lodash/clone.js +36 -0
  1165. package/node_modules/lodash/cloneDeep.js +29 -0
  1166. package/node_modules/lodash/cloneDeepWith.js +40 -0
  1167. package/node_modules/lodash/cloneWith.js +42 -0
  1168. package/node_modules/lodash/collection.js +30 -0
  1169. package/node_modules/lodash/commit.js +33 -0
  1170. package/node_modules/lodash/compact.js +31 -0
  1171. package/node_modules/lodash/concat.js +43 -0
  1172. package/node_modules/lodash/cond.js +60 -0
  1173. package/node_modules/lodash/conforms.js +35 -0
  1174. package/node_modules/lodash/conformsTo.js +32 -0
  1175. package/node_modules/lodash/constant.js +26 -0
  1176. package/node_modules/lodash/core.js +3877 -0
  1177. package/node_modules/lodash/core.min.js +30 -0
  1178. package/node_modules/lodash/countBy.js +40 -0
  1179. package/node_modules/lodash/create.js +43 -0
  1180. package/node_modules/lodash/curry.js +57 -0
  1181. package/node_modules/lodash/curryRight.js +54 -0
  1182. package/node_modules/lodash/date.js +3 -0
  1183. package/node_modules/lodash/debounce.js +191 -0
  1184. package/node_modules/lodash/deburr.js +45 -0
  1185. package/node_modules/lodash/defaultTo.js +25 -0
  1186. package/node_modules/lodash/defaults.js +64 -0
  1187. package/node_modules/lodash/defaultsDeep.js +30 -0
  1188. package/node_modules/lodash/defer.js +26 -0
  1189. package/node_modules/lodash/delay.js +28 -0
  1190. package/node_modules/lodash/difference.js +33 -0
  1191. package/node_modules/lodash/differenceBy.js +44 -0
  1192. package/node_modules/lodash/differenceWith.js +40 -0
  1193. package/node_modules/lodash/divide.js +22 -0
  1194. package/node_modules/lodash/drop.js +38 -0
  1195. package/node_modules/lodash/dropRight.js +39 -0
  1196. package/node_modules/lodash/dropRightWhile.js +45 -0
  1197. package/node_modules/lodash/dropWhile.js +45 -0
  1198. package/node_modules/lodash/each.js +1 -0
  1199. package/node_modules/lodash/eachRight.js +1 -0
  1200. package/node_modules/lodash/endsWith.js +43 -0
  1201. package/node_modules/lodash/entries.js +1 -0
  1202. package/node_modules/lodash/entriesIn.js +1 -0
  1203. package/node_modules/lodash/eq.js +37 -0
  1204. package/node_modules/lodash/escape.js +43 -0
  1205. package/node_modules/lodash/escapeRegExp.js +32 -0
  1206. package/node_modules/lodash/every.js +56 -0
  1207. package/node_modules/lodash/extend.js +1 -0
  1208. package/node_modules/lodash/extendWith.js +1 -0
  1209. package/node_modules/lodash/fill.js +45 -0
  1210. package/node_modules/lodash/filter.js +52 -0
  1211. package/node_modules/lodash/find.js +42 -0
  1212. package/node_modules/lodash/findIndex.js +55 -0
  1213. package/node_modules/lodash/findKey.js +44 -0
  1214. package/node_modules/lodash/findLast.js +25 -0
  1215. package/node_modules/lodash/findLastIndex.js +59 -0
  1216. package/node_modules/lodash/findLastKey.js +44 -0
  1217. package/node_modules/lodash/first.js +1 -0
  1218. package/node_modules/lodash/flatMap.js +29 -0
  1219. package/node_modules/lodash/flatMapDeep.js +31 -0
  1220. package/node_modules/lodash/flatMapDepth.js +31 -0
  1221. package/node_modules/lodash/flatten.js +22 -0
  1222. package/node_modules/lodash/flattenDeep.js +25 -0
  1223. package/node_modules/lodash/flattenDepth.js +33 -0
  1224. package/node_modules/lodash/flip.js +28 -0
  1225. package/node_modules/lodash/floor.js +26 -0
  1226. package/node_modules/lodash/flow.js +27 -0
  1227. package/node_modules/lodash/flowRight.js +26 -0
  1228. package/node_modules/lodash/forEach.js +41 -0
  1229. package/node_modules/lodash/forEachRight.js +31 -0
  1230. package/node_modules/lodash/forIn.js +39 -0
  1231. package/node_modules/lodash/forInRight.js +37 -0
  1232. package/node_modules/lodash/forOwn.js +36 -0
  1233. package/node_modules/lodash/forOwnRight.js +34 -0
  1234. package/node_modules/lodash/fp/F.js +1 -0
  1235. package/node_modules/lodash/fp/T.js +1 -0
  1236. package/node_modules/lodash/fp/__.js +1 -0
  1237. package/node_modules/lodash/fp/_baseConvert.js +569 -0
  1238. package/node_modules/lodash/fp/_convertBrowser.js +18 -0
  1239. package/node_modules/lodash/fp/_falseOptions.js +7 -0
  1240. package/node_modules/lodash/fp/_mapping.js +358 -0
  1241. package/node_modules/lodash/fp/_util.js +16 -0
  1242. package/node_modules/lodash/fp/add.js +5 -0
  1243. package/node_modules/lodash/fp/after.js +5 -0
  1244. package/node_modules/lodash/fp/all.js +1 -0
  1245. package/node_modules/lodash/fp/allPass.js +1 -0
  1246. package/node_modules/lodash/fp/always.js +1 -0
  1247. package/node_modules/lodash/fp/any.js +1 -0
  1248. package/node_modules/lodash/fp/anyPass.js +1 -0
  1249. package/node_modules/lodash/fp/apply.js +1 -0
  1250. package/node_modules/lodash/fp/array.js +2 -0
  1251. package/node_modules/lodash/fp/ary.js +5 -0
  1252. package/node_modules/lodash/fp/assign.js +5 -0
  1253. package/node_modules/lodash/fp/assignAll.js +5 -0
  1254. package/node_modules/lodash/fp/assignAllWith.js +5 -0
  1255. package/node_modules/lodash/fp/assignIn.js +5 -0
  1256. package/node_modules/lodash/fp/assignInAll.js +5 -0
  1257. package/node_modules/lodash/fp/assignInAllWith.js +5 -0
  1258. package/node_modules/lodash/fp/assignInWith.js +5 -0
  1259. package/node_modules/lodash/fp/assignWith.js +5 -0
  1260. package/node_modules/lodash/fp/assoc.js +1 -0
  1261. package/node_modules/lodash/fp/assocPath.js +1 -0
  1262. package/node_modules/lodash/fp/at.js +5 -0
  1263. package/node_modules/lodash/fp/attempt.js +5 -0
  1264. package/node_modules/lodash/fp/before.js +5 -0
  1265. package/node_modules/lodash/fp/bind.js +5 -0
  1266. package/node_modules/lodash/fp/bindAll.js +5 -0
  1267. package/node_modules/lodash/fp/bindKey.js +5 -0
  1268. package/node_modules/lodash/fp/camelCase.js +5 -0
  1269. package/node_modules/lodash/fp/capitalize.js +5 -0
  1270. package/node_modules/lodash/fp/castArray.js +5 -0
  1271. package/node_modules/lodash/fp/ceil.js +5 -0
  1272. package/node_modules/lodash/fp/chain.js +5 -0
  1273. package/node_modules/lodash/fp/chunk.js +5 -0
  1274. package/node_modules/lodash/fp/clamp.js +5 -0
  1275. package/node_modules/lodash/fp/clone.js +5 -0
  1276. package/node_modules/lodash/fp/cloneDeep.js +5 -0
  1277. package/node_modules/lodash/fp/cloneDeepWith.js +5 -0
  1278. package/node_modules/lodash/fp/cloneWith.js +5 -0
  1279. package/node_modules/lodash/fp/collection.js +2 -0
  1280. package/node_modules/lodash/fp/commit.js +5 -0
  1281. package/node_modules/lodash/fp/compact.js +5 -0
  1282. package/node_modules/lodash/fp/complement.js +1 -0
  1283. package/node_modules/lodash/fp/compose.js +1 -0
  1284. package/node_modules/lodash/fp/concat.js +5 -0
  1285. package/node_modules/lodash/fp/cond.js +5 -0
  1286. package/node_modules/lodash/fp/conforms.js +1 -0
  1287. package/node_modules/lodash/fp/conformsTo.js +5 -0
  1288. package/node_modules/lodash/fp/constant.js +5 -0
  1289. package/node_modules/lodash/fp/contains.js +1 -0
  1290. package/node_modules/lodash/fp/convert.js +18 -0
  1291. package/node_modules/lodash/fp/countBy.js +5 -0
  1292. package/node_modules/lodash/fp/create.js +5 -0
  1293. package/node_modules/lodash/fp/curry.js +5 -0
  1294. package/node_modules/lodash/fp/curryN.js +5 -0
  1295. package/node_modules/lodash/fp/curryRight.js +5 -0
  1296. package/node_modules/lodash/fp/curryRightN.js +5 -0
  1297. package/node_modules/lodash/fp/date.js +2 -0
  1298. package/node_modules/lodash/fp/debounce.js +5 -0
  1299. package/node_modules/lodash/fp/deburr.js +5 -0
  1300. package/node_modules/lodash/fp/defaultTo.js +5 -0
  1301. package/node_modules/lodash/fp/defaults.js +5 -0
  1302. package/node_modules/lodash/fp/defaultsAll.js +5 -0
  1303. package/node_modules/lodash/fp/defaultsDeep.js +5 -0
  1304. package/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
  1305. package/node_modules/lodash/fp/defer.js +5 -0
  1306. package/node_modules/lodash/fp/delay.js +5 -0
  1307. package/node_modules/lodash/fp/difference.js +5 -0
  1308. package/node_modules/lodash/fp/differenceBy.js +5 -0
  1309. package/node_modules/lodash/fp/differenceWith.js +5 -0
  1310. package/node_modules/lodash/fp/dissoc.js +1 -0
  1311. package/node_modules/lodash/fp/dissocPath.js +1 -0
  1312. package/node_modules/lodash/fp/divide.js +5 -0
  1313. package/node_modules/lodash/fp/drop.js +5 -0
  1314. package/node_modules/lodash/fp/dropLast.js +1 -0
  1315. package/node_modules/lodash/fp/dropLastWhile.js +1 -0
  1316. package/node_modules/lodash/fp/dropRight.js +5 -0
  1317. package/node_modules/lodash/fp/dropRightWhile.js +5 -0
  1318. package/node_modules/lodash/fp/dropWhile.js +5 -0
  1319. package/node_modules/lodash/fp/each.js +1 -0
  1320. package/node_modules/lodash/fp/eachRight.js +1 -0
  1321. package/node_modules/lodash/fp/endsWith.js +5 -0
  1322. package/node_modules/lodash/fp/entries.js +1 -0
  1323. package/node_modules/lodash/fp/entriesIn.js +1 -0
  1324. package/node_modules/lodash/fp/eq.js +5 -0
  1325. package/node_modules/lodash/fp/equals.js +1 -0
  1326. package/node_modules/lodash/fp/escape.js +5 -0
  1327. package/node_modules/lodash/fp/escapeRegExp.js +5 -0
  1328. package/node_modules/lodash/fp/every.js +5 -0
  1329. package/node_modules/lodash/fp/extend.js +1 -0
  1330. package/node_modules/lodash/fp/extendAll.js +1 -0
  1331. package/node_modules/lodash/fp/extendAllWith.js +1 -0
  1332. package/node_modules/lodash/fp/extendWith.js +1 -0
  1333. package/node_modules/lodash/fp/fill.js +5 -0
  1334. package/node_modules/lodash/fp/filter.js +5 -0
  1335. package/node_modules/lodash/fp/find.js +5 -0
  1336. package/node_modules/lodash/fp/findFrom.js +5 -0
  1337. package/node_modules/lodash/fp/findIndex.js +5 -0
  1338. package/node_modules/lodash/fp/findIndexFrom.js +5 -0
  1339. package/node_modules/lodash/fp/findKey.js +5 -0
  1340. package/node_modules/lodash/fp/findLast.js +5 -0
  1341. package/node_modules/lodash/fp/findLastFrom.js +5 -0
  1342. package/node_modules/lodash/fp/findLastIndex.js +5 -0
  1343. package/node_modules/lodash/fp/findLastIndexFrom.js +5 -0
  1344. package/node_modules/lodash/fp/findLastKey.js +5 -0
  1345. package/node_modules/lodash/fp/first.js +1 -0
  1346. package/node_modules/lodash/fp/flatMap.js +5 -0
  1347. package/node_modules/lodash/fp/flatMapDeep.js +5 -0
  1348. package/node_modules/lodash/fp/flatMapDepth.js +5 -0
  1349. package/node_modules/lodash/fp/flatten.js +5 -0
  1350. package/node_modules/lodash/fp/flattenDeep.js +5 -0
  1351. package/node_modules/lodash/fp/flattenDepth.js +5 -0
  1352. package/node_modules/lodash/fp/flip.js +5 -0
  1353. package/node_modules/lodash/fp/floor.js +5 -0
  1354. package/node_modules/lodash/fp/flow.js +5 -0
  1355. package/node_modules/lodash/fp/flowRight.js +5 -0
  1356. package/node_modules/lodash/fp/forEach.js +5 -0
  1357. package/node_modules/lodash/fp/forEachRight.js +5 -0
  1358. package/node_modules/lodash/fp/forIn.js +5 -0
  1359. package/node_modules/lodash/fp/forInRight.js +5 -0
  1360. package/node_modules/lodash/fp/forOwn.js +5 -0
  1361. package/node_modules/lodash/fp/forOwnRight.js +5 -0
  1362. package/node_modules/lodash/fp/fromPairs.js +5 -0
  1363. package/node_modules/lodash/fp/function.js +2 -0
  1364. package/node_modules/lodash/fp/functions.js +5 -0
  1365. package/node_modules/lodash/fp/functionsIn.js +5 -0
  1366. package/node_modules/lodash/fp/get.js +5 -0
  1367. package/node_modules/lodash/fp/getOr.js +5 -0
  1368. package/node_modules/lodash/fp/groupBy.js +5 -0
  1369. package/node_modules/lodash/fp/gt.js +5 -0
  1370. package/node_modules/lodash/fp/gte.js +5 -0
  1371. package/node_modules/lodash/fp/has.js +5 -0
  1372. package/node_modules/lodash/fp/hasIn.js +5 -0
  1373. package/node_modules/lodash/fp/head.js +5 -0
  1374. package/node_modules/lodash/fp/identical.js +1 -0
  1375. package/node_modules/lodash/fp/identity.js +5 -0
  1376. package/node_modules/lodash/fp/inRange.js +5 -0
  1377. package/node_modules/lodash/fp/includes.js +5 -0
  1378. package/node_modules/lodash/fp/includesFrom.js +5 -0
  1379. package/node_modules/lodash/fp/indexBy.js +1 -0
  1380. package/node_modules/lodash/fp/indexOf.js +5 -0
  1381. package/node_modules/lodash/fp/indexOfFrom.js +5 -0
  1382. package/node_modules/lodash/fp/init.js +1 -0
  1383. package/node_modules/lodash/fp/initial.js +5 -0
  1384. package/node_modules/lodash/fp/intersection.js +5 -0
  1385. package/node_modules/lodash/fp/intersectionBy.js +5 -0
  1386. package/node_modules/lodash/fp/intersectionWith.js +5 -0
  1387. package/node_modules/lodash/fp/invert.js +5 -0
  1388. package/node_modules/lodash/fp/invertBy.js +5 -0
  1389. package/node_modules/lodash/fp/invertObj.js +1 -0
  1390. package/node_modules/lodash/fp/invoke.js +5 -0
  1391. package/node_modules/lodash/fp/invokeArgs.js +5 -0
  1392. package/node_modules/lodash/fp/invokeArgsMap.js +5 -0
  1393. package/node_modules/lodash/fp/invokeMap.js +5 -0
  1394. package/node_modules/lodash/fp/isArguments.js +5 -0
  1395. package/node_modules/lodash/fp/isArray.js +5 -0
  1396. package/node_modules/lodash/fp/isArrayBuffer.js +5 -0
  1397. package/node_modules/lodash/fp/isArrayLike.js +5 -0
  1398. package/node_modules/lodash/fp/isArrayLikeObject.js +5 -0
  1399. package/node_modules/lodash/fp/isBoolean.js +5 -0
  1400. package/node_modules/lodash/fp/isBuffer.js +5 -0
  1401. package/node_modules/lodash/fp/isDate.js +5 -0
  1402. package/node_modules/lodash/fp/isElement.js +5 -0
  1403. package/node_modules/lodash/fp/isEmpty.js +5 -0
  1404. package/node_modules/lodash/fp/isEqual.js +5 -0
  1405. package/node_modules/lodash/fp/isEqualWith.js +5 -0
  1406. package/node_modules/lodash/fp/isError.js +5 -0
  1407. package/node_modules/lodash/fp/isFinite.js +5 -0
  1408. package/node_modules/lodash/fp/isFunction.js +5 -0
  1409. package/node_modules/lodash/fp/isInteger.js +5 -0
  1410. package/node_modules/lodash/fp/isLength.js +5 -0
  1411. package/node_modules/lodash/fp/isMap.js +5 -0
  1412. package/node_modules/lodash/fp/isMatch.js +5 -0
  1413. package/node_modules/lodash/fp/isMatchWith.js +5 -0
  1414. package/node_modules/lodash/fp/isNaN.js +5 -0
  1415. package/node_modules/lodash/fp/isNative.js +5 -0
  1416. package/node_modules/lodash/fp/isNil.js +5 -0
  1417. package/node_modules/lodash/fp/isNull.js +5 -0
  1418. package/node_modules/lodash/fp/isNumber.js +5 -0
  1419. package/node_modules/lodash/fp/isObject.js +5 -0
  1420. package/node_modules/lodash/fp/isObjectLike.js +5 -0
  1421. package/node_modules/lodash/fp/isPlainObject.js +5 -0
  1422. package/node_modules/lodash/fp/isRegExp.js +5 -0
  1423. package/node_modules/lodash/fp/isSafeInteger.js +5 -0
  1424. package/node_modules/lodash/fp/isSet.js +5 -0
  1425. package/node_modules/lodash/fp/isString.js +5 -0
  1426. package/node_modules/lodash/fp/isSymbol.js +5 -0
  1427. package/node_modules/lodash/fp/isTypedArray.js +5 -0
  1428. package/node_modules/lodash/fp/isUndefined.js +5 -0
  1429. package/node_modules/lodash/fp/isWeakMap.js +5 -0
  1430. package/node_modules/lodash/fp/isWeakSet.js +5 -0
  1431. package/node_modules/lodash/fp/iteratee.js +5 -0
  1432. package/node_modules/lodash/fp/join.js +5 -0
  1433. package/node_modules/lodash/fp/juxt.js +1 -0
  1434. package/node_modules/lodash/fp/kebabCase.js +5 -0
  1435. package/node_modules/lodash/fp/keyBy.js +5 -0
  1436. package/node_modules/lodash/fp/keys.js +5 -0
  1437. package/node_modules/lodash/fp/keysIn.js +5 -0
  1438. package/node_modules/lodash/fp/lang.js +2 -0
  1439. package/node_modules/lodash/fp/last.js +5 -0
  1440. package/node_modules/lodash/fp/lastIndexOf.js +5 -0
  1441. package/node_modules/lodash/fp/lastIndexOfFrom.js +5 -0
  1442. package/node_modules/lodash/fp/lowerCase.js +5 -0
  1443. package/node_modules/lodash/fp/lowerFirst.js +5 -0
  1444. package/node_modules/lodash/fp/lt.js +5 -0
  1445. package/node_modules/lodash/fp/lte.js +5 -0
  1446. package/node_modules/lodash/fp/map.js +5 -0
  1447. package/node_modules/lodash/fp/mapKeys.js +5 -0
  1448. package/node_modules/lodash/fp/mapValues.js +5 -0
  1449. package/node_modules/lodash/fp/matches.js +1 -0
  1450. package/node_modules/lodash/fp/matchesProperty.js +5 -0
  1451. package/node_modules/lodash/fp/math.js +2 -0
  1452. package/node_modules/lodash/fp/max.js +5 -0
  1453. package/node_modules/lodash/fp/maxBy.js +5 -0
  1454. package/node_modules/lodash/fp/mean.js +5 -0
  1455. package/node_modules/lodash/fp/meanBy.js +5 -0
  1456. package/node_modules/lodash/fp/memoize.js +5 -0
  1457. package/node_modules/lodash/fp/merge.js +5 -0
  1458. package/node_modules/lodash/fp/mergeAll.js +5 -0
  1459. package/node_modules/lodash/fp/mergeAllWith.js +5 -0
  1460. package/node_modules/lodash/fp/mergeWith.js +5 -0
  1461. package/node_modules/lodash/fp/method.js +5 -0
  1462. package/node_modules/lodash/fp/methodOf.js +5 -0
  1463. package/node_modules/lodash/fp/min.js +5 -0
  1464. package/node_modules/lodash/fp/minBy.js +5 -0
  1465. package/node_modules/lodash/fp/mixin.js +5 -0
  1466. package/node_modules/lodash/fp/multiply.js +5 -0
  1467. package/node_modules/lodash/fp/nAry.js +1 -0
  1468. package/node_modules/lodash/fp/negate.js +5 -0
  1469. package/node_modules/lodash/fp/next.js +5 -0
  1470. package/node_modules/lodash/fp/noop.js +5 -0
  1471. package/node_modules/lodash/fp/now.js +5 -0
  1472. package/node_modules/lodash/fp/nth.js +5 -0
  1473. package/node_modules/lodash/fp/nthArg.js +5 -0
  1474. package/node_modules/lodash/fp/number.js +2 -0
  1475. package/node_modules/lodash/fp/object.js +2 -0
  1476. package/node_modules/lodash/fp/omit.js +5 -0
  1477. package/node_modules/lodash/fp/omitAll.js +1 -0
  1478. package/node_modules/lodash/fp/omitBy.js +5 -0
  1479. package/node_modules/lodash/fp/once.js +5 -0
  1480. package/node_modules/lodash/fp/orderBy.js +5 -0
  1481. package/node_modules/lodash/fp/over.js +5 -0
  1482. package/node_modules/lodash/fp/overArgs.js +5 -0
  1483. package/node_modules/lodash/fp/overEvery.js +5 -0
  1484. package/node_modules/lodash/fp/overSome.js +5 -0
  1485. package/node_modules/lodash/fp/pad.js +5 -0
  1486. package/node_modules/lodash/fp/padChars.js +5 -0
  1487. package/node_modules/lodash/fp/padCharsEnd.js +5 -0
  1488. package/node_modules/lodash/fp/padCharsStart.js +5 -0
  1489. package/node_modules/lodash/fp/padEnd.js +5 -0
  1490. package/node_modules/lodash/fp/padStart.js +5 -0
  1491. package/node_modules/lodash/fp/parseInt.js +5 -0
  1492. package/node_modules/lodash/fp/partial.js +5 -0
  1493. package/node_modules/lodash/fp/partialRight.js +5 -0
  1494. package/node_modules/lodash/fp/partition.js +5 -0
  1495. package/node_modules/lodash/fp/path.js +1 -0
  1496. package/node_modules/lodash/fp/pathEq.js +1 -0
  1497. package/node_modules/lodash/fp/pathOr.js +1 -0
  1498. package/node_modules/lodash/fp/paths.js +1 -0
  1499. package/node_modules/lodash/fp/pick.js +5 -0
  1500. package/node_modules/lodash/fp/pickAll.js +1 -0
  1501. package/node_modules/lodash/fp/pickBy.js +5 -0
  1502. package/node_modules/lodash/fp/pipe.js +1 -0
  1503. package/node_modules/lodash/fp/placeholder.js +6 -0
  1504. package/node_modules/lodash/fp/plant.js +5 -0
  1505. package/node_modules/lodash/fp/pluck.js +1 -0
  1506. package/node_modules/lodash/fp/prop.js +1 -0
  1507. package/node_modules/lodash/fp/propEq.js +1 -0
  1508. package/node_modules/lodash/fp/propOr.js +1 -0
  1509. package/node_modules/lodash/fp/property.js +1 -0
  1510. package/node_modules/lodash/fp/propertyOf.js +5 -0
  1511. package/node_modules/lodash/fp/props.js +1 -0
  1512. package/node_modules/lodash/fp/pull.js +5 -0
  1513. package/node_modules/lodash/fp/pullAll.js +5 -0
  1514. package/node_modules/lodash/fp/pullAllBy.js +5 -0
  1515. package/node_modules/lodash/fp/pullAllWith.js +5 -0
  1516. package/node_modules/lodash/fp/pullAt.js +5 -0
  1517. package/node_modules/lodash/fp/random.js +5 -0
  1518. package/node_modules/lodash/fp/range.js +5 -0
  1519. package/node_modules/lodash/fp/rangeRight.js +5 -0
  1520. package/node_modules/lodash/fp/rangeStep.js +5 -0
  1521. package/node_modules/lodash/fp/rangeStepRight.js +5 -0
  1522. package/node_modules/lodash/fp/rearg.js +5 -0
  1523. package/node_modules/lodash/fp/reduce.js +5 -0
  1524. package/node_modules/lodash/fp/reduceRight.js +5 -0
  1525. package/node_modules/lodash/fp/reject.js +5 -0
  1526. package/node_modules/lodash/fp/remove.js +5 -0
  1527. package/node_modules/lodash/fp/repeat.js +5 -0
  1528. package/node_modules/lodash/fp/replace.js +5 -0
  1529. package/node_modules/lodash/fp/rest.js +5 -0
  1530. package/node_modules/lodash/fp/restFrom.js +5 -0
  1531. package/node_modules/lodash/fp/result.js +5 -0
  1532. package/node_modules/lodash/fp/reverse.js +5 -0
  1533. package/node_modules/lodash/fp/round.js +5 -0
  1534. package/node_modules/lodash/fp/sample.js +5 -0
  1535. package/node_modules/lodash/fp/sampleSize.js +5 -0
  1536. package/node_modules/lodash/fp/seq.js +2 -0
  1537. package/node_modules/lodash/fp/set.js +5 -0
  1538. package/node_modules/lodash/fp/setWith.js +5 -0
  1539. package/node_modules/lodash/fp/shuffle.js +5 -0
  1540. package/node_modules/lodash/fp/size.js +5 -0
  1541. package/node_modules/lodash/fp/slice.js +5 -0
  1542. package/node_modules/lodash/fp/snakeCase.js +5 -0
  1543. package/node_modules/lodash/fp/some.js +5 -0
  1544. package/node_modules/lodash/fp/sortBy.js +5 -0
  1545. package/node_modules/lodash/fp/sortedIndex.js +5 -0
  1546. package/node_modules/lodash/fp/sortedIndexBy.js +5 -0
  1547. package/node_modules/lodash/fp/sortedIndexOf.js +5 -0
  1548. package/node_modules/lodash/fp/sortedLastIndex.js +5 -0
  1549. package/node_modules/lodash/fp/sortedLastIndexBy.js +5 -0
  1550. package/node_modules/lodash/fp/sortedLastIndexOf.js +5 -0
  1551. package/node_modules/lodash/fp/sortedUniq.js +5 -0
  1552. package/node_modules/lodash/fp/sortedUniqBy.js +5 -0
  1553. package/node_modules/lodash/fp/split.js +5 -0
  1554. package/node_modules/lodash/fp/spread.js +5 -0
  1555. package/node_modules/lodash/fp/spreadFrom.js +5 -0
  1556. package/node_modules/lodash/fp/startCase.js +5 -0
  1557. package/node_modules/lodash/fp/startsWith.js +5 -0
  1558. package/node_modules/lodash/fp/string.js +2 -0
  1559. package/node_modules/lodash/fp/stubArray.js +5 -0
  1560. package/node_modules/lodash/fp/stubFalse.js +5 -0
  1561. package/node_modules/lodash/fp/stubObject.js +5 -0
  1562. package/node_modules/lodash/fp/stubString.js +5 -0
  1563. package/node_modules/lodash/fp/stubTrue.js +5 -0
  1564. package/node_modules/lodash/fp/subtract.js +5 -0
  1565. package/node_modules/lodash/fp/sum.js +5 -0
  1566. package/node_modules/lodash/fp/sumBy.js +5 -0
  1567. package/node_modules/lodash/fp/symmetricDifference.js +1 -0
  1568. package/node_modules/lodash/fp/symmetricDifferenceBy.js +1 -0
  1569. package/node_modules/lodash/fp/symmetricDifferenceWith.js +1 -0
  1570. package/node_modules/lodash/fp/tail.js +5 -0
  1571. package/node_modules/lodash/fp/take.js +5 -0
  1572. package/node_modules/lodash/fp/takeLast.js +1 -0
  1573. package/node_modules/lodash/fp/takeLastWhile.js +1 -0
  1574. package/node_modules/lodash/fp/takeRight.js +5 -0
  1575. package/node_modules/lodash/fp/takeRightWhile.js +5 -0
  1576. package/node_modules/lodash/fp/takeWhile.js +5 -0
  1577. package/node_modules/lodash/fp/tap.js +5 -0
  1578. package/node_modules/lodash/fp/template.js +5 -0
  1579. package/node_modules/lodash/fp/templateSettings.js +5 -0
  1580. package/node_modules/lodash/fp/throttle.js +5 -0
  1581. package/node_modules/lodash/fp/thru.js +5 -0
  1582. package/node_modules/lodash/fp/times.js +5 -0
  1583. package/node_modules/lodash/fp/toArray.js +5 -0
  1584. package/node_modules/lodash/fp/toFinite.js +5 -0
  1585. package/node_modules/lodash/fp/toInteger.js +5 -0
  1586. package/node_modules/lodash/fp/toIterator.js +5 -0
  1587. package/node_modules/lodash/fp/toJSON.js +5 -0
  1588. package/node_modules/lodash/fp/toLength.js +5 -0
  1589. package/node_modules/lodash/fp/toLower.js +5 -0
  1590. package/node_modules/lodash/fp/toNumber.js +5 -0
  1591. package/node_modules/lodash/fp/toPairs.js +5 -0
  1592. package/node_modules/lodash/fp/toPairsIn.js +5 -0
  1593. package/node_modules/lodash/fp/toPath.js +5 -0
  1594. package/node_modules/lodash/fp/toPlainObject.js +5 -0
  1595. package/node_modules/lodash/fp/toSafeInteger.js +5 -0
  1596. package/node_modules/lodash/fp/toString.js +5 -0
  1597. package/node_modules/lodash/fp/toUpper.js +5 -0
  1598. package/node_modules/lodash/fp/transform.js +5 -0
  1599. package/node_modules/lodash/fp/trim.js +5 -0
  1600. package/node_modules/lodash/fp/trimChars.js +5 -0
  1601. package/node_modules/lodash/fp/trimCharsEnd.js +5 -0
  1602. package/node_modules/lodash/fp/trimCharsStart.js +5 -0
  1603. package/node_modules/lodash/fp/trimEnd.js +5 -0
  1604. package/node_modules/lodash/fp/trimStart.js +5 -0
  1605. package/node_modules/lodash/fp/truncate.js +5 -0
  1606. package/node_modules/lodash/fp/unapply.js +1 -0
  1607. package/node_modules/lodash/fp/unary.js +5 -0
  1608. package/node_modules/lodash/fp/unescape.js +5 -0
  1609. package/node_modules/lodash/fp/union.js +5 -0
  1610. package/node_modules/lodash/fp/unionBy.js +5 -0
  1611. package/node_modules/lodash/fp/unionWith.js +5 -0
  1612. package/node_modules/lodash/fp/uniq.js +5 -0
  1613. package/node_modules/lodash/fp/uniqBy.js +5 -0
  1614. package/node_modules/lodash/fp/uniqWith.js +5 -0
  1615. package/node_modules/lodash/fp/uniqueId.js +5 -0
  1616. package/node_modules/lodash/fp/unnest.js +1 -0
  1617. package/node_modules/lodash/fp/unset.js +5 -0
  1618. package/node_modules/lodash/fp/unzip.js +5 -0
  1619. package/node_modules/lodash/fp/unzipWith.js +5 -0
  1620. package/node_modules/lodash/fp/update.js +5 -0
  1621. package/node_modules/lodash/fp/updateWith.js +5 -0
  1622. package/node_modules/lodash/fp/upperCase.js +5 -0
  1623. package/node_modules/lodash/fp/upperFirst.js +5 -0
  1624. package/node_modules/lodash/fp/useWith.js +1 -0
  1625. package/node_modules/lodash/fp/util.js +2 -0
  1626. package/node_modules/lodash/fp/value.js +5 -0
  1627. package/node_modules/lodash/fp/valueOf.js +5 -0
  1628. package/node_modules/lodash/fp/values.js +5 -0
  1629. package/node_modules/lodash/fp/valuesIn.js +5 -0
  1630. package/node_modules/lodash/fp/where.js +1 -0
  1631. package/node_modules/lodash/fp/whereEq.js +1 -0
  1632. package/node_modules/lodash/fp/without.js +5 -0
  1633. package/node_modules/lodash/fp/words.js +5 -0
  1634. package/node_modules/lodash/fp/wrap.js +5 -0
  1635. package/node_modules/lodash/fp/wrapperAt.js +5 -0
  1636. package/node_modules/lodash/fp/wrapperChain.js +5 -0
  1637. package/node_modules/lodash/fp/wrapperLodash.js +5 -0
  1638. package/node_modules/lodash/fp/wrapperReverse.js +5 -0
  1639. package/node_modules/lodash/fp/wrapperValue.js +5 -0
  1640. package/node_modules/lodash/fp/xor.js +5 -0
  1641. package/node_modules/lodash/fp/xorBy.js +5 -0
  1642. package/node_modules/lodash/fp/xorWith.js +5 -0
  1643. package/node_modules/lodash/fp/zip.js +5 -0
  1644. package/node_modules/lodash/fp/zipAll.js +5 -0
  1645. package/node_modules/lodash/fp/zipObj.js +1 -0
  1646. package/node_modules/lodash/fp/zipObject.js +5 -0
  1647. package/node_modules/lodash/fp/zipObjectDeep.js +5 -0
  1648. package/node_modules/lodash/fp/zipWith.js +5 -0
  1649. package/node_modules/lodash/fp.js +2 -0
  1650. package/node_modules/lodash/fromPairs.js +30 -0
  1651. package/node_modules/lodash/function.js +25 -0
  1652. package/node_modules/lodash/functions.js +31 -0
  1653. package/node_modules/lodash/functionsIn.js +31 -0
  1654. package/node_modules/lodash/get.js +33 -0
  1655. package/node_modules/lodash/groupBy.js +41 -0
  1656. package/node_modules/lodash/gt.js +29 -0
  1657. package/node_modules/lodash/gte.js +30 -0
  1658. package/node_modules/lodash/has.js +35 -0
  1659. package/node_modules/lodash/hasIn.js +34 -0
  1660. package/node_modules/lodash/head.js +23 -0
  1661. package/node_modules/lodash/identity.js +21 -0
  1662. package/node_modules/lodash/inRange.js +55 -0
  1663. package/node_modules/lodash/includes.js +53 -0
  1664. package/node_modules/lodash/index.js +1 -0
  1665. package/node_modules/lodash/indexOf.js +42 -0
  1666. package/node_modules/lodash/initial.js +22 -0
  1667. package/node_modules/lodash/intersection.js +30 -0
  1668. package/node_modules/lodash/intersectionBy.js +45 -0
  1669. package/node_modules/lodash/intersectionWith.js +41 -0
  1670. package/node_modules/lodash/invert.js +42 -0
  1671. package/node_modules/lodash/invertBy.js +56 -0
  1672. package/node_modules/lodash/invoke.js +24 -0
  1673. package/node_modules/lodash/invokeMap.js +41 -0
  1674. package/node_modules/lodash/isArguments.js +36 -0
  1675. package/node_modules/lodash/isArray.js +26 -0
  1676. package/node_modules/lodash/isArrayBuffer.js +27 -0
  1677. package/node_modules/lodash/isArrayLike.js +33 -0
  1678. package/node_modules/lodash/isArrayLikeObject.js +33 -0
  1679. package/node_modules/lodash/isBoolean.js +29 -0
  1680. package/node_modules/lodash/isBuffer.js +38 -0
  1681. package/node_modules/lodash/isDate.js +27 -0
  1682. package/node_modules/lodash/isElement.js +25 -0
  1683. package/node_modules/lodash/isEmpty.js +77 -0
  1684. package/node_modules/lodash/isEqual.js +35 -0
  1685. package/node_modules/lodash/isEqualWith.js +41 -0
  1686. package/node_modules/lodash/isError.js +36 -0
  1687. package/node_modules/lodash/isFinite.js +36 -0
  1688. package/node_modules/lodash/isFunction.js +37 -0
  1689. package/node_modules/lodash/isInteger.js +33 -0
  1690. package/node_modules/lodash/isLength.js +35 -0
  1691. package/node_modules/lodash/isMap.js +27 -0
  1692. package/node_modules/lodash/isMatch.js +36 -0
  1693. package/node_modules/lodash/isMatchWith.js +41 -0
  1694. package/node_modules/lodash/isNaN.js +38 -0
  1695. package/node_modules/lodash/isNative.js +40 -0
  1696. package/node_modules/lodash/isNil.js +25 -0
  1697. package/node_modules/lodash/isNull.js +22 -0
  1698. package/node_modules/lodash/isNumber.js +38 -0
  1699. package/node_modules/lodash/isObject.js +31 -0
  1700. package/node_modules/lodash/isObjectLike.js +29 -0
  1701. package/node_modules/lodash/isPlainObject.js +62 -0
  1702. package/node_modules/lodash/isRegExp.js +27 -0
  1703. package/node_modules/lodash/isSafeInteger.js +37 -0
  1704. package/node_modules/lodash/isSet.js +27 -0
  1705. package/node_modules/lodash/isString.js +30 -0
  1706. package/node_modules/lodash/isSymbol.js +29 -0
  1707. package/node_modules/lodash/isTypedArray.js +27 -0
  1708. package/node_modules/lodash/isUndefined.js +22 -0
  1709. package/node_modules/lodash/isWeakMap.js +28 -0
  1710. package/node_modules/lodash/isWeakSet.js +28 -0
  1711. package/node_modules/lodash/iteratee.js +53 -0
  1712. package/node_modules/lodash/join.js +26 -0
  1713. package/node_modules/lodash/kebabCase.js +28 -0
  1714. package/node_modules/lodash/keyBy.js +36 -0
  1715. package/node_modules/lodash/keys.js +37 -0
  1716. package/node_modules/lodash/keysIn.js +32 -0
  1717. package/node_modules/lodash/lang.js +58 -0
  1718. package/node_modules/lodash/last.js +20 -0
  1719. package/node_modules/lodash/lastIndexOf.js +46 -0
  1720. package/node_modules/lodash/lodash.js +17259 -0
  1721. package/node_modules/lodash/lodash.min.js +136 -0
  1722. package/node_modules/lodash/lowerCase.js +27 -0
  1723. package/node_modules/lodash/lowerFirst.js +22 -0
  1724. package/node_modules/lodash/lt.js +29 -0
  1725. package/node_modules/lodash/lte.js +30 -0
  1726. package/node_modules/lodash/map.js +53 -0
  1727. package/node_modules/lodash/mapKeys.js +36 -0
  1728. package/node_modules/lodash/mapValues.js +43 -0
  1729. package/node_modules/lodash/matches.js +46 -0
  1730. package/node_modules/lodash/matchesProperty.js +44 -0
  1731. package/node_modules/lodash/math.js +17 -0
  1732. package/node_modules/lodash/max.js +29 -0
  1733. package/node_modules/lodash/maxBy.js +34 -0
  1734. package/node_modules/lodash/mean.js +22 -0
  1735. package/node_modules/lodash/meanBy.js +31 -0
  1736. package/node_modules/lodash/memoize.js +73 -0
  1737. package/node_modules/lodash/merge.js +39 -0
  1738. package/node_modules/lodash/mergeWith.js +39 -0
  1739. package/node_modules/lodash/method.js +34 -0
  1740. package/node_modules/lodash/methodOf.js +33 -0
  1741. package/node_modules/lodash/min.js +29 -0
  1742. package/node_modules/lodash/minBy.js +34 -0
  1743. package/node_modules/lodash/mixin.js +74 -0
  1744. package/node_modules/lodash/multiply.js +22 -0
  1745. package/node_modules/lodash/negate.js +40 -0
  1746. package/node_modules/lodash/next.js +35 -0
  1747. package/node_modules/lodash/noop.js +17 -0
  1748. package/node_modules/lodash/now.js +23 -0
  1749. package/node_modules/lodash/nth.js +29 -0
  1750. package/node_modules/lodash/nthArg.js +32 -0
  1751. package/node_modules/lodash/number.js +5 -0
  1752. package/node_modules/lodash/object.js +49 -0
  1753. package/node_modules/lodash/omit.js +57 -0
  1754. package/node_modules/lodash/omitBy.js +29 -0
  1755. package/node_modules/lodash/once.js +25 -0
  1756. package/node_modules/lodash/orderBy.js +47 -0
  1757. package/node_modules/lodash/over.js +24 -0
  1758. package/node_modules/lodash/overArgs.js +61 -0
  1759. package/node_modules/lodash/overEvery.js +34 -0
  1760. package/node_modules/lodash/overSome.js +37 -0
  1761. package/node_modules/lodash/package.json +19 -0
  1762. package/node_modules/lodash/pad.js +49 -0
  1763. package/node_modules/lodash/padEnd.js +39 -0
  1764. package/node_modules/lodash/padStart.js +39 -0
  1765. package/node_modules/lodash/parseInt.js +43 -0
  1766. package/node_modules/lodash/partial.js +50 -0
  1767. package/node_modules/lodash/partialRight.js +49 -0
  1768. package/node_modules/lodash/partition.js +43 -0
  1769. package/node_modules/lodash/pick.js +25 -0
  1770. package/node_modules/lodash/pickBy.js +37 -0
  1771. package/node_modules/lodash/plant.js +48 -0
  1772. package/node_modules/lodash/property.js +32 -0
  1773. package/node_modules/lodash/propertyOf.js +30 -0
  1774. package/node_modules/lodash/pull.js +29 -0
  1775. package/node_modules/lodash/pullAll.js +29 -0
  1776. package/node_modules/lodash/pullAllBy.js +33 -0
  1777. package/node_modules/lodash/pullAllWith.js +32 -0
  1778. package/node_modules/lodash/pullAt.js +43 -0
  1779. package/node_modules/lodash/random.js +91 -0
  1780. package/node_modules/lodash/range.js +46 -0
  1781. package/node_modules/lodash/rangeRight.js +41 -0
  1782. package/node_modules/lodash/rearg.js +33 -0
  1783. package/node_modules/lodash/reduce.js +51 -0
  1784. package/node_modules/lodash/reduceRight.js +36 -0
  1785. package/node_modules/lodash/reject.js +46 -0
  1786. package/node_modules/lodash/remove.js +53 -0
  1787. package/node_modules/lodash/repeat.js +37 -0
  1788. package/node_modules/lodash/replace.js +29 -0
  1789. package/node_modules/lodash/rest.js +40 -0
  1790. package/node_modules/lodash/result.js +56 -0
  1791. package/node_modules/lodash/reverse.js +34 -0
  1792. package/node_modules/lodash/round.js +26 -0
  1793. package/node_modules/lodash/sample.js +24 -0
  1794. package/node_modules/lodash/sampleSize.js +37 -0
  1795. package/node_modules/lodash/seq.js +16 -0
  1796. package/node_modules/lodash/set.js +35 -0
  1797. package/node_modules/lodash/setWith.js +32 -0
  1798. package/node_modules/lodash/shuffle.js +25 -0
  1799. package/node_modules/lodash/size.js +46 -0
  1800. package/node_modules/lodash/slice.js +37 -0
  1801. package/node_modules/lodash/snakeCase.js +28 -0
  1802. package/node_modules/lodash/some.js +51 -0
  1803. package/node_modules/lodash/sortBy.js +48 -0
  1804. package/node_modules/lodash/sortedIndex.js +24 -0
  1805. package/node_modules/lodash/sortedIndexBy.js +33 -0
  1806. package/node_modules/lodash/sortedIndexOf.js +31 -0
  1807. package/node_modules/lodash/sortedLastIndex.js +25 -0
  1808. package/node_modules/lodash/sortedLastIndexBy.js +33 -0
  1809. package/node_modules/lodash/sortedLastIndexOf.js +31 -0
  1810. package/node_modules/lodash/sortedUniq.js +24 -0
  1811. package/node_modules/lodash/sortedUniqBy.js +26 -0
  1812. package/node_modules/lodash/split.js +52 -0
  1813. package/node_modules/lodash/spread.js +63 -0
  1814. package/node_modules/lodash/startCase.js +29 -0
  1815. package/node_modules/lodash/startsWith.js +39 -0
  1816. package/node_modules/lodash/string.js +33 -0
  1817. package/node_modules/lodash/stubArray.js +23 -0
  1818. package/node_modules/lodash/stubFalse.js +18 -0
  1819. package/node_modules/lodash/stubObject.js +23 -0
  1820. package/node_modules/lodash/stubString.js +18 -0
  1821. package/node_modules/lodash/stubTrue.js +18 -0
  1822. package/node_modules/lodash/subtract.js +22 -0
  1823. package/node_modules/lodash/sum.js +24 -0
  1824. package/node_modules/lodash/sumBy.js +33 -0
  1825. package/node_modules/lodash/tail.js +22 -0
  1826. package/node_modules/lodash/take.js +37 -0
  1827. package/node_modules/lodash/takeRight.js +39 -0
  1828. package/node_modules/lodash/takeRightWhile.js +45 -0
  1829. package/node_modules/lodash/takeWhile.js +45 -0
  1830. package/node_modules/lodash/tap.js +29 -0
  1831. package/node_modules/lodash/template.js +284 -0
  1832. package/node_modules/lodash/templateSettings.js +71 -0
  1833. package/node_modules/lodash/throttle.js +69 -0
  1834. package/node_modules/lodash/thru.js +28 -0
  1835. package/node_modules/lodash/times.js +51 -0
  1836. package/node_modules/lodash/toArray.js +58 -0
  1837. package/node_modules/lodash/toFinite.js +42 -0
  1838. package/node_modules/lodash/toInteger.js +36 -0
  1839. package/node_modules/lodash/toIterator.js +23 -0
  1840. package/node_modules/lodash/toJSON.js +1 -0
  1841. package/node_modules/lodash/toLength.js +38 -0
  1842. package/node_modules/lodash/toLower.js +28 -0
  1843. package/node_modules/lodash/toNumber.js +64 -0
  1844. package/node_modules/lodash/toPairs.js +30 -0
  1845. package/node_modules/lodash/toPairsIn.js +30 -0
  1846. package/node_modules/lodash/toPath.js +33 -0
  1847. package/node_modules/lodash/toPlainObject.js +32 -0
  1848. package/node_modules/lodash/toSafeInteger.js +37 -0
  1849. package/node_modules/lodash/toString.js +28 -0
  1850. package/node_modules/lodash/toUpper.js +28 -0
  1851. package/node_modules/lodash/transform.js +65 -0
  1852. package/node_modules/lodash/trim.js +47 -0
  1853. package/node_modules/lodash/trimEnd.js +41 -0
  1854. package/node_modules/lodash/trimStart.js +43 -0
  1855. package/node_modules/lodash/truncate.js +111 -0
  1856. package/node_modules/lodash/unary.js +22 -0
  1857. package/node_modules/lodash/unescape.js +34 -0
  1858. package/node_modules/lodash/union.js +26 -0
  1859. package/node_modules/lodash/unionBy.js +39 -0
  1860. package/node_modules/lodash/unionWith.js +34 -0
  1861. package/node_modules/lodash/uniq.js +25 -0
  1862. package/node_modules/lodash/uniqBy.js +31 -0
  1863. package/node_modules/lodash/uniqWith.js +28 -0
  1864. package/node_modules/lodash/uniqueId.js +28 -0
  1865. package/node_modules/lodash/unset.js +34 -0
  1866. package/node_modules/lodash/unzip.js +45 -0
  1867. package/node_modules/lodash/unzipWith.js +39 -0
  1868. package/node_modules/lodash/update.js +35 -0
  1869. package/node_modules/lodash/updateWith.js +33 -0
  1870. package/node_modules/lodash/upperCase.js +27 -0
  1871. package/node_modules/lodash/upperFirst.js +22 -0
  1872. package/node_modules/lodash/util.js +34 -0
  1873. package/node_modules/lodash/value.js +1 -0
  1874. package/node_modules/lodash/valueOf.js +1 -0
  1875. package/node_modules/lodash/values.js +34 -0
  1876. package/node_modules/lodash/valuesIn.js +32 -0
  1877. package/node_modules/lodash/without.js +31 -0
  1878. package/node_modules/lodash/words.js +35 -0
  1879. package/node_modules/lodash/wrap.js +30 -0
  1880. package/node_modules/lodash/wrapperAt.js +48 -0
  1881. package/node_modules/lodash/wrapperChain.js +34 -0
  1882. package/node_modules/lodash/wrapperLodash.js +147 -0
  1883. package/node_modules/lodash/wrapperReverse.js +44 -0
  1884. package/node_modules/lodash/wrapperValue.js +21 -0
  1885. package/node_modules/lodash/xor.js +28 -0
  1886. package/node_modules/lodash/xorBy.js +39 -0
  1887. package/node_modules/lodash/xorWith.js +34 -0
  1888. package/node_modules/lodash/zip.js +22 -0
  1889. package/node_modules/lodash/zipObject.js +24 -0
  1890. package/node_modules/lodash/zipObjectDeep.js +23 -0
  1891. package/node_modules/lodash/zipWith.js +32 -0
  1892. package/node_modules/math-intrinsics/.eslintrc +16 -0
  1893. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  1894. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  1895. package/node_modules/math-intrinsics/LICENSE +21 -0
  1896. package/node_modules/math-intrinsics/README.md +50 -0
  1897. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  1898. package/node_modules/math-intrinsics/abs.js +4 -0
  1899. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  1900. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  1901. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  1902. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  1903. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  1904. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  1905. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  1906. package/node_modules/math-intrinsics/floor.js +4 -0
  1907. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  1908. package/node_modules/math-intrinsics/isFinite.js +12 -0
  1909. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  1910. package/node_modules/math-intrinsics/isInteger.js +16 -0
  1911. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  1912. package/node_modules/math-intrinsics/isNaN.js +6 -0
  1913. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  1914. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  1915. package/node_modules/math-intrinsics/max.d.ts +1 -0
  1916. package/node_modules/math-intrinsics/max.js +4 -0
  1917. package/node_modules/math-intrinsics/min.d.ts +1 -0
  1918. package/node_modules/math-intrinsics/min.js +4 -0
  1919. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  1920. package/node_modules/math-intrinsics/mod.js +9 -0
  1921. package/node_modules/math-intrinsics/package.json +86 -0
  1922. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  1923. package/node_modules/math-intrinsics/pow.js +4 -0
  1924. package/node_modules/math-intrinsics/round.d.ts +1 -0
  1925. package/node_modules/math-intrinsics/round.js +4 -0
  1926. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  1927. package/node_modules/math-intrinsics/sign.js +11 -0
  1928. package/node_modules/math-intrinsics/test/index.js +192 -0
  1929. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  1930. package/node_modules/mime-db/HISTORY.md +507 -0
  1931. package/node_modules/mime-db/LICENSE +23 -0
  1932. package/node_modules/mime-db/README.md +100 -0
  1933. package/node_modules/mime-db/db.json +8519 -0
  1934. package/node_modules/mime-db/index.js +12 -0
  1935. package/node_modules/mime-db/package.json +60 -0
  1936. package/node_modules/mime-types/HISTORY.md +397 -0
  1937. package/node_modules/mime-types/LICENSE +23 -0
  1938. package/node_modules/mime-types/README.md +113 -0
  1939. package/node_modules/mime-types/index.js +188 -0
  1940. package/node_modules/mime-types/package.json +44 -0
  1941. package/node_modules/minimist/.eslintrc +29 -0
  1942. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  1943. package/node_modules/minimist/.nycrc +14 -0
  1944. package/node_modules/minimist/CHANGELOG.md +298 -0
  1945. package/node_modules/minimist/LICENSE +18 -0
  1946. package/node_modules/minimist/README.md +121 -0
  1947. package/node_modules/minimist/example/parse.js +4 -0
  1948. package/node_modules/minimist/index.js +263 -0
  1949. package/node_modules/minimist/package.json +75 -0
  1950. package/node_modules/minimist/test/all_bool.js +34 -0
  1951. package/node_modules/minimist/test/bool.js +177 -0
  1952. package/node_modules/minimist/test/dash.js +43 -0
  1953. package/node_modules/minimist/test/default_bool.js +37 -0
  1954. package/node_modules/minimist/test/dotted.js +24 -0
  1955. package/node_modules/minimist/test/kv_short.js +32 -0
  1956. package/node_modules/minimist/test/long.js +33 -0
  1957. package/node_modules/minimist/test/num.js +38 -0
  1958. package/node_modules/minimist/test/parse.js +209 -0
  1959. package/node_modules/minimist/test/parse_modified.js +11 -0
  1960. package/node_modules/minimist/test/proto.js +64 -0
  1961. package/node_modules/minimist/test/short.js +69 -0
  1962. package/node_modules/minimist/test/stop_early.js +17 -0
  1963. package/node_modules/minimist/test/unknown.js +104 -0
  1964. package/node_modules/minimist/test/whitespace.js +10 -0
  1965. package/node_modules/ms/index.js +162 -0
  1966. package/node_modules/ms/license.md +21 -0
  1967. package/node_modules/ms/package.json +38 -0
  1968. package/node_modules/ms/readme.md +59 -0
  1969. package/node_modules/node-addon-api/LICENSE.md +9 -0
  1970. package/node_modules/node-addon-api/README.md +319 -0
  1971. package/node_modules/node-addon-api/common.gypi +20 -0
  1972. package/node_modules/node-addon-api/except.gypi +25 -0
  1973. package/node_modules/node-addon-api/index.js +12 -0
  1974. package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
  1975. package/node_modules/node-addon-api/napi-inl.h +6607 -0
  1976. package/node_modules/node-addon-api/napi.h +3201 -0
  1977. package/node_modules/node-addon-api/node_addon_api.gyp +32 -0
  1978. package/node_modules/node-addon-api/node_api.gyp +9 -0
  1979. package/node_modules/node-addon-api/noexcept.gypi +26 -0
  1980. package/node_modules/node-addon-api/nothing.c +0 -0
  1981. package/node_modules/node-addon-api/package-support.json +21 -0
  1982. package/node_modules/node-addon-api/package.json +480 -0
  1983. package/node_modules/node-addon-api/tools/README.md +73 -0
  1984. package/node_modules/node-addon-api/tools/check-napi.js +99 -0
  1985. package/node_modules/node-addon-api/tools/clang-format.js +71 -0
  1986. package/node_modules/node-addon-api/tools/conversion.js +301 -0
  1987. package/node_modules/node-addon-api/tools/eslint-format.js +79 -0
  1988. package/node_modules/once/LICENSE +15 -0
  1989. package/node_modules/once/README.md +79 -0
  1990. package/node_modules/once/once.js +42 -0
  1991. package/node_modules/once/package.json +33 -0
  1992. package/node_modules/possible-typed-array-names/.eslintrc +5 -0
  1993. package/node_modules/possible-typed-array-names/.github/FUNDING.yml +12 -0
  1994. package/node_modules/possible-typed-array-names/CHANGELOG.md +29 -0
  1995. package/node_modules/possible-typed-array-names/LICENSE +21 -0
  1996. package/node_modules/possible-typed-array-names/README.md +50 -0
  1997. package/node_modules/possible-typed-array-names/index.d.ts +16 -0
  1998. package/node_modules/possible-typed-array-names/index.js +17 -0
  1999. package/node_modules/possible-typed-array-names/package.json +84 -0
  2000. package/node_modules/possible-typed-array-names/test/index.js +19 -0
  2001. package/node_modules/possible-typed-array-names/tsconfig.json +9 -0
  2002. package/node_modules/process-nextick-args/index.js +45 -0
  2003. package/node_modules/process-nextick-args/license.md +19 -0
  2004. package/node_modules/process-nextick-args/package.json +25 -0
  2005. package/node_modules/process-nextick-args/readme.md +18 -0
  2006. package/node_modules/proxy-from-env/LICENSE +20 -0
  2007. package/node_modules/proxy-from-env/README.md +163 -0
  2008. package/node_modules/proxy-from-env/index.cjs +105 -0
  2009. package/node_modules/proxy-from-env/index.js +103 -0
  2010. package/node_modules/proxy-from-env/package.json +43 -0
  2011. package/node_modules/pump/.travis.yml +5 -0
  2012. package/node_modules/pump/LICENSE +21 -0
  2013. package/node_modules/pump/README.md +56 -0
  2014. package/node_modules/pump/index.js +80 -0
  2015. package/node_modules/pump/package.json +24 -0
  2016. package/node_modules/pump/test-browser.js +58 -0
  2017. package/node_modules/pump/test.js +46 -0
  2018. package/node_modules/safe-buffer/LICENSE +21 -0
  2019. package/node_modules/safe-buffer/README.md +584 -0
  2020. package/node_modules/safe-buffer/index.d.ts +187 -0
  2021. package/node_modules/safe-buffer/index.js +65 -0
  2022. package/node_modules/safe-buffer/package.json +51 -0
  2023. package/node_modules/set-function-length/.eslintrc +27 -0
  2024. package/node_modules/set-function-length/.github/FUNDING.yml +12 -0
  2025. package/node_modules/set-function-length/.nycrc +13 -0
  2026. package/node_modules/set-function-length/CHANGELOG.md +70 -0
  2027. package/node_modules/set-function-length/LICENSE +21 -0
  2028. package/node_modules/set-function-length/README.md +56 -0
  2029. package/node_modules/set-function-length/env.d.ts +9 -0
  2030. package/node_modules/set-function-length/env.js +25 -0
  2031. package/node_modules/set-function-length/index.d.ts +7 -0
  2032. package/node_modules/set-function-length/index.js +42 -0
  2033. package/node_modules/set-function-length/package.json +102 -0
  2034. package/node_modules/set-function-length/tsconfig.json +9 -0
  2035. package/node_modules/tar-fs/.travis.yml +3 -0
  2036. package/node_modules/tar-fs/LICENSE +21 -0
  2037. package/node_modules/tar-fs/README.md +163 -0
  2038. package/node_modules/tar-fs/index.js +356 -0
  2039. package/node_modules/tar-fs/node_modules/chownr/LICENSE +15 -0
  2040. package/node_modules/tar-fs/node_modules/chownr/README.md +3 -0
  2041. package/node_modules/tar-fs/node_modules/chownr/chownr.js +167 -0
  2042. package/node_modules/tar-fs/node_modules/chownr/package.json +29 -0
  2043. package/node_modules/tar-fs/node_modules/mkdirp/LICENSE +21 -0
  2044. package/node_modules/tar-fs/node_modules/mkdirp/bin/cmd.js +33 -0
  2045. package/node_modules/tar-fs/node_modules/mkdirp/bin/usage.txt +12 -0
  2046. package/node_modules/tar-fs/node_modules/mkdirp/index.js +102 -0
  2047. package/node_modules/tar-fs/node_modules/mkdirp/package.json +33 -0
  2048. package/node_modules/tar-fs/node_modules/mkdirp/readme.markdown +100 -0
  2049. package/node_modules/tar-fs/package.json +41 -0
  2050. package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  2051. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  2052. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  2053. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  2054. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  2055. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  2056. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  2057. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  2058. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  2059. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  2060. package/node_modules/tar-fs/test/index.js +346 -0
  2061. package/node_modules/tar-stream/LICENSE +21 -0
  2062. package/node_modules/tar-stream/README.md +168 -0
  2063. package/node_modules/tar-stream/extract.js +258 -0
  2064. package/node_modules/tar-stream/headers.js +283 -0
  2065. package/node_modules/tar-stream/index.js +2 -0
  2066. package/node_modules/tar-stream/node_modules/bl/.jshintrc +59 -0
  2067. package/node_modules/tar-stream/node_modules/bl/.travis.yml +13 -0
  2068. package/node_modules/tar-stream/node_modules/bl/LICENSE.md +13 -0
  2069. package/node_modules/tar-stream/node_modules/bl/README.md +208 -0
  2070. package/node_modules/tar-stream/node_modules/bl/bl.js +290 -0
  2071. package/node_modules/tar-stream/node_modules/bl/package.json +35 -0
  2072. package/node_modules/tar-stream/node_modules/bl/test/test.js +718 -0
  2073. package/node_modules/tar-stream/node_modules/isarray/.npmignore +1 -0
  2074. package/node_modules/tar-stream/node_modules/isarray/.travis.yml +4 -0
  2075. package/node_modules/tar-stream/node_modules/isarray/Makefile +6 -0
  2076. package/node_modules/tar-stream/node_modules/isarray/README.md +60 -0
  2077. package/node_modules/tar-stream/node_modules/isarray/component.json +19 -0
  2078. package/node_modules/tar-stream/node_modules/isarray/index.js +5 -0
  2079. package/node_modules/tar-stream/node_modules/isarray/package.json +45 -0
  2080. package/node_modules/tar-stream/node_modules/isarray/test.js +20 -0
  2081. package/node_modules/tar-stream/node_modules/readable-stream/.travis.yml +34 -0
  2082. package/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  2083. package/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md +136 -0
  2084. package/node_modules/tar-stream/node_modules/readable-stream/LICENSE +47 -0
  2085. package/node_modules/tar-stream/node_modules/readable-stream/README.md +58 -0
  2086. package/node_modules/tar-stream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  2087. package/node_modules/tar-stream/node_modules/readable-stream/duplex-browser.js +1 -0
  2088. package/node_modules/tar-stream/node_modules/readable-stream/duplex.js +1 -0
  2089. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  2090. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  2091. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  2092. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  2093. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js +685 -0
  2094. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
  2095. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
  2096. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  2097. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  2098. package/node_modules/tar-stream/node_modules/readable-stream/package.json +52 -0
  2099. package/node_modules/tar-stream/node_modules/readable-stream/passthrough.js +1 -0
  2100. package/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js +7 -0
  2101. package/node_modules/tar-stream/node_modules/readable-stream/readable.js +19 -0
  2102. package/node_modules/tar-stream/node_modules/readable-stream/transform.js +1 -0
  2103. package/node_modules/tar-stream/node_modules/readable-stream/writable-browser.js +1 -0
  2104. package/node_modules/tar-stream/node_modules/readable-stream/writable.js +8 -0
  2105. package/node_modules/tar-stream/node_modules/safe-buffer/LICENSE +21 -0
  2106. package/node_modules/tar-stream/node_modules/safe-buffer/README.md +584 -0
  2107. package/node_modules/tar-stream/node_modules/safe-buffer/index.d.ts +187 -0
  2108. package/node_modules/tar-stream/node_modules/safe-buffer/index.js +62 -0
  2109. package/node_modules/tar-stream/node_modules/safe-buffer/package.json +37 -0
  2110. package/node_modules/tar-stream/node_modules/string_decoder/.travis.yml +50 -0
  2111. package/node_modules/tar-stream/node_modules/string_decoder/LICENSE +48 -0
  2112. package/node_modules/tar-stream/node_modules/string_decoder/README.md +47 -0
  2113. package/node_modules/tar-stream/node_modules/string_decoder/lib/string_decoder.js +296 -0
  2114. package/node_modules/tar-stream/node_modules/string_decoder/package.json +31 -0
  2115. package/node_modules/tar-stream/pack.js +255 -0
  2116. package/node_modules/tar-stream/package.json +60 -0
  2117. package/node_modules/targz/.npmignore +2 -0
  2118. package/node_modules/targz/LICENSE +22 -0
  2119. package/node_modules/targz/README.md +103 -0
  2120. package/node_modules/targz/index.js +1 -0
  2121. package/node_modules/targz/lib/targz.js +78 -0
  2122. package/node_modules/targz/package.json +28 -0
  2123. package/node_modules/to-buffer/.github/FUNDING.yml +12 -0
  2124. package/node_modules/to-buffer/CHANGELOG.md +81 -0
  2125. package/node_modules/to-buffer/LICENSE +21 -0
  2126. package/node_modules/to-buffer/README.md +44 -0
  2127. package/node_modules/to-buffer/index.js +109 -0
  2128. package/node_modules/to-buffer/package.json +62 -0
  2129. package/node_modules/typed-array-buffer/.eslintrc +13 -0
  2130. package/node_modules/typed-array-buffer/.github/FUNDING.yml +12 -0
  2131. package/node_modules/typed-array-buffer/.nycrc +13 -0
  2132. package/node_modules/typed-array-buffer/CHANGELOG.md +50 -0
  2133. package/node_modules/typed-array-buffer/LICENSE +21 -0
  2134. package/node_modules/typed-array-buffer/README.md +42 -0
  2135. package/node_modules/typed-array-buffer/index.d.ts +9 -0
  2136. package/node_modules/typed-array-buffer/index.js +19 -0
  2137. package/node_modules/typed-array-buffer/package.json +82 -0
  2138. package/node_modules/typed-array-buffer/test/index.js +23 -0
  2139. package/node_modules/typed-array-buffer/tsconfig.json +9 -0
  2140. package/node_modules/universalify/LICENSE +20 -0
  2141. package/node_modules/universalify/README.md +76 -0
  2142. package/node_modules/universalify/index.js +24 -0
  2143. package/node_modules/universalify/package.json +34 -0
  2144. package/node_modules/util-deprecate/History.md +16 -0
  2145. package/node_modules/util-deprecate/LICENSE +24 -0
  2146. package/node_modules/util-deprecate/README.md +53 -0
  2147. package/node_modules/util-deprecate/browser.js +67 -0
  2148. package/node_modules/util-deprecate/node.js +6 -0
  2149. package/node_modules/util-deprecate/package.json +27 -0
  2150. package/node_modules/which-typed-array/.editorconfig +20 -0
  2151. package/node_modules/which-typed-array/.github/FUNDING.yml +12 -0
  2152. package/node_modules/which-typed-array/.nycrc +13 -0
  2153. package/node_modules/which-typed-array/CHANGELOG.md +287 -0
  2154. package/node_modules/which-typed-array/LICENSE +22 -0
  2155. package/node_modules/which-typed-array/README.md +70 -0
  2156. package/node_modules/which-typed-array/eslint.config.mjs +12 -0
  2157. package/node_modules/which-typed-array/index.d.ts +35 -0
  2158. package/node_modules/which-typed-array/index.js +135 -0
  2159. package/node_modules/which-typed-array/package.json +130 -0
  2160. package/node_modules/which-typed-array/test/index.js +105 -0
  2161. package/node_modules/which-typed-array/tsconfig.json +9 -0
  2162. package/node_modules/wrappy/LICENSE +15 -0
  2163. package/node_modules/wrappy/README.md +36 -0
  2164. package/node_modules/wrappy/package.json +29 -0
  2165. package/node_modules/wrappy/wrappy.js +33 -0
  2166. package/node_modules/xtend/.jshintrc +30 -0
  2167. package/node_modules/xtend/LICENSE +20 -0
  2168. package/node_modules/xtend/README.md +32 -0
  2169. package/node_modules/xtend/immutable.js +19 -0
  2170. package/node_modules/xtend/mutable.js +17 -0
  2171. package/node_modules/xtend/package.json +55 -0
  2172. package/node_modules/xtend/test.js +103 -0
  2173. package/package.json +32 -18
  2174. package/npm-shrinkwrap.json +0 -608
@@ -0,0 +1,2883 @@
1
+ # ibm_db API Documentation
2
+
3
+ ## Database APIs
4
+
5
+ **APIs for creating and dropping Database using node.js application**
6
+ * [.createDbSync(dbName, connectionString, [options])](#-ibmdb-createdbsyncdbname-connectionstring--options)
7
+ * [.dropDBSync(dbName, connectionString)](#-ibmdb-dropdbsyncdbname-connectionstring--options)
8
+
9
+ **Global (ibmdb) APIs**
10
+
11
+ * [.open(connectionString [, options] [, callback])](#-1-ibmdb-openconnectionstring-options-callback)
12
+ * [.openSync(connectionString [,options])](#-2-ibmdb-opensyncconnectionstring-options)
13
+ * [.debug(value)](#-57-ibmdb-debugvalue)
14
+
15
+ **Database APIs**
16
+ * [.query(sqlQuery [, bindingParameters] [, callback])](#-3-database-querysqlquery--bindingparameters--callback)
17
+ * [.querySync(sqlQuery [, bindingParameters])](#-4-database-querysyncsqlquery--bindingparameters)
18
+ * [.queryStream(sqlQuery [, bindingParameters])](#-5-database-querystreamsqlquery--bindingparameters)
19
+ * [.queryResult(sqlQuery, [, bindingParameters] [, callback])](#-6-database-queryresultsqlquery--bindingparameters--callback)
20
+ * [.queryResultSync(sqlQuery [, bindingParameters])](#-7-database-queryresultsyncsqlquery--bindingparameters)
21
+ * [.close([callback])](#-8-database-closecallback)
22
+ * [.closeSync()](#-9-database-closesync)
23
+ * [.prepare(sql [, callback])](#-10-database-preparesql--callback)
24
+ * [.prepareSync(sql)](#-11-database-preparesyncsql)
25
+ * [.beginTransaction([callback])](#-50-database-begintransactioncallback)
26
+ * [.beginTransactionSync()](#-51-database-begintransactionsync)
27
+ * [.commitTransaction([callback])](#-52-database-committransactioncallback)
28
+ * [.commitTransactionSync()](#-53-database-committransactionsync)
29
+ * [.rollbackTransaction([callback])](#-54-database-rollbacktransactioncallback)
30
+ * [.rollbackTransactionSync()](#-55-database-rollbacktransactionsync)
31
+ * [.setIsolationLevel(isolationLevel)](#-56-database-setisolationlevelisolationlevel)
32
+ * [.executeFileSync(sqlFile, [delimiter], [outputFile])](#-58-database-executefilesyncsqlfile-delimiteroutputfile)
33
+ * [.executeFile(sqlFile, [delimiter], [outputFile])](#-59-database-executefilesqlfile-delimiter-outputfile)
34
+ * [.setAttr(attributeName, value [, callback])](#-60-database-setattrattributename-value--callback)
35
+ * [.setAttrSync(attributeName, value)](#-61-database-setattrsyncattributename-value)
36
+ * [.getInfo(infoType, [infoLength] [, callback])](#-62-database-getinfoinfotype-infolength--callback)
37
+ * [.getInfoSync(infoType, [infoLength])](#-63-database-getinfosyncinfotype-infolength)
38
+ * [.getTypeInfo(dataType [, callback])](#-64-database-gettypeinfodatatype--callback)
39
+ * [.getTypeInfoSync(dataType)](#-65-database-gettypeinfosyncdatatype)
40
+ * [.getFunctions(functionId, callback)](#-66-database-getfunctionsfunctionid-callback)
41
+ * [.getFunctionsSync(functionId)](#-67-database-getfunctionssyncfunctionid)
42
+ * [.cancel(statement [, callback])](#-68-database-cancelstatement--callback)
43
+ * [.cancelSync(statement)](#-69-database-cancelsyncstatement)
44
+
45
+ **ODBCStatement APIs**
46
+ * [.bind(bindingParameters [, callback])](#-12-odbcstatement-bindbindingparameters--callback)
47
+ * [.bindSync(bindingParameters)](#-13-odbcstatement-bindsyncbindingparameters)
48
+ * [.execute([bindingParameters] [, callback])](#-14-odbcstatement-executebindingparameters--callback)
49
+ * [.executeSync([bindingParameters])](#-15-odbcstatement-executesyncbindingparameters)
50
+ * [.executeNonQuery([bindingParameters] [, callback])](#-16-odbcstatement-executenonquerybindingparameters--callback)
51
+ * [.executeNonQuerySync([bindingParameters])](#-17-odbcstatement-executenonquerysyncbindingparameters)
52
+ * [.close([closeOption] [, callback])](#-18-odbcstatement-closecloseoption--callback)
53
+ * [.closeSync([closeOption])](#-19-odbcstatement-closesynccloseoption)
54
+ * [.primaryKeys(catalog, schema, table [, callback])](#-20-odbcstatement-primarykeyscatalog-schema-table--callback)
55
+ * [.primaryKeysSync(catalog, schema, table)](#-21-odbcstatement-primarykeyssynccatalog-schema-table)
56
+ * [.foreignKeys(pkCatalog, pkSchema, pkTable, fkCatalog, fkSchema, fkTable [, callback])](#-22-odbcstatement-foreignkeyspkcatalog-pkschema-pktable-fkcatalog-fkschema-fktable--callback)
57
+ * [.foreignKeysSync(pkCatalog, pkSchema, pkTable, fkCatalog, fkSchema, fkTable)](#-23-odbcstatement-foreignkeyssyncpkcatalog-pkschema-pktable-fkcatalog-fkschema-fktable)
58
+ * [.procedures(catalog, schema, procedure [, callback])](#-24-odbcstatement-procedurescatalog-schema-procedure--callback)
59
+ * [.proceduresSync(catalog, schema, procedure)](#-25-odbcstatement-proceduressynccatalog-schema-procedure)
60
+ * [.procedureColumns(catalog, schema, procedure, column [, callback])](#-26-odbcstatement-procedurecolumnscatalog-schema-procedure-column--callback)
61
+ * [.procedureColumnsSync(catalog, schema, procedure, column)](#-27-odbcstatement-procedurecolumnssynccatalog-schema-procedure-column)
62
+ * [.paramData([callback])](#-28-odbcstatement-paramdatacallback)
63
+ * [.paramDataSync()](#-29-odbcstatement-paramdatasync)
64
+ * [.putData(data [, length] [, callback])](#-30-odbcstatement-putdatadata--length--callback)
65
+ * [.putDataSync(data [, length])](#-31-odbcstatement-putdatasyncdata--length)
66
+ * [.executeForStreaming([callback])](#-32-odbcstatement-executeforstreamingcallback)
67
+ * [.executeForStreamingSync()](#-33-odbcstatement-executeforstreamingsync)
68
+ * [.executeWithStream(streamParamIndex, stream [, callback])](#-34-odbcstatement-executewithstreamstreamparamindex-stream--callback)
69
+ * [.cancel([callback])](#-70-odbcstatement-cancelcallback)
70
+ * [.cancelSync()](#-71-odbcstatement-cancelsync)
71
+
72
+ **ODBCResult APIs**
73
+ * [.fetch([option] [, callback])](#-35-odbcresult-fetchoption--callback)
74
+ * [.fetchSync([option])](#-36-odbcresult-fetchsyncoption)
75
+ * [.fetchAll([option] [, callback])](#-37-odbcresult-fetchalloption--callback)
76
+ * [.fetchAllSync([option])](#-38-odbcresult-fetchallsyncoption)
77
+ * [.fetchN(count [, option] [, callback])](#-39-odbcresult-fetchncount--option--callback)
78
+ * [.fetchNSync(count [, option])](#-40-odbcresult-fetchnsynccount--option)
79
+ * [.getData([colNum] [, size] [, callback])](#-41-odbcresult-getdatacolnum--size--callback)
80
+ * [.getDataSync(colNum, size)](#-42-odbcresult-getdatasynccolnum-size)
81
+ * [.close([closeOption] [, callback])](#-43-odbcresult-closecloseoption--callback)
82
+ * [.closeSync([closeOption])](#-44-odbcresult-closesynccloseoption)
83
+ * [.getColumnNamesSync()](#-45-odbcresult-getcolumnnamessync)
84
+ * [.getColumnMetadataSync()](#-46-odbcresult-getcolumnmetadatasync)
85
+ * [.getSQLErrorSync()](#-47-odbcresult-getsqlerrorsync)
86
+ * [.bindFileToCol(colNum, filePath [, fileOption] [, callback])](#-48-odbcresult-bindfiletocolcolnum-filepath--fileoption--callback)
87
+ * [.bindFileToColSync(colNum, filePath [, fileOption])](#-49-odbcresult-bindfiletocolsynccolnum-filepath--fileoption)
88
+
89
+
90
+ [**Connection Pooling APIs**](#connection-pooling-apis)
91
+ * [.open(connectionString [, callback])](#-1-pool-openconnectionstring--callback)
92
+ * [.openSync(connectionString)](#-2-pool-opensyncconnectionstring)
93
+ * [.close([callback])](#-3-pool-closecallback)
94
+ * [.closeSync()](#-4-pool-closesync)
95
+ * [.init(N, connStr)](#-5-pool-initn-connstr)
96
+ * [.initAsync(N, connStr [, callback])](#-6-pool-initasyncn-connstr--callback)
97
+ * [.setMaxPoolSize(N)](#-7-pool-setmaxpoolsizen)
98
+
99
+ ## [**bindingParameters**](#bindingparameters)
100
+
101
+ ## [**CALL Statement**](#call-statement)
102
+
103
+
104
+ ### <a name="openApi"></a> 1) (ibmdb) .open(connectionString [, options] [, callback])
105
+
106
+ Open a connection to a database.
107
+
108
+ * **connectionString** - The connection string for your database.
109
+ * For distributed platforms, the connection string is typically defined as:
110
+ `DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=passwd`
111
+ * For z/OS, the ODBC driver makes both local and remote connections using DSN, UID and PWD.
112
+ The connection string is typically defined as: `DSN=dbname;UID=username;PWD=passwd`. To
113
+ connect to remote Db2 databases, the connectivity information will need to be set up in the
114
+ Communications Database (CDB). Please refer to scenario 1 in the following
115
+ [article](https://www.ibm.com/developerworks/data/library/techarticle/0310chong/0310chong.html).
116
+ For a complete list of supported configuration keywords,
117
+ please refer to [CLI/ODBC configuration keywords](https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.cli.doc/doc/r0007964.html)
118
+ * Selecting default schema is also supported using `CURRENTSCHEMA=schemaname;` (or CurrentSchema)
119
+ * **options** - _OPTIONAL_ - Object type. Can be used to avoid multiple
120
+ loading of native ODBC library for each call of `.open`. Also, can be used
121
+ to pass connectTimeout value and systemNaming(true/false) for i5/OS server.
122
+ * **callback** - _OPTIONAL_ - `callback (err, conn)`. If callback is not provided, a Promise will be returned.
123
+
124
+ ```javascript
125
+ const ibmdb = require("ibm_db")
126
+ , connStr = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=passwd";
127
+
128
+ ibmdb.open(connStr, function (err, conn) {
129
+ if (err)
130
+ {
131
+ console.log(err);
132
+ return;
133
+ }
134
+ conn.query("select 1 from sysibm.sysdummy1", function (err1, rows) {
135
+ if (err1) console.log(err1);
136
+ else console.log(rows);
137
+ conn.close(function(err2) {
138
+ if(err2) console.log(err2);
139
+ });
140
+ });
141
+ });
142
+
143
+ ```
144
+
145
+ * <a name="SSLConnection"></a> **Secure Database Connection using SSL/TSL** - ibm_db supports secure connection to Database Server over SSL same as ODBC/CLI driver. If you have SSL Certificate from server or an CA signed certificate, just use it in connection string as below:
146
+
147
+ ```javascript
148
+ connStr = "DATABASE=database;HOSTNAME=hostname;PORT=port;Security=SSL;SSLServerCertificate=<cert.arm_file_path>;PROTOCOL=TCPIP;UID=username;PWD=passwd;";
149
+ ```
150
+ > Note the two extra keywords **Security** and **SSLServerCertificate** used in connection string. `SSLServerCertificate` should point to the SSL Certificate from server or an CA signed certificate. Also, `PORT` must be `SSL` port and not the TCP/IP port. Make sure Db2 server is configured to accept connection on SSL port else `ibm_db` will throw SQL30081N error.
151
+
152
+ > Value of `SSLServerCertificate` keyword must be full path of a certificate file generated for client authentication.
153
+ It normally has `*.arm` or `*.cert` or `*.pem` extension. `ibm_db` do not support `*.jks` format file as it is not a
154
+ certificate file but a Java KeyStore file, extract certificate from it using keytool and then use the cert file.
155
+
156
+ > `ibm_db` uses IBM ODBC/CLI Driver for connectivity and it do not support a `*.jks` file as keystoredb as `keystore.jks` is meant for Java applications.
157
+ Note that `*.jks` file is a `Java Key Store` file and it is not an SSL Certificate file. You can extract SSL certificate from JKS file using below `keytool` command:
158
+ ```
159
+ keytool -exportcert -alias your_certificate_alias -file client_cert.cert -keystore keystore.jks
160
+ ```
161
+ Now, you can use the generated `client_cert.cert` as the value of `SSLServerCertificate` in connection string.
162
+
163
+ > `ibm_db` supports only ODBC/CLI Driver keywords in connection string: https://www.ibm.com/docs/en/db2/11.5?topic=odbc-cliodbc-configuration-keywords
164
+
165
+ > Do not use keywords like `sslConnection=true` in connection string as it is a JDBC connection keyword and ibm_db
166
+ ignores it. Corresponding ibm_db connection keyword for `sslConnection` is `Security` hence, use `Security=SSL;` in
167
+ connection string instead.
168
+
169
+ * To connect to dashDB in IBM Cloud, use below connection string:
170
+ ```
171
+ connStr = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=passwd;Security=SSL";
172
+ ```
173
+ > We just need to add **Security=SSL** in connection string to have a secure connection against Db2 server in IBM Cloud.
174
+
175
+ **Note:** You can also create a KeyStore DB using GSKit command line tool and use it in connection string along with other keywords as documented in [DB2 Infocenter](http://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.admin.sec.doc/doc/t0053518.html).
176
+
177
+ If you have created a KeyStore DB using GSKit using password or you have got *.kdb file with *.sth file, use
178
+ connection string in below format:
179
+ ```
180
+ connStr = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=db2pwd;" +
181
+ "Security=SSL;SslClientKeystoredb=C:/client.kdb;SSLClientKeystash=C:/client.sth;";
182
+ OR,
183
+ connStr = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=db2pwd;" +
184
+ "Security=SSL;SslClientKeystoredb=C:/client.kdb;SSLClientKeystoreDBPassword=kdbpasswd;";
185
+ ```
186
+
187
+ > If you have downloaded `IBMCertTrustStore` from IBM site, ibm_db will not work with it; you need to
188
+ download `Secure Connection Certificates.zip` file that comes for IBM DB2 Command line tool(CLP).
189
+ `Secure Connection Certificates.zip` has *.kdb and *.sth files that should be used as the value of
190
+ `SSLClientKeystoreDB` and `SSLClientKeystash` in connection string.
191
+
192
+ ### <a name="openSyncApi"></a> 2) (ibmdb) .openSync(connectionString [,options])
193
+
194
+ Synchronously open a connection to a database.
195
+
196
+ * **connectionString** - The connection string for your database
197
+ * **options** - _OPTIONAL_ - Object type. Can be used to avoid multiple
198
+ loading of native ODBC library for each call of `.open`. Also, can be used
199
+ to pass connectTimeout value and systemNaming value for i5/OS server.
200
+
201
+ ```javascript
202
+ const ibmdb = require("ibm_db"),
203
+ connString = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;";
204
+
205
+ try {
206
+ const option = { connectTimeout : 40, systemNaming : true };// Connection Timeout after 40 seconds.
207
+ const conn = ibmdb.openSync(connString, option);
208
+ conn.query("select * from customers fetch first 10 rows only", function (err, rows) {
209
+ if (err) {
210
+ console.log(err);
211
+ } else {
212
+ console.log(rows);
213
+ }
214
+ conn.close();
215
+ });
216
+ } catch (e) {
217
+ console.log(e.message);
218
+ }
219
+ ```
220
+
221
+ ### <a name="queryApi"></a> 3) (Database) .query(sqlQuery [, bindingParameters] [, callback])
222
+
223
+ Issue an asynchronous SQL query to the database which is currently open.
224
+
225
+ * **sqlQuery** - The SQL query to be executed or an Object in the form {"sql": sqlQuery, "params":bindingParameters, "noResults": noResultValue, "ArraySize": n}. noResults accepts only true or false values.
226
+ If true - query() will not return any result. "sql" field is mandatory in Object, others are _OPTIONAL_.
227
+ For **Column-wise Array Insert**, `ArraySize` must be passed and sqlQuery must be an object. Check [test-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-array-insert.js) for example.
228
+ For **Row-wise Array Insert**, pass `rows` (array of row arrays) instead of `params` and `ArraySize`. Optionally pass `columns` for type metadata. Check [test-row-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-row-array-insert.js) for example.
229
+
230
+ * **bindingParameters** - _OPTIONAL_ - An array of values that will be bound to
231
+ any '?' characters in `sqlQuery`. bindingParameters in sqlQuery Object takes precedence over it.
232
+
233
+ * **callback** - _OPTIONAL_ - `callback (err, rows, sqlca)`. If no callback is provided, query() will return a Promise.
234
+
235
+ ```javascript
236
+ const ibmdb = require("ibm_db")
237
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;"
238
+ ;
239
+
240
+ ibmdb.open(cn, function (err, conn) {
241
+ if (err) {
242
+ return console.log(err);
243
+ }
244
+
245
+ // we now have an open connection to the database, so lets get some data.
246
+ // Execute multiple query and get multiple result sets.
247
+ // In case of multiple resultset, query will return an array of result sets.
248
+ conn.query("select 1 from sysibm.sysdummy1;select 2 from sysibm.sysdummy1;" +
249
+ "select 3 from sysibm.sysdummy1", function (err, rows, sqlca)
250
+ {
251
+ if (err) {
252
+ console.log(err);
253
+ } else {
254
+ console.log(rows); // rows = [ [ { '1': 1 } ], [ { '1': 2 } ], [ { '1': 3 } ] ]
255
+ }
256
+ });
257
+ });
258
+ ```
259
+ Example for Array Insert:
260
+ ```javascript
261
+ const param1 = {ParamType:"ARRAY", DataType:1, Data:[4,5,6,7,8]};
262
+ const param2 = {ParamType:"ARRAY", DataType:"DOUBLE", Data:[4.1,5.3,6.14,7,8.3]};
263
+ const param3 = {ParamType:"ARRAY", DataType:1, Data:[0,1,false,true,0]};
264
+ const namearr = ["Row 10", "Row 203456", "Row 30", "Row 40", "Last Row"];
265
+
266
+ const param4 = {ParamType:"ARRAY", DataType:1, Data:namearr, Length:8};
267
+ // *** "Length" is optional. Default value is the max length among all
268
+ // members of the Array. Use "Length: <customLen>" to override if needed.
269
+
270
+ const queryOptions = {sql:"insert into arrtab values (?, ?, ?, ?)",
271
+ params: [param1, param2, param3, param4],
272
+ ArraySize:5};
273
+
274
+ conn.querySync("create table arrtab (c1 int, c2 double, c3 boolean, c4 varchar(10))");
275
+ conn.query(queryOptions, function(err, result) {
276
+ if(err) console.log(err);
277
+ else {
278
+ const data = conn.querySync("select * from arrtab");
279
+ console.log("\nSelected data for table ARRTAB =\n", data);
280
+ }
281
+ });
282
+ ```
283
+ Example for Row-wise Array Insert:
284
+ ```javascript
285
+ // Row-wise array insert: pass data as rows instead of column-wise arrays.
286
+ // Each element of the "rows" array is one row of values.
287
+ // The driver automatically transposes rows to column-wise ARRAY parameters.
288
+ conn.querySync("create table rowtab (c1 int, c2 double, c3 varchar(10))");
289
+
290
+ const rowOptions = {sql: "insert into rowtab values (?, ?, ?)",
291
+ rows: [
292
+ [1, 10.5, "Row 1"],
293
+ [2, 20.3, "Row 2"],
294
+ [3, 30.7, "Row 3"]
295
+ ]};
296
+
297
+ conn.query(rowOptions, function(err, result) {
298
+ if(err) console.log(err);
299
+ else {
300
+ const data = conn.querySync("select * from rowtab");
301
+ console.log("\nSelected data for table ROWTAB =\n", data);
302
+ }
303
+ });
304
+
305
+ // Row-wise insert with columns metadata for type hints:
306
+ const rowOptions2 = {sql: "insert into rowtab values (?, ?, ?)",
307
+ columns: [
308
+ {DataType: "INTEGER"},
309
+ {DataType: "DOUBLE"},
310
+ {DataType: "VARCHAR", Length: 10}
311
+ ],
312
+ rows: [
313
+ [4, 40.1, "Row 4"],
314
+ [5, 50.2, "Row 5"]
315
+ ]};
316
+ conn.query(rowOptions2, function(err, result) {
317
+ if(err) console.log(err);
318
+ });
319
+ ```
320
+
321
+ ### <a name="querySyncApi"></a> 4) (Database) .querySync(sqlQuery [, bindingParameters])
322
+
323
+ Synchronously issue a SQL query to the database that is currently open.
324
+
325
+ * **sqlQuery** - The SQL query to be executed or an Object in the form {"sql": sqlQuery, "params":bindingParameters, "noResults": noResultValue, "ArraySize": n}. noResults accepts only true or false values.
326
+ If true - query() will not return any result. If noResults is true for CALL statement, querySync returns only OutParams. "sql" field is mandatory in Object, others are optional.
327
+ For **Column-wise Array Insert**, `ArraySize` must be passed and sqlQuery must be an object. Check [test-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-array-insert.js) for example.
328
+ For **Row-wise Array Insert**, pass `rows` (array of row arrays) instead of `params` and `ArraySize`. Optionally pass `columns` for type metadata. Check [test-row-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-row-array-insert.js) for example.
329
+
330
+ * **bindingParameters** - _OPTIONAL_ - An array of values that will be bound to
331
+ any '?' characters in `sqlQuery`.
332
+
333
+ ```javascript
334
+ const ibmdb = require("ibm_db")
335
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
336
+
337
+ ibmdb.open(cn, function(err, conn) {
338
+
339
+ //blocks until the query is completed and all data has been acquired
340
+ const rows = conn.querySync("select * from customers fetch first 10 rows only");
341
+
342
+ console.log(rows);
343
+ });
344
+ ```
345
+ Example for Array Insert:
346
+ ```javascript
347
+ const param1 = {ParamType:"ARRAY", DataType:1, Data:[4,5,6,7,8]};
348
+ const param2 = {ParamType:"ARRAY", DataType:"DOUBLE", Data:[4.1,5.3,6.14,7,8.3]};
349
+ const param3 = {ParamType:"ARRAY", DataType:1, Data:[0,1,false,true,0]};
350
+ const namearr = ["Row 10", "Row 20", "Row 30", "Row 40", "Last Row"];
351
+
352
+ const param4 = {ParamType:"ARRAY", DataType:1, Data:namearr, Length:8};
353
+ // *** "Length" is optional. Default value is the max length among all
354
+ // members of the Array. Use "Length: <customLen>" to override if needed.
355
+
356
+ const queryOptions = {sql:"insert into arrtab values (?, ?, ?, ?)",
357
+ params: [param1, param2, param3, param4],
358
+ ArraySize:5};
359
+
360
+ conn.querySync("create table arrtab (c1 int, c2 double, c3 boolean, c4 varchar(10))");
361
+ conn.querySync(queryOptions);
362
+ ```
363
+ Example for Row-wise Array Insert:
364
+ ```javascript
365
+ // Row-wise array insert: pass data as rows instead of column-wise arrays.
366
+ conn.querySync("create table rowtab (c1 int, c2 double, c3 varchar(10))");
367
+
368
+ const rowOptions = {sql: "insert into rowtab values (?, ?, ?)",
369
+ rows: [
370
+ [1, 10.5, "Row 1"],
371
+ [2, 20.3, "Row 2"],
372
+ [3, 30.7, "Row 3"]
373
+ ]};
374
+ conn.querySync(rowOptions);
375
+ const data = conn.querySync("select * from rowtab");
376
+ console.log(data);
377
+
378
+ // With columns metadata:
379
+ const rowOptions2 = {sql: "insert into rowtab values (?, ?, ?)",
380
+ columns: [
381
+ {DataType: "INTEGER"},
382
+ {DataType: "DOUBLE"},
383
+ {DataType: "VARCHAR", Length: 10}
384
+ ],
385
+ rows: [
386
+ [4, 40.1, "Row 4"],
387
+ [5, 50.2, "Row 5"]
388
+ ]};
389
+ conn.querySync(rowOptions2);
390
+ ```
391
+
392
+ Row-wise array insert using `ibmdb.convertRowsToColumns` with prepare/bind/execute:
393
+ ```javascript
394
+ // For prepare/bind/execute pattern, use ibmdb.convertRowsToColumns()
395
+ // to convert rows to column-wise ARRAY params manually.
396
+ const converted = ibmdb.convertRowsToColumns(
397
+ [[10, "ten"], [20, "twenty"], [30, "thirty"]]
398
+ );
399
+ const stmt = conn.prepareSync("insert into mytab values (?, ?)");
400
+ stmt.bindSync(converted.params);
401
+ stmt.setAttrSync(ibmdb.SQL_ATTR_PARAMSET_SIZE, converted.ArraySize);
402
+ stmt.executeSync();
403
+ stmt.closeSync();
404
+ ```
405
+
406
+ ### <a name="queryStreamApi"></a> 5) (Database) .queryStream(sqlQuery [, bindingParameters])
407
+
408
+ Synchronously issue a SQL query to the database that is currently open and returns
409
+ a Readable stream. Application can listen for the events emitted by returned stream
410
+ and take action.
411
+
412
+ * **sqlQuery** - The SQL query to be executed or an Object in the form {"sql": sqlQuery, "params":bindingParameters, "noResults": noResultValue, "ArraySize": n}.
413
+ noResults accepts only true or false values. If true - query() will not return any result. "sql" field is mandatory in Object, others are optional.
414
+ For **Column-wise Array Insert**, `ArraySize` must be passed and sqlQuery must be an object. Check [test-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-array-insert.js) for example.
415
+ For **Row-wise Array Insert**, pass `rows` instead of `params` and `ArraySize`. Check [test-row-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-row-array-insert.js) for example.
416
+
417
+ * **bindingParameters** - _OPTIONAL_ - An array of values that will be bound to
418
+ any '?' characters in `sqlQuery`.
419
+
420
+ ```javascript
421
+ const ibmdb = require("ibm_db")
422
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
423
+
424
+ ibmdb.open(cn, function(err, conn)
425
+ {
426
+ const stream = conn.queryStream("select 1 from sysibm.sysdummy1");
427
+
428
+ stream.once('data', function (result) {
429
+ console.log(result);
430
+ }).once('error', function (err) {
431
+ conn.closeSync();
432
+ throw err;
433
+ }).once('end', function () {
434
+ conn.close(function(){ console.log("done.") });
435
+ });
436
+ });
437
+ ```
438
+
439
+ ### <a name="queryResultApi"></a> 6) (Database) .queryResult(sqlQuery, [, bindingParameters] [, callback])
440
+
441
+ Issue an asynchronous SQL query to the database which is currently open and return `(err, result, outparams)` to callback function. `result` is ODBCResult object. Using `result`, call one of the `result.fetch*` APIs to retrieve rows. Call `result.getColumnMetadataSync()` to get meta data info. Execute `result.closeSync()` once done with the `result` object.
442
+ `query` returns all the rows on call, but `queryResult` returns an `ODBCResult` object and rows need to be fetched by the caller.
443
+
444
+ * **sqlQuery** - The SQL query to be executed or an Object in the form {"sql": sqlQuery, "params":bindingParameters, "noResults": noResultValue, "ArraySize": n}.
445
+ noResults accepts only true or false values. If true - queryResult() will not return any result object and value of result will be null.
446
+ "sql" field is mandatory in Object, others are _OPTIONAL_.
447
+ For **Column-wise Array Insert**, `ArraySize` must be passed and sqlQuery must be an object. Check [test-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-array-insert.js) for example.
448
+ For **Row-wise Array Insert**, pass `rows` instead of `params` and `ArraySize`. Check [test-row-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-row-array-insert.js) for example.
449
+
450
+ * **bindingParameters** - _OPTIONAL_ - An array of values that will be bound to
451
+ any ? characters (called parameter marker) in `sqlQuery`. bindingParameters in sqlQuery Object takes precedence over it.
452
+
453
+ * **callback** - _OPTIONAL_ - `callback (err, result, outparams)`.
454
+ outparams is returned only for CALL statement with OUT parameters. Any resultset expected from SP should get retrieved using the `result.fetch*` apis. If `callback` is not provided, queryResult() will return a Promise of `[result, outparams]`. `result` is an ODBCResult object that can be used to fetch rows.
455
+
456
+ ```javascript
457
+ const ibmdb = require("ibm_db")
458
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;"
459
+ ;
460
+ ibmdb.open(cn, function (err, conn) {
461
+ if (err) return console.log(err);
462
+ const query = 'select creator, name from sysibm.systables where 1 = ?';
463
+ conn.queryResult(query, [1], function (err, result) {
464
+ if(err) { console.log(err); }
465
+ else {
466
+ console.log("data = ", result.fetchAllSync());
467
+ console.log("metadata = ", result.getColumnMetadataSync());
468
+ result.closeSync(); // Must call in application.
469
+ conn.closeSync();
470
+ console.log("Executed ", ++loop, " times.");
471
+ }
472
+ });
473
+ });
474
+ ```
475
+ **Note:** Once you are done with the `result` object, you must close it to avoid an error when the Javascript garbage collector frees it. Not calling `result.close()` or `result.closeSync()` may cause an invalid handle error in the application or no data.
476
+
477
+ ### <a name="queryResultSyncApi"></a> 7) (Database) .queryResultSync(sqlQuery [, bindingParameters])
478
+
479
+ Synchronously issue a SQL query to the database that is currently open and return a result object to the callback function on success. In the case of CALL statement with OUT parameters, it returns an Array of `[result, outparams]`. `result` is an ODBCResult object that can be used to fetch rows.
480
+
481
+ `querySync` returns all the rows on call, but `queryResultSync` returns an `ODBCResult` object and rows need to be fetched by the caller.
482
+
483
+ * **sqlQuery** - The SQL query to be executed or an Object in the form {"sql": sqlQuery, "params":bindingParameters, "noResults": noResultValue, "ArraySize": n}.
484
+ noResults accepts only true or false values. If true - the value of `result` will be null. "sql" field is mandatory in Object, others are optional.
485
+ For **Column-wise Array Insert**, `ArraySize` must be passed and sqlQuery must be an object. Check [test-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-array-insert.js) for example.
486
+ For **Row-wise Array Insert**, pass `rows` instead of `params` and `ArraySize`. Check [test-row-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-row-array-insert.js) for example.
487
+
488
+ * **bindingParameters** - _OPTIONAL_ - An array of values that will be bound to
489
+ any '?' characters in `sqlQuery`.
490
+
491
+ ```javascript
492
+ const ibmdb = require("ibm_db")
493
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
494
+
495
+ ibmdb.open(cn, function(err, conn) {
496
+ if (err) return console.log(err);
497
+ const query = 'select creator, name from sysibm.systables';
498
+ const result = conn.queryResultSync(query);
499
+ console.log("data = ", result.fetchAllSync());
500
+ console.log("metadata = ", result.getColumnMetadataSync());
501
+ result.closeSync(); // Must call to free to avoid application error.
502
+ conn.closeSync();
503
+ });
504
+ ```
505
+ **Note:** Once you are done with the `result` object, you must close it to avoid an error when the Javascript garbage collector frees it. Not calling `result.close()` or `result.closeSync()` may cause an invalid handle error in the application or no data.
506
+
507
+ In case of a CALL statement with OUT params, check whether result[0] is an object or not.
508
+
509
+ ### <a name="closeApi"></a> 8) (Database) .close([callback])
510
+
511
+ Close the currently opened database.
512
+
513
+ * **callback** - _OPTIONAL_ - `callback (err)`. If callback is not provided, a Promise will be returned.
514
+
515
+ ```javascript
516
+ const ibmdb = require("ibm_db")
517
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
518
+
519
+ ibmdb.open(cn, function (err, conn) {
520
+ if (err) {
521
+ return console.log(err);
522
+ }
523
+
524
+ //we now have an open connection to the conn
525
+ conn.close(function (err) {
526
+ console.log("the database connection is now closed");
527
+ });
528
+ });
529
+ ```
530
+
531
+ ### <a name="closeSyncApi"></a> 9) (Database) .closeSync()
532
+
533
+ Synchronously close the currently opened database.
534
+
535
+ ```javascript
536
+ const ibmdb = require("ibm_db")
537
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
538
+
539
+ ibmdb.open(cn, function(err, conn) {
540
+ if (err) return console.log(err);
541
+
542
+ //Blocks until the connection is closed
543
+ conn.closeSync();
544
+ });
545
+
546
+ const conn = ibmdb.openSync(connString, option);
547
+ conn.closeSync();
548
+ ```
549
+
550
+ ### <a name="prepareApi"></a> 10) (Database) .prepare(sql [, callback])
551
+
552
+ Prepare a statement for execution.
553
+
554
+ * **sql** - SQL string to prepare
555
+ * **callback** - _OPTIONAL_ - `callback (err, stmt)`. If callback is not provided, a Promise will be returned.
556
+
557
+ Returns an `ODBCStatement` object.
558
+
559
+ ```javascript
560
+ const ibmdb = require("ibm_db")
561
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
562
+
563
+ ibmdb.open(cn,function(err, conn){
564
+ conn.prepare("insert into hits (col1, col2) VALUES (?, ?)", function (err, stmt) {
565
+ if (err) {
566
+ //could not prepare for some reason
567
+ console.log(err);
568
+ return conn.closeSync();
569
+ }
570
+
571
+ //Bind and Execute the statement asynchronously
572
+ stmt.execute(['something', 42], function (err, result) {
573
+ if( err ) console.log(err);
574
+ else result.closeSync();
575
+
576
+ //Close the connection
577
+ conn.close(function(err){});
578
+ });
579
+ });
580
+ });
581
+ ```
582
+
583
+ ### <a name="prepareSyncApi"></a> 11) (Database) .prepareSync(sql)
584
+
585
+ Synchronously prepare a statement for execution.
586
+
587
+ * **sql** - SQL string to prepare
588
+
589
+ Returns an `ODBCStatement` object.
590
+
591
+ ```javascript
592
+ const ibmdb = require("ibm_db")
593
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
594
+
595
+ ibmdb.open(cn,function(err,conn){
596
+ const stmt = conn.prepareSync("select * from employee where empid = ?");
597
+
598
+ //Bind and Execute the statement asynchronously
599
+ stmt.execute([142], function (err, result) {
600
+ data = result.fetchAllSync();
601
+ console.log(data);
602
+ result.closeSync();
603
+ stmt.closeSync();
604
+
605
+ //Close the connection
606
+ conn.close(function(err){});
607
+ });
608
+ });
609
+ ```
610
+
611
+ ### <a name="bindApi"></a> 12) (ODBCStatement) .bind(bindingParameters [, callback])
612
+
613
+ Binds the parameters for the prepared statement.
614
+
615
+ * **bindingParameters** - An array of values that will be bound to any '?' characters in prepared sql statement. Values can be array or object itself. Check [bindingParameters](#bindParameters) doc for detail.
616
+ * **callback** - _OPTIONAL_ - `callback (err)`. If callback is not provided, a Promise will be returned.
617
+
618
+ * For **ARRAY INSERT** - Each value should be an array of size passed as `ArraySize` in query() APIs or equal to the value of attribute SQL_ATTR_PARAMSET_SIZE set using setAttr() APIs for prepared statement.
619
+
620
+ ### <a name="bindSyncApi"></a> 13) (ODBCStatement) .bindSync(bindingParameters)
621
+
622
+ Binds the parameters for the prepared statement synchronously. If `bindSync()` is used, then there is no need to pass `bindingParameters` to the next `execute()` or `executeSync()` statement.
623
+
624
+ * **bindingParameters** - An array of values that will be bound to any '?' characters in the prepared SQL statement. Values can be an array or object. See [bindingParameters](#bindParameters) for detail.
625
+
626
+ * For **ARRAY INSERT** - Each value should be an array of size passed as `ArraySize` in query() APIs or equal to the value of attribute SQL_ATTR_PARAMSET_SIZE set using setAttr() APIs for prepared statement.
627
+
628
+ ### <a name="executeApi"></a> 14) (ODBCStatement) .execute([bindingParameters] [, callback])
629
+
630
+ Execute a prepared statement.
631
+
632
+ * **bindingParameters** - OPTIONAL - An array of values that will be bound to any '?' characters in prepared sql statement. Values can be an array or object. See [bindingParameters](#bindParameters) for detail.
633
+ * **callback** - _OPTIONAL_ - `callback (err, result, outparams)`. If callback is not provided, a Promise will be returned.
634
+ outparams - will have result for INOUT and OUTPUT parameters of Stored Procedure.
635
+ * For **ARRAY INSERT** - Statement attribute SQL_ATTR_PARAMSET_SIZE must be set before calling execute() API.
636
+
637
+ ```javascript
638
+ const ibmdb = require("ibm_db")
639
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
640
+
641
+ ibmdb.open(cn,function(err, conn){
642
+ conn.querySync("create table mytab (id int, photo BLOB(30K))");
643
+ conn.prepare("insert into mytab (id, photo) VALUES (?, ?)", function (err, stmt) {
644
+ if (err) {
645
+ //could not prepare for some reason
646
+ console.log(err);
647
+ return conn.closeSync();
648
+ }
649
+
650
+ // Create params object
651
+ const img = {ParamType:"FILE", DataType: "BLOB", "Data": "smile.jpg"};
652
+
653
+ //Bind and Execute the statement asynchronously
654
+ stmt.execute([ 42, img ], function (err, result) {
655
+ if( err ) console.log(err);
656
+ else result.closeSync();
657
+
658
+ //Close the connection
659
+ stmt.close(function(err){
660
+ if(err){
661
+ console.log(err)
662
+ }
663
+ conn.close(function(err){});
664
+ });
665
+ });
666
+ });
667
+ });
668
+ ```
669
+
670
+ ### <a name="executeSyncApi"></a> 15) (ODBCStatement) .executeSync([bindingParameters])
671
+
672
+ Execute a prepared statement synchronously.
673
+
674
+ * **bindingParameters** - OPTIONAL - An array of values that will be bound to any '?' characters in prepared sql statement. Values can be an array or object. See [bindingParameters](#bindParameters) for detail. Instead of passing bindingParameters to executeSync(), parameters can also be bound using the `bind()` and `bindSync()` APIs.
675
+ * For **ARRAY INSERT** - Statement attribute SQL_ATTR_PARAMSET_SIZE must be set before calling execute() API.
676
+
677
+ Returns an `ODBCResult` object. If the prepared statement is a stored procedure with INOUT or OUT parameters, executeSync() returns an array of two elements in the form [stmt, outparams]. The first element of the array is an `ODBCResult` object and second element is an `Array` of INOUT and OUTPUT parameters in sequence.
678
+
679
+ ```javascript
680
+ const ibmdb = require("ibm_db")
681
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
682
+
683
+ ibmdb.open(cn,function(err, conn){
684
+ const stmt = conn.prepareSync("select empname from emptable where empid = ?");
685
+
686
+ //Bind and Execute the statment asynchronously
687
+ const result = stmt.executeSync([142]);
688
+ const data = result.fetchAllSync({fetchMode:3}); // Fetch data in Array mode.
689
+ console.log(data);
690
+ result.closeSync();
691
+ stmt.closeSync();
692
+
693
+ //Close the connection
694
+ conn.close(function(err){});
695
+ });
696
+ ```
697
+
698
+ ### <a name="executeNonQueryApi"></a> 16) (ODBCStatement) .executeNonQuery([bindingParameters] [, callback])
699
+
700
+ Executes a non query prepared statement and returns the number of rows affected in a table by the statement.
701
+
702
+ * **bindingParameters** - OPTIONAL - An array of values that will be bound to any '?' characters in prepared sql statement. Values can be an array or object. See [bindingParameters](#bindParameters) for detail.
703
+ * **callback** - _OPTIONAL_ - `callback (err, affectedRowCount)`. If callback is not provided, a Promise will be returned.
704
+ * For **ARRAY INSERT** - Statement attribute SQL_ATTR_PARAMSET_SIZE must be set before calling execute() API.
705
+
706
+ It returns the number of rows in a table that were affected by an UPDATE, an INSERT, a DELETE, or a MERGE statement issued against the table, or a view based on the table. If no rows are affected, it returns -1.
707
+
708
+ ```javascript
709
+ const ibmdb = require("ibm_db")
710
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
711
+
712
+ ibmdb.open(cn,function(err, conn){
713
+ conn.querySync("create table mytab (id int, text varchar(30))");
714
+ conn.prepare("insert into mytab (id, text) VALUES (?, ?)", function (err, stmt) {
715
+ if (err) {
716
+ console.log(err);
717
+ return conn.closeSync();
718
+ }
719
+
720
+ //Bind and Execute the statment asynchronously
721
+ stmt.executeNonQuery([ 42, 'hello world' ], function (err, ret) {
722
+ if( err ) console.log(err);
723
+ else console.log("Affected rows = " + ret);
724
+
725
+ //Close the stmt and connection
726
+ stmt.close();
727
+ conn.close(function(err){});
728
+ });
729
+ });
730
+ });
731
+ ```
732
+
733
+ ### <a name="executeNonQuerySyncApi"></a> 17) (ODBCStatement) .executeNonQuerySync([bindingParameters])
734
+
735
+ Executes a non query prepared statement synchronously and returns the number of rows affected in a table by the statement.
736
+
737
+ * **bindingParameters** - OPTIONAL - An array of values that will be bound to any '?' characters in prepared sql statement. Values can be an array or object. See [bindingParameters](#bindParameters) for detail.
738
+ * For **ARRAY INSERT** - Statement attribute SQL_ATTR_PARAMSET_SIZE must be set before calling execute() API.
739
+
740
+ It returns the number of rows in a table that were affected by an UPDATE, an INSERT, a DELETE, or a MERGE statement issued against the table, or a view based on the table. If no rows are affected, it returns -1.
741
+
742
+ ```javascript
743
+ const ibmdb = require("ibm_db")
744
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
745
+
746
+ ibmdb.open(cn,function(err, conn){
747
+ conn.querySync("create table mytab (id int, text varchar(30))");
748
+ conn.prepare("insert into mytab (id, text) VALUES (?, ?)", function (err, stmt) {
749
+ if (err) {
750
+ console.log(err);
751
+ return conn.closeSync();
752
+ }
753
+
754
+ //Bind and Execute the statment asynchronously
755
+ const rowCount = stmt.executeNonQuerySync([ 42, 'hello world' ]);
756
+ console.log("Affected rows = " + rowCount);
757
+
758
+ //Close the stmt and connection
759
+ stmt.closeSync();
760
+ conn.closeSync();
761
+ });
762
+ });
763
+ ```
764
+
765
+ ### <a name="stmtCloseApi"></a> 18) (ODBCStatement) close([closeOption] [, callback])
766
+
767
+ Close the currently opened statement object and free resources.
768
+
769
+ * **callback** - _OPTIONAL_ - `callback (err)`. If callback is not provided, a Promise will be returned.
770
+
771
+ ```javascript
772
+ stmt.close(function(err) {
773
+ if(err) console.log(err);
774
+ });
775
+ //OR
776
+ await stmt.close();
777
+ ```
778
+
779
+ ### <a name="stmtCloseSyncApi"></a> 19) (ODBCStatement) closeSync([closeOption])
780
+
781
+ Synchronously close the currently opened statement object and free resources.
782
+
783
+ ```javascript
784
+ stmt.closeSync();
785
+ ```
786
+
787
+ ### <a name="primaryKeysApi"></a> 20) (ODBCStatement) .primaryKeys(catalog, schema, table [, callback])
788
+
789
+ Returns the primary key column(s) for a table by calling `SQLPrimaryKeys()` via the ODBC CLI.
790
+ The result is an array of row objects, each containing the standard ODBC catalog columns:
791
+ `TABLE_CAT`, `TABLE_SCHEM`, `TABLE_NAME`, `COLUMN_NAME`, `KEY_SEQ`, `PK_NAME`.
792
+
793
+ * **catalog** - String or `null`. The catalog (database) name, or `null` to use the current catalog.
794
+ * **schema** - String or `null`. The schema name, or `null` for all schemas.
795
+ * **table** - String. The table name (exact match; search patterns are not supported by `SQLPrimaryKeys`).
796
+ * **callback** - _OPTIONAL_ - `callback (err, rows)`. If not provided, returns a Promise.
797
+
798
+ Can also be called directly on a `Database` object as a convenience:
799
+ `db.primaryKeys(catalog, schema, table [, callback])`
800
+
801
+ > **Note:** After all rows are fetched, `primaryKeys()` calls `SQLFreeStmt(SQL_CLOSE)` internally to
802
+ > close the result cursor. The statement handle itself remains valid — call `stmt.closeSync()` when
803
+ > you are done with the statement to release it.
804
+
805
+ ```javascript
806
+ const ibmdb = require("ibm_db");
807
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
808
+
809
+ // Async callback form via Database convenience method
810
+ ibmdb.open(cn, function(err, db) {
811
+ db.primaryKeys(null, "MYSCHEMA", "ORDERS", function(err, keys) {
812
+ if (err) console.log(err);
813
+ else console.log(keys);
814
+ // e.g. [ { TABLE_CAT: null, TABLE_SCHEM: 'MYSCHEMA', TABLE_NAME: 'ORDERS',
815
+ // COLUMN_NAME: 'ORDER_ID', KEY_SEQ: 1, PK_NAME: 'PK_ORDERS' } ]
816
+ db.closeSync();
817
+ });
818
+ });
819
+
820
+ // Promise form via Database convenience method
821
+ async function run() {
822
+ const db = await ibmdb.open(cn);
823
+ const keys = await db.primaryKeys(null, "MYSCHEMA", "ORDERS");
824
+ console.log(keys);
825
+ db.closeSync();
826
+ }
827
+
828
+ // Direct use on a bare statement handle obtained via db.conn.createStatement()
829
+ // No SQL needs to be prepared — createStatement() allocates a fresh handle.
830
+ ibmdb.open(cn, function(err, db) {
831
+ db.conn.createStatement(function(err, stmt) {
832
+ stmt.primaryKeys(null, "MYSCHEMA", "ORDERS", function(err, keys) {
833
+ console.log(keys);
834
+ stmt.closeSync(); // free the statement handle when done
835
+ db.closeSync();
836
+ });
837
+ });
838
+ });
839
+ ```
840
+
841
+ ### <a name="primaryKeysSyncApi"></a> 21) (ODBCStatement) .primaryKeysSync(catalog, schema, table)
842
+
843
+ Synchronously returns the primary key column(s) for a table.
844
+ Parameters and return value are the same as `primaryKeys()`.
845
+
846
+ Can also be called directly on a `Database` object as a convenience:
847
+ `db.primaryKeysSync(catalog, schema, table)`
848
+
849
+ > **Note:** After all rows are fetched, `primaryKeysSync()` calls `SQLFreeStmt(SQL_CLOSE)` internally
850
+ > to close the result cursor. The statement handle itself remains valid — call `stmt.closeSync()` when
851
+ > you are done with the statement to release it.
852
+
853
+ ```javascript
854
+ const ibmdb = require("ibm_db");
855
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
856
+
857
+ // Sync form via Database convenience method
858
+ ibmdb.open(cn, function(err, db) {
859
+ const keys = db.primaryKeysSync(null, "MYSCHEMA", "ORDERS");
860
+ console.log(keys);
861
+ db.closeSync();
862
+ });
863
+
864
+ // Direct use on a bare statement handle obtained via db.conn.createStatementSync()
865
+ // No SQL needs to be prepared — createStatementSync() allocates a fresh handle.
866
+ ibmdb.open(cn, function(err, db) {
867
+ const stmt = db.conn.createStatementSync();
868
+ const keys = stmt.primaryKeysSync(null, "MYSCHEMA", "ORDERS");
869
+ console.log(keys);
870
+ stmt.closeSync(); // free the statement handle when done
871
+ db.closeSync();
872
+ });
873
+ ```
874
+
875
+ ### <a name="foreignKeysApi"></a> 22) (ODBCStatement) .foreignKeys(pkCatalog, pkSchema, pkTable, fkCatalog, fkSchema, fkTable [, callback])
876
+
877
+ Returns foreign key relationships between two tables by calling `SQLForeignKeys()` via the ODBC CLI.
878
+ The result set describes which columns in one table reference primary key columns in another.
879
+
880
+ * **pkCatalog** - String or `null`. Catalog qualifier of the primary-key table.
881
+ * **pkSchema** - String or `null`. Schema of the primary-key table.
882
+ * **pkTable** - String or `null`. Name of the primary-key table (exact match).
883
+ * **fkCatalog** - String or `null`. Catalog qualifier of the foreign-key table.
884
+ * **fkSchema** - String or `null`. Schema of the foreign-key table.
885
+ * **fkTable** - String or `null`. Name of the foreign-key table (exact match).
886
+ * **callback** - _OPTIONAL_ - `callback (err, rows)`. If omitted a Promise is returned.
887
+
888
+ At least one of `pkTable` or `fkTable` must be non-null (ODBC requirement).
889
+
890
+ Behavior when only one table is specified:
891
+ - Only `pkTable` given: returns all foreign keys in other tables that reference it.
892
+ - Only `fkTable` given: returns all foreign keys in that table and the primary keys they reference.
893
+ - Both given: returns the specific foreign key relationship between the two tables.
894
+
895
+ Can also be called directly on a `Database` object as a convenience:
896
+ `db.foreignKeys(pkCatalog, pkSchema, pkTable, fkCatalog, fkSchema, fkTable [, callback])`
897
+
898
+ Each row in the result set contains the columns returned by `SQLForeignKeys`, including:
899
+ `PKTABLE_SCHEM`, `PKTABLE_NAME`, `PKCOLUMN_NAME`, `FKTABLE_SCHEM`, `FKTABLE_NAME`,
900
+ `FKCOLUMN_NAME`, `KEY_SEQ`, `UPDATE_RULE`, `DELETE_RULE`, `FK_NAME`, `PK_NAME`.
901
+
902
+ > **Note:** After all rows are fetched, `foreignKeys()` calls `SQLFreeStmt(SQL_CLOSE)` internally to
903
+ > close the result cursor. The statement handle itself remains valid — call `stmt.closeSync()` when
904
+ > you are done with the statement to release it.
905
+
906
+ ```javascript
907
+ const ibmdb = require("ibm_db");
908
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
909
+
910
+ // Async callback form via Database convenience method
911
+ ibmdb.open(cn, function(err, db) {
912
+ // Get the FK in ORDERS that references CUSTOMERS
913
+ db.foreignKeys(null, "MYSCHEMA", "CUSTOMERS", null, "MYSCHEMA", "ORDERS", function(err, keys) {
914
+ if (err) console.log(err);
915
+ else console.log(keys);
916
+ // e.g. [ { PKTABLE_SCHEM: 'MYSCHEMA', PKTABLE_NAME: 'CUSTOMERS',
917
+ // PKCOLUMN_NAME: 'CUST_ID', FKTABLE_NAME: 'ORDERS',
918
+ // FKCOLUMN_NAME: 'CUST_REF', KEY_SEQ: 1, FK_NAME: 'FK_ORDERS_CUST' } ]
919
+ db.closeSync();
920
+ });
921
+ });
922
+
923
+ // Promise form via Database convenience method
924
+ async function run() {
925
+ const db = await ibmdb.open(cn);
926
+ const keys = await db.foreignKeys(null, "MYSCHEMA", "CUSTOMERS", null, "MYSCHEMA", "ORDERS");
927
+ console.log(keys);
928
+ db.closeSync();
929
+ }
930
+
931
+ // Direct use on a bare statement handle obtained via db.conn.createStatement()
932
+ ibmdb.open(cn, function(err, db) {
933
+ db.conn.createStatement(function(err, stmt) {
934
+ stmt.foreignKeys(null, "MYSCHEMA", "CUSTOMERS", null, "MYSCHEMA", "ORDERS", function(err, keys) {
935
+ console.log(keys);
936
+ stmt.closeSync(); // free the statement handle when done
937
+ db.closeSync();
938
+ });
939
+ });
940
+ });
941
+ ```
942
+
943
+ ### <a name="foreignKeysSyncApi"></a> 23) (ODBCStatement) .foreignKeysSync(pkCatalog, pkSchema, pkTable, fkCatalog, fkSchema, fkTable)
944
+
945
+ Synchronously returns foreign key relationships between two tables.
946
+ Parameters and return value are the same as `foreignKeys()`.
947
+
948
+ Can also be called directly on a `Database` object as a convenience:
949
+ `db.foreignKeysSync(pkCatalog, pkSchema, pkTable, fkCatalog, fkSchema, fkTable)`
950
+
951
+ > **Note:** After all rows are fetched, `foreignKeysSync()` calls `SQLFreeStmt(SQL_CLOSE)` internally
952
+ > to close the result cursor. The statement handle itself remains valid — call `stmt.closeSync()` when
953
+ > you are done with the statement to release it.
954
+
955
+ ```javascript
956
+ const ibmdb = require("ibm_db");
957
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
958
+
959
+ // Sync form via Database convenience method
960
+ ibmdb.open(cn, function(err, db) {
961
+ const keys = db.foreignKeysSync(null, "MYSCHEMA", "CUSTOMERS", null, "MYSCHEMA", "ORDERS");
962
+ console.log(keys);
963
+ db.closeSync();
964
+ });
965
+
966
+ // Direct use on a bare statement handle obtained via db.conn.createStatementSync()
967
+ ibmdb.open(cn, function(err, db) {
968
+ const stmt = db.conn.createStatementSync();
969
+ const keys = stmt.foreignKeysSync(null, "MYSCHEMA", "CUSTOMERS", null, "MYSCHEMA", "ORDERS");
970
+ console.log(keys);
971
+ stmt.closeSync(); // free the statement handle when done
972
+ db.closeSync();
973
+ });
974
+ ```
975
+
976
+ ### <a name="proceduresApi"></a> 24) (ODBCStatement) .procedures(catalog, schema, procedure [, callback])
977
+
978
+ Returns a list of procedure names stored in a specific catalog by calling `SQLProcedures()` via the ODBC CLI.
979
+ The result is an array of row objects, each containing the standard ODBC catalog columns:
980
+ `PROCEDURE_CAT`, `PROCEDURE_SCHEM`, `PROCEDURE_NAME`, `NUM_INPUT_PARAMS`, `NUM_OUTPUT_PARAMS`,
981
+ `NUM_RESULT_SETS`, `REMARKS`, `PROCEDURE_TYPE`.
982
+
983
+ * **catalog** - String or `null`. The catalog (database) name, or `null` to use the current catalog.
984
+ * **schema** - String or `null`. The schema name pattern. Search patterns (% and _) are supported.
985
+ * **procedure** - String or `null`. The procedure name pattern. Search patterns (% and _) are supported.
986
+ * **callback** - _OPTIONAL_ - `callback (err, rows)`. If not provided, returns a Promise.
987
+
988
+ Can also be called directly on a `Database` object as a convenience:
989
+ `db.procedures(catalog, schema, procedure [, callback])`
990
+
991
+ > **Note:** After all rows are fetched, `procedures()` calls `SQLFreeStmt(SQL_CLOSE)` internally to
992
+ > close the result cursor. The statement handle itself remains valid — call `stmt.closeSync()` when
993
+ > you are done with the statement to release it.
994
+
995
+ ```javascript
996
+ const ibmdb = require("ibm_db");
997
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
998
+
999
+ // Async callback form via Database convenience method
1000
+ ibmdb.open(cn, function(err, db) {
1001
+ // Get all procedures in schema MYSCHEMA
1002
+ db.procedures(null, "MYSCHEMA", "%", function(err, procs) {
1003
+ if (err) console.log(err);
1004
+ else console.log(procs);
1005
+ // e.g. [ { PROCEDURE_CAT: null, PROCEDURE_SCHEM: 'MYSCHEMA', PROCEDURE_NAME: 'MY_PROC',
1006
+ // NUM_INPUT_PARAMS: 2, NUM_OUTPUT_PARAMS: 1, NUM_RESULT_SETS: 0,
1007
+ // REMARKS: null, PROCEDURE_TYPE: 1 } ]
1008
+ db.closeSync();
1009
+ });
1010
+ });
1011
+
1012
+ // Promise form via Database convenience method
1013
+ async function run() {
1014
+ const db = await ibmdb.open(cn);
1015
+ const procs = await db.procedures(null, "MYSCHEMA", "%");
1016
+ console.log(procs);
1017
+ db.closeSync();
1018
+ }
1019
+
1020
+ // Direct use on a bare statement handle obtained via db.conn.createStatement()
1021
+ // No SQL needs to be prepared — createStatement() allocates a fresh handle.
1022
+ ibmdb.open(cn, function(err, db) {
1023
+ db.conn.createStatement(function(err, stmt) {
1024
+ stmt.procedures(null, "MYSCHEMA", "%", function(err, procs) {
1025
+ console.log(procs);
1026
+ stmt.closeSync(); // free the statement handle when done
1027
+ db.closeSync();
1028
+ });
1029
+ });
1030
+ });
1031
+ ```
1032
+
1033
+ ### <a name="proceduresSyncApi"></a> 25) (ODBCStatement) .proceduresSync(catalog, schema, procedure)
1034
+
1035
+ Synchronously returns a list of procedure names stored in a specific catalog.
1036
+ Parameters and return value are the same as `procedures()`.
1037
+
1038
+ Can also be called directly on a `Database` object as a convenience:
1039
+ `db.proceduresSync(catalog, schema, procedure)`
1040
+
1041
+ > **Note:** After all rows are fetched, `proceduresSync()` calls `SQLFreeStmt(SQL_CLOSE)` internally
1042
+ > to close the result cursor. The statement handle itself remains valid — call `stmt.closeSync()` when
1043
+ > you are done with the statement to release it.
1044
+
1045
+ ```javascript
1046
+ const ibmdb = require("ibm_db");
1047
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1048
+
1049
+ // Sync form via Database convenience method
1050
+ ibmdb.open(cn, function(err, db) {
1051
+ const procs = db.proceduresSync(null, "MYSCHEMA", "%");
1052
+ console.log(procs);
1053
+ db.closeSync();
1054
+ });
1055
+
1056
+ // Direct use on a bare statement handle obtained via db.conn.createStatementSync()
1057
+ // No SQL needs to be prepared — createStatementSync() allocates a fresh handle.
1058
+ ibmdb.open(cn, function(err, db) {
1059
+ const stmt = db.conn.createStatementSync();
1060
+ const procs = stmt.proceduresSync(null, "MYSCHEMA", "%");
1061
+ console.log(procs);
1062
+ stmt.closeSync(); // free the statement handle when done
1063
+ db.closeSync();
1064
+ });
1065
+ ```
1066
+
1067
+ ### <a name="procedureColumnsApi"></a> 26) (ODBCStatement) .procedureColumns(catalog, schema, procedure, column [, callback])
1068
+
1069
+ Returns parameter information for stored procedures by calling `SQLProcedureColumns()` via the ODBC CLI.
1070
+ The result is an array of row objects, each containing the standard ODBC catalog columns:
1071
+ `PROCEDURE_CAT`, `PROCEDURE_SCHEM`, `PROCEDURE_NAME`, `COLUMN_NAME`, `COLUMN_TYPE`,
1072
+ `DATA_TYPE`, `TYPE_NAME`, `COLUMN_SIZE`, `BUFFER_LENGTH`, `DECIMAL_DIGITS`, `NUM_PREC_RADIX`,
1073
+ `NULLABLE`, `REMARKS`, `COLUMN_DEF`, `SQL_DATA_TYPE`, `SQL_DATETIME_SUB`, `CHAR_OCTET_LENGTH`,
1074
+ `ORDINAL_POSITION`, `IS_NULLABLE`.
1075
+
1076
+ * **catalog** - String or `null`. The catalog (database) name, or `null` to use the current catalog.
1077
+ * **schema** - String or `null`. The schema name pattern. Search patterns (% and _) are supported.
1078
+ * **procedure** - String or `null`. The procedure name pattern. Search patterns (% and _) are supported.
1079
+ * **column** - String or `null`. The column/parameter name pattern. Search patterns (% and _) are supported. Use `%` to retrieve all parameters.
1080
+ * **callback** - _OPTIONAL_ - `callback (err, rows)`. If not provided, returns a Promise.
1081
+
1082
+ Can also be called directly on a `Database` object as a convenience:
1083
+ `db.procedureColumns(catalog, schema, procedure, column [, callback])`
1084
+
1085
+ > **Note:** After all rows are fetched, `procedureColumns()` calls `SQLFreeStmt(SQL_CLOSE)` internally to
1086
+ > close the result cursor. The statement handle itself remains valid — call `stmt.closeSync()` when
1087
+ > you are done with the statement to release it.
1088
+
1089
+ ```javascript
1090
+ const ibmdb = require("ibm_db");
1091
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1092
+
1093
+ // Async callback form via Database convenience method
1094
+ ibmdb.open(cn, function(err, db) {
1095
+ // Get all parameters for procedure MY_PROC in schema MYSCHEMA
1096
+ db.procedureColumns(null, "MYSCHEMA", "MY_PROC", "%", function(err, cols) {
1097
+ if (err) console.log(err);
1098
+ else console.log(cols);
1099
+ // e.g. [ { PROCEDURE_CAT: null, PROCEDURE_SCHEM: 'MYSCHEMA', PROCEDURE_NAME: 'MY_PROC',
1100
+ // COLUMN_NAME: 'P_INPUT', COLUMN_TYPE: 1, DATA_TYPE: 4, TYPE_NAME: 'INTEGER',
1101
+ // COLUMN_SIZE: 10, ... } ]
1102
+ db.closeSync();
1103
+ });
1104
+ });
1105
+
1106
+ // Promise form via Database convenience method
1107
+ async function run() {
1108
+ const db = await ibmdb.open(cn);
1109
+ const cols = await db.procedureColumns(null, "MYSCHEMA", "MY_PROC", "%");
1110
+ console.log(cols);
1111
+ db.closeSync();
1112
+ }
1113
+
1114
+ // Direct use on a bare statement handle obtained via db.conn.createStatement()
1115
+ // No SQL needs to be prepared — createStatement() allocates a fresh handle.
1116
+ ibmdb.open(cn, function(err, db) {
1117
+ db.conn.createStatement(function(err, stmt) {
1118
+ stmt.procedureColumns(null, "MYSCHEMA", "MY_PROC", "%", function(err, cols) {
1119
+ console.log(cols);
1120
+ stmt.closeSync(); // free the statement handle when done
1121
+ db.closeSync();
1122
+ });
1123
+ });
1124
+ });
1125
+ ```
1126
+
1127
+ ### <a name="procedureColumnsSyncApi"></a> 27) (ODBCStatement) .procedureColumnsSync(catalog, schema, procedure, column)
1128
+
1129
+ Synchronously returns parameter information for stored procedures.
1130
+ Parameters and return value are the same as `procedureColumns()`.
1131
+
1132
+ Can also be called directly on a `Database` object as a convenience:
1133
+ `db.procedureColumnsSync(catalog, schema, procedure, column)`
1134
+
1135
+ > **Note:** After all rows are fetched, `procedureColumnsSync()` calls `SQLFreeStmt(SQL_CLOSE)` internally
1136
+ > to close the result cursor. The statement handle itself remains valid — call `stmt.closeSync()` when
1137
+ > you are done with the statement to release it.
1138
+
1139
+ ```javascript
1140
+ const ibmdb = require("ibm_db");
1141
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1142
+
1143
+ // Sync form via Database convenience method
1144
+ ibmdb.open(cn, function(err, db) {
1145
+ const cols = db.procedureColumnsSync(null, "MYSCHEMA", "MY_PROC", "%");
1146
+ console.log(cols);
1147
+ db.closeSync();
1148
+ });
1149
+
1150
+ // Direct use on a bare statement handle obtained via db.conn.createStatementSync()
1151
+ // No SQL needs to be prepared — createStatementSync() allocates a fresh handle.
1152
+ ibmdb.open(cn, function(err, db) {
1153
+ const stmt = db.conn.createStatementSync();
1154
+ const cols = stmt.procedureColumnsSync(null, "MYSCHEMA", "MY_PROC", "%");
1155
+ console.log(cols);
1156
+ stmt.closeSync(); // free the statement handle when done
1157
+ db.closeSync();
1158
+ });
1159
+ ```
1160
+
1161
+ ### <a name="paramDataApi"></a> 28) (ODBCStatement) .paramData([callback])
1162
+
1163
+ Calls `SQLParamData()` to get the next parameter for which a data value is needed.
1164
+ This function is used in conjunction with `putData()` for sending large data in chunks
1165
+ or for handling data-at-execution parameters.
1166
+
1167
+ * **callback** - _OPTIONAL_ - `callback (err, result)`. If not provided, returns a Promise.
1168
+
1169
+ Returns an object with:
1170
+ * **needsData** - `boolean` - `true` if `SQL_NEED_DATA` was returned, meaning more data is needed for a parameter.
1171
+ * **paramIndex** - `number | null` - The index/token of the parameter that needs data (only set when `needsData` is `true`).
1172
+
1173
+ > **Note:** The typical workflow for data-at-execution is:
1174
+ > 1. Bind parameters with `SQL_DATA_AT_EXEC` indicator
1175
+ > 2. Execute the statement (returns with SQL_NEED_DATA state)
1176
+ > 3. Call `paramData()` to get the parameter that needs data
1177
+ > 4. Call `putData()` one or more times to send the data
1178
+ > 5. Call `paramData()` again to proceed to the next parameter or complete execution
1179
+ > 6. Repeat steps 4-5 until `paramData()` returns `{ needsData: false }`
1180
+
1181
+ ```javascript
1182
+ const ibmdb = require("ibm_db");
1183
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1184
+
1185
+ // Example using paramData with callback
1186
+ ibmdb.open(cn, function(err, db) {
1187
+ db.conn.createStatement(function(err, stmt) {
1188
+ // After binding data-at-execution parameters and executing...
1189
+ stmt.paramData(function(err, result) {
1190
+ if (err) {
1191
+ console.log(err);
1192
+ return;
1193
+ }
1194
+ if (result.needsData) {
1195
+ console.log("Need data for parameter:", result.paramIndex);
1196
+ // Call putData() to send the data...
1197
+ } else {
1198
+ console.log("All parameters satisfied, statement executed.");
1199
+ }
1200
+ stmt.closeSync();
1201
+ db.closeSync();
1202
+ });
1203
+ });
1204
+ });
1205
+
1206
+ // Promise form
1207
+ async function run() {
1208
+ const db = await ibmdb.open(cn);
1209
+ const stmt = db.conn.createStatementSync();
1210
+ // ... after binding and executing ...
1211
+ const result = await stmt.paramData();
1212
+ if (result.needsData) {
1213
+ console.log("Need data for parameter:", result.paramIndex);
1214
+ }
1215
+ stmt.closeSync();
1216
+ db.closeSync();
1217
+ }
1218
+ ```
1219
+
1220
+ ### <a name="paramDataSyncApi"></a> 29) (ODBCStatement) .paramDataSync()
1221
+
1222
+ Synchronously calls `SQLParamData()` to get the next parameter for which a data value is needed.
1223
+
1224
+ Returns an object with:
1225
+ * **needsData** - `boolean` - `true` if `SQL_NEED_DATA` was returned.
1226
+ * **paramIndex** - `number | null` - The index/token of the parameter that needs data.
1227
+
1228
+ ```javascript
1229
+ const ibmdb = require("ibm_db");
1230
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1231
+
1232
+ ibmdb.open(cn, function(err, db) {
1233
+ const stmt = db.conn.createStatementSync();
1234
+ // ... after binding and executing ...
1235
+ const result = stmt.paramDataSync();
1236
+ if (result.needsData) {
1237
+ console.log("Need data for parameter:", result.paramIndex);
1238
+ // Call putDataSync() to send the data...
1239
+ }
1240
+ stmt.closeSync();
1241
+ db.closeSync();
1242
+ });
1243
+ ```
1244
+
1245
+ ### <a name="putDataApi"></a> 30) (ODBCStatement) .putData(data [, length] [, callback])
1246
+
1247
+ Calls `SQLPutData()` to send data for a parameter. This function is used in conjunction
1248
+ with `paramData()` for sending large data in chunks or for handling data-at-execution parameters.
1249
+
1250
+ * **data** - `Buffer | string | null` - The data to send for the parameter. Use `null` to send `SQL_NULL_DATA`.
1251
+ * **length** - _OPTIONAL_ - `number` - The length of the data. Defaults to the buffer/string length.
1252
+ * **callback** - _OPTIONAL_ - `callback (err, result)`. If not provided, returns a Promise.
1253
+
1254
+ Returns `true` on success.
1255
+
1256
+ > **Note:** `putData()` can be called multiple times to send large data in chunks.
1257
+ > After sending all chunks for a parameter, call `paramData()` to proceed to the next parameter
1258
+ > or to complete the statement execution.
1259
+
1260
+ ```javascript
1261
+ const ibmdb = require("ibm_db");
1262
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1263
+
1264
+ // Example: Send data in chunks
1265
+ ibmdb.open(cn, function(err, db) {
1266
+ db.conn.createStatement(function(err, stmt) {
1267
+ // ... after paramData() returns needsData: true ...
1268
+ const chunk1 = Buffer.from("First part of data");
1269
+ const chunk2 = Buffer.from("Second part of data");
1270
+
1271
+ stmt.putData(chunk1, function(err, result) {
1272
+ if (err) return console.log(err);
1273
+ stmt.putData(chunk2, function(err, result) {
1274
+ if (err) return console.log(err);
1275
+ // Call paramData() to proceed...
1276
+ stmt.closeSync();
1277
+ db.closeSync();
1278
+ });
1279
+ });
1280
+ });
1281
+ });
1282
+
1283
+ // Promise form
1284
+ async function sendData() {
1285
+ const db = await ibmdb.open(cn);
1286
+ const stmt = db.conn.createStatementSync();
1287
+ // ... after paramData() returns needsData: true ...
1288
+ await stmt.putData(Buffer.from("First chunk"));
1289
+ await stmt.putData(Buffer.from("Second chunk"));
1290
+ // Call paramData() to proceed...
1291
+ stmt.closeSync();
1292
+ db.closeSync();
1293
+ }
1294
+ ```
1295
+
1296
+ ### <a name="putDataSyncApi"></a> 31) (ODBCStatement) .putDataSync(data [, length])
1297
+
1298
+ Synchronously calls `SQLPutData()` to send data for a parameter.
1299
+
1300
+ * **data** - `Buffer | string | null` - The data to send for the parameter.
1301
+ * **length** - _OPTIONAL_ - `number` - The length of the data.
1302
+
1303
+ Returns `true` on success.
1304
+
1305
+ ```javascript
1306
+ const ibmdb = require("ibm_db");
1307
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1308
+
1309
+ ibmdb.open(cn, function(err, db) {
1310
+ const stmt = db.conn.createStatementSync();
1311
+ // ... after paramDataSync() returns needsData: true ...
1312
+ stmt.putDataSync(Buffer.from("Data chunk 1"));
1313
+ stmt.putDataSync(Buffer.from("Data chunk 2"));
1314
+ // Call paramDataSync() to proceed...
1315
+ stmt.closeSync();
1316
+ db.closeSync();
1317
+ });
1318
+ ```
1319
+
1320
+ ### <a name="executeForStreamingApi"></a> 32) (ODBCStatement) .executeForStreaming([callback])
1321
+
1322
+ Executes the prepared statement but does **NOT** automatically complete the data-at-execution
1323
+ loop. Returns an object `{ needsData: boolean }` indicating whether `paramData()`/`putData()` calls
1324
+ are required to send data for data-at-execution parameters.
1325
+
1326
+ This method is the foundation for true streaming support, where data can be sent incrementally
1327
+ as it arrives from a stream, without buffering the entire content in memory first.
1328
+
1329
+ * **callback** - _OPTIONAL_ - `callback (err, result)`. If not provided, returns a Promise.
1330
+
1331
+ Returns an object with:
1332
+ * **needsData** - `boolean` - `true` if data-at-execution parameters exist and require data.
1333
+
1334
+ > **Note:** After calling `executeForStreaming()`, if `needsData` is `true`:
1335
+ > 1. Call `paramData()` to get which parameter needs data
1336
+ > 2. Call `putData()` one or more times to send data chunks
1337
+ > 3. Call `paramData()` again to proceed to the next parameter or complete execution
1338
+ > 4. Repeat until `paramData()` returns `{ needsData: false }`
1339
+
1340
+ ```javascript
1341
+ const ibmdb = require("ibm_db");
1342
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1343
+
1344
+ // Example: True streaming with executeForStreaming
1345
+ ibmdb.open(cn, async function(err, db) {
1346
+ const stmt = db.prepareSync("INSERT INTO mytable (id, data) VALUES (?, ?)");
1347
+
1348
+ // Bind with data-at-execution parameter
1349
+ stmt.bindSync([1, { ParamType: "INPUT", DataType: "BLOB", Data: [Buffer.alloc(0)], Length: 1024 }]);
1350
+
1351
+ const result = await stmt.executeForStreaming();
1352
+
1353
+ if (result.needsData) {
1354
+ console.log("Statement needs data - use paramData/putData to send");
1355
+ // Now use paramData/putData loop to send data incrementally
1356
+ } else {
1357
+ console.log("Execution completed without needing additional data");
1358
+ }
1359
+
1360
+ stmt.closeSync();
1361
+ db.closeSync();
1362
+ });
1363
+ ```
1364
+
1365
+ ### <a name="executeForStreamingSyncApi"></a> 33) (ODBCStatement) .executeForStreamingSync()
1366
+
1367
+ Synchronous version of `executeForStreaming()`. Returns `{ needsData: boolean }`.
1368
+
1369
+ ```javascript
1370
+ const ibmdb = require("ibm_db");
1371
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1372
+
1373
+ ibmdb.open(cn, function(err, db) {
1374
+ const stmt = db.prepareSync("INSERT INTO mytable (id, data) VALUES (?, ?)");
1375
+ stmt.bindSync([1, { ParamType: "INPUT", DataType: "BLOB", Data: [Buffer.alloc(0)], Length: 1024 }]);
1376
+
1377
+ const result = stmt.executeForStreamingSync();
1378
+ console.log("needsData:", result.needsData);
1379
+
1380
+ if (result.needsData) {
1381
+ // Use paramDataSync/putDataSync loop
1382
+ let paramResult = stmt.paramDataSync();
1383
+ while (paramResult.needsData) {
1384
+ stmt.putDataSync(Buffer.from("chunk of data"));
1385
+ paramResult = stmt.paramDataSync();
1386
+ }
1387
+ }
1388
+
1389
+ stmt.closeSync();
1390
+ db.closeSync();
1391
+ });
1392
+ ```
1393
+
1394
+ ### <a name="executeWithStreamApi"></a> 34) (ODBCStatement) .executeWithStream(streamParamIndex, stream [, callback])
1395
+
1396
+ High-level helper for true streaming. Executes the statement and streams data from a
1397
+ Node.js `Readable` stream to a data-at-execution parameter **without buffering the entire
1398
+ stream in memory**.
1399
+
1400
+ This method combines `executeForStreaming()`, `paramData()`, and `putData()` into a
1401
+ single convenient API for streaming large data to the database.
1402
+
1403
+ * **streamParamIndex** - `number` - Index (0-based) of the parameter that will receive streamed data.
1404
+ * **stream** - `NodeJS.ReadableStream` - A Readable stream to read data from.
1405
+ * **callback** - _OPTIONAL_ - `callback (err, result)`. If not provided, returns a Promise.
1406
+
1407
+ Returns an object with:
1408
+ * **streamed** - `boolean` - `true` if streaming was performed.
1409
+ * **paramIndex** - `number` - Index of the parameter that received streamed data (if streamed).
1410
+
1411
+ > **Note:**
1412
+ > - The parameter at `streamParamIndex` must be bound with data-at-execution indicator.
1413
+ > - Use `{ ParamType: "INPUT", DataType: "BLOB"|"CLOB", Data: [Buffer.alloc(0)], Length: totalSize }` format.
1414
+ > - Backpressure is handled automatically - the stream is paused while each chunk is being sent.
1415
+
1416
+ ```javascript
1417
+ const ibmdb = require("ibm_db");
1418
+ const fs = require("fs");
1419
+ const cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1420
+
1421
+ // Example: Stream a large file to BLOB column without loading into memory
1422
+ ibmdb.open(cn, async function(err, db) {
1423
+ const stmt = db.prepareSync("INSERT INTO documents (id, content) VALUES (?, ?)");
1424
+
1425
+ // Get file size for the Length parameter
1426
+ const stats = fs.statSync("largefile.bin");
1427
+
1428
+ // Bind with data-at-execution indicator
1429
+ stmt.bindSync([
1430
+ 1,
1431
+ { ParamType: "INPUT", DataType: "BLOB", Data: [Buffer.alloc(0)], Length: stats.size }
1432
+ ]);
1433
+
1434
+ // Create a read stream
1435
+ const stream = fs.createReadStream("largefile.bin", { highWaterMark: 65536 });
1436
+
1437
+ // Stream data to database
1438
+ const result = await stmt.executeWithStream(1, stream);
1439
+
1440
+ if (result.streamed) {
1441
+ console.log("Successfully streamed data to parameter", result.paramIndex);
1442
+ }
1443
+
1444
+ stmt.closeSync();
1445
+ db.closeSync();
1446
+ });
1447
+
1448
+ // Callback style
1449
+ ibmdb.open(cn, function(err, db) {
1450
+ const stmt = db.prepareSync("INSERT INTO logs (id, data) VALUES (?, ?)");
1451
+ const stream = fs.createReadStream("logfile.txt");
1452
+
1453
+ stmt.bindSync([1, { ParamType: "INPUT", DataType: "CLOB", Data: [Buffer.alloc(0)], Length: 10000 }]);
1454
+
1455
+ stmt.executeWithStream(1, stream, function(err, result) {
1456
+ if (err) {
1457
+ console.log("Streaming error:", err);
1458
+ } else {
1459
+ console.log("Streaming complete:", result);
1460
+ }
1461
+ stmt.closeSync();
1462
+ db.closeSync();
1463
+ });
1464
+ });
1465
+ ```
1466
+
1467
+ ### <a name="stmtCancelApi"></a> 70) (ODBCStatement) .cancel([callback])
1468
+
1469
+ Cancel an executing SQL statement on this statement handle. This calls `SQLCancel` ODBC API to cancel a long-running query. The cancel can be called from another thread or asynchronously while a statement is executing.
1470
+
1471
+ * **callback** - _OPTIONAL_ - `callback (err, result)`. If callback is not provided, a Promise will be returned.
1472
+
1473
+ Returns `true` on success.
1474
+
1475
+ ```javascript
1476
+ const ibmdb = require("ibm_db")
1477
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
1478
+
1479
+ ibmdb.open(cn, function(err, conn)
1480
+ {
1481
+ conn.prepare("SELECT * FROM LARGE_TABLE", function(err, stmt) {
1482
+ if (err) {
1483
+ console.log(err);
1484
+ return;
1485
+ }
1486
+
1487
+ // Start execution
1488
+ stmt.execute(function(err, result) {
1489
+ if (err) {
1490
+ console.log("Query cancelled or error:", err);
1491
+ } else {
1492
+ console.log("Result:", result);
1493
+ result.closeSync();
1494
+ }
1495
+ stmt.closeSync();
1496
+ });
1497
+
1498
+ // Cancel the statement after 5 seconds
1499
+ setTimeout(function() {
1500
+ stmt.cancel(function(err, result) {
1501
+ if (err) console.log("Cancel error:", err);
1502
+ else console.log("Statement cancelled successfully");
1503
+ });
1504
+ }, 5000);
1505
+ });
1506
+ });
1507
+
1508
+ // Using Promises:
1509
+ async function cancelExample() {
1510
+ const conn = await ibmdb.open(cn);
1511
+ const stmt = conn.prepareSync("SELECT * FROM LARGE_TABLE");
1512
+ try {
1513
+ const result = await stmt.cancel();
1514
+ console.log("Cancel result:", result);
1515
+ } catch (err) {
1516
+ console.log("Cancel error:", err);
1517
+ }
1518
+ stmt.closeSync();
1519
+ conn.closeSync();
1520
+ }
1521
+ ```
1522
+
1523
+ ### <a name="stmtCancelSyncApi"></a> 71) (ODBCStatement) .cancelSync()
1524
+
1525
+ Synchronous version of cancel. Calls `SQLCancel` ODBC API to cancel an executing statement.
1526
+
1527
+ Returns `true` on success, or throws an error on failure.
1528
+
1529
+ ```javascript
1530
+ const ibmdb = require("ibm_db")
1531
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
1532
+
1533
+ const conn = ibmdb.openSync(cn);
1534
+ const stmt = conn.prepareSync("SELECT * FROM LARGE_TABLE");
1535
+ try {
1536
+ let result = stmt.cancelSync();
1537
+ console.log("Cancel result:", result);
1538
+ } catch (err) {
1539
+ console.log("Cancel error:", err);
1540
+ }
1541
+ stmt.closeSync();
1542
+ conn.closeSync();
1543
+ ```
1544
+
1545
+ ### <a name="fetchApi"></a> 35) (ODBCResult) .fetch([option] [, callback])
1546
+
1547
+ Fetch a row of data from an ODBCResult object asynchronously.
1548
+
1549
+ * **option** - _OPTIONAL_ - Object type.
1550
+ * fetchMode - Format of the returned row data. By default, the row data will be returned in object form. option = {fetchMode:3} or option = {fetchMode: ibmdb.FETCH_ARRAY} will return row data in array form. Default value of fetchMode is ibmdb.FETCH_OBJECT.
1551
+ * When option = {fetchMode : 0} or {fetchMode: ibmdb.FETCH_NODATA} is used, the fetch() API will not return any results, and the application needs to call the result.getData() or result.getDataSync() APIs to retrieve data for a column.
1552
+
1553
+ * **callback** - _OPTIONAL_ - `callback (err, row)`. If callback is not provided, a Promise will be returned.
1554
+
1555
+ **Note:** When `SQL_ATTR_ROW_ARRAY_SIZE` is set to a value greater than 1, `fetch()` returns an **array of rows** (up to ROW_ARRAY_SIZE rows) per call instead of a single row object. When all rows are exhausted, it returns `null`. See [Block Fetch using SQL_ATTR_ROW_ARRAY_SIZE](#block-fetch-using-sql_attr_row_array_size) for details.
1556
+
1557
+ ```javascript
1558
+ const ibmdb = require("ibm_db")
1559
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1560
+
1561
+ ibmdb.open(cn,function(err, conn){
1562
+ conn.querySync("create table hits (col1 varchar(40), col2 int)");
1563
+ conn.querySync("insert into hits values ('something', 42)");
1564
+ conn.querySync("insert into hits values ('für', 43)");
1565
+ conn.prepare("select * from hits", function (err, stmt) {
1566
+ if (err) {
1567
+ //could not prepare for some reason
1568
+ console.log(err);
1569
+ return conn.closeSync();
1570
+ }
1571
+ stmt.execute(function (err, result) {
1572
+ if( err ) console.log(err);
1573
+ result.fetch((err, row) => {
1574
+ if(err) { console.log(err); }
1575
+ else {
1576
+ console.log("Row1 = ", row);
1577
+ result.fetch({fetchMode:ibmdb.FETCH_ARRAY}).then(row => {
1578
+ console.log("Row2 = ", row);
1579
+ result.closeSync();
1580
+ conn.querySync("drop table hits");
1581
+ //Close the connection
1582
+ conn.close(function(err){console.log("Connection Closed.");});
1583
+ }).catch(err => console.log(err));
1584
+ }
1585
+ });
1586
+ });
1587
+ });
1588
+ });
1589
+ ```
1590
+
1591
+ ### <a name="fetchSyncApi"></a> 36) (ODBCResult) .fetchSync([option])
1592
+
1593
+ Fetch a row of data from the ODBCResult object synchronously.
1594
+
1595
+ * **option** - _OPTIONAL_ - Object type.
1596
+ * fetchMode - Format of the returned row data. By default, the row data will be returned in object form. option = {fetchMode:3} or option = {fetchMode: ibmdb.FETCH_ARRAY} will return row data in array form. Default value of fetchMode is ibmdb.FETCH_OBJECT.
1597
+ * When option = {fetchMode : 0} or {fetchMode: ibmdb.FETCH_NODATA} is used, the fetch() API will not return any results, and the application needs to call the result.getData() or result.getDataSync() APIs to retrieve data for a column.
1598
+
1599
+ **Note:** When `SQL_ATTR_ROW_ARRAY_SIZE` is set to a value greater than 1, `fetchSync()` returns an **array of rows** (up to ROW_ARRAY_SIZE rows) per call instead of a single row object. When all rows are exhausted, it returns `null`. See [Block Fetch using SQL_ATTR_ROW_ARRAY_SIZE](#block-fetch-using-sql_attr_row_array_size) for details.
1600
+
1601
+ ```javascript
1602
+ const ibmdb = require("ibm_db")
1603
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1604
+
1605
+ ibmdb.open(cn,function(err, conn){
1606
+ conn.querySync("create table hits (col1 varchar(40), col2 int)");
1607
+ conn.querySync("insert into hits values ('something', 42)");
1608
+ conn.querySync("insert into hits values ('für', 43)");
1609
+ const stmt = conn.prepareSync("select * from hits");
1610
+ const result = stmt.executeSync();
1611
+ const data = 0;
1612
+ while( data = result.fetchSync({fetchMode:3}) ) {
1613
+ console.log(data);
1614
+ }
1615
+ result.closeSync();
1616
+ conn.querySync("drop table hits");
1617
+ conn.closeSync();
1618
+ });
1619
+ ```
1620
+
1621
+ ### <a name="fetchAllApi"></a> 37) (ODBCResult) .fetchAll([option] [, callback])
1622
+
1623
+ Fetch all rows from ODBCResult object asynchronously for the executed statement.
1624
+
1625
+ * **option** - _OPTIONAL_ - Object type.
1626
+ * fetchMode - Format of the returned row data. By default, the row data will be returned in object form. option = {fetchMode:3} or option = {fetchMode: ibmdb.FETCH_ARRAY} will return row data in array form. Default value of fetchMode is ibmdb.FETCH_OBJECT.
1627
+
1628
+ * **callback** - _OPTIONAL_ - `callback (err, data, noOfColumns)`. If callback is not provided, a Promise will be returned.
1629
+
1630
+ ```javascript
1631
+ const ibmdb = require("ibm_db")
1632
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1633
+
1634
+ ibmdb.open(cn,function(err, conn){
1635
+ conn.querySync("create table hits (col1 varchar(40), col2 int)");
1636
+ conn.querySync("insert into hits values ('something', 42)");
1637
+ conn.querySync("insert into hits values ('für', 43)");
1638
+ conn.prepare("select * from hits", function (err, stmt) {
1639
+ if (err) {
1640
+ //could not prepare for some reason
1641
+ console.log(err);
1642
+ return conn.closeSync();
1643
+ }
1644
+ stmt.execute(function (err, result) {
1645
+ if( err ) console.log(err);
1646
+ result.fetchAll({fetchMode:4}, function (err, data, colcount) {
1647
+ if(err) { console.log(err); }
1648
+ else {
1649
+ console.log("Data = ", data);
1650
+ console.log("No of columns = ", colcount);
1651
+ }
1652
+ result.closeSync();
1653
+ conn.querySync("drop table hits");
1654
+ //Close the connection
1655
+ conn.close(function(err){console.log("Connection Closed.");});
1656
+ });
1657
+ });
1658
+ });
1659
+ });
1660
+ ```
1661
+
1662
+ ### <a name="fetchAllSyncApi"></a> 38) (ODBCResult) .fetchAllSync([option])
1663
+
1664
+ Fetch all rows from ODBCResult object Synchronously for the executed statement.
1665
+
1666
+ * **option** - Format of the returned row data. By default, the row data will be returned in object form. option = {fetchMode:3} or option = {fetchMode: ibmdb.FETCH_ARRAY} will return row data in array form. Default value of fetchMode is ibmdb.FETCH_OBJECT.
1667
+
1668
+ ```javascript
1669
+ const ibmdb = require("ibm_db")
1670
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1671
+
1672
+ ibmdb.open(cn,function(err, conn){
1673
+ conn.querySync("create table hits (col1 varchar(40), col2 int)");
1674
+ conn.querySync("insert into hits values ('something', 42)");
1675
+ conn.querySync("insert into hits values ('für', 43)");
1676
+ const stmt = conn.prepareSync("select * from hits");
1677
+ const result = stmt.executeSync();
1678
+ const data = result.fetchAllSync();
1679
+ console.log("Fetched data = ", data);
1680
+ result.closeSync();
1681
+ conn.querySync("drop table hits");
1682
+ conn.closeSync();
1683
+ });
1684
+ ```
1685
+ For example of prepare once and execute many times with above fetch APIs, please see test file [test-fetch-apis.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-fetch-apis.js).
1686
+
1687
+ ### <a name="fetchNApi"></a> 39) (ODBCResult) .fetchN(count [, option] [, callback])
1688
+
1689
+ Fetch up to `count` rows from ODBCResult object asynchronously. Returns an array of rows. If fewer than `count` rows remain, only the available rows are returned. Returns an empty array when no more rows are available. Unlike `fetchAll()`, this method does not close the cursor or free columns after fetching, so you can call it repeatedly to process a large result set in batches.
1690
+
1691
+ * **count** - _REQUIRED_ - Number - Maximum number of rows to fetch in this batch. Must be a positive integer.
1692
+
1693
+ * **option** - _OPTIONAL_ - Object type.
1694
+ * fetchMode - Format of the returned row data. By default, the row data will be returned in object form. option = {fetchMode:3} or option = {fetchMode: ibmdb.FETCH_ARRAY} will return row data in array form. Default value of fetchMode is ibmdb.FETCH_OBJECT.
1695
+
1696
+ * **callback** - _OPTIONAL_ - `callback (err, data)`. If callback is not provided, a Promise will be returned.
1697
+
1698
+ ```javascript
1699
+ const ibmdb = require("ibm_db")
1700
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1701
+
1702
+ ibmdb.open(cn, async function(err, conn) {
1703
+ conn.querySync("create table mytable (col1 varchar(40), col2 int)");
1704
+ for (let i = 1; i <= 100; i++) {
1705
+ conn.querySync(`insert into mytable values ('row${i}', ${i})`);
1706
+ }
1707
+ const stmt = conn.prepareSync("select * from mytable");
1708
+ const result = stmt.executeSync();
1709
+
1710
+ // Fetch rows in batches of 10 using Promises
1711
+ let batch;
1712
+ while ((batch = await result.fetchN(10)).length > 0) {
1713
+ console.log("Fetched batch of", batch.length, "rows");
1714
+ // Process the batch...
1715
+ }
1716
+
1717
+ result.closeSync();
1718
+ conn.querySync("drop table mytable");
1719
+ conn.close(function(err) { console.log("Connection Closed."); });
1720
+ });
1721
+ ```
1722
+
1723
+ ### <a name="fetchNSyncApi"></a> 40) (ODBCResult) .fetchNSync(count [, option])
1724
+
1725
+ Fetch up to `count` rows from ODBCResult object synchronously. Returns an array of rows. If fewer than `count` rows remain, only the available rows are returned. Returns an empty array when no more rows are available. Unlike `fetchAllSync()`, this method does not close the cursor or free columns after fetching, so you can call it repeatedly to process a large result set in batches.
1726
+
1727
+ * **count** - _REQUIRED_ - Number - Maximum number of rows to fetch in this batch. Must be a positive integer.
1728
+
1729
+ * **option** - _OPTIONAL_ - Object type.
1730
+ * fetchMode - Format of the returned row data. By default, the row data will be returned in object form. option = {fetchMode:3} or option = {fetchMode: ibmdb.FETCH_ARRAY} will return row data in array form. Default value of fetchMode is ibmdb.FETCH_OBJECT.
1731
+
1732
+ ```javascript
1733
+ const ibmdb = require("ibm_db")
1734
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1735
+
1736
+ ibmdb.open(cn, function(err, conn) {
1737
+ conn.querySync("create table mytable (col1 varchar(40), col2 int)");
1738
+ for (let i = 1; i <= 100; i++) {
1739
+ conn.querySync(`insert into mytable values ('row${i}', ${i})`);
1740
+ }
1741
+ const stmt = conn.prepareSync("select * from mytable");
1742
+ const result = stmt.executeSync();
1743
+
1744
+ // Fetch rows in batches of 25
1745
+ let batch;
1746
+ while ((batch = result.fetchNSync(25)).length > 0) {
1747
+ console.log("Fetched batch of", batch.length, "rows");
1748
+ // Process the batch...
1749
+ }
1750
+
1751
+ result.closeSync();
1752
+ conn.querySync("drop table mytable");
1753
+ conn.closeSync();
1754
+ });
1755
+ ```
1756
+
1757
+ ### Block Fetch using SQL_ATTR_ROW_ARRAY_SIZE
1758
+
1759
+ When `SQL_ATTR_ROW_ARRAY_SIZE` is set to a value greater than 1 on a prepared statement, ibm_db uses **SQLBindCol-based block fetching** to retrieve multiple rows per `SQLFetch()` call. This improves performance by reducing the number of CLI round-trips for large result sets.
1760
+
1761
+ All fetch APIs (`fetch`, `fetchSync`, `fetchAll`, `fetchAllSync`, `fetchN`, `fetchNSync`) automatically detect and honor `SQL_ATTR_ROW_ARRAY_SIZE`. If the attribute is set to 1 (default), the normal single-row `SQLGetData` path is used.
1762
+
1763
+ **API behavior when `SQL_ATTR_ROW_ARRAY_SIZE > 1`:**
1764
+
1765
+ | API | Return value |
1766
+ |-----|-------------|
1767
+ | `fetchSync()` | Array of up to N row objects (or arrays if FETCH_ARRAY). Returns `null` when done. |
1768
+ | `fetch()` | Same as fetchSync, via callback `(err, rows)` or Promise. Returns `null` when done. |
1769
+ | `fetchAllSync()` | Flat array of all rows (unchanged). |
1770
+ | `fetchAll()` | Flat array of all rows (unchanged). |
1771
+ | `fetchNSync(count)` | Flat array of `count` rows (unchanged). |
1772
+ | `fetchN(count)` | Flat array of `count` rows (unchanged). |
1773
+
1774
+ **Example using fetchSync with block fetch:**
1775
+
1776
+ ```javascript
1777
+ const ibmdb = require("ibm_db")
1778
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1779
+
1780
+ ibmdb.open(cn, function(err, conn) {
1781
+ conn.querySync("create table mytable (id int, name varchar(20))");
1782
+ for (let i = 1; i <= 100; i++) {
1783
+ conn.querySync(`insert into mytable values (${i}, 'Row${i}')`);
1784
+ }
1785
+
1786
+ // Set SQL_ATTR_ROW_ARRAY_SIZE to fetch 10 rows per SQLFetch() call
1787
+ const stmt = conn.prepareSync("select * from mytable order by id");
1788
+ stmt.setAttrSync(ibmdb.SQL_ATTR_ROW_ARRAY_SIZE, 10);
1789
+ const result = stmt.executeSync();
1790
+
1791
+ // fetchSync returns an array of up to 10 rows per call
1792
+ let block;
1793
+ let totalRows = 0;
1794
+ while ((block = result.fetchSync()) !== null) {
1795
+ console.log(`Block of ${block.length} rows:`, block);
1796
+ totalRows += block.length;
1797
+ }
1798
+ console.log("Total fetched:", totalRows, "rows"); // 100
1799
+ result.closeSync();
1800
+ stmt.closeSync();
1801
+
1802
+ conn.querySync("drop table mytable");
1803
+ conn.closeSync();
1804
+ });
1805
+ ```
1806
+
1807
+ **Example using fetchAllSync with block fetch:**
1808
+
1809
+ ```javascript
1810
+ // fetchAllSync returns a flat array of all rows (block fetch is internal)
1811
+ const stmt2 = conn.prepareSync("select * from mytable order by id");
1812
+ stmt2.setAttrSync(ibmdb.SQL_ATTR_ROW_ARRAY_SIZE, 10);
1813
+ const result2 = stmt2.executeSync();
1814
+ const data = result2.fetchAllSync();
1815
+ console.log("Fetched", data.length, "rows"); // 100
1816
+ result2.closeSync();
1817
+ stmt2.closeSync();
1818
+ ```
1819
+
1820
+ **Note:** Block fetch uses `SQLBindCol` to pre-allocate array buffers for each column. For columns with very large declared sizes (e.g., CLOB/BLOB), the buffer size per element is capped at 64KB. If you need to retrieve larger LOB values, use the default single-row fetch (do not set `SQL_ATTR_ROW_ARRAY_SIZE`).
1821
+
1822
+ ### <a name="getDataApi"></a> 41) (ODBCResult) .getData([colNum] [, size] [, callback])
1823
+
1824
+ Retrive data for colNum of specified size from ODBCResult object asynchronously.
1825
+
1826
+ * **colNum** - Integer - Column Number in the resultset starting from 1.
1827
+
1828
+ * **size** - Integer - Size of the data being retrieved. Ignored for fixed length data.
1829
+
1830
+ * **callback** - _OPTIONAL_ - `callback (err, row)`. When no `callback` function is passed, getData() will return Promise. If callback is not provided, a Promise will be returned.
1831
+
1832
+ ```javascript
1833
+ const ibmdb = require("ibm_db")
1834
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1835
+
1836
+ ibmdb.open(cn,function(err, conn){
1837
+ conn.querySync("create table hits (col1 varchar(40), col2 int)");
1838
+ conn.querySync("insert into hits values ('something', 42)");
1839
+ conn.querySync("insert into hits values ('für', 43)");
1840
+ const stmt = conn.prepareSync("select * from hits");
1841
+ const result = stmt.executeSync();
1842
+ result.fetch({fetchMode:0})
1843
+ .then(() => {
1844
+ return result.getData(1, 4);
1845
+ }).then(data => {
1846
+ console.log(data);
1847
+ return result.getData(1, 5);
1848
+ }).then(data => {
1849
+ console.log(data);
1850
+ return result.getData(2, 5);
1851
+ }).then(data => {
1852
+ console.log(data);
1853
+ return result.getData(3, 5);
1854
+ }).then(data => {
1855
+ console.log(data);
1856
+ }).catch(err => console.log(err));
1857
+ ```
1858
+ See test file [test-fetch-apis.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-fetch-apis.js) for detail example.
1859
+
1860
+ ### <a name="getDataSyncApi"></a> 42) (ODBCResult) .getDataSync(colNum, size)
1861
+
1862
+ Retrive data for colNum of specified size from ODBCResult object synchronously.
1863
+
1864
+ * **colNum** - Integer - Column Number in the resultset starting from 1.
1865
+
1866
+ * **size** - Integer - Size of the data being retrieved. Ignored for fixed length data.
1867
+
1868
+ ```javascript
1869
+ const ibmdb = require("ibm_db")
1870
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1871
+
1872
+ ibmdb.open(cn,function(err, conn){
1873
+ conn.querySync("create table hits (col1 varchar(40), col2 int)");
1874
+ conn.querySync("insert into hits values ('something', 42)");
1875
+ conn.querySync("insert into hits values ('für', 43)");
1876
+ const stmt = conn.prepareSync("select * from hits");
1877
+ const result = stmt.executeSync();
1878
+ console.log(result.fetchSync({fetchMode:0}));
1879
+ console.log("First Row Data = ");
1880
+ console.log(result.getDataSync(1, 4));
1881
+ console.log(result.getDataSync(1, 5));
1882
+ console.log(result.getDataSync(2, 5));
1883
+ console.log(result.getDataSync(3, 5));
1884
+ result.fetchSync({fetchMode:0});
1885
+ console.log("Second Row Data = ");
1886
+ console.log(result.getDataSync(1, 4));
1887
+ console.log(result.getDataSync(1, 5));
1888
+ console.log(result.getDataSync(2, 5));
1889
+ console.log(result.getDataSync(3, 5));
1890
+ result.closeSync();
1891
+ conn.closeSync();
1892
+ }
1893
+ ```
1894
+ See test file [test-fetch-apis.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-fetch-apis.js) for detail example.
1895
+
1896
+ ### <a name="resultCloseApi"></a> 43) (ODBCResult) close([closeOption] [, callback])
1897
+
1898
+ Close the currently opened ODBC Result object and free resources.
1899
+
1900
+ * **callback** - _OPTIONAL_ - `callback (err)`. If callback is not provided, a Promise will be returned.
1901
+
1902
+ ```javascript
1903
+ result.close(function(err) {
1904
+ if(err) console.log(err);
1905
+ });
1906
+ //OR
1907
+ await result.close();
1908
+ ```
1909
+
1910
+ ### <a name="resultCloseSyncApi"></a> 44) (ODBCResult) closeSync([closeOption])
1911
+
1912
+ Synchronously close the currently opened ODBC Result object and free resources.
1913
+
1914
+ ```javascript
1915
+ result.closeSync();
1916
+ ```
1917
+
1918
+ ### <a name="beginTransactionApi"></a> 50) (Database) .beginTransaction([callback])
1919
+
1920
+ Begin a transaction
1921
+
1922
+ * **callback** - _OPTIONAL_ - `callback (err)`. If callback is not provided, a Promise will be returned.
1923
+
1924
+ ### <a name="beginTransactionSyncApi"></a> 51) (Database) .beginTransactionSync()
1925
+
1926
+ Synchronously begin a transaction
1927
+
1928
+ ### <a name="commitTransactionApi"></a> 52) (Database) .commitTransaction([callback])
1929
+
1930
+ Commit a transaction
1931
+
1932
+ * **callback** - _OPTIONAL_ - `callback (err)`, If callback is not provided, a Promise will be returned.
1933
+
1934
+ ```javascript
1935
+ const ibmdb = require("ibm_db")
1936
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1937
+
1938
+ ibmdb.open(cn, function(err, conn) {
1939
+
1940
+ conn.beginTransaction(function (err) {
1941
+ if (err) {
1942
+ //could not begin a transaction for some reason.
1943
+ console.log(err);
1944
+ return conn.closeSync();
1945
+ }
1946
+
1947
+ const result = conn.querySync("insert into customer (customerCode) values ('stevedave')");
1948
+
1949
+ conn.commitTransaction(function (err) {
1950
+ if (err) {
1951
+ //error during commit
1952
+ console.log(err);
1953
+ return conn.closeSync();
1954
+ }
1955
+
1956
+ console.log(conn.querySync("select * from customer where customerCode = 'stevedave'"));
1957
+
1958
+ //Close the connection
1959
+ conn.closeSync();
1960
+ });
1961
+ });
1962
+ });
1963
+ ```
1964
+
1965
+ ### <a name="commitTransactionSyncApi"></a> 53) (Database) .commitTransactionSync()
1966
+
1967
+ Synchronously commit a transaction
1968
+
1969
+ ```javascript
1970
+ const ibmdb = require("ibm_db")
1971
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
1972
+
1973
+ ibmdb.open(cn, function(err, conn) {
1974
+
1975
+ conn.beginTransaction(function (err) {
1976
+ if (err) {
1977
+ //could not begin a transaction for some reason.
1978
+ console.log(err);
1979
+ return conn.closeSync();
1980
+ }
1981
+
1982
+ const result = conn.querySync("insert into customer (customerCode) values ('stevedave')");
1983
+
1984
+ conn.commitTransactionSync();
1985
+
1986
+ console.log(conn.querySync("select * from customer where customerCode = 'stevedave'"));
1987
+
1988
+ //Close the connection
1989
+ conn.closeSync();
1990
+ });
1991
+ });
1992
+ ```
1993
+
1994
+ ### <a name="rollbackTransactionApi"></a> 54) (Database) .rollbackTransaction([callback])
1995
+
1996
+ Rollback a transaction
1997
+
1998
+ * **callback** - _OPTIONAL_ - `callback (err)`. If callback is not provided, a Promise will be returned.
1999
+
2000
+ ```javascript
2001
+ const ibmdb = require("ibm_db")
2002
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
2003
+
2004
+ ibmdb.open(cn, function(err, conn) {
2005
+
2006
+ conn.beginTransaction(function (err) {
2007
+ if (err) {
2008
+ //could not begin a transaction for some reason.
2009
+ console.log(err);
2010
+ return conn.closeSync();
2011
+ }
2012
+
2013
+ const result = conn.querySync("insert into customer (customerCode) values ('stevedave')");
2014
+
2015
+ conn.rollbackTransaction(function (err) {
2016
+ if (err) {
2017
+ //error during rollback
2018
+ console.log(err);
2019
+ return conn.closeSync();
2020
+ }
2021
+
2022
+ console.log(conn.querySync("select * from customer where customerCode = 'stevedave'"));
2023
+
2024
+ //Close the connection
2025
+ conn.closeSync();
2026
+ });
2027
+ });
2028
+ });
2029
+ ```
2030
+
2031
+ ### <a name="rollbackTransactionSyncApi"></a> 55) (Database) .rollbackTransactionSync()
2032
+
2033
+ Synchronously rollback a transaction
2034
+
2035
+ ```javascript
2036
+ const ibmdb = require("ibm_db")
2037
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
2038
+
2039
+ ibmdb.open(cn, function(err, conn) {
2040
+
2041
+ conn.beginTransaction(function (err) {
2042
+ if (err) {
2043
+ //could not begin a transaction for some reason.
2044
+ console.log(err);
2045
+ return conn.closeSync();
2046
+ }
2047
+
2048
+ const result = conn.querySync("insert into customer (customerCode) values ('stevedave')");
2049
+
2050
+ conn.rollbackTransactionSync();
2051
+
2052
+ console.log(conn.querySync("select * from customer where customerCode = 'stevedave'"));
2053
+
2054
+ //Close the connection
2055
+ conn.closeSync();
2056
+ });
2057
+ });
2058
+ ```
2059
+
2060
+ ### <a name="setIsolationLevelApi"></a> 56) (Database) .setIsolationLevel(isolationLevel)
2061
+
2062
+ Synchronously sets the default isolation level passed as argument. It is only applicable when the default isolation level is used. It will have no effect if the application has specifically set the isolation level for a transaction.
2063
+
2064
+ * **isolationLevel:** An integer representing the isolation level to be set. Its value must be one of: 1|2|4|8|32. For details, see [doc](https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.cli.doc/doc/r0008832.html).
2065
+
2066
+ ```javascript
2067
+ const ibmdb = require("ibm_db")
2068
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
2069
+
2070
+ ibmdb.open(cn, function(err, conn) {
2071
+ conn.setIsolationLevel(2); // SQL_TXN_READ_COMMITTED
2072
+ conn.setIsolationLevel(4); // SQL_TXN_REPEATABLE_READ
2073
+ conn.querySync("create table mytab1 (c1 int, c2 varchar(10))");
2074
+ });
2075
+ ```
2076
+
2077
+ ### <a name="getColumnNamesSyncApi"></a> 45) (ODBCResult) .getColumnNamesSync()
2078
+
2079
+ Synchronously retrieve the name of columns returned by the resulset.
2080
+
2081
+ ```javascript
2082
+ conn.querySync("insert into mytab1 values ( 5, 'abc')");
2083
+ conn.prepare("select * from mytab1", function (err, stmt) {
2084
+ stmt.execute(function(err, result) {
2085
+ console.log("Column Names = ", result.getColumnNamesSync());
2086
+ result.closeSync(); conn.closeSync();
2087
+ });
2088
+ });
2089
+ ```
2090
+
2091
+ ### <a name="getColumnMetadataSyncApi"></a> 46) (ODBCResult) .getColumnMetadataSync()
2092
+
2093
+ Synchronously retrieve the metadata about columns returned by the resulset.
2094
+
2095
+ ```javascript
2096
+ conn.querySync("insert into mytab1 values ( 5, 'abc')");
2097
+ conn.prepare("select * from mytab1", function (err, stmt) {
2098
+ stmt.execute(function(err, result) {
2099
+ console.log("Column Names = ", result.getColumnNamesSync());
2100
+ console.log("Column Meta Data = ", result.getColumnMetadataSync());
2101
+ console.log("Fetched Data = ", result.fetchAllSync() );
2102
+ result.closeSync();
2103
+ conn.closeSync();
2104
+ });
2105
+ });
2106
+ ```
2107
+
2108
+ ### <a name="getSQLErrorSyncApi"></a> 47) (ODBCResult) .getSQLErrorSync()
2109
+
2110
+ Synchronously retrieve the sqlerror message and codes for last instruction executed on a statement handle using SQLGetDiagRec ODBC API.
2111
+
2112
+ ```javascript
2113
+ conn.querySync("insert into mytab1 values ( 5, 'abc')");
2114
+ conn.prepare("select * from mytab1", function (err, stmt) {
2115
+ stmt.execute(function(err, result) {
2116
+ console.log("Fetched Data = ", result.fetchAllSync() );
2117
+ const problem = result.getSQLErrorSync();
2118
+ if (problem.sqlcode < 0) { // This sqlcode is negative and is therefore an error
2119
+ console.log("SQLError = ", problem);
2120
+ } else if (problem.sqlcode > 0) { // This sqlcode is positive and is therefore a warning
2121
+ console.log("SQLWarning = ", problem);
2122
+ }
2123
+ result.closeSync();
2124
+ conn.closeSync();
2125
+ });
2126
+ });
2127
+ ```
2128
+
2129
+ ### <a name="bindFileToColApi"></a> 48) (ODBCResult) .bindFileToCol(colNum, filePath [, fileOption] [, callback])
2130
+
2131
+ Asynchronously bind a result set column to a file so that LOB data (BLOB, CLOB, DBCLOB) is written directly to the file during fetch. Uses the ODBC `SQLBindFileToCol` API internally. Must be called **after** execute and **before** fetch.
2132
+
2133
+ Returns a Promise if no callback is supplied.
2134
+
2135
+ * **colNum** - 1-based column number in the result set.
2136
+ * **filePath** - Path of the output file where LOB data will be written.
2137
+ * **fileOption** - _OPTIONAL_ - One of `ibmdb.SQL_FILE_CREATE` (8), `ibmdb.SQL_FILE_OVERWRITE` (16, default), or `ibmdb.SQL_FILE_APPEND` (32).
2138
+ * **callback** - _OPTIONAL_ - `callback(err)`. If omitted, a Promise is returned.
2139
+
2140
+ ```javascript
2141
+ const ibmdb = require("ibm_db");
2142
+
2143
+ ibmdb.open(cn, function(err, conn) {
2144
+ conn.prepare("SELECT BLOB_COL FROM mytab WHERE ID = 1", function(err, stmt) {
2145
+ stmt.execute(function(err, result) {
2146
+ // Callback style
2147
+ result.bindFileToCol(1, "output.bin", ibmdb.SQL_FILE_OVERWRITE, function(err) {
2148
+ if (err) throw err;
2149
+ var row = result.fetchSync();
2150
+ console.log(row); // { BLOB_COL: 'output.bin' }
2151
+ result.closeSync();
2152
+ });
2153
+ });
2154
+ });
2155
+
2156
+ // Promise / async-await style
2157
+ const stmt = conn.prepareSync("SELECT BLOB_COL FROM mytab WHERE ID = 1");
2158
+ const result = stmt.executeSync();
2159
+ await result.bindFileToCol(1, "output.bin");
2160
+ var row = result.fetchSync();
2161
+ console.log(row); // { BLOB_COL: 'output.bin' }
2162
+ result.closeSync();
2163
+ });
2164
+ ```
2165
+
2166
+ ### <a name="bindFileToColSyncApi"></a> 49) (ODBCResult) .bindFileToColSync(colNum, filePath [, fileOption])
2167
+
2168
+ Synchronously bind a result set column to a file so that LOB data (BLOB, CLOB, DBCLOB) is written directly to the file during fetch. Uses the ODBC `SQLBindFileToCol` API internally. Must be called **after** execute and **before** fetch.
2169
+
2170
+ * **colNum** - 1-based column number in the result set.
2171
+ * **filePath** - Path of the output file where LOB data will be written.
2172
+ * **fileOption** - _OPTIONAL_ - One of `ibmdb.SQL_FILE_CREATE` (8), `ibmdb.SQL_FILE_OVERWRITE` (16, default), or `ibmdb.SQL_FILE_APPEND` (32).
2173
+
2174
+ ```javascript
2175
+ const ibmdb = require("ibm_db");
2176
+
2177
+ ibmdb.open(cn, function(err, conn) {
2178
+ const stmt = conn.prepareSync("SELECT BLOB_COL, CLOB_COL FROM mytab WHERE ID = 1");
2179
+ const result = stmt.executeSync();
2180
+
2181
+ result.bindFileToColSync(1, "blob_output.bin", ibmdb.SQL_FILE_OVERWRITE);
2182
+ result.bindFileToColSync(2, "clob_output.txt", ibmdb.SQL_FILE_OVERWRITE);
2183
+
2184
+ var rows = result.fetchAllSync();
2185
+ console.log(rows);
2186
+ // [ { BLOB_COL: 'blob_output.bin', CLOB_COL: 'clob_output.txt' } ]
2187
+
2188
+ result.closeSync();
2189
+ conn.closeSync();
2190
+ });
2191
+ ```
2192
+
2193
+ ### <a name="enableDebugLogs"></a> 57) (ibmdb) .debug(value)
2194
+
2195
+ Enable console logs. debug(true) do not log params that may have sensitive data. Support for debug(2) added to dump bind params.
2196
+
2197
+ * **value** - true/false/2. Any truthy value enables debug mode.
2198
+
2199
+ ```javascript
2200
+ const ibmdb = require("ibm_db")
2201
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
2202
+
2203
+ ibmdb.debug(true); // **==> ENABLE CONSOLE LOGS, but do not log params. <==**
2204
+ ibmdb.debug(2); // **==> ENABLE CONSOLE LOGS and log parameter values too if passed. <==**
2205
+
2206
+ ibmdb.open(cn, function (err, conn) {
2207
+ if (err)
2208
+ {
2209
+ console.log(err);
2210
+ return;
2211
+ }
2212
+ conn.query("select 1 from sysibm.sysdummy1", function (err1, rows) {
2213
+ if (err1) console.log(err1);
2214
+ else console.log(rows);
2215
+
2216
+ ibmdb.debug(false); // Disable console logs.
2217
+
2218
+ conn.close(function(err2) {
2219
+ if(err2) console.log(err2);
2220
+ });
2221
+ });
2222
+ });
2223
+ ```
2224
+
2225
+ ### <a name="executeFileSyncApi"></a> 58) (Database) .executeFileSync(sqlFile, [delimiter], [outputFile])
2226
+
2227
+ Synchronously issue multiple SQL query from the file to the database that is currently open.
2228
+
2229
+ * **sqlFile** - sqlFile input should be the full path of the file. sqlFile can be an Object in the form { "sql": sqlFile, "delimiter": delimiter, "outputfile": outputfile }.
2230
+ "sql" field is mandatory in Object.
2231
+
2232
+ * **delimiter** - _OPTIONAL_ - Delimiter separates multiple queries in `sqlFile`. Defaults to `;`.
2233
+
2234
+ * **outputfile** - _OPTIONAL_ - Outputfile should be the full path of the file and only select queries data will be copied to outputfile split by the delimiter.
2235
+ If the outputfile already exists it will be overwritten. If the outputfile is not provided the result will be returned split by the delimiter.
2236
+
2237
+ ```javascript
2238
+ const ibmdb = require("ibm_db")
2239
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2240
+
2241
+ ibmdb.open(cn, function(err, conn){
2242
+ conn.executeFileSync('sample2.txt', '%','out.txt');
2243
+ const rows = conn.executeFileSync('sample2.txt', '%');
2244
+ console.log(rows)
2245
+ });
2246
+ ```
2247
+
2248
+ ### <a name="executeFileApi"></a> 59) (Database) .executeFile(sqlFile, [delimiter], [outputFile])
2249
+
2250
+ Asynchronously issue multiple SQL query from the file to the database that is currently open.
2251
+
2252
+ * **sqlFile** - sqlFile input should be the full path of the file. sqlFile can be an Object in the form { "sql": sqlFile, "delimiter": delimiter, "outputfile": outputfile }.
2253
+ "sql" field is mandatory in Object.
2254
+
2255
+ * **delimiter** - _OPTIONAL_ - Delimiter separates multiple queries in `sqlFile`. Defaults to `;`.
2256
+
2257
+ * **outputfile** - _OPTIONAL_ - Outputfile should be the full path of the file and only select queries data will be copied to outputfile split by the delimiter.
2258
+ If the outputfile already exists it will be overwritten. If the outputfile is not provided the result will be returned split by the delimiter.
2259
+
2260
+ ```javascript
2261
+ const ibmdb = require("ibm_db")
2262
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2263
+
2264
+ ibmdb.open(cn, function(err, conn){
2265
+ conn.executeFile('sample3.txt', '@', 'out.txt', function (err, rows) {
2266
+ if (err) {
2267
+ console.log(err);
2268
+ } else {
2269
+ console.log(rows);
2270
+ }
2271
+ });
2272
+ conn.executeFile('sample3.txt', '@', function (err, rows) {
2273
+ if (err) {
2274
+ console.log(err);
2275
+ } else {
2276
+ console.log(rows);
2277
+ }
2278
+ });
2279
+ });
2280
+ ```
2281
+
2282
+ ### <a name="setAttrApi"></a> 60) (Database) .setAttr(attributeName, value [, callback])
2283
+
2284
+ Set connection and statement level attributes asynchronously. It requires attributeName and corresponding value.
2285
+ `conn.setAttr()` - sets connection level attributes post connection.
2286
+ `stmt.setAttr()` - sets statement level attributes post creation of statement handle.
2287
+
2288
+ ```javascript
2289
+ await conn.setAttr("SQL_ATTR_INFO_USERID", 'appuser');
2290
+
2291
+ stmt.setAttr(ibmdb.SQL_ATTR_PARAMSET_SIZE, 4, function(err, result) {
2292
+ if(err) { console.log(err); stmt.closeSync(); }
2293
+ else { ... }
2294
+ });
2295
+ ```
2296
+
2297
+ ### <a name="setAttrSyncApi"></a> 61) (Database) .setAttrSync(attributeName, value)
2298
+
2299
+ Set connection and statement level attributes synchronously. It requires attributeName and corresponding value.
2300
+ `conn.setAttrSync()` - sets connection level attributes post connection.
2301
+ `stmt.setAttrSync()` - sets statement level attributes post creation of statement handle.
2302
+
2303
+ ```javascript
2304
+ conn.setAttrSync(ibmdb.SQL_ATTR_INFO_APPLNAME, 'mynodeApp');
2305
+
2306
+ const err = stmt.setAttrSync(ibmdb.SQL_ATTR_PARAMSET_SIZE, 5);
2307
+ err = stmt.setAttrSync(ibmdb.SQL_ATTR_QUERY_TIMEOUT, 50);
2308
+ err = stmt.setAttrSync(3, 2); //SQL_ATTR_MAX_LENGTH = 3
2309
+
2310
+ // Set SQL_ATTR_ROW_ARRAY_SIZE for block fetch (fetches 10 rows per SQLFetch call)
2311
+ err = stmt.setAttrSync(ibmdb.SQL_ATTR_ROW_ARRAY_SIZE, 10);
2312
+ ```
2313
+
2314
+ ### <a name="getInfoApi"></a> 62) (Database) .getInfo(infoType, [infoLength] [, callback])
2315
+
2316
+ Asynchronously retrieve the general information about the database management system (DBMS) that the application is connected to. It also retrives the information about ODBC driver used for connection.
2317
+
2318
+ * **infoType** - The type of information that is required. The possible values for this argument are described in [Information returned by SQLGetInfo()](https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ibm.db2.luw.apdv.cli.doc/doc/r0000615.html#r0000615__tbginfo). The value for this argument should be an integer value if macro is not defined in `ibm_db/lib/climacros.js` file.
2319
+
2320
+ * **infoLength** - _OPTIONAL_ - Length of the string value to be retrieved. If not provided, getInfo() can return a string value of maximum size 255 bytes.
2321
+
2322
+ * **callback** - _OPTIONAL_- `callback (error, value)`. If callback is not provided, a Promise will be returned.
2323
+
2324
+ Depending on the type of information that is being retrieved, 2 types of information can be returned:
2325
+ - String value
2326
+ - Number value
2327
+
2328
+ ```javascript
2329
+ const ibmdb = require("ibm_db")
2330
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2331
+
2332
+ ibmdb.open(cn, function(err, conn) {
2333
+ conn.getInfo(ibmdb.SQL_DBMS_NAME, function(error, data) {
2334
+ if(error) console.log(error);
2335
+ else console.log("SQL_DBMS_NAME(Server Type) = ", data);
2336
+ conn.closeSync();
2337
+ });
2338
+ });
2339
+ ```
2340
+
2341
+ ### <a name="getInfoSyncApi"></a> 63) (Database) .getInfoSync(infoType, [infoLength])
2342
+
2343
+ Synchronously retrieve the general information about the database management system (DBMS) that the application is connected to. It also retrives the information about ODBC driver used for connection.
2344
+
2345
+ * **infoType** - The type of information that is required. The possible values for this argument are described in [Information returned by SQLGetInfo()](https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ibm.db2.luw.apdv.cli.doc/doc/r0000615.html#r0000615__tbginfo). The value for this argument should be an integer value if macro is not defined in `ibm_db/lib/climacros.js` file.
2346
+
2347
+ * **infoLength** - _OPTIONAL_ - Length of the string value to be retrieved. If not provided, getInfo() can return a string value of maximum size 255 bytes.
2348
+
2349
+ ```javascript
2350
+ const ibmdb = require("ibm_db")
2351
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2352
+
2353
+ ibmdb.open(cn, function(err, conn)
2354
+ {
2355
+ let serverVersion = conn.getInfoSync(ibmdb.SQL_DBMS_VER);
2356
+ console.log("SQL_DBMS_VER(Server Version) = ", serverVersion);
2357
+ conn.closeSync();
2358
+ });
2359
+ ```
2360
+
2361
+ ### <a name="getTypeInfoApi"></a> 64) (Database) .getTypeInfo(dataType [, callback])
2362
+
2363
+ Asynchronously retrieve the information about the SQL data types that are supported by the connected database server.
2364
+ If `ibmdb.SQL_ALL_TYPES` is specified, information about all supported data types would be returned in ascending order by `TYPE_NAME`. All unsupported data types would be absent from the result set.
2365
+
2366
+ * **dataType** - The SQL data type being queried. The supported values for this argument are described in [SQLGetTypeInfo function (CLI) - Get data type information](https://www.ibm.com/docs/en/db2/11.5?topic=functions-sqlgettypeinfo-function-get-data-type-information). The value for this argument should be an integer value if macro is not defined in `ibm_db/lib/climacros.js` file.
2367
+
2368
+ * **callback** - _OPTIONAL_ - `callback (error, result)`. If callback is not provided, a Promise will be returned.
2369
+
2370
+ ```javascript
2371
+ const ibmdb = require("ibm_db")
2372
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2373
+
2374
+ ibmdb.open(cn, function(err, conn) {
2375
+ conn.getTypeInfo(ibmdb.SQL_BLOB, function(error, result) {
2376
+ if(error) console.log(error);
2377
+ else console.log("SQL_BLOB Data Type Info = ", result);
2378
+ conn.closeSync();
2379
+ });
2380
+ });
2381
+
2382
+ async function main()
2383
+ {
2384
+ let conn = await ibmdb.open(cn);
2385
+ let data = await conn.getTypeInfo(ibmdb.SQL_ALL_TYPES);
2386
+ console.log("All supported data types info = ", data);
2387
+ await conn.close();
2388
+ }
2389
+ ```
2390
+
2391
+ ### <a name="getTypeInfoSyncApi"></a> 65) (Database) .getTypeInfoSync(dataType)
2392
+
2393
+ Synchronously retrieve the information about the SQL data types that are supported by the connected database server.
2394
+ If `ibmdb.SQL_ALL_TYPES` is specified, information about all supported data types would be returned in ascending order by `TYPE_NAME`. All unsupported data types would be absent from the result set.
2395
+
2396
+ * **dataType** - The SQL data type being queried. The supported values for this argument are described in [SQLGetTypeInfo function (CLI) - Get data type information](https://www.ibm.com/docs/en/db2/11.5?topic=functions-sqlgettypeinfo-function-get-data-type-information). The value for this argument should be an integer value if macro is not defined in `ibm_db/lib/climacros.js` file.
2397
+
2398
+ ```javascript
2399
+ const ibmdb = require("ibm_db")
2400
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2401
+
2402
+ ibmdb.open(cn, function(err, conn) {
2403
+ let result = conn.getTypeInfoSync(ibmdb.SQL_BIGINT);
2404
+ console.log("SQL_BIGINT Data Type Info = ", result);
2405
+ conn.closeSync();
2406
+ });
2407
+ ```
2408
+
2409
+ ### <a name="getFunctionsApi"></a> 66) (Database) .getFunctions(functionId, callback)
2410
+
2411
+ Asynchronously determines whether a specific CLI or ODBC function is supported. This allows applications to adapt to varying levels of support when connecting to different database servers.
2412
+
2413
+ * **functionId** - The value for a function being queried. The value for this argument should be an integer value if macro is not defined in `ibm_db/lib/climacros.js` file.
2414
+
2415
+ * **callback** - `callback (error, value)`
2416
+
2417
+ - value will have only two values: true or false if a valid function id is passed. For ibmdb.ALLFUNCTIONS or 0, it returns an object of all supported functions with true/false value.
2418
+
2419
+ ```javascript
2420
+ const ibmdb = require("ibm_db")
2421
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2422
+
2423
+ ibmdb.open(cn, function(err, conn) {
2424
+ conn.getFunctions(ibmdb.SQLCONNECT, function(error, value) {
2425
+ if(error) console.log(error);
2426
+ else console.log("Is SQLConnect supported : ", value);
2427
+ conn.closeSync();
2428
+ });
2429
+ });
2430
+ ```
2431
+
2432
+ ### <a name="getFunctionsSyncApi"></a> 67) (Database) .getFunctionsSync(functionId)
2433
+
2434
+ Synchronously determines whether a specific CLI or ODBC function is supported. This allows applications to adapt to varying levels of support when connecting to different database servers.
2435
+
2436
+ * **functionId** - The value for a function being queried. The value for this argument should be an integer value if macro is not defined in `ibm_db/lib/climacros.js` file.
2437
+
2438
+ ```javascript
2439
+ const ibmdb = require("ibm_db")
2440
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2441
+
2442
+ ibmdb.open(cn, function(err, conn)
2443
+ {
2444
+ let fExists = conn.getFunctionsSync(ibmdb.SQLFREECONNECT);
2445
+ console.log("Function SQLFreeConnect Exist : ", fExists);
2446
+ conn.closeSync();
2447
+ });
2448
+ ```
2449
+
2450
+ ### <a name="cancelApi"></a> 68) (Database) .cancel(statement [, callback])
2451
+
2452
+ Cancel an executing SQL statement on the connection. This calls `SQLCancel` ODBC API to cancel a long-running query. The cancel can be called from another thread or asynchronously while a query is executing.
2453
+
2454
+ * **statement** - _REQUIRED_ - The statement object to cancel (returned from `prepareSync` or `prepare`).
2455
+ * **callback** - _OPTIONAL_ - `callback (err, result)`. If callback is not provided, a Promise will be returned.
2456
+
2457
+ Returns `true` on success.
2458
+
2459
+ ```javascript
2460
+ const ibmdb = require("ibm_db")
2461
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2462
+
2463
+ ibmdb.open(cn, function(err, conn)
2464
+ {
2465
+ // Prepare a statement for a long-running query
2466
+ const stmt = conn.prepareSync("SELECT * FROM LARGE_TABLE");
2467
+
2468
+ // Start executing asynchronously
2469
+ stmt.execute(function(err, result) {
2470
+ if (err) {
2471
+ console.log("Query cancelled or error: ", err);
2472
+ } else {
2473
+ console.log("Data: ", result.fetchAllSync());
2474
+ result.closeSync();
2475
+ }
2476
+ stmt.closeSync();
2477
+ });
2478
+
2479
+ // Cancel the query after 5 seconds from another context
2480
+ setTimeout(function() {
2481
+ conn.cancel(stmt, function(err, result) {
2482
+ if (err) console.log("Cancel error: ", err);
2483
+ else console.log("Query cancelled successfully");
2484
+ });
2485
+ }, 5000);
2486
+ });
2487
+
2488
+ // Using Promises:
2489
+ async function cancelExample() {
2490
+ const conn = await ibmdb.open(cn);
2491
+ const stmt = conn.prepareSync("SELECT * FROM LARGE_TABLE");
2492
+ try {
2493
+ const result = await conn.cancel(stmt);
2494
+ console.log("Cancel result:", result);
2495
+ } catch (err) {
2496
+ console.log("Cancel error:", err);
2497
+ }
2498
+ stmt.closeSync();
2499
+ }
2500
+ ```
2501
+
2502
+ ### <a name="cancelSyncApi"></a> 69) (Database) .cancelSync(statement)
2503
+
2504
+ Synchronous version of cancel. Calls `SQLCancel` ODBC API to cancel an executing statement.
2505
+
2506
+ * **statement** - _REQUIRED_ - The statement object to cancel (returned from `prepareSync` or `prepare`).
2507
+
2508
+ Returns `true` on success, or throws an error on failure.
2509
+
2510
+ ```javascript
2511
+ const ibmdb = require("ibm_db")
2512
+ , cn = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2513
+
2514
+ const conn = ibmdb.openSync(cn);
2515
+ const stmt = conn.prepareSync("SELECT * FROM LARGE_TABLE");
2516
+
2517
+ // Start executing in background and cancel synchronously
2518
+ stmt.execute(function(err, result) {
2519
+ // This may return with a cancel error
2520
+ });
2521
+
2522
+ try {
2523
+ let result = conn.cancelSync(stmt);
2524
+ console.log("Cancel result:", result);
2525
+ } catch (err) {
2526
+ console.log("Cancel error:", err);
2527
+ }
2528
+ stmt.closeSync();
2529
+ conn.closeSync();
2530
+ ```
2531
+
2532
+ ## Create and Drop Database APIs
2533
+
2534
+ ### <a name="createDbSyncApi"></a> (ibmdb) .createDbSync(dbName, connectionString [, options])
2535
+
2536
+ To create a database (dbName) through Node.js application.
2537
+
2538
+ * **dbName** - The database name.
2539
+ * **connectionString** - The connection string for your database instance.
2540
+ * **options** - _OPTIONAL_ - Object type.
2541
+ * codeSet - Database code set information.
2542
+ * mode - Database logging mode (applicable only to "IDS data servers").
2543
+
2544
+ ```javascript
2545
+ const ibmdb = require("ibm_db");
2546
+ // Connection string without "DATABASE" keyword and value.
2547
+ const cn = "HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2548
+
2549
+ const DB_NAME = "TESTDB";
2550
+
2551
+ const createDB = ibmdb.createDbSync(DB_NAME, cn);
2552
+
2553
+ if (createDB) {
2554
+ console.log("Database created successfully.");
2555
+ // Connection string with newly created "DATABASE" name.
2556
+ const conStr = cn + ";" + "DATABASE=" + DB_NAME;
2557
+
2558
+ ibmdb.open(conStr, function(err, conn) {
2559
+ if(err) console.log(err);
2560
+ else console.log("Database connection opened.");
2561
+ });
2562
+ }
2563
+ ```
2564
+
2565
+ Note: This API is not supported for Db2 on z/OS servers. Given that connection
2566
+ to Db2 on z/OS is to a specific subsystem, this API is not applicable.
2567
+
2568
+ ### <a name="dropDbSyncApi"></a> (ibmdb) .dropDbSync(dbName, connectionString [, options])
2569
+
2570
+ To drop a database (dbName) through node.js application.
2571
+
2572
+ * **dbName** - The database name.
2573
+ * **connectionString** - The connection string for your database instance.
2574
+ * **options** - _OPTIONAL_ - Object type.
2575
+ * codeSet - Database code set information.
2576
+ * mode - Database logging mode (applicable only to "IDS data servers").
2577
+
2578
+ ```javascript
2579
+ const ibmdb = require("ibm_db");
2580
+ // Connection string without "DATABASE" keyword and value.
2581
+ const cn = "HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password";
2582
+
2583
+ const DB_NAME = "TESTDB";
2584
+
2585
+ const dropDB = ibmdb.dropDbSync(DB_NAME, cn);
2586
+
2587
+ if (dropDB) {
2588
+ console.log("Database dropped successfully.");
2589
+ }
2590
+ ```
2591
+
2592
+ Note: This API is not supported for Db2 on z/OS servers. Given that connection
2593
+ to Db2 on z/OS is to a specific subsystem, this API is not applicable.
2594
+
2595
+ ## <a name="PoolAPIs"></a>Connection Pooling APIs
2596
+
2597
+ node-ibm_db reuses its own connection pooling mechanism.
2598
+ The ibm_db `Pool` is a rudimentary connection pool which will attempt to have
2599
+ database connections ready and waiting for you when you call the `open` method.
2600
+
2601
+ If you use a `Pool` instance, any connection that you close will get added to
2602
+ the list of available connections immediately. These connection will be used
2603
+ the next time you call `Pool.open()` for the same connection string.
2604
+
2605
+ For applications using multiple connections simultaneously, it is recommended to
2606
+ use Pool.open instead of [ibmdb.open](#1-openconnectionstring-options-callback).
2607
+
2608
+ ### <a name="openPoolApi"></a> 1) (Pool) .open(connectionString [, callback])
2609
+
2610
+ Get a `Database` instance which is already connected to `connectionString`
2611
+
2612
+ * **connectionString** - The connection string for your database
2613
+ * **callback** - _OPTIONAL_ - `callback (err, db)`. If callback is not provided, a Promise will be returned.
2614
+
2615
+ ```javascript
2616
+ const Pool = require("ibm_db").Pool
2617
+ , pool = new Pool()
2618
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
2619
+
2620
+ pool.open(cn, function (err, db) {
2621
+ if (err) {
2622
+ return console.log(err);
2623
+ }
2624
+ console.log("Connection opened successfully.");
2625
+ console.log("Data = ", db.querySync("select 1 as c1 from sysibm.sysdummy1"));
2626
+ db.close(function (error) { // RETURN CONNECTION TO POOL
2627
+ if (error) {
2628
+ console.log("Error while closing connection,", error);
2629
+ return;
2630
+ }
2631
+ });
2632
+ });
2633
+ ```
2634
+
2635
+ ### <a name="openSyncPoolApi"></a> 2) (Pool) .openSync(connectionString)
2636
+
2637
+ Get a `Database` connection synchronously which is already connected to `connectionString`
2638
+
2639
+ * **connectionString** - The connection string for your database
2640
+
2641
+ See [test-pool-close.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-pool-close.js) for an example.
2642
+
2643
+ ```javascript
2644
+ const Pool = require("ibm_db").Pool
2645
+ , pool = new Pool()
2646
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
2647
+
2648
+ try {
2649
+ const conn = pool.openSync(connectionString);
2650
+ } catch(error) {
2651
+ console.log("Unable to open connection,", error);
2652
+ return;
2653
+ }
2654
+ console.log("Connection opened successfully.");
2655
+ console.log("Data = ", conn.querySync("select 1 as c1 from sysibm.sysdummy1"));
2656
+ const err = conn.closeSync(); // RETURN DB CONNECTION TO POOL.
2657
+ if (err) {
2658
+ console.log("Error while closing connection,", err);
2659
+ return;
2660
+ }
2661
+ ```
2662
+
2663
+ ### <a name="closePoolApi"></a> 3) (Pool) .close([callback])
2664
+
2665
+ Close all connections in the `Pool` instance asynchronously.
2666
+
2667
+ * **callback** - _OPTIONAL_ - `callback (err)`. If callback is not provided, a Promise will be returned.
2668
+
2669
+ ```javascript
2670
+ const Pool = require("ibm_db").Pool
2671
+ , pool = new Pool()
2672
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
2673
+
2674
+ pool.open(cn, function (err, db) {
2675
+ if (err) {
2676
+ return console.log(err);
2677
+ }
2678
+
2679
+ //db is now an open database connection and can be used like normal connection.
2680
+ //but all we will do now is close the whole pool using close() API.
2681
+ //Use db.close() to return the connection back to pool for next use.
2682
+
2683
+ pool.close(function () {
2684
+ console.log("All connections in the pool are closed.");
2685
+ });
2686
+ });
2687
+ ```
2688
+
2689
+ ### <a name="closeSyncPoolApi"></a> 4) (Pool) .closeSync()
2690
+
2691
+ Close all connections in the `Pool` instance synchronously.
2692
+ See [test-pool-close.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-pool-close.js) for an example.
2693
+
2694
+ ```javascript
2695
+ const Pool = require("ibm_db").Pool
2696
+ , pool = new Pool()
2697
+ , cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";
2698
+
2699
+ try {
2700
+ const conn = pool.openSync(connectionString);
2701
+ } catch(error) {
2702
+ console.log("Unable to open connection,", error);
2703
+ return;
2704
+ }
2705
+ console.log("Connection opened successfully.");
2706
+
2707
+ //conn is now an open database connection and can be used like a normal connection.
2708
+ //but all we will do now is close the whole pool using closeSync() API.
2709
+ //Use conn.closeSync() to return the connection back to pool for next use.
2710
+
2711
+ const error = pool.closeSync();
2712
+ if (error) { console.log("Error while closing pool,", error); return; }
2713
+ console.log("All connections in the pool are closed.");
2714
+ ```
2715
+
2716
+ ### <a name="initPoolApi"></a> 5) (Pool) .init(N, connStr)
2717
+
2718
+ Initialize `Pool` with N no of active connections using supplied connection string.
2719
+ It is a synchronous API.
2720
+
2721
+ * **N** - No of connections to be initialized.
2722
+ * **connStr** - The connection string for your database
2723
+
2724
+ ```javascript
2725
+ const ret = pool.init(5, connStr);
2726
+ if(ret != true)
2727
+ {
2728
+ console.log(ret);
2729
+ return false;
2730
+ }
2731
+
2732
+ pool.open(connStr, function(err, db) { ...
2733
+ ```
2734
+
2735
+ See [test-max-pool-size.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-max-pool-size.js) for an example.
2736
+
2737
+
2738
+ ### <a name="initAsyncApi"></a> 6) (Pool) .initAsync(N, connStr [, callback])
2739
+
2740
+ Initialize `Pool` with N no of active connections using supplied connection string.
2741
+ It is an asynchronous API.
2742
+
2743
+ * **N** - No of connections to be initialized.
2744
+ * **connStr** - The connection string for your database or a JSON Object with connection information
2745
+ * **callback** - _OPTIONAL_ - `callback (err)`. If callback is not provided, a Promise will be returned.
2746
+
2747
+ ```javascript
2748
+ pool.initAsync(5, connStr, function(err) {
2749
+ if(err) {
2750
+ console.log(err);
2751
+ return false;
2752
+ }
2753
+ pool.open(connStr, function(err, db) { ... });
2754
+ });
2755
+
2756
+ try {
2757
+ await pool.initAsync(1, cn);
2758
+ let conn = await pool.open(cn);
2759
+ let data = await conn.query("select 1 from sysibm.sysdummy1");
2760
+ console.log("data = ", data);
2761
+ } catch(err) {console.log(err);}
2762
+ ```
2763
+
2764
+ See [test-asyc-await.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-asyc-await.js#L50) for an example.
2765
+
2766
+ ### <a name="setMaxPoolSize"></a> 7) (Pool) .setMaxPoolSize(N)
2767
+
2768
+ Set the maximum number of connections to the database supported by the current pool.
2769
+
2770
+ * **N** - No of maximum connections in the pool.
2771
+ If we call the `pool.open()` or `openSync()` APIs and **N** connections are already in use,
2772
+ subsequent connection requests will be queued and wait until a connection a connection is closed or the maximum connection timeout. See [test-max-pool-size.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-max-pool-size.js) for an example.
2773
+
2774
+ ```javascript
2775
+ pool.setMaxPoolSize(20);
2776
+ pool.open(connStr, function(err, db) { ...
2777
+ ```
2778
+
2779
+ ## <a name="bindParameters"></a>bindingParameters
2780
+
2781
+ Bind arguments for each parameter marker(?) in SQL query.
2782
+ These parameters can be used with query(), querySync, bind(), execute() APIs.
2783
+ bindingParameters is an array of Values like: [val1, val2, ...]
2784
+ Each value in itself can be an Array or Object having multiple bind options.
2785
+ If parameters are not an integer or string, it is recomended to pass an Object with different bind options. The object can have following keys:
2786
+
2787
+ `{"ParamType":"INOUT", CType:"BINARY", SQLType:"BLOB",DataType: "BLOB", Data:imgfile, Length:50}`
2788
+
2789
+ Either SQLType or DataType must be used. If SQLType is used, DataType will be ignored.
2790
+
2791
+ * **ParmType**: Type of the Parameter. Supported Values are:
2792
+ - INPUT - Bind the parameter using SQL_PARAM_INPUT(defined in ibm_db/installer/clidriver/include/sqlext.h file). It is used as input value and it is the default value, if you don't use this key in object.
2793
+ - OUTPUT - Bind the parameter using SQL_PARAM_OUTPUT. It is basically used for Stored Procedure call which has output parameters.
2794
+ - INOUT - Bind the parameter using SQL_PARAM_INPUT_OUTPUT. It is also used for Stored Procedure call.
2795
+ - FILE - It tells the Data is a filename that contains actual data to load. If you want to load an image to database, use this input type along with DataType as BLOB for binary file.
2796
+ f.e. `{ParamType: "FILE", DataType: "BLOB", Data: "mypic.jpg"}`
2797
+ - ARRAY - It tells the Data is an Array of same type and size. It must be used for Array Insert i.e. to insert data for multiple rows using single execute.
2798
+ If one parameter is of type ARRAY, all parameters passed to an API must be of type ARRAY and of equal size. Check [test/test-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-array-insert.js) for example.
2799
+ "Length" is optional. Default value is the max length among all members of the Array.
2800
+ Use "Length: <customLen>" to override if needed.
2801
+
2802
+ * **CType**: C Data type of the parameter to be bound. Default value is CHAR.
2803
+ * **SQLType**: Data type of the parameter on Server. It is actually the column Type of the parameter. Default value is CHAR
2804
+ * **DataType**: Same as SQLType. Use either SQLType or DataType. Added for simple name. Default Value is CHAR.
2805
+ * **Data**: Its value is actuall data for the parameter. For binary data, it should represent the full buffer containing binary data. For ParamType:"FILE", it must have the filename on disc that contains data. For chunked LOB insert, Data can be an Array of Buffers (sync and async) or a Readable stream (async only). It is mandatory key in the data Object.
2806
+ * **Length**: It denotes the buffer length in byte to store the OUT Pamameter value when ParamType is INOUT or OUTPUT in a Stored Procedure call. For chunked LOB insert with Readable stream, Length is optional but recommended for server-side optimization.
2807
+
2808
+ * Few example of bidningParameters that we can use in node.js program:
2809
+ ```
2810
+ [18, 'string']
2811
+ [3, 5, 3.8, 'string', 9.1]
2812
+ [18, [1, 1, 1, 'string']]
2813
+ [[1, 1, 1, 18], [1, 1, 1, 'string']]
2814
+ [18, {ParamType:"INPUT", "Data": "string"}]
2815
+ [18, {ParamType:"INPUT", CType: "CHAR", SQLType: "CHAR", "Data": "string"}]
2816
+ [38, {ParamType:"INPUT", SQLType: "CHAR", "Data": "string"}]
2817
+ [38, {ParamType:"INPUT", DataType: "CHAR", "Data": "string"}]
2818
+ [[1,1,1,38], {"Data": "string"}]
2819
+ [38, {ParamType:"INPUT", DataType: "CLOB", "Data": var1}] - here var1 contains full CLOB data to be inserted.
2820
+ [38, {ParamType:"FILE", DataType: "CLOB", "Data": filename}] - here filename is the name of file which has large character data.
2821
+ [{ParamType:"ARRAY", DataType:1, Data:[4,5,6,7,8]}, {ParamType:"ARRAY", DataType:"DOUBLE", Data:[4.1,5.3,6.14,7,8.3]}] - for Array insert.
2822
+ [1, {DataType:"BLOB", Data:[chunk1, chunk2, chunk3]}] - chunked LOB insert using array of Buffers.
2823
+ [1, {DataType:"BLOB", Data:readableStream, Length:totalSize}] - chunked LOB insert using Readable stream (async only).
2824
+ ```
2825
+ The values in array parameters used in above example is not recommened to use as it is dificult to understand. These values are macro values from ODBC specification and we can directly use those values. To understand it, see the [SQLBindParameter](http://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.cli.doc/doc/r0002218.html) documentation for DB2.
2826
+
2827
+ Pass bind parameters as Object if you want to insert an Array or BLOB or CLOB data to DB2. Check below test files to know how to insert a BLOB and CLOB data from buffer and file:
2828
+
2829
+ - [test-blob-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-blob-insert.js) - To insert a BLOB and CLOB data using memory buffer. Application need to read the file contents and then use as bind parameter.
2830
+ - [test-blob-file.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-blob-file.js) - To insert an image file and large text file directly to database without reading it by application.
2831
+ - [test-array-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-array-insert.js) - For Array Insert.
2832
+ - [test-blob-stream-insert.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-blob-stream-insert.js) - To insert BLOB data using array of Buffers (chunks) or Readable stream. Uses SQLPutData internally to send data to the server in chunks.
2833
+
2834
+ ### Chunked LOB Insert (Array of Buffers or Readable Stream)
2835
+
2836
+ For large BLOB/CLOB data, you can pass the data as an **array of Buffers** (works with both sync and async APIs) or as a **Readable stream** (async APIs only). Internally, this uses the ODBC `SQLPutData` API to send LOB data to the server in chunks, which avoids requiring the CLI driver to buffer the entire LOB in a single contiguous allocation.
2837
+
2838
+ **Array of Buffers (sync and async):**
2839
+ ```javascript
2840
+ const fs = require('fs');
2841
+ const ibmdb = require('ibm_db');
2842
+ // Read file and split into chunks
2843
+ const data = fs.readFileSync('large-image.jpg');
2844
+ const chunkSize = 65536;
2845
+ const chunks = [];
2846
+ for (let off = 0; off < data.length; off += chunkSize) {
2847
+ chunks.push(data.slice(off, Math.min(off + chunkSize, data.length)));
2848
+ }
2849
+ // Insert using querySync (or query, execute, etc.)
2850
+ conn.querySync("INSERT INTO mytab (ID, PHOTO) VALUES (?, ?)",
2851
+ [1, { DataType: "BLOB", Data: chunks }]);
2852
+ ```
2853
+
2854
+ **Readable Stream (async only):**
2855
+ ```javascript
2856
+ const fs = require('fs');
2857
+ const ibmdb = require('ibm_db');
2858
+ const stream = fs.createReadStream('large-image.jpg', { highWaterMark: 65536 });
2859
+ conn.query("INSERT INTO mytab (ID, PHOTO) VALUES (?, ?)",
2860
+ [1, { DataType: "BLOB", Data: stream, Length: fileSize }],
2861
+ function(err) {
2862
+ if (err) console.log(err);
2863
+ else console.log("Inserted successfully");
2864
+ });
2865
+ ```
2866
+
2867
+ ## <a name="callStmt"></a>CALL Statement
2868
+
2869
+ * If stored procedure has any OUT or INOUT parameter, always call it with
2870
+ parmeter markers only. i.e. pass the input values using bind params.
2871
+
2872
+ * Pass the Bind Params as objects only.
2873
+
2874
+ * If SP has result set to return, it will be returned in the array after out params. f.e. if SP has 2 out params and it returns 2 result set too, the result returned by query() or querySync() would be in the form [outValue1, outValue2, resultSet1, resultSet2]. Each resultset would be an array of row objects.
2875
+
2876
+ * [test-call-stmt.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-call-stmt.js) - Example using conn.querySync().
2877
+
2878
+ * [test-call-async.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-call-async.js) - Example using conn.query().
2879
+
2880
+ * [test-sp-resultset.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-sp-resultset.js) - Example using Out Params and Result Set using query() and querySync() APIs.
2881
+
2882
+ * [test-sp-resultset-execute.js](https://github.com/ibmdb/node-ibm_db/blob/master/test/test-sp-resultset-execute.js) - Example using Out Params and Result Set using prepare() and execute() APIs.
2883
+