@nesgarbo/node-jt400 5.4.2 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/README.md +16 -6
  2. package/dist-cjs/index.d.cts +18 -0
  3. package/dist-cjs/index.js +86 -0
  4. package/dist-cjs/index.js.map +1 -0
  5. package/dist-cjs/integration-test/call-rpg-spec.d.cts +2 -0
  6. package/dist-cjs/integration-test/call-rpg-spec.js +101 -0
  7. package/dist-cjs/integration-test/call-rpg-spec.js.map +1 -0
  8. package/dist-cjs/integration-test/dataq-spec.d.cts +2 -0
  9. package/dist-cjs/integration-test/dataq-spec.js +57 -0
  10. package/dist-cjs/integration-test/dataq-spec.js.map +1 -0
  11. package/dist-cjs/integration-test/db.d.cts +8 -0
  12. package/dist-cjs/integration-test/db.js +31 -0
  13. package/dist-cjs/integration-test/db.js.map +1 -0
  14. package/dist-cjs/integration-test/db2-connect-spec.d.cts +2 -0
  15. package/dist-cjs/integration-test/db2-connect-spec.js +42 -0
  16. package/dist-cjs/integration-test/db2-connect-spec.js.map +1 -0
  17. package/dist-cjs/integration-test/db2-pool-spec.d.cts +2 -0
  18. package/dist-cjs/integration-test/db2-pool-spec.js +213 -0
  19. package/dist-cjs/integration-test/db2-pool-spec.js.map +1 -0
  20. package/dist-cjs/integration-test/ifs-spec.d.cts +2 -0
  21. package/dist-cjs/integration-test/ifs-spec.js +140 -0
  22. package/dist-cjs/integration-test/ifs-spec.js.map +1 -0
  23. package/dist-cjs/integration-test/msgf-spec.d.cts +2 -0
  24. package/dist-cjs/integration-test/msgf-spec.js +34 -0
  25. package/dist-cjs/integration-test/msgf-spec.js.map +1 -0
  26. package/dist-cjs/integration-test/msgq-spec.d.cts +2 -0
  27. package/dist-cjs/integration-test/msgq-spec.js +45 -0
  28. package/dist-cjs/integration-test/msgq-spec.js.map +1 -0
  29. package/dist-cjs/java/JT400.d.cts +79 -0
  30. package/dist-cjs/java/JT400.js +16 -0
  31. package/dist-cjs/java/JT400.js.map +1 -0
  32. package/dist-cjs/java/index.d.cts +10 -0
  33. package/dist-cjs/java/index.js +57 -0
  34. package/dist-cjs/java/index.js.map +1 -0
  35. package/dist-cjs/lib/baseConnection.d.cts +9 -0
  36. package/dist-cjs/lib/baseConnection.js +301 -0
  37. package/dist-cjs/lib/baseConnection.js.map +1 -0
  38. package/dist-cjs/lib/baseConnection.types.d.cts +56 -0
  39. package/dist-cjs/lib/baseConnection.types.js +30 -0
  40. package/dist-cjs/lib/baseConnection.types.js.map +1 -0
  41. package/dist-cjs/lib/connection.d.cts +16 -0
  42. package/dist-cjs/lib/connection.js +179 -0
  43. package/dist-cjs/lib/connection.js.map +1 -0
  44. package/dist-cjs/lib/connection.types.d.cts +80 -0
  45. package/dist-cjs/lib/connection.types.js +16 -0
  46. package/dist-cjs/lib/connection.types.js.map +1 -0
  47. package/dist-cjs/lib/handleError.d.cts +5 -0
  48. package/dist-cjs/lib/handleError.js +43 -0
  49. package/dist-cjs/lib/handleError.js.map +1 -0
  50. package/dist-cjs/lib/ifs/index.d.cts +7 -0
  51. package/dist-cjs/lib/ifs/index.js +64 -0
  52. package/dist-cjs/lib/ifs/index.js.map +1 -0
  53. package/dist-cjs/lib/ifs/read_stream.d.cts +8 -0
  54. package/dist-cjs/lib/ifs/read_stream.js +61 -0
  55. package/dist-cjs/lib/ifs/read_stream.js.map +1 -0
  56. package/dist-cjs/lib/ifs/types.d.cts +19 -0
  57. package/dist-cjs/lib/ifs/types.js +16 -0
  58. package/dist-cjs/lib/ifs/types.js.map +1 -0
  59. package/dist-cjs/lib/ifs/write_stream.d.cts +8 -0
  60. package/dist-cjs/lib/ifs/write_stream.js +52 -0
  61. package/dist-cjs/lib/ifs/write_stream.js.map +1 -0
  62. package/dist-cjs/lib/inMemoryConnection.d.cts +14 -0
  63. package/dist-cjs/lib/inMemoryConnection.js +59 -0
  64. package/dist-cjs/lib/inMemoryConnection.js.map +1 -0
  65. package/dist-cjs/lib/insertList.d.cts +8 -0
  66. package/dist-cjs/lib/insertList.js +58 -0
  67. package/dist-cjs/lib/insertList.js.map +1 -0
  68. package/dist-cjs/lib/jdbcstream.d.cts +3 -0
  69. package/dist-cjs/lib/jdbcstream.js +66 -0
  70. package/dist-cjs/lib/jdbcstream.js.map +1 -0
  71. package/dist-cjs/lib/jdbcwritestream.d.cts +3 -0
  72. package/dist-cjs/lib/jdbcwritestream.js +66 -0
  73. package/dist-cjs/lib/jdbcwritestream.js.map +1 -0
  74. package/dist-cjs/lib/logger.d.cts +9 -0
  75. package/dist-cjs/lib/logger.js +39 -0
  76. package/dist-cjs/lib/logger.js.map +1 -0
  77. package/dist-cjs/lib/sqlutil.d.cts +3 -0
  78. package/dist-cjs/lib/sqlutil.js +37 -0
  79. package/dist-cjs/lib/sqlutil.js.map +1 -0
  80. package/dist-cjs/lib/streamTransformers.d.cts +5 -0
  81. package/dist-cjs/lib/streamTransformers.js +56 -0
  82. package/dist-cjs/lib/streamTransformers.js.map +1 -0
  83. package/dist-cjs/package.json +3 -0
  84. package/dist-cjs/unit-test/hsql-spec.d.cts +2 -0
  85. package/dist-cjs/unit-test/hsql-spec.js +488 -0
  86. package/dist-cjs/unit-test/hsql-spec.js.map +1 -0
  87. package/dist-cjs/unit-test/sqlutil-spec.d.cts +2 -0
  88. package/dist-cjs/unit-test/sqlutil-spec.js +43 -0
  89. package/dist-cjs/unit-test/sqlutil-spec.js.map +1 -0
  90. package/dist-cjs/unit-test/streamTransformers-spec.d.cts +2 -0
  91. package/dist-cjs/unit-test/streamTransformers-spec.js +121 -0
  92. package/dist-cjs/unit-test/streamTransformers-spec.js.map +1 -0
  93. package/dist-esm/index.d.ts +18 -0
  94. package/dist-esm/index.js +59 -0
  95. package/dist-esm/index.js.map +1 -0
  96. package/dist-esm/integration-test/call-rpg-spec.d.ts +2 -0
  97. package/dist-esm/integration-test/call-rpg-spec.js +79 -0
  98. package/dist-esm/integration-test/call-rpg-spec.js.map +1 -0
  99. package/dist-esm/integration-test/dataq-spec.d.ts +2 -0
  100. package/dist-esm/integration-test/dataq-spec.js +35 -0
  101. package/dist-esm/integration-test/dataq-spec.js.map +1 -0
  102. package/dist-esm/integration-test/db.d.ts +8 -0
  103. package/dist-esm/integration-test/db.js +8 -0
  104. package/dist-esm/integration-test/db.js.map +1 -0
  105. package/dist-esm/integration-test/db2-connect-spec.d.ts +2 -0
  106. package/dist-esm/integration-test/db2-connect-spec.js +20 -0
  107. package/dist-esm/integration-test/db2-connect-spec.js.map +1 -0
  108. package/dist-esm/integration-test/db2-pool-spec.d.ts +2 -0
  109. package/dist-esm/integration-test/db2-pool-spec.js +197 -0
  110. package/dist-esm/integration-test/db2-pool-spec.js.map +1 -0
  111. package/dist-esm/integration-test/ifs-spec.d.ts +2 -0
  112. package/dist-esm/integration-test/ifs-spec.js +118 -0
  113. package/dist-esm/integration-test/ifs-spec.js.map +1 -0
  114. package/dist-esm/integration-test/msgf-spec.d.ts +2 -0
  115. package/dist-esm/integration-test/msgf-spec.js +12 -0
  116. package/dist-esm/integration-test/msgf-spec.js.map +1 -0
  117. package/dist-esm/integration-test/msgq-spec.d.ts +2 -0
  118. package/dist-esm/integration-test/msgq-spec.js +23 -0
  119. package/dist-esm/integration-test/msgq-spec.js.map +1 -0
  120. package/{dist → dist-esm}/java/JT400.d.ts +16 -14
  121. package/dist-esm/java/JT400.js +1 -0
  122. package/dist-esm/java/JT400.js.map +1 -0
  123. package/dist-esm/java/index.d.ts +10 -0
  124. package/dist-esm/java/index.js +40 -0
  125. package/dist-esm/java/index.js.map +1 -0
  126. package/dist-esm/lib/baseConnection.d.ts +9 -0
  127. package/dist-esm/lib/baseConnection.js +278 -0
  128. package/dist-esm/lib/baseConnection.js.map +1 -0
  129. package/dist-esm/lib/baseConnection.types.d.ts +56 -0
  130. package/dist-esm/lib/baseConnection.types.js +6 -0
  131. package/dist-esm/lib/baseConnection.types.js.map +1 -0
  132. package/dist-esm/lib/connection.d.ts +16 -0
  133. package/dist-esm/lib/connection.js +146 -0
  134. package/dist-esm/lib/connection.js.map +1 -0
  135. package/{dist → dist-esm}/lib/connection.types.d.ts +24 -21
  136. package/dist-esm/lib/connection.types.js +1 -0
  137. package/dist-esm/lib/connection.types.js.map +1 -0
  138. package/dist-esm/lib/handleError.d.ts +5 -0
  139. package/dist-esm/lib/handleError.js +20 -0
  140. package/dist-esm/lib/handleError.js.map +1 -0
  141. package/dist-esm/lib/ifs/index.d.ts +7 -0
  142. package/dist-esm/lib/ifs/index.js +41 -0
  143. package/dist-esm/lib/ifs/index.js.map +1 -0
  144. package/dist-esm/lib/ifs/read_stream.d.ts +8 -0
  145. package/dist-esm/lib/ifs/read_stream.js +28 -0
  146. package/dist-esm/lib/ifs/read_stream.js.map +1 -0
  147. package/{dist → dist-esm}/lib/ifs/types.d.ts +5 -2
  148. package/dist-esm/lib/ifs/types.js +1 -0
  149. package/dist-esm/lib/ifs/types.js.map +1 -0
  150. package/dist-esm/lib/ifs/write_stream.d.ts +8 -0
  151. package/dist-esm/lib/ifs/write_stream.js +19 -0
  152. package/dist-esm/lib/ifs/write_stream.js.map +1 -0
  153. package/dist-esm/lib/inMemoryConnection.d.ts +14 -0
  154. package/dist-esm/lib/inMemoryConnection.js +36 -0
  155. package/dist-esm/lib/inMemoryConnection.js.map +1 -0
  156. package/dist-esm/lib/insertList.d.ts +8 -0
  157. package/dist-esm/lib/insertList.js +34 -0
  158. package/dist-esm/lib/insertList.js.map +1 -0
  159. package/dist-esm/lib/jdbcstream.d.ts +3 -0
  160. package/dist-esm/lib/jdbcstream.js +43 -0
  161. package/dist-esm/lib/jdbcstream.js.map +1 -0
  162. package/dist-esm/lib/jdbcwritestream.d.ts +3 -0
  163. package/dist-esm/lib/jdbcwritestream.js +33 -0
  164. package/dist-esm/lib/jdbcwritestream.js.map +1 -0
  165. package/{dist → dist-esm}/lib/logger.d.ts +4 -2
  166. package/dist-esm/lib/logger.js +16 -0
  167. package/dist-esm/lib/logger.js.map +1 -0
  168. package/dist-esm/lib/sqlutil.d.ts +3 -0
  169. package/dist-esm/lib/sqlutil.js +14 -0
  170. package/dist-esm/lib/sqlutil.js.map +1 -0
  171. package/dist-esm/lib/streamTransformers.d.ts +5 -0
  172. package/dist-esm/lib/streamTransformers.js +33 -0
  173. package/dist-esm/lib/streamTransformers.js.map +1 -0
  174. package/dist-esm/package.json +3 -0
  175. package/dist-esm/unit-test/hsql-spec.d.ts +2 -0
  176. package/dist-esm/unit-test/hsql-spec.js +466 -0
  177. package/dist-esm/unit-test/hsql-spec.js.map +1 -0
  178. package/dist-esm/unit-test/sqlutil-spec.d.ts +2 -0
  179. package/dist-esm/unit-test/sqlutil-spec.js +21 -0
  180. package/dist-esm/unit-test/sqlutil-spec.js.map +1 -0
  181. package/dist-esm/unit-test/streamTransformers-spec.d.ts +2 -0
  182. package/dist-esm/unit-test/streamTransformers-spec.js +99 -0
  183. package/dist-esm/unit-test/streamTransformers-spec.js.map +1 -0
  184. package/java/lib/jt400wrap.jar +0 -0
  185. package/package.json +39 -19
  186. package/dist/index.d.ts +0 -13
  187. package/dist/index.js +0 -67
  188. package/dist/index.js.map +0 -1
  189. package/dist/integration-test/call-rpg-spec.d.ts +0 -1
  190. package/dist/integration-test/call-rpg-spec.js +0 -88
  191. package/dist/integration-test/call-rpg-spec.js.map +0 -1
  192. package/dist/integration-test/dataq-spec.d.ts +0 -1
  193. package/dist/integration-test/dataq-spec.js +0 -42
  194. package/dist/integration-test/dataq-spec.js.map +0 -1
  195. package/dist/integration-test/db.d.ts +0 -2
  196. package/dist/integration-test/db.js +0 -8
  197. package/dist/integration-test/db.js.map +0 -1
  198. package/dist/integration-test/db2-connect-spec.d.ts +0 -1
  199. package/dist/integration-test/db2-connect-spec.js +0 -34
  200. package/dist/integration-test/db2-connect-spec.js.map +0 -1
  201. package/dist/integration-test/db2-pool-spec.d.ts +0 -1
  202. package/dist/integration-test/db2-pool-spec.js +0 -191
  203. package/dist/integration-test/db2-pool-spec.js.map +0 -1
  204. package/dist/integration-test/ifs-spec.d.ts +0 -1
  205. package/dist/integration-test/ifs-spec.js +0 -118
  206. package/dist/integration-test/ifs-spec.js.map +0 -1
  207. package/dist/integration-test/msgf-spec.d.ts +0 -1
  208. package/dist/integration-test/msgf-spec.js +0 -25
  209. package/dist/integration-test/msgf-spec.js.map +0 -1
  210. package/dist/integration-test/msgq-spec.d.ts +0 -1
  211. package/dist/integration-test/msgq-spec.js +0 -34
  212. package/dist/integration-test/msgq-spec.js.map +0 -1
  213. package/dist/java/JT400.js +0 -3
  214. package/dist/java/JT400.js.map +0 -1
  215. package/dist/java/index.d.ts +0 -7
  216. package/dist/java/index.js +0 -33
  217. package/dist/java/index.js.map +0 -1
  218. package/dist/lib/baseConnection.d.ts +0 -5
  219. package/dist/lib/baseConnection.js +0 -264
  220. package/dist/lib/baseConnection.js.map +0 -1
  221. package/dist/lib/baseConnection.types.d.ts +0 -53
  222. package/dist/lib/baseConnection.types.js +0 -7
  223. package/dist/lib/baseConnection.types.js.map +0 -1
  224. package/dist/lib/connection.d.ts +0 -10
  225. package/dist/lib/connection.js +0 -143
  226. package/dist/lib/connection.js.map +0 -1
  227. package/dist/lib/connection.types.js +0 -3
  228. package/dist/lib/connection.types.js.map +0 -1
  229. package/dist/lib/handleError.d.ts +0 -3
  230. package/dist/lib/handleError.js +0 -25
  231. package/dist/lib/handleError.js.map +0 -1
  232. package/dist/lib/ifs/index.d.ts +0 -3
  233. package/dist/lib/ifs/index.js +0 -45
  234. package/dist/lib/ifs/index.js.map +0 -1
  235. package/dist/lib/ifs/read_stream.d.ts +0 -6
  236. package/dist/lib/ifs/read_stream.js +0 -28
  237. package/dist/lib/ifs/read_stream.js.map +0 -1
  238. package/dist/lib/ifs/types.js +0 -3
  239. package/dist/lib/ifs/types.js.map +0 -1
  240. package/dist/lib/ifs/write_stream.d.ts +0 -6
  241. package/dist/lib/ifs/write_stream.js +0 -25
  242. package/dist/lib/ifs/write_stream.js.map +0 -1
  243. package/dist/lib/inMemoryConnection.d.ts +0 -7
  244. package/dist/lib/inMemoryConnection.js +0 -33
  245. package/dist/lib/inMemoryConnection.js.map +0 -1
  246. package/dist/lib/insertList.d.ts +0 -4
  247. package/dist/lib/insertList.js +0 -44
  248. package/dist/lib/insertList.js.map +0 -1
  249. package/dist/lib/jdbcstream.d.ts +0 -1
  250. package/dist/lib/jdbcstream.js +0 -50
  251. package/dist/lib/jdbcstream.js.map +0 -1
  252. package/dist/lib/jdbcwritestream.d.ts +0 -1
  253. package/dist/lib/jdbcwritestream.js +0 -37
  254. package/dist/lib/jdbcwritestream.js.map +0 -1
  255. package/dist/lib/logger.js +0 -13
  256. package/dist/lib/logger.js.map +0 -1
  257. package/dist/lib/sqlutil.d.ts +0 -1
  258. package/dist/lib/sqlutil.js +0 -18
  259. package/dist/lib/sqlutil.js.map +0 -1
  260. package/dist/lib/streamTransformers.d.ts +0 -2
  261. package/dist/lib/streamTransformers.js +0 -30
  262. package/dist/lib/streamTransformers.js.map +0 -1
  263. package/dist/unit-test/hsql-spec.d.ts +0 -1
  264. package/dist/unit-test/hsql-spec.js +0 -495
  265. package/dist/unit-test/hsql-spec.js.map +0 -1
  266. package/dist/unit-test/sqlutil-spec.d.ts +0 -1
  267. package/dist/unit-test/sqlutil-spec.js +0 -20
  268. package/dist/unit-test/sqlutil-spec.js.map +0 -1
  269. package/dist/unit-test/streamTransformers-spec.d.ts +0 -1
  270. package/dist/unit-test/streamTransformers-spec.js +0 -98
  271. package/dist/unit-test/streamTransformers-spec.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../ts-src/lib/inMemoryConnection.ts"],"sourcesContent":["import { JavaBridge } from '../java/index.js'\nimport { createConnection } from './connection.js'\nimport { Connection } from './connection.types.js'\nimport { createStandardInsertList } from './insertList.js'\nimport { Logger } from './logger.js'\n\nexport interface InMemoryConnection extends Connection {\n mockPgm: (programName: string, fn: (input: any) => any) => InMemoryConnection\n}\n\nexport function createInMemoryConnection(\n jt400Factory: JavaBridge,\n logger: Logger,\n): InMemoryConnection {\n const javaCon = jt400Factory.createInMemoryConnection()\n const instance = createConnection({\n connection: javaCon,\n insertListFun: createStandardInsertList,\n logger,\n inMemory: true,\n })\n const pgmMockRegistry = {}\n\n const defaultPgm = instance.defineProgram\n instance.defineProgram = function (opt) {\n const defaultFunc = defaultPgm(opt)\n return function (params, timeout = 3) {\n const mockFunc = pgmMockRegistry[opt.programName]\n\n if (mockFunc) {\n const res = mockFunc(params, timeout)\n return res.then ? res : Promise.resolve(res)\n }\n\n return defaultFunc(params, timeout)\n }\n }\n const inMemoryconnection: InMemoryConnection = {\n ...instance,\n mockPgm(programName, func) {\n pgmMockRegistry[programName] = func\n return inMemoryconnection\n },\n }\n return inMemoryconnection\n}\n"],"mappings":"AACA,SAAS,wBAAwB;AAEjC,SAAS,gCAAgC;AAOlC,SAAS,yBACd,cACA,QACoB;AACpB,QAAM,UAAU,aAAa,yBAAyB;AACtD,QAAM,WAAW,iBAAiB;AAAA,IAChC,YAAY;AAAA,IACZ,eAAe;AAAA,IACf;AAAA,IACA,UAAU;AAAA,EACZ,CAAC;AACD,QAAM,kBAAkB,CAAC;AAEzB,QAAM,aAAa,SAAS;AAC5B,WAAS,gBAAgB,SAAU,KAAK;AACtC,UAAM,cAAc,WAAW,GAAG;AAClC,WAAO,SAAU,QAAQ,UAAU,GAAG;AACpC,YAAM,WAAW,gBAAgB,IAAI,WAAW;AAEhD,UAAI,UAAU;AACZ,cAAM,MAAM,SAAS,QAAQ,OAAO;AACpC,eAAO,IAAI,OAAO,MAAM,QAAQ,QAAQ,GAAG;AAAA,MAC7C;AAEA,aAAO,YAAY,QAAQ,OAAO;AAAA,IACpC;AAAA,EACF;AACA,QAAM,qBAAyC;AAAA,IAC7C,GAAG;AAAA,IACH,QAAQ,aAAa,MAAM;AACzB,sBAAgB,WAAW,IAAI;AAC/B,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { BaseConnection, InsertList } from './baseConnection.types.js';
