({
host,
port,
user,
password,
database,
queryTimeout,
}: PostgresConfig)
| 223 | const identity = <T>(input: T) => input; |
| 224 | |
| 225 | async function createPostgresPool({ |
| 226 | host, |
| 227 | port, |
| 228 | user, |
| 229 | password, |
| 230 | database, |
| 231 | queryTimeout, |
| 232 | }: PostgresConfig): Promise<Pool> { |
| 233 | const pool = new pg.Pool({ |
| 234 | host, |
| 235 | port, |
| 236 | password, |
| 237 | database, |
| 238 | user, |
| 239 | query_timeout: queryTimeout, |
| 240 | types: { |
| 241 | getTypeParser(id, format) { |
| 242 | switch (id) { |
| 243 | case pg.types.builtins.TIMESTAMP: |
| 244 | case pg.types.builtins.TIMESTAMPTZ: |
| 245 | case pg.types.builtins.TIME: |
| 246 | case pg.types.builtins.TIMETZ: |
| 247 | case pg.types.builtins.DATE: |
| 248 | case pg.types.builtins.INTERVAL: |
| 249 | return identity; |
| 250 | default: |
| 251 | return pg.types.getTypeParser(id, format); |
| 252 | } |
| 253 | }, |
| 254 | }, |
| 255 | }); |
| 256 | return postgresPool(pool); |
| 257 | } |
| 258 | |
| 259 | function postgresPool(pool: pg.Pool): Pool { |
| 260 | return { |
no test coverage detected