@take-out/postgres 0.0.97 → 0.0.99
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/cjs/chunkedQuery.cjs +60 -0
- package/dist/cjs/chunkedQuery.js +51 -0
- package/dist/cjs/chunkedQuery.js.map +6 -0
- package/dist/cjs/createDb.cjs +34 -0
- package/dist/cjs/createDb.js +28 -0
- package/dist/cjs/createDb.js.map +6 -0
- package/dist/cjs/createPool.cjs +40 -0
- package/dist/cjs/createPool.js +32 -0
- package/dist/cjs/createPool.js.map +6 -0
- package/dist/cjs/createServerHelpers.cjs +1 -1
- package/dist/cjs/createServerHelpers.js +1 -1
- package/dist/cjs/createServerHelpers.js.map +1 -1
- package/dist/cjs/getDBClient.cjs +172 -0
- package/dist/cjs/getDBClient.js +179 -0
- package/dist/cjs/getDBClient.js.map +6 -0
- package/dist/cjs/index.cjs +9 -32
- package/dist/cjs/index.js +4 -22
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/migrate.cjs +1 -1
- package/dist/cjs/migrate.js +1 -1
- package/dist/esm/chunkedQuery.js +35 -0
- package/dist/esm/chunkedQuery.js.map +6 -0
- package/dist/esm/chunkedQuery.mjs +36 -0
- package/dist/esm/chunkedQuery.mjs.map +1 -0
- package/dist/esm/createDb.js +13 -0
- package/dist/esm/createDb.js.map +6 -0
- package/dist/esm/createDb.mjs +11 -0
- package/dist/esm/createDb.mjs.map +1 -0
- package/dist/esm/createPool.js +8 -0
- package/dist/esm/createPool.js.map +6 -0
- package/dist/esm/createPool.mjs +6 -0
- package/dist/esm/createPool.mjs.map +1 -0
- package/dist/esm/createServerHelpers.js +1 -1
- package/dist/esm/createServerHelpers.mjs +1 -1
- package/dist/esm/getDBClient.js +155 -0
- package/dist/esm/getDBClient.js.map +6 -0
- package/dist/esm/getDBClient.mjs +136 -0
- package/dist/esm/getDBClient.mjs.map +1 -0
- package/dist/esm/index.js +3 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +4 -15
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/migrate.js +1 -1
- package/dist/esm/migrate.mjs +1 -1
- package/package.json +6 -16
- package/src/createDb.ts +14 -0
- package/src/createPool.ts +7 -0
- package/src/createServerHelpers.ts +1 -1
- package/src/index.ts +3 -31
- package/src/migrate.ts +1 -1
- package/types/chunkedQuery.d.ts +17 -0
- package/types/chunkedQuery.d.ts.map +1 -0
- package/types/createDb.d.ts +3 -0
- package/types/createDb.d.ts.map +1 -0
- package/types/createPool.d.ts +3 -0
- package/types/createPool.d.ts.map +1 -0
- package/types/createServerHelpers.d.ts +1 -1
- package/types/createServerHelpers.d.ts.map +1 -1
- package/types/getDBClient.d.ts +11 -0
- package/types/getDBClient.d.ts.map +1 -0
- package/types/index.d.ts +3 -7
- package/types/index.d.ts.map +1 -1
- /package/src/{helpers/chunkedQuery.ts → chunkedQuery.ts} +0 -0
- /package/src/{helpers/getDBClient.ts → getDBClient.ts} +0 -0
package/dist/esm/index.js
CHANGED
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
import { drizzle } from "drizzle-orm/node-postgres";
|
|
2
|
-
import pg from "pg";
|
|
3
1
|
import { createSql } from "./sql";
|
|
4
2
|
import { createServerHelpers } from "./createServerHelpers";
|
|
5
|
-
import { getDBClient, queryDb } from "./
|
|
6
|
-
import { processInChunks, updateInChunks } from "./
|
|
7
|
-
|
|
8
|
-
connectionString
|
|
9
|
-
}), createDb = (connectionString, schema) => {
|
|
10
|
-
const pool = createPool(connectionString);
|
|
11
|
-
return drizzle(pool, {
|
|
12
|
-
schema,
|
|
13
|
-
logger: !1
|
|
14
|
-
});
|
|
15
|
-
};
|
|
3
|
+
import { getDBClient, queryDb } from "./getDBClient";
|
|
4
|
+
import { processInChunks, updateInChunks } from "./chunkedQuery";
|
|
5
|
+
import { createDb } from "./createDb";
|
|
16
6
|
export {
|
|
17
7
|
createDb,
|
|
18
|
-
createPool,
|
|
19
8
|
createServerHelpers,
|
|
20
9
|
createSql,
|
|
21
10
|
getDBClient,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,
|
|
4
|
+
"mappings": "AAAA,SAAS,iBAAgC;AACzC,SAAS,2BAA+C;AACxD,SAAS,aAAa,eAAwC;AAC9D,SAAS,iBAAiB,sBAAsB;AAChD,SAAS,gBAAgB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
import { drizzle } from "drizzle-orm/node-postgres";
|
|
2
|
-
import pg from "pg";
|
|
3
1
|
import { createSql } from "./sql.mjs";
|
|
4
2
|
import { createServerHelpers } from "./createServerHelpers.mjs";
|
|
5
|
-
import { getDBClient, queryDb } from "./
|
|
6
|
-
import { processInChunks, updateInChunks } from "./
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}),
|
|
10
|
-
createDb = (connectionString, schema) => {
|
|
11
|
-
const pool = createPool(connectionString);
|
|
12
|
-
return drizzle(pool, {
|
|
13
|
-
schema,
|
|
14
|
-
logger: !1
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
export { createDb, createPool, createServerHelpers, createSql, getDBClient, processInChunks, queryDb, updateInChunks };
|
|
3
|
+
import { getDBClient, queryDb } from "./getDBClient.mjs";
|
|
4
|
+
import { processInChunks, updateInChunks } from "./chunkedQuery.mjs";
|
|
5
|
+
import { createDb } from "./createDb.mjs";
|
|
6
|
+
export { createDb, createServerHelpers, createSql, getDBClient, processInChunks, queryDb, updateInChunks };
|
|
18
7
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["createSql","createServerHelpers","getDBClient","queryDb","processInChunks","updateInChunks","createDb"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAgC;AACzC,SAASC,mBAAA,QAA+C;AACxD,SAASC,WAAA,EAAaC,OAAA,QAAwC;AAC9D,SAASC,eAAA,EAAiBC,cAAA,QAAsB;AAChD,SAASC,QAAA,QAAgB","ignoreList":[]}
|
package/dist/esm/migrate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { basename } from "node:path";
|
|
2
|
-
import { getDBClient } from "./
|
|
2
|
+
import { getDBClient } from "./getDBClient";
|
|
3
3
|
const isServerless = !!(process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.AWS_LAMBDA_RUNTIME_API || process.env.LAMBDA_RUNTIME_DIR || process.env.IS_SERVERLESS);
|
|
4
4
|
async function migrate(options) {
|
|
5
5
|
const {
|
package/dist/esm/migrate.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { basename } from "node:path";
|
|
2
|
-
import { getDBClient } from "./
|
|
2
|
+
import { getDBClient } from "./getDBClient.mjs";
|
|
3
3
|
const isServerless = !!(process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.AWS_LAMBDA_RUNTIME_API || process.env.LAMBDA_RUNTIME_DIR || process.env.IS_SERVERLESS);
|
|
4
4
|
async function migrate(options) {
|
|
5
5
|
const {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@take-out/postgres",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.99",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -36,24 +36,14 @@
|
|
|
36
36
|
"require": "./dist/cjs/index.cjs",
|
|
37
37
|
"default": "./dist/esm/index.mjs"
|
|
38
38
|
},
|
|
39
|
-
"
|
|
40
|
-
"types": "./types
|
|
41
|
-
"import": "./dist/esm
|
|
42
|
-
"require": "./dist/cjs
|
|
43
|
-
},
|
|
44
|
-
"./build": {
|
|
45
|
-
"types": "./types/build.d.ts",
|
|
46
|
-
"import": "./dist/esm/build.mjs",
|
|
47
|
-
"require": "./dist/cjs/build.cjs"
|
|
48
|
-
},
|
|
49
|
-
"./scripts/*": {
|
|
50
|
-
"types": "./types/scripts/*.d.ts",
|
|
51
|
-
"import": "./dist/esm/scripts/*.mjs",
|
|
52
|
-
"require": "./dist/cjs/scripts/*.cjs"
|
|
39
|
+
"./*": {
|
|
40
|
+
"types": "./types/*.d.ts",
|
|
41
|
+
"import": "./dist/esm/*.mjs",
|
|
42
|
+
"require": "./dist/cjs/*.cjs"
|
|
53
43
|
}
|
|
54
44
|
},
|
|
55
45
|
"dependencies": {
|
|
56
|
-
"@take-out/helpers": "0.0.
|
|
46
|
+
"@take-out/helpers": "0.0.99",
|
|
57
47
|
"async-retry": "^1.3.3",
|
|
58
48
|
"citty": "^0.1.6"
|
|
59
49
|
},
|
package/src/createDb.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type NodePgDatabase, drizzle } from 'drizzle-orm/node-postgres'
|
|
2
|
+
|
|
3
|
+
import { createPool } from './createPool'
|
|
4
|
+
|
|
5
|
+
export const createDb = <TSchema extends Record<string, unknown>>(
|
|
6
|
+
connectionString: string,
|
|
7
|
+
schema: TSchema
|
|
8
|
+
): NodePgDatabase<TSchema> => {
|
|
9
|
+
const pool = createPool(connectionString)
|
|
10
|
+
return drizzle(pool, {
|
|
11
|
+
schema,
|
|
12
|
+
logger: false,
|
|
13
|
+
}) as NodePgDatabase<TSchema>
|
|
14
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,33 +1,5 @@
|
|
|
1
|
-
import { drizzle } from 'drizzle-orm/node-postgres'
|
|
2
|
-
import pg from 'pg'
|
|
3
|
-
|
|
4
|
-
import type { NodePgDatabase } from 'drizzle-orm/node-postgres'
|
|
5
|
-
import type { Pool } from 'pg'
|
|
6
|
-
|
|
7
|
-
export const createPool = (connectionString: string): Pool => {
|
|
8
|
-
return new pg.Pool({
|
|
9
|
-
connectionString,
|
|
10
|
-
})
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export const createDb = <TSchema extends Record<string, unknown>>(
|
|
14
|
-
connectionString: string,
|
|
15
|
-
schema: TSchema
|
|
16
|
-
): NodePgDatabase<TSchema> => {
|
|
17
|
-
const pool = createPool(connectionString)
|
|
18
|
-
return drizzle(pool, {
|
|
19
|
-
schema,
|
|
20
|
-
logger: false,
|
|
21
|
-
}) as NodePgDatabase<TSchema>
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export type { NodePgDatabase }
|
|
25
|
-
|
|
26
|
-
// re-export for convenience
|
|
27
1
|
export { createSql, type SqlQuery } from './sql'
|
|
28
|
-
|
|
29
2
|
export { createServerHelpers, type ServerHelpers } from './createServerHelpers'
|
|
30
|
-
|
|
31
|
-
export {
|
|
32
|
-
|
|
33
|
-
export { processInChunks, updateInChunks } from './helpers/chunkedQuery'
|
|
3
|
+
export { getDBClient, queryDb, type GetDBClientOptions } from './getDBClient'
|
|
4
|
+
export { processInChunks, updateInChunks } from './chunkedQuery'
|
|
5
|
+
export { createDb } from './createDb'
|
package/src/migrate.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PoolClient, QueryResultRow } from 'pg';
|
|
2
|
+
interface ChunkedQueryOptions {
|
|
3
|
+
chunkSize?: number;
|
|
4
|
+
onProgress?: (processed: number, total: number) => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Process database records in chunks to avoid memory issues with large datasets
|
|
8
|
+
*/
|
|
9
|
+
export declare function processInChunks<T extends QueryResultRow = QueryResultRow>(client: PoolClient, query: string, processor: (rows: T[]) => Promise<void>, options?: ChunkedQueryOptions): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Update records in chunks with a transformer function
|
|
12
|
+
*/
|
|
13
|
+
export declare function updateInChunks<T extends QueryResultRow & {
|
|
14
|
+
id: string;
|
|
15
|
+
}>(client: PoolClient, tableName: string, selectQuery: string, transformer: (row: T) => Promise<Partial<T> | null>, options?: ChunkedQueryOptions): Promise<number>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=chunkedQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunkedQuery.d.ts","sourceRoot":"","sources":["../src/chunkedQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEpD,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACxD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC7E,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EACvC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC5E,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EACnD,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CA4BjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDb.d.ts","sourceRoot":"","sources":["../src/createDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAW,MAAM,2BAA2B,CAAA;AAIxE,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,kBAAkB,MAAM,EACxB,QAAQ,OAAO,KACd,cAAc,CAAC,OAAO,CAMxB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPool.d.ts","sourceRoot":"","sources":["../src/createPool.ts"],"names":[],"mappings":"AAAA,OAAW,EAAE,KAAK,IAAI,EAAE,MAAM,IAAI,CAAA;AAElC,eAAO,MAAM,UAAU,GAAI,kBAAkB,MAAM,KAAG,IAIrD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createServerHelpers.d.ts","sourceRoot":"","sources":["../src/createServerHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"createServerHelpers.d.ts","sourceRoot":"","sources":["../src/createServerHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAA;AAEjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAE9B,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA;IACjC,WAAW,EAAE,CACX,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,kBAAkB,CAAC,KAC5D,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;CACpC,CAAA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAQ7D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import pg, { type Pool, type PoolClient } from 'pg';
|
|
2
|
+
export type GetDBClientOptions = {
|
|
3
|
+
pool?: Pool;
|
|
4
|
+
connectionString?: string;
|
|
5
|
+
retries?: number;
|
|
6
|
+
onRetry?: (error: Error, attempt: number) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare function getDBClient(options?: GetDBClientOptions): Promise<PoolClient>;
|
|
9
|
+
export declare function queryDb(queryText: string, params?: any[], options?: GetDBClientOptions): Promise<pg.QueryResult<any>>;
|
|
10
|
+
export declare function getNewClient(options?: GetDBClientOptions): Promise<pg.Client>;
|
|
11
|
+
//# sourceMappingURL=getDBClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDBClient.d.ts","sourceRoot":"","sources":["../src/getDBClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,CAAA;AAKnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClD,CAAA;AA+BD,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBvF;AAgDD,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,GAAG,EAAE,EACd,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAqC9B;AA6ED,wBAAsB,YAAY,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAcvF"}
|
package/types/index.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import type { NodePgDatabase } from 'drizzle-orm/node-postgres';
|
|
2
|
-
import type { Pool } from 'pg';
|
|
3
|
-
export declare const createPool: (connectionString: string) => Pool;
|
|
4
|
-
export declare const createDb: <TSchema extends Record<string, unknown>>(connectionString: string, schema: TSchema) => NodePgDatabase<TSchema>;
|
|
5
|
-
export type { NodePgDatabase };
|
|
6
1
|
export { createSql, type SqlQuery } from './sql';
|
|
7
2
|
export { createServerHelpers, type ServerHelpers } from './createServerHelpers';
|
|
8
|
-
export { getDBClient, queryDb, type GetDBClientOptions } from './
|
|
9
|
-
export { processInChunks, updateInChunks } from './
|
|
3
|
+
export { getDBClient, queryDb, type GetDBClientOptions } from './getDBClient';
|
|
4
|
+
export { processInChunks, updateInChunks } from './chunkedQuery';
|
|
5
|
+
export { createDb } from './createDb';
|
|
10
6
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
|
|
File without changes
|
|
File without changes
|