idxs 0.0.1 → 0.0.3
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/IndexSupply.d.ts +2 -1
- package/dist/IndexSupply.d.ts.map +1 -1
- package/dist/IndexSupply.js +1 -0
- package/dist/IndexSupply.js.map +1 -1
- package/dist/QueryBuilder.d.ts +233 -0
- package/dist/QueryBuilder.d.ts.map +1 -0
- package/dist/QueryBuilder.js +169 -0
- package/dist/QueryBuilder.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/emitter.d.ts +20 -12
- package/dist/internal/emitter.d.ts.map +1 -1
- package/dist/internal/emitter.js +57 -8
- package/dist/internal/emitter.js.map +1 -1
- package/dist/internal/result.d.ts.map +1 -1
- package/dist/internal/types.d.ts.map +1 -1
- package/package.json +12 -2
- package/src/IndexSupply.test.ts +50 -26
- package/src/IndexSupply.ts +4 -2
- package/src/index.ts +2 -0
- package/src/internal/emitter.ts +83 -20
- package/src/internal/result.ts +12 -12
- package/src/internal/types.ts +2 -5
package/dist/IndexSupply.d.ts
CHANGED
|
@@ -48,13 +48,14 @@ export type IS = {
|
|
|
48
48
|
*
|
|
49
49
|
* @example
|
|
50
50
|
* ```ts
|
|
51
|
-
* is.on('
|
|
51
|
+
* is.on('*', (event, data) => console.log(event, data))
|
|
52
52
|
* is.on('request', (request) => console.log('Request:', request.url))
|
|
53
53
|
* is.on('response', (response) => console.log('Response:', response.status))
|
|
54
54
|
* is.on('error', (error) => console.error('Error:', error.message))
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
57
|
on: Emitter.Emitter['on'];
|
|
58
|
+
off: Emitter.Emitter['off'];
|
|
58
59
|
};
|
|
59
60
|
/** Cursor type for pagination. Can be a string or an object with `chainId` and `blockNumber`. */
|
|
60
61
|
export type Cursor = string | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexSupply.d.ts","sourceRoot":"","sources":["../src/IndexSupply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C,MAAM,MAAM,EAAE,GAAG;IACf,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,EAAE,CACL,KAAK,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,EACjC,KAAK,CAAC,UAAU,SAAS,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,EAErE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,KACvC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAA;IACnD;;;;;;;;;;;;;OAaG;IACH,IAAI,EAAE,CACJ,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,UAAU,SAAS,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,EAE/D,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,KACtC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACzE;;;;;;;;;;OAUG;IACH,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"IndexSupply.d.ts","sourceRoot":"","sources":["../src/IndexSupply.ts"],"names":[],"mappings":"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"}
|
package/dist/IndexSupply.js
CHANGED
|
@@ -30,6 +30,7 @@ export function create(options = {}) {
|
|
|
30
30
|
return {
|
|
31
31
|
baseUrl,
|
|
32
32
|
on: emitter.on.bind(emitter),
|
|
33
|
+
off: emitter.off.bind(emitter),
|
|
33
34
|
async fetch(options) {
|
|
34
35
|
const { cursor, signatures, query, retryCount = 5, ...requestInit } = options;
|
|
35
36
|
const { emit } = emitter.instance();
|
package/dist/IndexSupply.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexSupply.js","sourceRoot":"","sources":["../src/IndexSupply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"IndexSupply.js","sourceRoot":"","sources":["../src/IndexSupply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { type Abi, type AbiParameter, type AbiParameterToPrimitiveType, type ParseAbi } from 'abitype';
|
|
2
|
+
import { Kysely } from 'kysely';
|
|
3
|
+
import type * as IS from './IndexSupply.js';
|
|
4
|
+
declare module 'kysely' {
|
|
5
|
+
interface SelectQueryBuilder<O> {
|
|
6
|
+
execute(): Promise<O[] & {
|
|
7
|
+
cursor: string;
|
|
8
|
+
}>;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Standard Index Supply EVM tables.
|
|
13
|
+
*/
|
|
14
|
+
export declare namespace Tables {
|
|
15
|
+
/** Blocks table containing blockchain block data. */
|
|
16
|
+
type Blocks = {
|
|
17
|
+
/** Chain ID. */
|
|
18
|
+
chain: number;
|
|
19
|
+
/** Block number. */
|
|
20
|
+
num: number;
|
|
21
|
+
/** Block timestamp. */
|
|
22
|
+
timestamp: string;
|
|
23
|
+
/** Block size in bytes. */
|
|
24
|
+
size: number;
|
|
25
|
+
/** Gas limit for the block. */
|
|
26
|
+
gas_limit: string;
|
|
27
|
+
/** Gas used in the block. */
|
|
28
|
+
gas_used: string;
|
|
29
|
+
/** Block nonce. */
|
|
30
|
+
nonce: string;
|
|
31
|
+
/** Block hash. */
|
|
32
|
+
hash: string;
|
|
33
|
+
/** Receipts root hash. */
|
|
34
|
+
receipts_root: string;
|
|
35
|
+
/** State root hash. */
|
|
36
|
+
state_root: string;
|
|
37
|
+
/** Extra data. */
|
|
38
|
+
extra_data: string;
|
|
39
|
+
/** Miner address. */
|
|
40
|
+
miner: string;
|
|
41
|
+
};
|
|
42
|
+
/** Transactions table containing transaction data. */
|
|
43
|
+
type Txs = {
|
|
44
|
+
/** Chain ID. */
|
|
45
|
+
chain: number;
|
|
46
|
+
/** Block number. */
|
|
47
|
+
block_num: number;
|
|
48
|
+
/** Block timestamp. */
|
|
49
|
+
block_timestamp: string;
|
|
50
|
+
/** Transaction index in block. */
|
|
51
|
+
idx: number;
|
|
52
|
+
/** Transaction type. */
|
|
53
|
+
type: number;
|
|
54
|
+
/** Gas limit. */
|
|
55
|
+
gas: string;
|
|
56
|
+
/** Gas price. */
|
|
57
|
+
gas_price: string;
|
|
58
|
+
/** Transaction nonce. */
|
|
59
|
+
nonce: string;
|
|
60
|
+
/** Transaction hash. */
|
|
61
|
+
hash: string;
|
|
62
|
+
/** Sender address. */
|
|
63
|
+
from: string;
|
|
64
|
+
/** Recipient address. */
|
|
65
|
+
to: string;
|
|
66
|
+
/** Transaction input data. */
|
|
67
|
+
input: string;
|
|
68
|
+
/** Transaction value. */
|
|
69
|
+
value: string;
|
|
70
|
+
};
|
|
71
|
+
/** Logs table containing event log data. */
|
|
72
|
+
type Logs = {
|
|
73
|
+
/** Chain ID. */
|
|
74
|
+
chain: number;
|
|
75
|
+
/** Block number. */
|
|
76
|
+
block_num: number;
|
|
77
|
+
/** Block timestamp. */
|
|
78
|
+
block_timestamp: string;
|
|
79
|
+
/** Log index in block. */
|
|
80
|
+
log_idx: number;
|
|
81
|
+
/** Transaction hash. */
|
|
82
|
+
tx_hash: string;
|
|
83
|
+
/** Contract address that emitted the log. */
|
|
84
|
+
address: string;
|
|
85
|
+
/** Event topics (indexed parameters). */
|
|
86
|
+
topics: string[];
|
|
87
|
+
/** Event data (non-indexed parameters). */
|
|
88
|
+
data: string;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Database schema type containing all standard Index Supply tables.
|
|
93
|
+
*/
|
|
94
|
+
export type Database = {
|
|
95
|
+
blocks: Tables.Blocks;
|
|
96
|
+
txs: Tables.Txs;
|
|
97
|
+
logs: Tables.Logs;
|
|
98
|
+
};
|
|
99
|
+
export type QueryBuilder<rootAbi extends Abi | undefined = undefined> = Kysely<Database & (rootAbi extends Abi ? AbiToDatabase<rootAbi> : {})> & {
|
|
100
|
+
/**
|
|
101
|
+
* Sets the cursor position for pagination.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* const qb = QueryBuilder.from(is).atCursor('1-12345')
|
|
106
|
+
*
|
|
107
|
+
* // Or with object notation
|
|
108
|
+
* const qb = QueryBuilder.from(is).atCursor({ chainId: 1, blockNumber: 12345 })
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @param cursor - The cursor to start from.
|
|
112
|
+
* @returns A new QueryBuilder instance with the cursor set.
|
|
113
|
+
*/
|
|
114
|
+
atCursor: (cursor: QueryBuilder.Cursor) => Omit<QueryBuilder<rootAbi>, 'cursor'>;
|
|
115
|
+
/**
|
|
116
|
+
* Adds ABI definitions to enable querying custom event/function tables.
|
|
117
|
+
*
|
|
118
|
+
* @param abi - The ABI array to add.
|
|
119
|
+
* @returns A new QueryBuilder instance with the ABI added.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* const abi = [{ type: 'event', name: 'Transfer', inputs: [...] }] as const
|
|
124
|
+
* const qb = QueryBuilder.from(is).withAbi(abi)
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
withAbi: <const abi extends Abi>(abi: abi) => QueryBuilder<rootAbi extends Abi ? [...rootAbi, ...abi] : abi>;
|
|
128
|
+
/**
|
|
129
|
+
* Adds human-readable signatures to enable querying custom event/function tables.
|
|
130
|
+
*
|
|
131
|
+
* @param signatures - Array of human-readable event/function signatures.
|
|
132
|
+
* @returns A new QueryBuilder instance with the signatures added.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* const qb = QueryBuilder.from(is).withSignatures([
|
|
137
|
+
* 'event Transfer(address indexed from, address indexed to, uint256 value)',
|
|
138
|
+
* 'event Approval(address indexed owner, address indexed spender, uint256 value)',
|
|
139
|
+
* ])
|
|
140
|
+
*
|
|
141
|
+
* const transfers = await qb
|
|
142
|
+
* .selectFrom('transfer')
|
|
143
|
+
* .select(['from', 'to', 'value'])
|
|
144
|
+
* .execute()
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
withSignatures: <const signatures extends readonly string[]>(signatures: signatures) => QueryBuilder<rootAbi extends Abi ? [...rootAbi, ...ParseAbi<signatures>] : ParseAbi<signatures>>;
|
|
148
|
+
};
|
|
149
|
+
export declare namespace QueryBuilder {
|
|
150
|
+
/** Cursor type for pagination. Can be a string or an object with `chainId` and `blockNumber`. */
|
|
151
|
+
type Cursor = IS.Cursor;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Creates a [Kysely-based](https://kysely.dev) QueryBuilder instance from an Index Supply client.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* import { IndexSupply, QueryBuilder } from 'idxs'
|
|
159
|
+
*
|
|
160
|
+
* const is = IndexSupply.create({ apiKey: 'your-api-key' })
|
|
161
|
+
* const qb = QueryBuilder.from(is)
|
|
162
|
+
*
|
|
163
|
+
* // Query transactions
|
|
164
|
+
* const txs = await qb
|
|
165
|
+
* .selectFrom('txs')
|
|
166
|
+
* .select(['hash', 'from', 'to', 'value'])
|
|
167
|
+
* .where('chain', '=', 1)
|
|
168
|
+
* .limit(10)
|
|
169
|
+
* .execute()
|
|
170
|
+
*
|
|
171
|
+
* console.log(txs) // [{ hash: '0x...', from: '0x...', to: '0x...', value: '...' }, ...]
|
|
172
|
+
* console.log(txs.cursor) // '1-12345678'
|
|
173
|
+
* ```
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```ts
|
|
177
|
+
* // Query with event signatures
|
|
178
|
+
* const transfers = await qb
|
|
179
|
+
* .withSignatures(['event Transfer(address indexed from, address indexed to, uint256 value)'])
|
|
180
|
+
* .selectFrom('transfer')
|
|
181
|
+
* .select(['from', 'to', 'value'])
|
|
182
|
+
* .where('chain', '=', 1)
|
|
183
|
+
* .limit(100)
|
|
184
|
+
* .execute()
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```ts
|
|
189
|
+
* // Pagination with cursor
|
|
190
|
+
*
|
|
191
|
+
* let qb = QueryBuilder.from(is)
|
|
192
|
+
*
|
|
193
|
+
* let cursor: string | undefined
|
|
194
|
+
* while (true) {
|
|
195
|
+
* if (cursor) qb = qb.atCursor(cursor)
|
|
196
|
+
* const txs = await qb.selectFrom('txs').select(['hash']).limit(100).execute()
|
|
197
|
+
* if (txs.length === 0) break
|
|
198
|
+
* cursor = txs.cursor
|
|
199
|
+
* // Process txs...
|
|
200
|
+
* }
|
|
201
|
+
* ```
|
|
202
|
+
*
|
|
203
|
+
* @param options - The Index Supply client instance (must have `fetch` and `live` methods).
|
|
204
|
+
* @returns A new Kysely-based QueryBuilder instance.
|
|
205
|
+
*/
|
|
206
|
+
export declare function from(options: from.Options): QueryBuilder;
|
|
207
|
+
export declare namespace from {
|
|
208
|
+
/** Options for creating a QueryBuilder. */
|
|
209
|
+
type Options = Pick<IS.IS, 'fetch' | 'live'>;
|
|
210
|
+
/** Return type of the `from` function. */
|
|
211
|
+
type ReturnValue = QueryBuilder;
|
|
212
|
+
}
|
|
213
|
+
/** @internal */
|
|
214
|
+
type RemoveDuplicates<abi extends Abi, seen extends string = never> = abi extends readonly [
|
|
215
|
+
infer first,
|
|
216
|
+
...infer rest extends Abi
|
|
217
|
+
] ? first extends {
|
|
218
|
+
name: infer name extends string;
|
|
219
|
+
} ? Lowercase<name> extends seen ? RemoveDuplicates<rest, seen> : readonly [first, ...RemoveDuplicates<rest, seen | Lowercase<name>>] : RemoveDuplicates<rest, seen> : readonly [];
|
|
220
|
+
/** @internal */
|
|
221
|
+
type AbiToDatabase<abiOrSignatures extends Abi | readonly string[], abi extends Abi = RemoveDuplicates<abiOrSignatures extends readonly string[] ? ParseAbi<abiOrSignatures> : abiOrSignatures>> = {
|
|
222
|
+
[key in abi[number] as key extends {
|
|
223
|
+
name: infer name extends string;
|
|
224
|
+
} ? Lowercase<name> : never]: key extends {
|
|
225
|
+
inputs: infer inputs extends readonly AbiParameter[];
|
|
226
|
+
type: 'function' | 'event';
|
|
227
|
+
} ? AbiParameterToPrimitiveType<{
|
|
228
|
+
components: inputs;
|
|
229
|
+
type: 'tuple';
|
|
230
|
+
}> & Tables.Logs : never;
|
|
231
|
+
};
|
|
232
|
+
export {};
|
|
233
|
+
//# sourceMappingURL=QueryBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../src/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { formatAbi, parseAbiItem, } from 'abitype';
|
|
2
|
+
import { Kysely, PostgresAdapter, PostgresIntrospector, PostgresQueryCompiler } from 'kysely';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a [Kysely-based](https://kysely.dev) QueryBuilder instance from an Index Supply client.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { IndexSupply, QueryBuilder } from 'idxs'
|
|
9
|
+
*
|
|
10
|
+
* const is = IndexSupply.create({ apiKey: 'your-api-key' })
|
|
11
|
+
* const qb = QueryBuilder.from(is)
|
|
12
|
+
*
|
|
13
|
+
* // Query transactions
|
|
14
|
+
* const txs = await qb
|
|
15
|
+
* .selectFrom('txs')
|
|
16
|
+
* .select(['hash', 'from', 'to', 'value'])
|
|
17
|
+
* .where('chain', '=', 1)
|
|
18
|
+
* .limit(10)
|
|
19
|
+
* .execute()
|
|
20
|
+
*
|
|
21
|
+
* console.log(txs) // [{ hash: '0x...', from: '0x...', to: '0x...', value: '...' }, ...]
|
|
22
|
+
* console.log(txs.cursor) // '1-12345678'
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* // Query with event signatures
|
|
28
|
+
* const transfers = await qb
|
|
29
|
+
* .withSignatures(['event Transfer(address indexed from, address indexed to, uint256 value)'])
|
|
30
|
+
* .selectFrom('transfer')
|
|
31
|
+
* .select(['from', 'to', 'value'])
|
|
32
|
+
* .where('chain', '=', 1)
|
|
33
|
+
* .limit(100)
|
|
34
|
+
* .execute()
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* // Pagination with cursor
|
|
40
|
+
*
|
|
41
|
+
* let qb = QueryBuilder.from(is)
|
|
42
|
+
*
|
|
43
|
+
* let cursor: string | undefined
|
|
44
|
+
* while (true) {
|
|
45
|
+
* if (cursor) qb = qb.atCursor(cursor)
|
|
46
|
+
* const txs = await qb.selectFrom('txs').select(['hash']).limit(100).execute()
|
|
47
|
+
* if (txs.length === 0) break
|
|
48
|
+
* cursor = txs.cursor
|
|
49
|
+
* // Process txs...
|
|
50
|
+
* }
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @param options - The Index Supply client instance (must have `fetch` and `live` methods).
|
|
54
|
+
* @returns A new Kysely-based QueryBuilder instance.
|
|
55
|
+
*/
|
|
56
|
+
export function from(options) {
|
|
57
|
+
let cursor;
|
|
58
|
+
const signatures = [];
|
|
59
|
+
function inner(o = {}) {
|
|
60
|
+
cursor ??= o.cursor;
|
|
61
|
+
signatures.push(...(o.signatures ?? []));
|
|
62
|
+
const kysely = new Kysely({
|
|
63
|
+
dialect: {
|
|
64
|
+
createAdapter: () => new PostgresAdapter(),
|
|
65
|
+
createDriver: () => new Driver({ ...options, cursor, signatures }),
|
|
66
|
+
createIntrospector: (db) => new PostgresIntrospector(db),
|
|
67
|
+
createQueryCompiler: () => new PostgresQueryCompiler(),
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
atCursor(cursor) {
|
|
72
|
+
return inner({ cursor });
|
|
73
|
+
},
|
|
74
|
+
selectFrom: kysely.selectFrom.bind(kysely),
|
|
75
|
+
withAbi(abi) {
|
|
76
|
+
return inner({ signatures: formatAbi(abi) });
|
|
77
|
+
},
|
|
78
|
+
withSignatures(signatures) {
|
|
79
|
+
return inner({ signatures });
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return inner();
|
|
84
|
+
}
|
|
85
|
+
/** @internal */
|
|
86
|
+
class Driver {
|
|
87
|
+
options;
|
|
88
|
+
constructor(options) {
|
|
89
|
+
this.options = options;
|
|
90
|
+
}
|
|
91
|
+
async init() {
|
|
92
|
+
// Noop
|
|
93
|
+
}
|
|
94
|
+
async acquireConnection() {
|
|
95
|
+
return new Connection(this.options);
|
|
96
|
+
}
|
|
97
|
+
async beginTransaction() {
|
|
98
|
+
throw new Error('Transactions are not supported');
|
|
99
|
+
}
|
|
100
|
+
async commitTransaction() {
|
|
101
|
+
throw new Error('Transactions are not supported');
|
|
102
|
+
}
|
|
103
|
+
async rollbackTransaction() {
|
|
104
|
+
throw new Error('Transactions are not supported');
|
|
105
|
+
}
|
|
106
|
+
async releaseConnection() {
|
|
107
|
+
// Noop
|
|
108
|
+
}
|
|
109
|
+
async destroy() {
|
|
110
|
+
// Noop
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/** @internal */
|
|
114
|
+
class Connection {
|
|
115
|
+
options;
|
|
116
|
+
constructor(options) {
|
|
117
|
+
this.options = options;
|
|
118
|
+
}
|
|
119
|
+
async executeQuery(compiledQuery) {
|
|
120
|
+
const { query, signatures } = this.prepareQuery(compiledQuery);
|
|
121
|
+
const result = await this.options.fetch({
|
|
122
|
+
cursor: this.options.cursor,
|
|
123
|
+
query,
|
|
124
|
+
signatures: signatures,
|
|
125
|
+
});
|
|
126
|
+
return this.parseResult(result);
|
|
127
|
+
}
|
|
128
|
+
async *streamQuery(compiledQuery) {
|
|
129
|
+
const { query, signatures } = this.prepareQuery(compiledQuery);
|
|
130
|
+
// Use the live streaming endpoint
|
|
131
|
+
for await (const result of this.options.live({
|
|
132
|
+
cursor: this.options.cursor,
|
|
133
|
+
query,
|
|
134
|
+
signatures: signatures,
|
|
135
|
+
}))
|
|
136
|
+
yield this.parseResult(result);
|
|
137
|
+
}
|
|
138
|
+
parseResult(result) {
|
|
139
|
+
const rows = result.rows;
|
|
140
|
+
Object.defineProperty(rows, 'cursor', {
|
|
141
|
+
value: result.cursor,
|
|
142
|
+
enumerable: false,
|
|
143
|
+
writable: false,
|
|
144
|
+
});
|
|
145
|
+
return { rows };
|
|
146
|
+
}
|
|
147
|
+
prepareQuery(compiledQuery) {
|
|
148
|
+
let query = compiledQuery.sql;
|
|
149
|
+
compiledQuery.parameters.forEach((param, i) => {
|
|
150
|
+
const placeholder = `$${i + 1}`;
|
|
151
|
+
query = query.replaceAll(placeholder, String(param));
|
|
152
|
+
});
|
|
153
|
+
const signatures = [];
|
|
154
|
+
for (const signature of this.options.signatures ?? []) {
|
|
155
|
+
const abiItem = parseAbiItem(signature);
|
|
156
|
+
if (!('name' in abiItem))
|
|
157
|
+
continue;
|
|
158
|
+
const signatureName = abiItem.name.toLowerCase();
|
|
159
|
+
const regex = new RegExp(`(from|join) "(${signatureName})"`, 'gi');
|
|
160
|
+
const matches = regex.test(query);
|
|
161
|
+
if (!matches)
|
|
162
|
+
continue;
|
|
163
|
+
query = query.replace(regex, `$1 $2`);
|
|
164
|
+
signatures.push(signature);
|
|
165
|
+
}
|
|
166
|
+
return { query, signatures };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=QueryBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../src/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|
|
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"}
|
package/dist/index.js
CHANGED
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"}
|
|
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,9 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
type EventHandler<K extends Events[number]['event']> = (data: Extract<Events[number], {
|
|
2
|
+
event: K;
|
|
3
|
+
}>['data'], options: {
|
|
4
|
+
id: string;
|
|
5
|
+
}) => void;
|
|
6
|
+
type WildcardHandler = (type: Events[number]['event'], data: Events[number]['data'], options: {
|
|
7
|
+
id: string;
|
|
8
|
+
}) => void;
|
|
2
9
|
export type Emitter = {
|
|
3
10
|
instance: () => {
|
|
4
|
-
emit:
|
|
11
|
+
emit: <K extends Events[number]['event']>(type: K, data: Extract<Events[number], {
|
|
12
|
+
event: K;
|
|
13
|
+
}>['data']) => void;
|
|
14
|
+
};
|
|
15
|
+
on: {
|
|
16
|
+
<K extends Events[number]['event']>(type: K, handler: EventHandler<K>): void;
|
|
17
|
+
(type: '*', handler: WildcardHandler): void;
|
|
18
|
+
};
|
|
19
|
+
off: {
|
|
20
|
+
<K extends Events[number]['event']>(type: K, handler?: EventHandler<K>): void;
|
|
21
|
+
(type: '*', handler?: WildcardHandler): void;
|
|
5
22
|
};
|
|
6
|
-
on: EventEmitter<EventTypes<true>>['on'];
|
|
7
23
|
};
|
|
8
24
|
export type Events = [
|
|
9
25
|
{
|
|
@@ -23,14 +39,6 @@ export type Events = [
|
|
|
23
39
|
event: 'response';
|
|
24
40
|
}
|
|
25
41
|
];
|
|
26
|
-
export type EventTypes<includeOptions extends boolean = false> = {
|
|
27
|
-
debug: (event: Events[number]['event'], data: Events[number]['data'], ...rest: includeOptions extends true ? readonly [{
|
|
28
|
-
id: string;
|
|
29
|
-
}] : readonly []) => void;
|
|
30
|
-
} & {
|
|
31
|
-
[K in Events[number] as K['event']]: (parameters: K['data'], ...rest: includeOptions extends true ? readonly [{
|
|
32
|
-
id: string;
|
|
33
|
-
}] : readonly []) => void;
|
|
34
|
-
};
|
|
35
42
|
export declare function create(): Emitter;
|
|
43
|
+
export {};
|
|
36
44
|
//# sourceMappingURL=emitter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/internal/emitter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/internal/emitter.ts"],"names":[],"mappings":"AAEA,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CACrD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,MAAM,CAAC,EACnD,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,KACpB,IAAI,CAAA;AAET,KAAK,eAAe,GAAG,CACrB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAC5B,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,KACpB,IAAI,CAAA;AAET,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM;QACd,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EACtC,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAAE,KAAK,EAAE,CAAC,CAAA;SAAE,CAAC,CAAC,MAAM,CAAC,KAChD,IAAI,CAAA;KACV,CAAA;IACD,EAAE,EAAE;QACF,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QAC5E,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;KAC5C,CAAA;IACD,GAAG,EAAE;QACH,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QAC7E,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;KAC7C,CAAA;CACF,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB;QACE,IAAI,EAAE,KAAK,CAAA;QACX,KAAK,EAAE,OAAO,CAAA;KACf;IACD;QACE,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,KAAK,CAAA;KACb;IACD;QACE,IAAI,EAAE,OAAO,CAAA;QACb,KAAK,EAAE,SAAS,CAAA;KACjB;IACD;QACE,IAAI,EAAE,QAAQ,CAAA;QACd,KAAK,EAAE,UAAU,CAAA;KAClB;CACF,CAAA;AASD,wBAAgB,MAAM,IAAI,OAAO,CAoEhC"}
|
package/dist/internal/emitter.js
CHANGED
|
@@ -1,22 +1,71 @@
|
|
|
1
|
-
import
|
|
1
|
+
import mitt from 'mitt';
|
|
2
2
|
export function create() {
|
|
3
|
-
|
|
3
|
+
// @ts-expect-error -- this works
|
|
4
|
+
const e = mitt();
|
|
5
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
6
|
+
const wrappers = new WeakMap();
|
|
4
7
|
let id = -1;
|
|
5
8
|
function instance() {
|
|
6
9
|
id++;
|
|
10
|
+
const instanceId = String(id);
|
|
7
11
|
return {
|
|
8
|
-
emit: ((
|
|
12
|
+
emit: ((type, data) => {
|
|
9
13
|
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
10
|
-
;
|
|
11
|
-
e.emit('debug', args[0], args[1], { id });
|
|
12
|
-
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
13
|
-
return e.emit(args[0], args[1], { id });
|
|
14
|
+
e.emit(type, { data, id: instanceId });
|
|
14
15
|
}),
|
|
15
16
|
};
|
|
16
17
|
}
|
|
18
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
19
|
+
function on(type, handler) {
|
|
20
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
21
|
+
let wrapper;
|
|
22
|
+
if (type === '*') {
|
|
23
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
24
|
+
wrapper = (eventType, event) => {
|
|
25
|
+
handler(eventType, event.data, { id: event.id });
|
|
26
|
+
};
|
|
27
|
+
e.on('*', wrapper);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
31
|
+
wrapper = (event) => {
|
|
32
|
+
handler(event.data, { id: event.id });
|
|
33
|
+
};
|
|
34
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
35
|
+
e.on(type, wrapper);
|
|
36
|
+
}
|
|
37
|
+
wrappers.set(handler, wrapper);
|
|
38
|
+
}
|
|
39
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
40
|
+
function off(type, handler) {
|
|
41
|
+
if (!handler) {
|
|
42
|
+
// Clear all handlers for this type
|
|
43
|
+
if (type === '*') {
|
|
44
|
+
e.all.delete('*');
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
48
|
+
e.all.delete(type);
|
|
49
|
+
}
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const wrapper = wrappers.get(handler);
|
|
53
|
+
if (!wrapper)
|
|
54
|
+
return;
|
|
55
|
+
if (type === '*') {
|
|
56
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
57
|
+
e.off('*', wrapper);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
61
|
+
e.off(type, wrapper);
|
|
62
|
+
}
|
|
63
|
+
wrappers.delete(handler);
|
|
64
|
+
}
|
|
17
65
|
return {
|
|
18
66
|
instance,
|
|
19
|
-
on:
|
|
67
|
+
on: on,
|
|
68
|
+
off: off,
|
|
20
69
|
};
|
|
21
70
|
}
|
|
22
71
|
//# sourceMappingURL=emitter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/internal/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/internal/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAwDvB,MAAM,UAAU,MAAM;IACpB,iCAAiC;IACjC,MAAM,CAAC,GAAG,IAAI,EAAkB,CAAA;IAChC,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAsD,CAAA;IAClF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;IAEX,SAAS,QAAQ;QACf,EAAE,EAAE,CAAA;QACJ,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7B,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACpB,gDAAgD;gBAChD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAS,CAAC,CAAA;YAC/C,CAAC,CAA2E;SAC7E,CAAA;IACH,CAAC;IAED,gDAAgD;IAChD,SAAS,EAAE,CAAC,IAAY,EAAE,OAAiC;QACzD,gDAAgD;QAChD,IAAI,OAAiC,CAAA;QACrC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,gDAAgD;YAChD,OAAO,GAAG,CAAC,SAAiB,EAAE,KAAU,EAAE,EAAE;gBAC1C,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;YAClD,CAAC,CAAA;YACD,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;YACvC,CAAC,CAAA;YACD,gDAAgD;YAChD,CAAC,CAAC,EAAE,CAAC,IAAW,EAAE,OAAO,CAAC,CAAA;QAC5B,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,gDAAgD;IAChD,SAAS,GAAG,CAAC,IAAY,EAAE,OAAkC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,mCAAmC;YACnC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAW,CAAC,CAAA;YAC3B,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,gDAAgD;YAChD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,OAAc,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,CAAC,CAAC,GAAG,CAAC,IAAW,EAAE,OAAc,CAAC,CAAA;QACpC,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,QAAQ;QACR,EAAE,EAAE,EAAmB;QACvB,GAAG,EAAE,GAAqB;KAC3B,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/internal/result.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/internal/result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internal/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,IAAI,IAAI;KAAG,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;CAAE,GAAG,OAAO,CAAA;AAExE;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAE3D;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internal/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,IAAI,IAAI;KAAG,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;CAAE,GAAG,OAAO,CAAA;AAExE;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAE3D;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,IAC3B,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,IAAI,CAAA;AAElG,2EAA2E;AAC3E,MAAM,MAAM,IAAI,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,IAAI,MAAM,IAAI,EAAE,GACnE,IAAI,CAAC,IAAI,CAAC,GACV,KAAK,SAAS,GAAG,MAAM,IAAI,GAAG,GAC5B,IAAI,CAAC,IAAI,CAAC,GACV,KAAK,SAAS,KAAK,MAAM,IAAI,EAAE,GAC7B,IAAI,CAAC,IAAI,CAAC,GACV,KAAK,SAAS,GAAG,MAAM,IAAI,IAAI,GAC7B,IAAI,CAAC,IAAI,CAAC,GACV,KAAK,SAAS,KAAK,MAAM,IAAI,EAAE,GAC7B,IAAI,CAAC,IAAI,CAAC,GACV,KAAK,SAAS,GAAG,MAAM,IAAI,IAAI,GAC7B,IAAI,CAAC,IAAI,CAAC,GACV,KAAK,CAAA;AAEnB,8EAA8E;AAC9E,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,GACvE,IAAI,GACJ,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,GAC7B,IAAI,GACJ,KAAK,CAAA;AAEX,yFAAyF;AACzF,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GACjF,QAAQ,CAAC,IAAI,CAAC,GACd,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,MAAM,IAAI,EAAE,GACvC,QAAQ,CAAC,IAAI,CAAC,GACd,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,MAAM,IAAI,EAAE,GACvC,QAAQ,CAAC,IAAI,CAAC,GACd,KAAK,CAAA;AAEb,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;AAE1C,+CAA+C;AAC/C,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "idxs",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.3",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"abitype": "^1.2.0",
|
|
16
|
-
"eventemitter3": "^5.0.1",
|
|
17
16
|
"kysely": "^0.28.8",
|
|
17
|
+
"mitt": "^3.0.1",
|
|
18
18
|
"ox": "^0.9.14",
|
|
19
19
|
"zod": "^4.1.13"
|
|
20
20
|
},
|
|
@@ -27,5 +27,15 @@
|
|
|
27
27
|
"types": "./dist/index.d.ts",
|
|
28
28
|
"default": "./dist/index.js"
|
|
29
29
|
}
|
|
30
|
+
},
|
|
31
|
+
"devEngines": {
|
|
32
|
+
"runtime": {
|
|
33
|
+
"name": "node",
|
|
34
|
+
"onFail": "download",
|
|
35
|
+
"version": "24.11.1"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"node": "runtime:24.11.1"
|
|
30
40
|
}
|
|
31
41
|
}
|
package/src/IndexSupply.test.ts
CHANGED
|
@@ -7,6 +7,12 @@ const is = IS.create({
|
|
|
7
7
|
|
|
8
8
|
afterEach(() => {
|
|
9
9
|
vi.restoreAllMocks()
|
|
10
|
+
// Clear all event handlers to prevent accumulation across tests
|
|
11
|
+
is.off('error')
|
|
12
|
+
is.off('request')
|
|
13
|
+
is.off('response')
|
|
14
|
+
is.off('log')
|
|
15
|
+
is.off('*')
|
|
10
16
|
})
|
|
11
17
|
|
|
12
18
|
describe('create', () => {
|
|
@@ -18,6 +24,7 @@ describe('create', () => {
|
|
|
18
24
|
"baseUrl": "https://api.indexsupply.net/v2",
|
|
19
25
|
"fetch": [Function],
|
|
20
26
|
"live": [Function],
|
|
27
|
+
"off": [Function],
|
|
21
28
|
"on": [Function],
|
|
22
29
|
}
|
|
23
30
|
`)
|
|
@@ -32,6 +39,7 @@ describe('create', () => {
|
|
|
32
39
|
"baseUrl": "https://api.indexsupply.net/v2",
|
|
33
40
|
"fetch": [Function],
|
|
34
41
|
"live": [Function],
|
|
42
|
+
"off": [Function],
|
|
35
43
|
"on": [Function],
|
|
36
44
|
}
|
|
37
45
|
`)
|
|
@@ -689,15 +697,15 @@ describe('create', () => {
|
|
|
689
697
|
expect(listener2Calls).toEqual([2])
|
|
690
698
|
})
|
|
691
699
|
|
|
692
|
-
test('behavior:
|
|
693
|
-
const
|
|
700
|
+
test('behavior: wildcard event is emitted for all events', async () => {
|
|
701
|
+
const wildcardEvents: Array<{
|
|
694
702
|
event: string
|
|
695
703
|
data: unknown
|
|
696
704
|
options: { id: string }
|
|
697
705
|
}> = []
|
|
698
706
|
|
|
699
|
-
is.on('
|
|
700
|
-
|
|
707
|
+
is.on('*', (event, data, options) => {
|
|
708
|
+
wildcardEvents.push({
|
|
701
709
|
event,
|
|
702
710
|
data,
|
|
703
711
|
options,
|
|
@@ -710,30 +718,30 @@ describe('create', () => {
|
|
|
710
718
|
})
|
|
711
719
|
|
|
712
720
|
// Should have captured both request and response events
|
|
713
|
-
expect(
|
|
721
|
+
expect(wildcardEvents.length).toBeGreaterThanOrEqual(2)
|
|
714
722
|
|
|
715
|
-
// Check that
|
|
716
|
-
const requestEvent =
|
|
723
|
+
// Check that wildcard event was emitted for request
|
|
724
|
+
const requestEvent = wildcardEvents.find((e) => e.event === 'request')
|
|
717
725
|
expect(requestEvent).toBeDefined()
|
|
718
726
|
expect(requestEvent?.data).toBeInstanceOf(Request)
|
|
719
727
|
expect(requestEvent?.options.id).toBeDefined()
|
|
720
728
|
|
|
721
|
-
// Check that
|
|
722
|
-
const responseEvent =
|
|
729
|
+
// Check that wildcard event was emitted for response
|
|
730
|
+
const responseEvent = wildcardEvents.find((e) => e.event === 'response')
|
|
723
731
|
expect(responseEvent).toBeDefined()
|
|
724
732
|
expect(responseEvent?.data).toBeInstanceOf(Response)
|
|
725
733
|
expect(responseEvent?.options.id).toBeDefined()
|
|
726
734
|
})
|
|
727
735
|
|
|
728
|
-
test('behavior:
|
|
729
|
-
const
|
|
736
|
+
test('behavior: wildcard event is emitted for error events', async () => {
|
|
737
|
+
const wildcardEvents: Array<{
|
|
730
738
|
event: string
|
|
731
739
|
data: unknown
|
|
732
740
|
options: { id: string }
|
|
733
741
|
}> = []
|
|
734
742
|
|
|
735
|
-
is.on('
|
|
736
|
-
|
|
743
|
+
is.on('*', (event, data, options) => {
|
|
744
|
+
wildcardEvents.push({
|
|
737
745
|
event,
|
|
738
746
|
data,
|
|
739
747
|
options,
|
|
@@ -746,11 +754,11 @@ describe('create', () => {
|
|
|
746
754
|
}),
|
|
747
755
|
).rejects.toThrow()
|
|
748
756
|
|
|
749
|
-
// Should have captured request, response, and error events via
|
|
750
|
-
expect(
|
|
757
|
+
// Should have captured request, response, and error events via wildcard
|
|
758
|
+
expect(wildcardEvents.length).toBeGreaterThanOrEqual(3)
|
|
751
759
|
|
|
752
|
-
// Check that
|
|
753
|
-
const errorEvent =
|
|
760
|
+
// Check that wildcard event was emitted for error
|
|
761
|
+
const errorEvent = wildcardEvents.find((e) => e.event === 'error')
|
|
754
762
|
expect(errorEvent).toBeDefined()
|
|
755
763
|
expect(errorEvent?.data).toBeInstanceOf(Error)
|
|
756
764
|
expect(errorEvent?.options.id).toBeDefined()
|
|
@@ -1373,14 +1381,12 @@ describe('create', () => {
|
|
|
1373
1381
|
})
|
|
1374
1382
|
|
|
1375
1383
|
test('behavior: retries on SseError with type "server"', async () => {
|
|
1376
|
-
const originalFetch = globalThis.fetch
|
|
1377
1384
|
const controller = new AbortController()
|
|
1378
1385
|
|
|
1379
|
-
// First call returns server error via SSE, second call succeeds
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
if (callCount === 1) {
|
|
1386
|
+
// First call returns server error via SSE, second call succeeds with valid data
|
|
1387
|
+
const fetchSpy = vi
|
|
1388
|
+
.spyOn(globalThis, 'fetch')
|
|
1389
|
+
.mockImplementationOnce(async () => {
|
|
1384
1390
|
const mockBody = new ReadableStream({
|
|
1385
1391
|
start(controller) {
|
|
1386
1392
|
const encoder = new TextEncoder()
|
|
@@ -1393,9 +1399,27 @@ describe('create', () => {
|
|
|
1393
1399
|
status: 200,
|
|
1394
1400
|
headers: { 'Content-Type': 'text/event-stream' },
|
|
1395
1401
|
})
|
|
1396
|
-
}
|
|
1397
|
-
|
|
1398
|
-
|
|
1402
|
+
})
|
|
1403
|
+
.mockImplementationOnce(async () => {
|
|
1404
|
+
const mockBody = new ReadableStream({
|
|
1405
|
+
start(ctrl) {
|
|
1406
|
+
const encoder = new TextEncoder()
|
|
1407
|
+
const successData = JSON.stringify([
|
|
1408
|
+
{
|
|
1409
|
+
cursor: '8453-12345',
|
|
1410
|
+
columns: [{ name: 'from' }, { name: 'to' }],
|
|
1411
|
+
rows: [['0x123', '0x456']],
|
|
1412
|
+
},
|
|
1413
|
+
])
|
|
1414
|
+
ctrl.enqueue(encoder.encode(`data: ${successData}\n\n`))
|
|
1415
|
+
ctrl.close()
|
|
1416
|
+
},
|
|
1417
|
+
})
|
|
1418
|
+
return new Response(mockBody, {
|
|
1419
|
+
status: 200,
|
|
1420
|
+
headers: { 'Content-Type': 'text/event-stream' },
|
|
1421
|
+
})
|
|
1422
|
+
})
|
|
1399
1423
|
|
|
1400
1424
|
const testIndexer = IS.create()
|
|
1401
1425
|
const errors: Error[] = []
|
package/src/IndexSupply.ts
CHANGED
|
@@ -59,13 +59,14 @@ export type IS = {
|
|
|
59
59
|
*
|
|
60
60
|
* @example
|
|
61
61
|
* ```ts
|
|
62
|
-
* is.on('
|
|
62
|
+
* is.on('*', (event, data) => console.log(event, data))
|
|
63
63
|
* is.on('request', (request) => console.log('Request:', request.url))
|
|
64
64
|
* is.on('response', (response) => console.log('Response:', response.status))
|
|
65
65
|
* is.on('error', (error) => console.error('Error:', error.message))
|
|
66
66
|
* ```
|
|
67
67
|
*/
|
|
68
68
|
on: Emitter.Emitter['on']
|
|
69
|
+
off: Emitter.Emitter['off']
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
/** Cursor type for pagination. Can be a string or an object with `chainId` and `blockNumber`. */
|
|
@@ -160,6 +161,7 @@ export function create(options: create.Options = {}): create.ReturnValue {
|
|
|
160
161
|
baseUrl,
|
|
161
162
|
|
|
162
163
|
on: emitter.on.bind(emitter) as never,
|
|
164
|
+
off: emitter.off.bind(emitter) as never,
|
|
163
165
|
|
|
164
166
|
async fetch(options) {
|
|
165
167
|
const { cursor, signatures, query, retryCount = 5, ...requestInit } = options
|
|
@@ -305,7 +307,7 @@ export function create(options: create.Options = {}): create.ReturnValue {
|
|
|
305
307
|
}
|
|
306
308
|
for await (const data of readStream<IS.Result[] | Error>(reader)) {
|
|
307
309
|
if ('error' in data) throw new SseError(data.message, { type: data.error })
|
|
308
|
-
for (const item of data) yield item
|
|
310
|
+
for (const item of data) yield item
|
|
309
311
|
count = 0
|
|
310
312
|
}
|
|
311
313
|
|
package/src/index.ts
CHANGED
package/src/internal/emitter.ts
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
|
-
import
|
|
1
|
+
import mitt from 'mitt'
|
|
2
|
+
|
|
3
|
+
type EventHandler<K extends Events[number]['event']> = (
|
|
4
|
+
data: Extract<Events[number], { event: K }>['data'],
|
|
5
|
+
options: { id: string },
|
|
6
|
+
) => void
|
|
7
|
+
|
|
8
|
+
type WildcardHandler = (
|
|
9
|
+
type: Events[number]['event'],
|
|
10
|
+
data: Events[number]['data'],
|
|
11
|
+
options: { id: string },
|
|
12
|
+
) => void
|
|
2
13
|
|
|
3
14
|
export type Emitter = {
|
|
4
15
|
instance: () => {
|
|
5
|
-
emit:
|
|
16
|
+
emit: <K extends Events[number]['event']>(
|
|
17
|
+
type: K,
|
|
18
|
+
data: Extract<Events[number], { event: K }>['data'],
|
|
19
|
+
) => void
|
|
20
|
+
}
|
|
21
|
+
on: {
|
|
22
|
+
<K extends Events[number]['event']>(type: K, handler: EventHandler<K>): void
|
|
23
|
+
(type: '*', handler: WildcardHandler): void
|
|
24
|
+
}
|
|
25
|
+
off: {
|
|
26
|
+
<K extends Events[number]['event']>(type: K, handler?: EventHandler<K>): void
|
|
27
|
+
(type: '*', handler?: WildcardHandler): void
|
|
6
28
|
}
|
|
7
|
-
on: EventEmitter<EventTypes<true>>['on']
|
|
8
29
|
}
|
|
9
30
|
|
|
10
31
|
export type Events = [
|
|
@@ -26,37 +47,79 @@ export type Events = [
|
|
|
26
47
|
},
|
|
27
48
|
]
|
|
28
49
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
) => void
|
|
35
|
-
} & {
|
|
36
|
-
[K in Events[number] as K['event']]: (
|
|
37
|
-
parameters: K['data'],
|
|
38
|
-
...rest: includeOptions extends true ? readonly [{ id: string }] : readonly []
|
|
39
|
-
) => void
|
|
50
|
+
type InternalEvents = {
|
|
51
|
+
[K in Events[number]['event']]: {
|
|
52
|
+
data: Extract<Events[number], { event: K }>['data']
|
|
53
|
+
id: string
|
|
54
|
+
}
|
|
40
55
|
}
|
|
41
56
|
|
|
42
57
|
export function create(): Emitter {
|
|
43
|
-
|
|
58
|
+
// @ts-expect-error -- this works
|
|
59
|
+
const e = mitt<InternalEvents>()
|
|
60
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
61
|
+
const wrappers = new WeakMap<(...args: any[]) => void, (...args: any[]) => void>()
|
|
44
62
|
let id = -1
|
|
45
63
|
|
|
46
64
|
function instance() {
|
|
47
65
|
id++
|
|
66
|
+
const instanceId = String(id)
|
|
48
67
|
return {
|
|
49
|
-
emit: ((
|
|
68
|
+
emit: ((type, data) => {
|
|
50
69
|
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
51
|
-
|
|
70
|
+
e.emit(type, { data, id: instanceId } as any)
|
|
71
|
+
}) satisfies Emitter['instance'] extends () => { emit: infer E } ? E : never,
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
76
|
+
function on(type: string, handler: (...args: any[]) => void) {
|
|
77
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
78
|
+
let wrapper: (...args: any[]) => void
|
|
79
|
+
if (type === '*') {
|
|
80
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
81
|
+
wrapper = (eventType: string, event: any) => {
|
|
82
|
+
handler(eventType, event.data, { id: event.id })
|
|
83
|
+
}
|
|
84
|
+
e.on('*', wrapper)
|
|
85
|
+
} else {
|
|
86
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
87
|
+
wrapper = (event: any) => {
|
|
88
|
+
handler(event.data, { id: event.id })
|
|
89
|
+
}
|
|
90
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
91
|
+
e.on(type as any, wrapper)
|
|
92
|
+
}
|
|
93
|
+
wrappers.set(handler, wrapper)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
97
|
+
function off(type: string, handler?: (...args: any[]) => void) {
|
|
98
|
+
if (!handler) {
|
|
99
|
+
// Clear all handlers for this type
|
|
100
|
+
if (type === '*') {
|
|
101
|
+
e.all.delete('*')
|
|
102
|
+
} else {
|
|
52
103
|
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
53
|
-
|
|
54
|
-
}
|
|
104
|
+
e.all.delete(type as any)
|
|
105
|
+
}
|
|
106
|
+
return
|
|
107
|
+
}
|
|
108
|
+
const wrapper = wrappers.get(handler)
|
|
109
|
+
if (!wrapper) return
|
|
110
|
+
if (type === '*') {
|
|
111
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
112
|
+
e.off('*', wrapper as any)
|
|
113
|
+
} else {
|
|
114
|
+
// biome-ignore lint/suspicious/noExplicitAny: _
|
|
115
|
+
e.off(type as any, wrapper as any)
|
|
55
116
|
}
|
|
117
|
+
wrappers.delete(handler)
|
|
56
118
|
}
|
|
57
119
|
|
|
58
120
|
return {
|
|
59
121
|
instance,
|
|
60
|
-
on:
|
|
122
|
+
on: on as Emitter['on'],
|
|
123
|
+
off: off as Emitter['off'],
|
|
61
124
|
}
|
|
62
125
|
}
|
package/src/internal/result.ts
CHANGED
|
@@ -268,21 +268,21 @@ type SplitColumns<
|
|
|
268
268
|
/**
|
|
269
269
|
* Check if the last word looks like a simple alias (not part of expression).
|
|
270
270
|
*/
|
|
271
|
-
type HasSpaceSeparatedAlias<value extends string> =
|
|
272
|
-
string
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
? false
|
|
278
|
-
: Last extends `${infer _}(${infer __}` // Has parentheses
|
|
271
|
+
type HasSpaceSeparatedAlias<value extends string> =
|
|
272
|
+
LastWord<value> extends infer Last extends string
|
|
273
|
+
? Last extends value
|
|
274
|
+
? false // No whitespace found, Last is the entire string
|
|
275
|
+
: // Check if Last looks like a simple alias (no special chars)
|
|
276
|
+
Last extends `${infer _}::${infer __}` // Has type cast
|
|
279
277
|
? false
|
|
280
|
-
: Last extends `${infer _}
|
|
278
|
+
: Last extends `${infer _}(${infer __}` // Has parentheses
|
|
281
279
|
? false
|
|
282
|
-
: Last extends `${infer _}
|
|
280
|
+
: Last extends `${infer _}"` // Ends with quote - probably part of identifier
|
|
283
281
|
? false
|
|
284
|
-
:
|
|
285
|
-
|
|
282
|
+
: Last extends `${infer _})` // Ends with paren - probably part of expression
|
|
283
|
+
? false
|
|
284
|
+
: true
|
|
285
|
+
: false
|
|
286
286
|
|
|
287
287
|
/**
|
|
288
288
|
* Strip table prefix (e.g., "t1.column" -> "column", "t1."quoted"" -> ""quoted"")
|
package/src/internal/types.ts
CHANGED
|
@@ -20,11 +20,8 @@ export type IsNever<T> = [T] extends [never] ? true : false
|
|
|
20
20
|
* // ^? true
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
export type IsNarrowable<T, U> =
|
|
24
|
-
(T extends U ? true : false) & (U extends T ? false : true)
|
|
25
|
-
> extends true
|
|
26
|
-
? false
|
|
27
|
-
: true
|
|
23
|
+
export type IsNarrowable<T, U> =
|
|
24
|
+
IsNever<(T extends U ? true : false) & (U extends T ? false : true)> extends true ? false : true
|
|
28
25
|
|
|
29
26
|
/** Recursively trim whitespace and newlines from both ends of a string. */
|
|
30
27
|
export type Trim<value extends string> = value extends ` ${infer Rest}`
|