idxs 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/QueryBuilder.js +3 -3
- package/dist/QueryBuilder.js.map +1 -1
- package/package.json +1 -1
- package/src/QueryBuilder.test.ts +19 -0
- package/src/QueryBuilder.ts +3 -3
package/dist/QueryBuilder.js
CHANGED
|
@@ -146,10 +146,10 @@ class Connection {
|
|
|
146
146
|
}
|
|
147
147
|
prepareQuery(compiledQuery) {
|
|
148
148
|
let query = compiledQuery.sql;
|
|
149
|
-
compiledQuery.parameters.
|
|
149
|
+
for (let i = compiledQuery.parameters.length - 1; i >= 0; i--) {
|
|
150
150
|
const placeholder = `$${i + 1}`;
|
|
151
|
-
query = query.replaceAll(placeholder, String(
|
|
152
|
-
}
|
|
151
|
+
query = query.replaceAll(placeholder, String(compiledQuery.parameters[i]));
|
|
152
|
+
}
|
|
153
153
|
const signatures = [];
|
|
154
154
|
for (const signature of this.options.signatures ?? []) {
|
|
155
155
|
const abiItem = parseAbiItem(signature);
|
package/dist/QueryBuilder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../src/QueryBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../src/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/QueryBuilder.test.ts
CHANGED
|
@@ -326,6 +326,25 @@ describe('from', () => {
|
|
|
326
326
|
expect(page2.length).toBeLessThanOrEqual(limit)
|
|
327
327
|
})
|
|
328
328
|
|
|
329
|
+
test('behavior: IN clause with 10+ parameters', async () => {
|
|
330
|
+
const qb = QueryBuilder.from(is)
|
|
331
|
+
const txs = await qb
|
|
332
|
+
.selectFrom('txs')
|
|
333
|
+
.select(['hash'])
|
|
334
|
+
.where('chain', '=', 8453)
|
|
335
|
+
.limit(12)
|
|
336
|
+
.execute()
|
|
337
|
+
const hashes = txs.map((tx) => tx.hash)
|
|
338
|
+
|
|
339
|
+
const result = await qb
|
|
340
|
+
.selectFrom('txs')
|
|
341
|
+
.select(['hash'])
|
|
342
|
+
.where('chain', '=', 8453)
|
|
343
|
+
.where('hash', 'in', hashes)
|
|
344
|
+
.execute()
|
|
345
|
+
expect(result.length).toBe(12)
|
|
346
|
+
})
|
|
347
|
+
|
|
329
348
|
test('behavior: streaming query with live endpoint', async () => {
|
|
330
349
|
const qb = QueryBuilder.from(is).withSignatures([
|
|
331
350
|
'event Transfer(address indexed from, address indexed to, uint256 value)',
|
package/src/QueryBuilder.ts
CHANGED
|
@@ -368,10 +368,10 @@ class Connection implements DatabaseConnection {
|
|
|
368
368
|
prepareQuery(compiledQuery: CompiledQuery) {
|
|
369
369
|
let query = compiledQuery.sql
|
|
370
370
|
|
|
371
|
-
compiledQuery.parameters.
|
|
371
|
+
for (let i = compiledQuery.parameters.length - 1; i >= 0; i--) {
|
|
372
372
|
const placeholder = `$${i + 1}`
|
|
373
|
-
query = query.replaceAll(placeholder, String(
|
|
374
|
-
}
|
|
373
|
+
query = query.replaceAll(placeholder, String(compiledQuery.parameters[i]))
|
|
374
|
+
}
|
|
375
375
|
|
|
376
376
|
const signatures: string[] = []
|
|
377
377
|
|