@@ -2,7 +2,7 @@ import type { Generated } from 'kysely'
2
2
import { SqliteDialect } from 'kysely'
3
3
import Database from 'better-sqlite3'
4
4
import { beforeAll , describe , expect , test } from 'vitest'
5
- import { SqliteBuilder , preCompile } from '../packages/sqlite-builder/src'
5
+ import { SqliteBuilder } from '../packages/sqlite-builder/src'
6
6
7
7
interface DB {
8
8
test : TestTable
@@ -71,10 +71,22 @@ describe('test builder', async () => {
71
71
expect ( parameters ) . toStrictEqual ( [ '{"name":"1"}' ] )
72
72
} )
73
73
test ( 'preCompile' , async ( ) => {
74
- const fn = preCompile ( db . kysely , db => db . selectFrom ( 'test' ) . selectAll ( ) )
74
+ const fn = db . preCompile ( db => db . selectFrom ( 'test' ) . selectAll ( ) )
75
75
. setParam < { person : { name : string } } > ( ( qb , param ) => qb . where ( 'person' , '=' , param ( 'person' ) ) )
76
+
77
+ const start = performance . now ( )
78
+
76
79
const { parameters, sql } = fn ( { person : { name : '1' } } )
77
80
expect ( sql ) . toBe ( 'select * from "test" where "person" = ?' )
78
81
expect ( parameters ) . toStrictEqual ( [ '{"name":"1"}' ] )
82
+
83
+ const start2 = performance . now ( )
84
+ console . log ( 'no compiled:' , `${ ( start2 - start ) . toFixed ( 2 ) } ms` )
85
+
86
+ const { parameters : p1 , sql : s1 } = fn ( { person : { name : 'test' } } )
87
+ expect ( s1 ) . toBe ( 'select * from "test" where "person" = ?' )
88
+ expect ( p1 ) . toStrictEqual ( [ '{"name":"test"}' ] )
89
+
90
+ console . log ( ' compiled:' , `${ ( performance . now ( ) - start2 ) . toFixed ( 2 ) } ms` )
79
91
} )
80
92
} )
0 commit comments