idxs 0.0.4 → 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.
@@ -146,10 +146,10 @@ class Connection {
146
146
  }
147
147
  prepareQuery(compiledQuery) {
148
148
  let query = compiledQuery.sql;
149
- compiledQuery.parameters.forEach((param, i) => {
149
+ for (let i = compiledQuery.parameters.length - 1; i >= 0; i--) {
150
150
  const placeholder = `$${i + 1}`;
151
- query = query.replaceAll(placeholder, String(param));
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);
@@ -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/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { sql } from 'kysely';
1
2
  export * as IndexSupply from './IndexSupply.js';
2
3
  export * as IS from './IndexSupply.js';
3
4
  export * as QueryBuilder from './QueryBuilder.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { sql } from 'kysely';
1
2
  export * as IndexSupply from './IndexSupply.js';
2
3
  export * as IS from './IndexSupply.js';
3
4
  export * as QueryBuilder from './QueryBuilder.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "idxs",
3
3
  "type": "module",
4
- "version": "0.0.4",
4
+ "version": "0.0.6",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -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)',
@@ -368,10 +368,10 @@ class Connection implements DatabaseConnection {
368
368
  prepareQuery(compiledQuery: CompiledQuery) {
369
369
  let query = compiledQuery.sql
370
370
 
371
- compiledQuery.parameters.forEach((param, i) => {
371
+ for (let i = compiledQuery.parameters.length - 1; i >= 0; i--) {
372
372
  const placeholder = `$${i + 1}`
373
- query = query.replaceAll(placeholder, String(param))
374
- })
373
+ query = query.replaceAll(placeholder, String(compiledQuery.parameters[i]))
374
+ }
375
375
 
376
376
  const signatures: string[] = []
377
377
 
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { sql } from 'kysely'
1
2
  export * as IndexSupply from './IndexSupply.js'
2
3
  export * as IS from './IndexSupply.js'
3
4
  export * as QueryBuilder from './QueryBuilder.js'