2
+ import 'stream';
3
+
4
+ type CreateInsertList = (connection: BaseConnection) => InsertList;
5
+ declare const createInsertListInOneStatment: CreateInsertList;
6
+ declare const createStandardInsertList: CreateInsertList;
7
+
8
+ export { type CreateInsertList, createInsertListInOneStatment, createStandardInsertList };
@@ -0,0 +1,34 @@
1
+ import { toInsertSql } from "./sqlutil.js";
2
+ const createInsertListInOneStatment = (jt400) => (tableName, idColumn, list) => {
3
+ if (!list || list.length === 0) {
4
+ return Promise.resolve([]);
5
+ }
6
+ const sql = "SELECT " + idColumn + " FROM NEW TABLE(" + toInsertSql(tableName, list) + ")";
7
+ const params = list.map(Object.values).reduce((arr, valueArr) => {
8
+ return arr.concat(valueArr);
9
+ }, []);
10
+ return jt400.query(sql, params).then((idList) => {
11
+ return idList.map((idObj) => idObj[idColumn.toUpperCase()]);
12
+ });
13
+ };
14
+ const createStandardInsertList = (jt400) => (tableName, _, list) => {
15
+ const idList = [];
16
+ const pushToIdList = idList.push.bind(idList);
17
+ return list.map((record) => {
18
+ return {
19
+ sql: toInsertSql(tableName, [record]),
20
+ values: Object.values(record)
21
+ };
22
+ }).reduce((soFar, sqlObj) => {
23
+ return soFar.then(() => {
24
+ return jt400.insertAndGetId(sqlObj.sql, sqlObj.values);
25
+ }).then(pushToIdList);
26
+ }, Promise.resolve()).then(() => {
27
+ return idList;
28
+ });
29
+ };
30
+ export {
31
+ createInsertListInOneStatment,
32
+ createStandardInsertList
33
+ };
34
+ //# sourceMappingURL=insertList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../ts-src/lib/insertList.ts"],"sourcesContent":["import { BaseConnection, InsertList } from './baseConnection.types.js'\nimport { toInsertSql } from './sqlutil.js'\n\nexport type CreateInsertList = (connection: BaseConnection) => InsertList\nexport const createInsertListInOneStatment: CreateInsertList =\n (jt400) => (tableName, idColumn, list) => {\n if (!list || list.length === 0) {\n return Promise.resolve([])\n }\n const sql =\n 'SELECT ' +\n idColumn +\n ' FROM NEW TABLE(' +\n toInsertSql(tableName, list) +\n ')'\n const params = list.map(Object.values).reduce((arr, valueArr) => {\n return arr.concat(valueArr)\n }, [])\n\n return jt400.query<any>(sql, params).then((idList) => {\n return idList.map((idObj) => idObj[idColumn.toUpperCase()])\n })\n }\n\nexport const createStandardInsertList: CreateInsertList =\n (jt400) => (tableName, _, list) => {\n const idList = []\n const pushToIdList = idList.push.bind(idList)\n\n return list\n .map((record) => {\n return {\n sql: toInsertSql(tableName, [record]),\n values: Object.values(record),\n }\n })\n .reduce((soFar, sqlObj: any) => {\n return soFar\n .then(() => {\n return jt400.insertAndGetId(sqlObj.sql, sqlObj.values)\n })\n .then(pushToIdList)\n }, Promise.resolve())\n .then(() => {\n return idList\n })\n }\n"],"mappings":"AACA,SAAS,mBAAmB;AAGrB,MAAM,gCACX,CAAC,UAAU,CAAC,WAAW,UAAU,SAAS;AACxC,MAAI,CAAC,QAAQ,KAAK,WAAW,GAAG;AAC9B,WAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,EAC3B;AACA,QAAM,MACJ,YACA,WACA,qBACA,YAAY,WAAW,IAAI,IAC3B;AACF,QAAM,SAAS,KAAK,IAAI,OAAO,MAAM,EAAE,OAAO,CAAC,KAAK,aAAa;AAC/D,WAAO,IAAI,OAAO,QAAQ;AAAA,EAC5B,GAAG,CAAC,CAAC;AAEL,SAAO,MAAM,MAAW,KAAK,MAAM,EAAE,KAAK,CAAC,WAAW;AACpD,WAAO,OAAO,IAAI,CAAC,UAAU,MAAM,SAAS,YAAY,CAAC,CAAC;AAAA,EAC5D,CAAC;AACH;AAEK,MAAM,2BACX,CAAC,UAAU,CAAC,WAAW,GAAG,SAAS;AACjC,QAAM,SAAS,CAAC;AAChB,QAAM,eAAe,OAAO,KAAK,KAAK,MAAM;AAE5C,SAAO,KACJ,IAAI,CAAC,WAAW;AACf,WAAO;AAAA,MACL,KAAK,YAAY,WAAW,CAAC,MAAM,CAAC;AAAA,MACpC,QAAQ,OAAO,OAAO,MAAM;AAAA,IAC9B;AAAA,EACF,CAAC,EACA,OAAO,CAAC,OAAO,WAAgB;AAC9B,WAAO,MACJ,KAAK,MAAM;AACV,aAAO,MAAM,eAAe,OAAO,KAAK,OAAO,MAAM;AAAA,IACvD,CAAC,EACA,KAAK,YAAY;AAAA,EACtB,GAAG,QAAQ,QAAQ,CAAC,EACnB,KAAK,MAAM;AACV,WAAO;AAAA,EACT,CAAC;AACL;","names":[]}
@@ -0,0 +1,3 @@
1
+ declare function JdbcStream(opt: any): void;
2
+
3
+ export { JdbcStream };
@@ -0,0 +1,43 @@
1
+ import { inherits } from "util";
2
+ import { Readable } from "stream";
3
+ function JdbcStream(opt) {
4
+ Readable.call(this, { objectMode: false });
5
+ this._jdbcStream = opt.jdbcStream;
6
+ this._jdbcStreamPromise = opt.jdbcStreamPromise;
7
+ }
8
+ inherits(JdbcStream, Readable);
9
+ function read(context) {
10
+ if (context._closed) {
11
+ context._jdbcStream.close().catch((err) => {
12
+ if (err) {
13
+ context.emit("error", err);
14
+ }
15
+ });
16
+ context.push(null);
17
+ } else {
18
+ context._jdbcStream.read().then((res) => {
19
+ context.push(res);
20
+ }).catch((err) => {
21
+ context.emit("error", err);
22
+ });
23
+ }
24
+ }
25
+ JdbcStream.prototype.close = function() {
26
+ this._closed = true;
27
+ };
28
+ JdbcStream.prototype._read = function() {
29
+ if (!this._jdbcStream) {
30
+ this._jdbcStreamPromise.then((stream) => {
31
+ this._jdbcStream = stream;
32
+ read(this);
33
+ }).catch((err) => {
34
+ this.emit("error", err);
35
+ });
36
+ } else {
37
+ read(this);
38
+ }
39
+ };
40
+ export {
41
+ JdbcStream
42
+ };
43
+ //# sourceMappingURL=jdbcstream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../ts-src/lib/jdbcstream.ts"],"sourcesContent":["import { inherits } from 'util'\nimport { Readable } from 'stream'\n\nexport function JdbcStream(opt) {\n Readable.call(this, { objectMode: false })\n this._jdbcStream = opt.jdbcStream\n this._jdbcStreamPromise = opt.jdbcStreamPromise\n}\n\ninherits(JdbcStream, Readable)\n\nfunction read(context) {\n if (context._closed) {\n context._jdbcStream.close().catch((err) => {\n if (err) {\n context.emit('error', err)\n }\n })\n context.push(null)\n } else {\n context._jdbcStream\n .read()\n .then((res) => {\n context.push(res)\n })\n .catch((err) => {\n context.emit('error', err)\n })\n }\n}\n\nJdbcStream.prototype.close = function () {\n this._closed = true\n}\n\nJdbcStream.prototype._read = function () {\n if (!this._jdbcStream) {\n this._jdbcStreamPromise\n .then((stream) => {\n this._jdbcStream = stream\n read(this)\n })\n .catch((err) => {\n this.emit('error', err)\n })\n } else {\n read(this)\n }\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AAElB,SAAS,WAAW,KAAK;AAC9B,WAAS,KAAK,MAAM,EAAE,YAAY,MAAM,CAAC;AACzC,OAAK,cAAc,IAAI;AACvB,OAAK,qBAAqB,IAAI;AAChC;AAEA,SAAS,YAAY,QAAQ;AAE7B,SAAS,KAAK,SAAS;AACrB,MAAI,QAAQ,SAAS;AACnB,YAAQ,YAAY,MAAM,EAAE,MAAM,CAAC,QAAQ;AACzC,UAAI,KAAK;AACP,gBAAQ,KAAK,SAAS,GAAG;AAAA,MAC3B;AAAA,IACF,CAAC;AACD,YAAQ,KAAK,IAAI;AAAA,EACnB,OAAO;AACL,YAAQ,YACL,KAAK,EACL,KAAK,CAAC,QAAQ;AACb,cAAQ,KAAK,GAAG;AAAA,IAClB,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,cAAQ,KAAK,SAAS,GAAG;AAAA,IAC3B,CAAC;AAAA,EACL;AACF;AAEA,WAAW,UAAU,QAAQ,WAAY;AACvC,OAAK,UAAU;AACjB;AAEA,WAAW,UAAU,QAAQ,WAAY;AACvC,MAAI,CAAC,KAAK,aAAa;AACrB,SAAK,mBACF,KAAK,CAAC,WAAW;AAChB,WAAK,cAAc;AACnB,WAAK,IAAI;AAAA,IACX,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,WAAK,KAAK,SAAS,GAAG;AAAA,IACxB,CAAC;AAAA,EACL,OAAO;AACL,SAAK,IAAI;AAAA,EACX;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ declare function createJdbcWriteStream(batchUpdate: any, statement: any, bufferSize: any): any;
2
+
3
+ export { createJdbcWriteStream };
@@ -0,0 +1,33 @@
1
+ import FlushWritable from "flushwritable";
2
+ function createJdbcWriteStream(batchUpdate, statement, bufferSize) {
3
+ bufferSize = bufferSize || 100;
4
+ const ws = new FlushWritable({ objectMode: true });
5
+ let dataBuffer = [];
6
+ function flush(done) {
7
+ const d = dataBuffer;
8
+ dataBuffer = [];
9
+ batchUpdate(statement, d).then(() => {
10
+ done();
11
+ }).catch(done);
12
+ }
13
+ ws._write = function(chunck, _, next) {
14
+ dataBuffer.push(chunck);
15
+ if (dataBuffer.length >= bufferSize) {
16
+ flush(next);
17
+ } else {
18
+ next();
19
+ }
20
+ };
21
+ ws._flush = function(done) {
22
+ if (dataBuffer.length) {
23
+ flush(done);
24
+ } else {
25
+ done();
26
+ }
27
+ };
28
+ return ws;
29
+ }
30
+ export {
31
+ createJdbcWriteStream
32
+ };
33
+ //# sourceMappingURL=jdbcwritestream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../ts-src/lib/jdbcwritestream.ts"],"sourcesContent":["import FlushWritable from 'flushwritable'\n\nexport function createJdbcWriteStream(batchUpdate, statement, bufferSize) {\n bufferSize = bufferSize || 100\n const ws = new FlushWritable({ objectMode: true })\n let dataBuffer: any[] = []\n\n function flush(done) {\n const d = dataBuffer\n dataBuffer = []\n batchUpdate(statement, d)\n .then(() => {\n done()\n })\n .catch(done)\n }\n\n ws._write = function (chunck, _, next) {\n dataBuffer.push(chunck)\n if (dataBuffer.length >= bufferSize) {\n flush(next)\n } else {\n next()\n }\n }\n\n ws._flush = function (done) {\n if (dataBuffer.length) {\n flush(done)\n } else {\n done()\n }\n }\n\n return ws\n}\n"],"mappings":"AAAA,OAAO,mBAAmB;AAEnB,SAAS,sBAAsB,aAAa,WAAW,YAAY;AACxE,eAAa,cAAc;AAC3B,QAAM,KAAK,IAAI,cAAc,EAAE,YAAY,KAAK,CAAC;AACjD,MAAI,aAAoB,CAAC;AAEzB,WAAS,MAAM,MAAM;AACnB,UAAM,IAAI;AACV,iBAAa,CAAC;AACd,gBAAY,WAAW,CAAC,EACrB,KAAK,MAAM;AACV,WAAK;AAAA,IACP,CAAC,EACA,MAAM,IAAI;AAAA,EACf;AAEA,KAAG,SAAS,SAAU,QAAQ,GAAG,MAAM;AACrC,eAAW,KAAK,MAAM;AACtB,QAAI,WAAW,UAAU,YAAY;AACnC,YAAM,IAAI;AAAA,IACZ,OAAO;AACL,WAAK;AAAA,IACP;AAAA,EACF;AAEA,KAAG,SAAS,SAAU,MAAM;AAC1B,QAAI,WAAW,QAAQ;AACrB,YAAM,IAAI;AAAA,IACZ,OAAO;AACL,WAAK;AAAA,IACP;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1,7 +1,9 @@
1
- export interface Logger {
1
+ interface Logger {
2
2
  debug: (message: any, ...args: any[]) => void;
3
3
  info: (message: any, ...args: any[]) => void;
4
4
  warn: (message: any, ...args: any[]) => void;
5
5
  error: (message: any, ...args: any[]) => void;
6
6
  }
7
- export declare const createDefaultLogger: () => Logger;
7
+ declare const createDefaultLogger: () => Logger;
8
+
9
+ export { type Logger, createDefaultLogger };
@@ -0,0 +1,16 @@
1
+ const createDefaultLogger = () => {
2
+ return {
3
+ debug: () => {
4
+ },
5
+ info: () => {
6
+ },
7
+ warn: () => {
8
+ },
9
+ error: () => {
10
+ }
11
+ };
12
+ };
13
+ export {
14
+ createDefaultLogger
15
+ };
16
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../ts-src/lib/logger.ts"],"sourcesContent":["export interface Logger {\n debug: (message: any, ...args: any[]) => void\n info: (message: any, ...args: any[]) => void\n warn: (message: any, ...args: any[]) => void\n error: (message: any, ...args: any[]) => void\n}\n\nexport const createDefaultLogger = (): Logger => {\n // Default logger that does nothing\n return {\n debug: () => {},\n info: () => {},\n warn: () => {},\n error: () => {},\n }\n}\n"],"mappings":"AAOO,MAAM,sBAAsB,MAAc;AAE/C,SAAO;AAAA,IACL,OAAO,MAAM;AAAA,IAAC;AAAA,IACd,MAAM,MAAM;AAAA,IAAC;AAAA,IACb,MAAM,MAAM;AAAA,IAAC;AAAA,IACb,OAAO,MAAM;AAAA,IAAC;AAAA,EAChB;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ declare function toInsertSql(tableName: string, records: any[]): string;
2
+
3
+ export { toInsertSql };
@@ -0,0 +1,14 @@
1
+ function recordToValues(record) {
2
+ const str = Object.keys(record).map(() => "?").join(", ");
3
+ return "(" + str + ")";
4
+ }
5
+ function toInsertSql(tableName, records) {
6
+ const first = records[0];
7
+ const keys = Object.keys(first);
8
+ const sql = `INSERT INTO ${tableName} (${keys.join(", ")}) VALUES${records.map(recordToValues).join(", ")}`;
9
+ return sql;
10
+ }
11
+ export {
12
+ toInsertSql
13
+ };
14
+ //# sourceMappingURL=sqlutil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../ts-src/lib/sqlutil.ts"],"sourcesContent":["function recordToValues(record) {\n const str = Object.keys(record)\n .map(() => '?')\n .join(', ')\n return '(' + str + ')'\n}\n\n/**\n * Returns insert statement for records\n */\nexport function toInsertSql(tableName: string, records: any[]): string {\n const first = records[0]\n const keys = Object.keys(first)\n const sql = `INSERT INTO ${tableName} (${keys.join(', ')}) VALUES${records\n .map(recordToValues)\n .join(', ')}`\n return sql\n}\n"],"mappings":"AAAA,SAAS,eAAe,QAAQ;AAC9B,QAAM,MAAM,OAAO,KAAK,MAAM,EAC3B,IAAI,MAAM,GAAG,EACb,KAAK,IAAI;AACZ,SAAO,MAAM,MAAM;AACrB;AAKO,SAAS,YAAY,WAAmB,SAAwB;AACrE,QAAM,QAAQ,QAAQ,CAAC;AACvB,QAAM,OAAO,OAAO,KAAK,KAAK;AAC9B,QAAM,MAAM,eAAe,SAAS,KAAK,KAAK,KAAK,IAAI,CAAC,WAAW,QAChE,IAAI,cAAc,EAClB,KAAK,IAAI,CAAC;AACb,SAAO;AACT;","names":[]}
@@ -0,0 +1,5 @@
1
+ import { Transform } from 'stream';
2
+
3
+ declare function arrayToObject(metadata: any): Transform;
4
+
5
+ export { arrayToObject };
@@ -0,0 +1,33 @@
1
+ import { Transform } from "stream";
2
+ function arrayToObject(metadata) {
3
+ const columnNames = metadata.map((md) => md.name);
4
+ const transformer = new Transform({
5
+ objectMode: true,
6
+ transform(chunk, _, callback) {
7
+ try {
8
+ if (!Array.isArray(chunk)) {
9
+ return callback(new Error("Expected an array chunk as input"));
10
+ }
11
+ if (chunk.length !== columnNames.length) {
12
+ return callback(
13
+ new Error(
14
+ `Array chunk length ${chunk.length} does not match columns length ${columnNames.length}`
15
+ )
16
+ );
17
+ }
18
+ const obj = {};
19
+ for (let i = 0; i < columnNames.length; i++) {
20
+ obj[columnNames[i]] = chunk[i];
21
+ }
22
+ callback(null, obj);
23
+ } catch (err) {
24
+ callback(err);
25
+ }
26
+ }
27
+ });
28
+ return transformer;
29
+ }
30
+ export {
31
+ arrayToObject
32
+ };
33
+ //# sourceMappingURL=streamTransformers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../ts-src/lib/streamTransformers.ts"],"sourcesContent":["import { Transform } from 'stream'\n\nexport function arrayToObject(metadata) {\n const columnNames = metadata.map((md) => md.name)\n\n const transformer = new Transform({\n objectMode: true,\n transform(chunk, _, callback) {\n try {\n if (!Array.isArray(chunk)) {\n return callback(new Error('Expected an array chunk as input'))\n }\n\n if (chunk.length !== columnNames.length) {\n return callback(\n new Error(\n `Array chunk length ${chunk.length} does not match columns length ${columnNames.length}`,\n ),\n )\n }\n\n const obj = {}\n for (let i = 0; i < columnNames.length; i++) {\n obj[columnNames[i]] = chunk[i]\n }\n\n callback(null, obj)\n } catch (err) {\n callback(err)\n }\n },\n })\n\n return transformer\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAEnB,SAAS,cAAc,UAAU;AACtC,QAAM,cAAc,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI;AAEhD,QAAM,cAAc,IAAI,UAAU;AAAA,IAChC,YAAY;AAAA,IACZ,UAAU,OAAO,GAAG,UAAU;AAC5B,UAAI;AACF,YAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,iBAAO,SAAS,IAAI,MAAM,kCAAkC,CAAC;AAAA,QAC/D;AAEA,YAAI,MAAM,WAAW,YAAY,QAAQ;AACvC,iBAAO;AAAA,YACL,IAAI;AAAA,cACF,sBAAsB,MAAM,MAAM,kCAAkC,YAAY,MAAM;AAAA,YACxF;AAAA,UACF;AAAA,QACF;AAEA,cAAM,MAAM,CAAC;AACb,iBAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,cAAI,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC;AAAA,QAC/B;AAEA,iBAAS,MAAM,GAAG;AAAA,MACpB,SAAS,KAAK;AACZ,iBAAS,GAAG;AAAA,MACd;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;","names":[]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,2 @@
1
+
2
+ export { }