drizzle-orm 1.0.0-rc.1 → 1.0.0-rc.2-203eab8
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/aws-data-api/pg/codecs.cjs +4 -3
- package/aws-data-api/pg/codecs.cjs.map +1 -1
- package/aws-data-api/pg/codecs.js +4 -3
- package/aws-data-api/pg/codecs.js.map +1 -1
- package/aws-data-api/pg/session.cjs +2 -2
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +1 -1
- package/aws-data-api/pg/session.d.ts +1 -1
- package/aws-data-api/pg/session.js +2 -2
- package/aws-data-api/pg/session.js.map +1 -1
- package/bun-sql/postgres/codecs.cjs +4 -3
- package/bun-sql/postgres/codecs.cjs.map +1 -1
- package/bun-sql/postgres/codecs.js +4 -3
- package/bun-sql/postgres/codecs.js.map +1 -1
- package/bun-sql/postgres/session.cjs +2 -2
- package/bun-sql/postgres/session.cjs.map +1 -1
- package/bun-sql/postgres/session.d.cts +1 -1
- package/bun-sql/postgres/session.d.ts +1 -1
- package/bun-sql/postgres/session.js +2 -2
- package/bun-sql/postgres/session.js.map +1 -1
- package/codecs.cjs.map +1 -1
- package/codecs.d.cts +2 -2
- package/codecs.d.ts +2 -2
- package/codecs.js.map +1 -1
- package/effect-postgres/codecs.cjs +4 -3
- package/effect-postgres/codecs.cjs.map +1 -1
- package/effect-postgres/codecs.js +4 -3
- package/effect-postgres/codecs.js.map +1 -1
- package/effect-postgres/session.cjs +3 -1
- package/effect-postgres/session.cjs.map +1 -1
- package/effect-postgres/session.d.cts +1 -1
- package/effect-postgres/session.d.ts +1 -1
- package/effect-postgres/session.js +3 -1
- package/effect-postgres/session.js.map +1 -1
- package/neon-http/codecs.cjs +2 -2
- package/neon-http/codecs.cjs.map +1 -1
- package/neon-http/codecs.js +2 -2
- package/neon-http/codecs.js.map +1 -1
- package/neon-serverless/codecs.cjs +2 -2
- package/neon-serverless/codecs.cjs.map +1 -1
- package/neon-serverless/codecs.js +2 -2
- package/neon-serverless/codecs.js.map +1 -1
- package/neon-serverless/session.cjs +2 -2
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +1 -1
- package/neon-serverless/session.d.ts +1 -1
- package/neon-serverless/session.js +2 -2
- package/neon-serverless/session.js.map +1 -1
- package/netlify-db/codecs.cjs +4 -4
- package/netlify-db/codecs.cjs.map +1 -1
- package/netlify-db/codecs.js +4 -4
- package/netlify-db/codecs.js.map +1 -1
- package/netlify-db/session.cjs +2 -2
- package/netlify-db/session.cjs.map +1 -1
- package/netlify-db/session.d.cts +1 -1
- package/netlify-db/session.d.ts +1 -1
- package/netlify-db/session.js +2 -2
- package/netlify-db/session.js.map +1 -1
- package/node-postgres/codecs.cjs +2 -2
- package/node-postgres/codecs.cjs.map +1 -1
- package/node-postgres/codecs.js +2 -2
- package/node-postgres/codecs.js.map +1 -1
- package/node-postgres/session.cjs +2 -2
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +1 -1
- package/node-postgres/session.d.ts +1 -1
- package/node-postgres/session.js +2 -2
- package/node-postgres/session.js.map +1 -1
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +1 -1
- package/pg-core/async/db.cjs +3 -1
- package/pg-core/async/db.cjs.map +1 -1
- package/pg-core/async/db.d.cts +1 -1
- package/pg-core/async/db.d.ts +1 -1
- package/pg-core/async/db.js +3 -1
- package/pg-core/async/db.js.map +1 -1
- package/pg-core/async/session.cjs.map +1 -1
- package/pg-core/async/session.d.cts +1 -1
- package/pg-core/async/session.d.ts +1 -1
- package/pg-core/async/session.js.map +1 -1
- package/pg-core/codecs.cjs +6 -4
- package/pg-core/codecs.cjs.map +1 -1
- package/pg-core/codecs.d.cts +7 -6
- package/pg-core/codecs.d.ts +7 -6
- package/pg-core/codecs.js +6 -4
- package/pg-core/codecs.js.map +1 -1
- package/pg-core/columns/custom.cjs +2 -1
- package/pg-core/columns/custom.cjs.map +1 -1
- package/pg-core/columns/custom.d.cts +1 -3
- package/pg-core/columns/custom.d.ts +1 -3
- package/pg-core/columns/custom.js +3 -2
- package/pg-core/columns/custom.js.map +1 -1
- package/pg-core/columns/postgis_extension/geometry.cjs +2 -2
- package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
- package/pg-core/columns/postgis_extension/geometry.js +2 -2
- package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
- package/pg-core/dialect.cjs +1 -1
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.js +2 -2
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/effect/db.cjs +3 -1
- package/pg-core/effect/db.cjs.map +1 -1
- package/pg-core/effect/db.d.cts +1 -1
- package/pg-core/effect/db.d.ts +1 -1
- package/pg-core/effect/db.js +3 -1
- package/pg-core/effect/db.js.map +1 -1
- package/pglite/codecs.cjs +2 -2
- package/pglite/codecs.cjs.map +1 -1
- package/pglite/codecs.js +2 -2
- package/pglite/codecs.js.map +1 -1
- package/pglite/session.cjs +2 -2
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +1 -1
- package/pglite/session.d.ts +1 -1
- package/pglite/session.js +2 -2
- package/pglite/session.js.map +1 -1
- package/postgres-js/codecs.cjs +4 -3
- package/postgres-js/codecs.cjs.map +1 -1
- package/postgres-js/codecs.js +4 -3
- package/postgres-js/codecs.js.map +1 -1
- package/postgres-js/session.cjs +2 -2
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +1 -1
- package/postgres-js/session.d.ts +1 -1
- package/postgres-js/session.js +2 -2
- package/postgres-js/session.js.map +1 -1
- package/vercel-postgres/codecs.cjs +2 -2
- package/vercel-postgres/codecs.cjs.map +1 -1
- package/vercel-postgres/codecs.js +2 -2
- package/vercel-postgres/codecs.js.map +1 -1
- package/vercel-postgres/session.cjs +2 -2
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +1 -1
- package/vercel-postgres/session.d.ts +1 -1
- package/vercel-postgres/session.js +2 -2
- package/vercel-postgres/session.js.map +1 -1
- package/xata-http/codecs.cjs +4 -3
- package/xata-http/codecs.cjs.map +1 -1
- package/xata-http/codecs.js +4 -3
- package/xata-http/codecs.js.map +1 -1
|
@@ -19,11 +19,11 @@ const awsDataApiPgCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
|
|
|
19
19
|
normalizeArray: __pg_core_array_ts.parsePgArray,
|
|
20
20
|
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
21
21
|
},
|
|
22
|
-
geometry: {
|
|
22
|
+
"geometry(point)": {
|
|
23
23
|
normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY),
|
|
24
24
|
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
25
25
|
},
|
|
26
|
-
"geometry:tuple": {
|
|
26
|
+
"geometry(point):tuple": {
|
|
27
27
|
normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple),
|
|
28
28
|
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
29
29
|
},
|
|
@@ -72,7 +72,8 @@ const awsDataApiPgCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
|
|
|
72
72
|
datemultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
73
73
|
daterange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
74
74
|
float8: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
75
|
-
geography: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
75
|
+
"geography(point)": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
76
|
+
"geography(point):tuple": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
76
77
|
inet: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
77
78
|
int4multirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
78
79
|
int4range: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codecs.cjs","names":["parsePgArray","makePgArray","parseGeometryXY","parseGeometryTuple","castToTextArr","castToText","textToDate","textToDateWithTz"],"sources":["../../../src/aws-data-api/pg/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\n\nexport const awsDataApiPgCodecs = refineGenericPgCodecs({\n\tjson: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\
|
|
1
|
+
{"version":3,"file":"codecs.cjs","names":["parsePgArray","makePgArray","parseGeometryXY","parseGeometryTuple","castToTextArr","castToText","textToDate","textToDateWithTz"],"sources":["../../../src/aws-data-api/pg/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\n\nexport const awsDataApiPgCodecs = refineGenericPgCodecs({\n\tjson: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry(point)': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry(point):tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\n\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\t'geography(point)': { normalizeParamArray: makePgArray },\n\t'geography(point):tuple': { normalizeParamArray: makePgArray },\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tbigint: { normalizeParamArray: makePgArray },\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: { normalizeParamArray: makePgArray },\n});\n"],"mappings":"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"}
|
|
@@ -17,11 +17,11 @@ const awsDataApiPgCodecs = refineGenericPgCodecs({
|
|
|
17
17
|
normalizeArray: parsePgArray,
|
|
18
18
|
normalizeParamArray: makePgArray
|
|
19
19
|
},
|
|
20
|
-
geometry: {
|
|
20
|
+
"geometry(point)": {
|
|
21
21
|
normalizeArray: parsePgArrayAndNormalize(parseGeometryXY),
|
|
22
22
|
normalizeParamArray: makePgArray
|
|
23
23
|
},
|
|
24
|
-
"geometry:tuple": {
|
|
24
|
+
"geometry(point):tuple": {
|
|
25
25
|
normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),
|
|
26
26
|
normalizeParamArray: makePgArray
|
|
27
27
|
},
|
|
@@ -70,7 +70,8 @@ const awsDataApiPgCodecs = refineGenericPgCodecs({
|
|
|
70
70
|
datemultirange: { normalizeParamArray: makePgArray },
|
|
71
71
|
daterange: { normalizeParamArray: makePgArray },
|
|
72
72
|
float8: { normalizeParamArray: makePgArray },
|
|
73
|
-
geography: { normalizeParamArray: makePgArray },
|
|
73
|
+
"geography(point)": { normalizeParamArray: makePgArray },
|
|
74
|
+
"geography(point):tuple": { normalizeParamArray: makePgArray },
|
|
74
75
|
inet: { normalizeParamArray: makePgArray },
|
|
75
76
|
int4multirange: { normalizeParamArray: makePgArray },
|
|
76
77
|
int4range: { normalizeParamArray: makePgArray },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codecs.js","names":[],"sources":["../../../src/aws-data-api/pg/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\n\nexport const awsDataApiPgCodecs = refineGenericPgCodecs({\n\tjson: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\
|
|
1
|
+
{"version":3,"file":"codecs.js","names":[],"sources":["../../../src/aws-data-api/pg/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\n\nexport const awsDataApiPgCodecs = refineGenericPgCodecs({\n\tjson: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalize: (v) => JSON.parse(v),\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry(point)': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry(point):tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\n\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\t'geography(point)': { normalizeParamArray: makePgArray },\n\t'geography(point):tuple': { normalizeParamArray: makePgArray },\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tbigint: { normalizeParamArray: makePgArray },\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: { normalizeParamArray: makePgArray },\n});\n"],"mappings":"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"}
|
|
@@ -88,7 +88,7 @@ var AwsDataApiSession = class AwsDataApiSession extends __pg_core_async_session_
|
|
|
88
88
|
};
|
|
89
89
|
var AwsDataApiTransaction = class AwsDataApiTransaction extends __pg_core_async_session_ts.PgAsyncTransaction {
|
|
90
90
|
static [__entity_ts.entityKind] = "AwsDataApiTransaction";
|
|
91
|
-
|
|
91
|
+
async transaction(transaction) {
|
|
92
92
|
const savepointName = `sp${this.nestedIndex + 1}`;
|
|
93
93
|
const tx = new AwsDataApiTransaction(this.dialect, this.session, this._.relations, this.nestedIndex + 1, true);
|
|
94
94
|
await this.session.execute(__sql_sql_ts.sql.raw(`savepoint ${savepointName}`));
|
|
@@ -100,7 +100,7 @@ var AwsDataApiTransaction = class AwsDataApiTransaction extends __pg_core_async_
|
|
|
100
100
|
await this.session.execute(__sql_sql_ts.sql.raw(`rollback to savepoint ${savepointName}`));
|
|
101
101
|
throw e;
|
|
102
102
|
}
|
|
103
|
-
}
|
|
103
|
+
}
|
|
104
104
|
};
|
|
105
105
|
|
|
106
106
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.cjs","names":["PgAsyncSession","entityKind","NoopCache","NoopLogger","ExecuteStatementCommand","toValueParam","getValueFromDataApi","PgAsyncPreparedQuery","BeginTransactionCommand","CommitTransactionCommand","RollbackTransactionCommand","PgAsyncTransaction","sql"],"sources":["../../../src/aws-data-api/pg/session.ts"],"sourcesContent":["import type { ExecuteStatementCommandOutput, RDSDataClient } from '@aws-sdk/client-rds-data';\nimport {\n\tBeginTransactionCommand,\n\tCommitTransactionCommand,\n\tExecuteStatementCommand,\n\tRollbackTransactionCommand,\n} from '@aws-sdk/client-rds-data';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { type QueryWithTypings, sql } from '~/sql/sql.ts';\nimport { getValueFromDataApi, toValueParam } from '../common/index.ts';\n\nexport type AwsDataApiClient = RDSDataClient;\n\nexport interface AwsDataApiSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\ninterface AwsDataApiQueryBase {\n\tresourceArn: string;\n\tsecretArn: string;\n\tdatabase: string;\n}\n\nexport class AwsDataApiSession<\n\tTRelations extends AnyRelations,\n> extends PgAsyncSession<AwsDataApiPgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiSession';\n\n\t/** @internal */\n\treadonly rawQuery: AwsDataApiQueryBase;\n\tprivate cache: Cache;\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly client: AwsDataApiClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate options: AwsDataApiSessionOptions,\n\t\t/** @internal */\n\t\treadonly transactionId: string | undefined,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.rawQuery = {\n\t\t\tsecretArn: options.secretArn,\n\t\t\tresourceArn: options.resourceArn,\n\t\t\tdatabase: options.database,\n\t\t};\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: QueryWithTypings,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\tconst executor = async (params?: unknown[]) => {\n\t\t\tconst command = new ExecuteStatementCommand({\n\t\t\t\tsql: query.sql,\n\t\t\t\tparameters: params\n\t\t\t\t\t? params.map((param, index) => ({\n\t\t\t\t\t\tname: `${index + 1}`,\n\t\t\t\t\t\t...toValueParam(param, query.typings?.[index]),\n\t\t\t\t\t}))\n\t\t\t\t\t: [],\n\t\t\t\tsecretArn: this.options.secretArn,\n\t\t\t\tresourceArn: this.options.resourceArn,\n\t\t\t\tdatabase: this.options.database,\n\t\t\t\ttransactionId: this.transactionId,\n\t\t\t\tincludeResultMetadata: mode === 'objects' || mode === 'raw',\n\t\t\t});\n\n\t\t\tconst result = await this.client.send(command);\n\t\t\tconst rows = result.records?.map((row) => {\n\t\t\t\treturn row.map((field) => getValueFromDataApi(field));\n\t\t\t}) ?? [];\n\n\t\t\tif (mode === 'arrays') return rows;\n\n\t\t\tconst { columnMetadata } = result;\n\t\t\tif (!columnMetadata) {\n\t\t\t\treturn Object.assign(result, { rows });\n\t\t\t}\n\n\t\t\tconst mappedRows = rows.map((sourceRow) => {\n\t\t\t\tconst row: Record<string, unknown> = {};\n\t\t\t\tfor (const [index, value] of sourceRow.entries()) {\n\t\t\t\t\tconst metadata = columnMetadata[index];\n\t\t\t\t\tif (!metadata) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column metadata found for index ${index}. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!metadata.name) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column name for index ${index} found in the column metadata. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\trow[metadata.name] = value;\n\t\t\t\t}\n\t\t\t\treturn row;\n\t\t\t});\n\n\t\t\tif (mode === 'objects') return mappedRows;\n\t\t\treturn Object.assign(result, { rows: mappedRows });\n\t\t};\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TRelations>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst { transactionId } = await this.client.send(new BeginTransactionCommand(this.rawQuery));\n\t\tconst session = new AwsDataApiSession(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.options,\n\t\t\ttransactionId,\n\t\t);\n\t\tconst tx = new AwsDataApiTransaction<TRelations>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tundefined,\n\t\t\ttrue,\n\t\t);\n\t\tif (config) {\n\t\t\tawait tx.setTransaction(config);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.client.send(new CommitTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.client.send(new RollbackTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport class AwsDataApiTransaction<\n\tTRelations extends AnyRelations,\n> extends PgAsyncTransaction<AwsDataApiPgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiTransaction';\n\n\toverride
|
|
1
|
+
{"version":3,"file":"session.cjs","names":["PgAsyncSession","entityKind","NoopCache","NoopLogger","ExecuteStatementCommand","toValueParam","getValueFromDataApi","PgAsyncPreparedQuery","BeginTransactionCommand","CommitTransactionCommand","RollbackTransactionCommand","PgAsyncTransaction","sql"],"sources":["../../../src/aws-data-api/pg/session.ts"],"sourcesContent":["import type { ExecuteStatementCommandOutput, RDSDataClient } from '@aws-sdk/client-rds-data';\nimport {\n\tBeginTransactionCommand,\n\tCommitTransactionCommand,\n\tExecuteStatementCommand,\n\tRollbackTransactionCommand,\n} from '@aws-sdk/client-rds-data';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { type QueryWithTypings, sql } from '~/sql/sql.ts';\nimport { getValueFromDataApi, toValueParam } from '../common/index.ts';\n\nexport type AwsDataApiClient = RDSDataClient;\n\nexport interface AwsDataApiSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\ninterface AwsDataApiQueryBase {\n\tresourceArn: string;\n\tsecretArn: string;\n\tdatabase: string;\n}\n\nexport class AwsDataApiSession<\n\tTRelations extends AnyRelations,\n> extends PgAsyncSession<AwsDataApiPgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiSession';\n\n\t/** @internal */\n\treadonly rawQuery: AwsDataApiQueryBase;\n\tprivate cache: Cache;\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly client: AwsDataApiClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate options: AwsDataApiSessionOptions,\n\t\t/** @internal */\n\t\treadonly transactionId: string | undefined,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.rawQuery = {\n\t\t\tsecretArn: options.secretArn,\n\t\t\tresourceArn: options.resourceArn,\n\t\t\tdatabase: options.database,\n\t\t};\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: QueryWithTypings,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\tconst executor = async (params?: unknown[]) => {\n\t\t\tconst command = new ExecuteStatementCommand({\n\t\t\t\tsql: query.sql,\n\t\t\t\tparameters: params\n\t\t\t\t\t? params.map((param, index) => ({\n\t\t\t\t\t\tname: `${index + 1}`,\n\t\t\t\t\t\t...toValueParam(param, query.typings?.[index]),\n\t\t\t\t\t}))\n\t\t\t\t\t: [],\n\t\t\t\tsecretArn: this.options.secretArn,\n\t\t\t\tresourceArn: this.options.resourceArn,\n\t\t\t\tdatabase: this.options.database,\n\t\t\t\ttransactionId: this.transactionId,\n\t\t\t\tincludeResultMetadata: mode === 'objects' || mode === 'raw',\n\t\t\t});\n\n\t\t\tconst result = await this.client.send(command);\n\t\t\tconst rows = result.records?.map((row) => {\n\t\t\t\treturn row.map((field) => getValueFromDataApi(field));\n\t\t\t}) ?? [];\n\n\t\t\tif (mode === 'arrays') return rows;\n\n\t\t\tconst { columnMetadata } = result;\n\t\t\tif (!columnMetadata) {\n\t\t\t\treturn Object.assign(result, { rows });\n\t\t\t}\n\n\t\t\tconst mappedRows = rows.map((sourceRow) => {\n\t\t\t\tconst row: Record<string, unknown> = {};\n\t\t\t\tfor (const [index, value] of sourceRow.entries()) {\n\t\t\t\t\tconst metadata = columnMetadata[index];\n\t\t\t\t\tif (!metadata) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column metadata found for index ${index}. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!metadata.name) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column name for index ${index} found in the column metadata. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\trow[metadata.name] = value;\n\t\t\t\t}\n\t\t\t\treturn row;\n\t\t\t});\n\n\t\t\tif (mode === 'objects') return mappedRows;\n\t\t\treturn Object.assign(result, { rows: mappedRows });\n\t\t};\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TRelations>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst { transactionId } = await this.client.send(new BeginTransactionCommand(this.rawQuery));\n\t\tconst session = new AwsDataApiSession(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.options,\n\t\t\ttransactionId,\n\t\t);\n\t\tconst tx = new AwsDataApiTransaction<TRelations>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tundefined,\n\t\t\ttrue,\n\t\t);\n\t\tif (config) {\n\t\t\tawait tx.setTransaction(config);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.client.send(new CommitTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.client.send(new RollbackTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport class AwsDataApiTransaction<\n\tTRelations extends AnyRelations,\n> extends PgAsyncTransaction<AwsDataApiPgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TRelations>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new AwsDataApiTransaction<TRelations>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis._.relations,\n\t\t\tthis.nestedIndex + 1,\n\t\t\ttrue,\n\t\t);\n\t\tawait this.session.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.session.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport type AwsDataApiPgQueryResult<T> = ExecuteStatementCommandOutput & { rows: T[] };\n\nexport interface AwsDataApiPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: AwsDataApiPgQueryResult<this['row']>;\n}\n"],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ declare class AwsDataApiSession<TRelations extends AnyRelations> extends PgAsync
|
|
|
37
37
|
}
|
|
38
38
|
declare class AwsDataApiTransaction<TRelations extends AnyRelations> extends PgAsyncTransaction<AwsDataApiPgQueryResultHKT, TRelations> {
|
|
39
39
|
static readonly [entityKind]: string;
|
|
40
|
-
transaction
|
|
40
|
+
transaction<T>(transaction: (tx: AwsDataApiTransaction<TRelations>) => Promise<T>): Promise<T>;
|
|
41
41
|
}
|
|
42
42
|
type AwsDataApiPgQueryResult<T> = ExecuteStatementCommandOutput & {
|
|
43
43
|
rows: T[];
|
|
@@ -37,7 +37,7 @@ declare class AwsDataApiSession<TRelations extends AnyRelations> extends PgAsync
|
|
|
37
37
|
}
|
|
38
38
|
declare class AwsDataApiTransaction<TRelations extends AnyRelations> extends PgAsyncTransaction<AwsDataApiPgQueryResultHKT, TRelations> {
|
|
39
39
|
static readonly [entityKind]: string;
|
|
40
|
-
transaction
|
|
40
|
+
transaction<T>(transaction: (tx: AwsDataApiTransaction<TRelations>) => Promise<T>): Promise<T>;
|
|
41
41
|
}
|
|
42
42
|
type AwsDataApiPgQueryResult<T> = ExecuteStatementCommandOutput & {
|
|
43
43
|
rows: T[];
|
|
@@ -86,7 +86,7 @@ var AwsDataApiSession = class AwsDataApiSession extends PgAsyncSession {
|
|
|
86
86
|
};
|
|
87
87
|
var AwsDataApiTransaction = class AwsDataApiTransaction extends PgAsyncTransaction {
|
|
88
88
|
static [entityKind] = "AwsDataApiTransaction";
|
|
89
|
-
|
|
89
|
+
async transaction(transaction) {
|
|
90
90
|
const savepointName = `sp${this.nestedIndex + 1}`;
|
|
91
91
|
const tx = new AwsDataApiTransaction(this.dialect, this.session, this._.relations, this.nestedIndex + 1, true);
|
|
92
92
|
await this.session.execute(sql.raw(`savepoint ${savepointName}`));
|
|
@@ -98,7 +98,7 @@ var AwsDataApiTransaction = class AwsDataApiTransaction extends PgAsyncTransacti
|
|
|
98
98
|
await this.session.execute(sql.raw(`rollback to savepoint ${savepointName}`));
|
|
99
99
|
throw e;
|
|
100
100
|
}
|
|
101
|
-
}
|
|
101
|
+
}
|
|
102
102
|
};
|
|
103
103
|
|
|
104
104
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","names":[],"sources":["../../../src/aws-data-api/pg/session.ts"],"sourcesContent":["import type { ExecuteStatementCommandOutput, RDSDataClient } from '@aws-sdk/client-rds-data';\nimport {\n\tBeginTransactionCommand,\n\tCommitTransactionCommand,\n\tExecuteStatementCommand,\n\tRollbackTransactionCommand,\n} from '@aws-sdk/client-rds-data';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { type QueryWithTypings, sql } from '~/sql/sql.ts';\nimport { getValueFromDataApi, toValueParam } from '../common/index.ts';\n\nexport type AwsDataApiClient = RDSDataClient;\n\nexport interface AwsDataApiSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\ninterface AwsDataApiQueryBase {\n\tresourceArn: string;\n\tsecretArn: string;\n\tdatabase: string;\n}\n\nexport class AwsDataApiSession<\n\tTRelations extends AnyRelations,\n> extends PgAsyncSession<AwsDataApiPgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiSession';\n\n\t/** @internal */\n\treadonly rawQuery: AwsDataApiQueryBase;\n\tprivate cache: Cache;\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly client: AwsDataApiClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate options: AwsDataApiSessionOptions,\n\t\t/** @internal */\n\t\treadonly transactionId: string | undefined,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.rawQuery = {\n\t\t\tsecretArn: options.secretArn,\n\t\t\tresourceArn: options.resourceArn,\n\t\t\tdatabase: options.database,\n\t\t};\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: QueryWithTypings,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\tconst executor = async (params?: unknown[]) => {\n\t\t\tconst command = new ExecuteStatementCommand({\n\t\t\t\tsql: query.sql,\n\t\t\t\tparameters: params\n\t\t\t\t\t? params.map((param, index) => ({\n\t\t\t\t\t\tname: `${index + 1}`,\n\t\t\t\t\t\t...toValueParam(param, query.typings?.[index]),\n\t\t\t\t\t}))\n\t\t\t\t\t: [],\n\t\t\t\tsecretArn: this.options.secretArn,\n\t\t\t\tresourceArn: this.options.resourceArn,\n\t\t\t\tdatabase: this.options.database,\n\t\t\t\ttransactionId: this.transactionId,\n\t\t\t\tincludeResultMetadata: mode === 'objects' || mode === 'raw',\n\t\t\t});\n\n\t\t\tconst result = await this.client.send(command);\n\t\t\tconst rows = result.records?.map((row) => {\n\t\t\t\treturn row.map((field) => getValueFromDataApi(field));\n\t\t\t}) ?? [];\n\n\t\t\tif (mode === 'arrays') return rows;\n\n\t\t\tconst { columnMetadata } = result;\n\t\t\tif (!columnMetadata) {\n\t\t\t\treturn Object.assign(result, { rows });\n\t\t\t}\n\n\t\t\tconst mappedRows = rows.map((sourceRow) => {\n\t\t\t\tconst row: Record<string, unknown> = {};\n\t\t\t\tfor (const [index, value] of sourceRow.entries()) {\n\t\t\t\t\tconst metadata = columnMetadata[index];\n\t\t\t\t\tif (!metadata) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column metadata found for index ${index}. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!metadata.name) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column name for index ${index} found in the column metadata. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\trow[metadata.name] = value;\n\t\t\t\t}\n\t\t\t\treturn row;\n\t\t\t});\n\n\t\t\tif (mode === 'objects') return mappedRows;\n\t\t\treturn Object.assign(result, { rows: mappedRows });\n\t\t};\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TRelations>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst { transactionId } = await this.client.send(new BeginTransactionCommand(this.rawQuery));\n\t\tconst session = new AwsDataApiSession(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.options,\n\t\t\ttransactionId,\n\t\t);\n\t\tconst tx = new AwsDataApiTransaction<TRelations>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tundefined,\n\t\t\ttrue,\n\t\t);\n\t\tif (config) {\n\t\t\tawait tx.setTransaction(config);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.client.send(new CommitTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.client.send(new RollbackTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport class AwsDataApiTransaction<\n\tTRelations extends AnyRelations,\n> extends PgAsyncTransaction<AwsDataApiPgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiTransaction';\n\n\toverride
|
|
1
|
+
{"version":3,"file":"session.js","names":[],"sources":["../../../src/aws-data-api/pg/session.ts"],"sourcesContent":["import type { ExecuteStatementCommandOutput, RDSDataClient } from '@aws-sdk/client-rds-data';\nimport {\n\tBeginTransactionCommand,\n\tCommitTransactionCommand,\n\tExecuteStatementCommand,\n\tRollbackTransactionCommand,\n} from '@aws-sdk/client-rds-data';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { type QueryWithTypings, sql } from '~/sql/sql.ts';\nimport { getValueFromDataApi, toValueParam } from '../common/index.ts';\n\nexport type AwsDataApiClient = RDSDataClient;\n\nexport interface AwsDataApiSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\ninterface AwsDataApiQueryBase {\n\tresourceArn: string;\n\tsecretArn: string;\n\tdatabase: string;\n}\n\nexport class AwsDataApiSession<\n\tTRelations extends AnyRelations,\n> extends PgAsyncSession<AwsDataApiPgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiSession';\n\n\t/** @internal */\n\treadonly rawQuery: AwsDataApiQueryBase;\n\tprivate cache: Cache;\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly client: AwsDataApiClient,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate options: AwsDataApiSessionOptions,\n\t\t/** @internal */\n\t\treadonly transactionId: string | undefined,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.rawQuery = {\n\t\t\tsecretArn: options.secretArn,\n\t\t\tresourceArn: options.resourceArn,\n\t\t\tdatabase: options.database,\n\t\t};\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig>(\n\t\tquery: QueryWithTypings,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\tconst executor = async (params?: unknown[]) => {\n\t\t\tconst command = new ExecuteStatementCommand({\n\t\t\t\tsql: query.sql,\n\t\t\t\tparameters: params\n\t\t\t\t\t? params.map((param, index) => ({\n\t\t\t\t\t\tname: `${index + 1}`,\n\t\t\t\t\t\t...toValueParam(param, query.typings?.[index]),\n\t\t\t\t\t}))\n\t\t\t\t\t: [],\n\t\t\t\tsecretArn: this.options.secretArn,\n\t\t\t\tresourceArn: this.options.resourceArn,\n\t\t\t\tdatabase: this.options.database,\n\t\t\t\ttransactionId: this.transactionId,\n\t\t\t\tincludeResultMetadata: mode === 'objects' || mode === 'raw',\n\t\t\t});\n\n\t\t\tconst result = await this.client.send(command);\n\t\t\tconst rows = result.records?.map((row) => {\n\t\t\t\treturn row.map((field) => getValueFromDataApi(field));\n\t\t\t}) ?? [];\n\n\t\t\tif (mode === 'arrays') return rows;\n\n\t\t\tconst { columnMetadata } = result;\n\t\t\tif (!columnMetadata) {\n\t\t\t\treturn Object.assign(result, { rows });\n\t\t\t}\n\n\t\t\tconst mappedRows = rows.map((sourceRow) => {\n\t\t\t\tconst row: Record<string, unknown> = {};\n\t\t\t\tfor (const [index, value] of sourceRow.entries()) {\n\t\t\t\t\tconst metadata = columnMetadata[index];\n\t\t\t\t\tif (!metadata) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column metadata found for index ${index}. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!metadata.name) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected state: no column name for index ${index} found in the column metadata. Please report this issue on GitHub: https://github.com/drizzle-team/drizzle-orm/issues/new/choose`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\trow[metadata.name] = value;\n\t\t\t\t}\n\t\t\t\treturn row;\n\t\t\t});\n\n\t\t\tif (mode === 'objects') return mappedRows;\n\t\t\treturn Object.assign(result, { rows: mappedRows });\n\t\t};\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TRelations>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig | undefined,\n\t): Promise<T> {\n\t\tconst { transactionId } = await this.client.send(new BeginTransactionCommand(this.rawQuery));\n\t\tconst session = new AwsDataApiSession(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.relations,\n\t\t\tthis.options,\n\t\t\ttransactionId,\n\t\t);\n\t\tconst tx = new AwsDataApiTransaction<TRelations>(\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.relations,\n\t\t\tundefined,\n\t\t\ttrue,\n\t\t);\n\t\tif (config) {\n\t\t\tawait tx.setTransaction(config);\n\t\t}\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.client.send(new CommitTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.client.send(new RollbackTransactionCommand({ ...this.rawQuery, transactionId }));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport class AwsDataApiTransaction<\n\tTRelations extends AnyRelations,\n> extends PgAsyncTransaction<AwsDataApiPgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'AwsDataApiTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: AwsDataApiTransaction<TRelations>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new AwsDataApiTransaction<TRelations>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis._.relations,\n\t\t\tthis.nestedIndex + 1,\n\t\t\ttrue,\n\t\t);\n\t\tawait this.session.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tawait this.session.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport type AwsDataApiPgQueryResult<T> = ExecuteStatementCommandOutput & { rows: T[] };\n\nexport interface AwsDataApiPgQueryResultHKT extends PgQueryResultHKT {\n\ttype: AwsDataApiPgQueryResult<this['row']>;\n}\n"],"mappings":"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"}
|
|
@@ -79,7 +79,8 @@ const bunSqlPgCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
|
|
|
79
79
|
datemultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
80
80
|
daterange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
81
81
|
float8: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
82
|
-
geography: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
82
|
+
"geography(point)": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
83
|
+
"geography(point):tuple": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
83
84
|
inet: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
84
85
|
int4multirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
85
86
|
int4range: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
@@ -123,11 +124,11 @@ const bunSqlPgCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
|
|
|
123
124
|
enum: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
124
125
|
json: { normalizeParamArray: (0, __pg_core_codecs_ts.arrayCompatNormalizeInput)((v) => JSON.stringify(v), true) },
|
|
125
126
|
jsonb: { normalizeParamArray: (0, __pg_core_codecs_ts.arrayCompatNormalizeInput)((v) => JSON.stringify(v), true) },
|
|
126
|
-
geometry: {
|
|
127
|
+
"geometry(point)": {
|
|
127
128
|
normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY),
|
|
128
129
|
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
129
130
|
},
|
|
130
|
-
"geometry:tuple": {
|
|
131
|
+
"geometry(point):tuple": {
|
|
131
132
|
normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple),
|
|
132
133
|
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
133
134
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codecs.cjs","names":["makePgArray","castToText","castToTextArr","parseGeometryXY","parseGeometryTuple","parsePgArray"],"sources":["../../../src/bun-sql/postgres/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n} from '~/pg-core/codecs.ts';\n\nexport const bunSqlPgCodecs = refineGenericPgCodecs({\n\tdate: { normalizeParamArray: makePgArray },\n\t'date:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: { normalizeParamArray: makePgArray },\n\ttimestamptz: { normalizeParamArray: makePgArray },\n\t'timestamp:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: Number,\n\t\tnormalizeArray: arrayCompatNormalize(Number),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigint: {\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tint: {\n\t\tnormalizeArray: (\n\t\t\tvalue: any,\n\t\t\tdimensions: number,\n\t\t) => {\n\t\t\tif (dimensions <= 1) {\n\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\tif (value instanceof Int32Array) {\n\t\t\t\t\treturn Array.from(value) as any;\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tconst stack: { arr: any; depth: number }[] = [{ arr: value, depth: 1 }];\n\n\t\t\twhile (stack.length > 0) {\n\t\t\t\tconst { arr, depth } = stack.pop()!;\n\n\t\t\t\tif (depth === dimensions - 1) {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tconst leaf = arr[i];\n\t\t\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\t\t\tif (leaf instanceof Int32Array) {\n\t\t\t\t\t\t\tarr[i] = Array.from(leaf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tstack.push({ arr: arr[i], depth: depth + 1 });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn value;\n\t\t},\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\n\tbit: { normalizeParamArray: makePgArray },\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\tgeography: { normalizeParamArray: makePgArray },\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tjson: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codecs.cjs","names":["makePgArray","castToText","castToTextArr","parseGeometryXY","parseGeometryTuple","parsePgArray"],"sources":["../../../src/bun-sql/postgres/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n} from '~/pg-core/codecs.ts';\n\nexport const bunSqlPgCodecs = refineGenericPgCodecs({\n\tdate: { normalizeParamArray: makePgArray },\n\t'date:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: { normalizeParamArray: makePgArray },\n\ttimestamptz: { normalizeParamArray: makePgArray },\n\t'timestamp:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: Number,\n\t\tnormalizeArray: arrayCompatNormalize(Number),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigint: {\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tint: {\n\t\tnormalizeArray: (\n\t\t\tvalue: any,\n\t\t\tdimensions: number,\n\t\t) => {\n\t\t\tif (dimensions <= 1) {\n\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\tif (value instanceof Int32Array) {\n\t\t\t\t\treturn Array.from(value) as any;\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tconst stack: { arr: any; depth: number }[] = [{ arr: value, depth: 1 }];\n\n\t\t\twhile (stack.length > 0) {\n\t\t\t\tconst { arr, depth } = stack.pop()!;\n\n\t\t\t\tif (depth === dimensions - 1) {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tconst leaf = arr[i];\n\t\t\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\t\t\tif (leaf instanceof Int32Array) {\n\t\t\t\t\t\t\tarr[i] = Array.from(leaf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tstack.push({ arr: arr[i], depth: depth + 1 });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn value;\n\t\t},\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\n\tbit: { normalizeParamArray: makePgArray },\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\t'geography(point)': { normalizeParamArray: makePgArray },\n\t'geography(point):tuple': { normalizeParamArray: makePgArray },\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tjson: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\t'geometry(point)': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry(point):tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\n});\n"],"mappings":"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"}
|
|
@@ -77,7 +77,8 @@ const bunSqlPgCodecs = refineGenericPgCodecs({
|
|
|
77
77
|
datemultirange: { normalizeParamArray: makePgArray },
|
|
78
78
|
daterange: { normalizeParamArray: makePgArray },
|
|
79
79
|
float8: { normalizeParamArray: makePgArray },
|
|
80
|
-
geography: { normalizeParamArray: makePgArray },
|
|
80
|
+
"geography(point)": { normalizeParamArray: makePgArray },
|
|
81
|
+
"geography(point):tuple": { normalizeParamArray: makePgArray },
|
|
81
82
|
inet: { normalizeParamArray: makePgArray },
|
|
82
83
|
int4multirange: { normalizeParamArray: makePgArray },
|
|
83
84
|
int4range: { normalizeParamArray: makePgArray },
|
|
@@ -121,11 +122,11 @@ const bunSqlPgCodecs = refineGenericPgCodecs({
|
|
|
121
122
|
enum: { normalizeParamArray: makePgArray },
|
|
122
123
|
json: { normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true) },
|
|
123
124
|
jsonb: { normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true) },
|
|
124
|
-
geometry: {
|
|
125
|
+
"geometry(point)": {
|
|
125
126
|
normalizeArray: parsePgArrayAndNormalize(parseGeometryXY),
|
|
126
127
|
normalizeParamArray: makePgArray
|
|
127
128
|
},
|
|
128
|
-
"geometry:tuple": {
|
|
129
|
+
"geometry(point):tuple": {
|
|
129
130
|
normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),
|
|
130
131
|
normalizeParamArray: makePgArray
|
|
131
132
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codecs.js","names":[],"sources":["../../../src/bun-sql/postgres/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n} from '~/pg-core/codecs.ts';\n\nexport const bunSqlPgCodecs = refineGenericPgCodecs({\n\tdate: { normalizeParamArray: makePgArray },\n\t'date:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: { normalizeParamArray: makePgArray },\n\ttimestamptz: { normalizeParamArray: makePgArray },\n\t'timestamp:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: Number,\n\t\tnormalizeArray: arrayCompatNormalize(Number),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigint: {\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tint: {\n\t\tnormalizeArray: (\n\t\t\tvalue: any,\n\t\t\tdimensions: number,\n\t\t) => {\n\t\t\tif (dimensions <= 1) {\n\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\tif (value instanceof Int32Array) {\n\t\t\t\t\treturn Array.from(value) as any;\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tconst stack: { arr: any; depth: number }[] = [{ arr: value, depth: 1 }];\n\n\t\t\twhile (stack.length > 0) {\n\t\t\t\tconst { arr, depth } = stack.pop()!;\n\n\t\t\t\tif (depth === dimensions - 1) {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tconst leaf = arr[i];\n\t\t\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\t\t\tif (leaf instanceof Int32Array) {\n\t\t\t\t\t\t\tarr[i] = Array.from(leaf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tstack.push({ arr: arr[i], depth: depth + 1 });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn value;\n\t\t},\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\n\tbit: { normalizeParamArray: makePgArray },\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\tgeography: { normalizeParamArray: makePgArray },\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tjson: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codecs.js","names":[],"sources":["../../../src/bun-sql/postgres/codecs.ts"],"sourcesContent":["import { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\trefineGenericPgCodecs,\n} from '~/pg-core/codecs.ts';\n\nexport const bunSqlPgCodecs = refineGenericPgCodecs({\n\tdate: { normalizeParamArray: makePgArray },\n\t'date:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tuuid: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: { normalizeParamArray: makePgArray },\n\ttimestamptz: { normalizeParamArray: makePgArray },\n\t'timestamp:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tfloat4: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: Number,\n\t\tnormalizeArray: arrayCompatNormalize(Number),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigint: {\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tbigserial: { normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tint: {\n\t\tnormalizeArray: (\n\t\t\tvalue: any,\n\t\t\tdimensions: number,\n\t\t) => {\n\t\t\tif (dimensions <= 1) {\n\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\tif (value instanceof Int32Array) {\n\t\t\t\t\treturn Array.from(value) as any;\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tconst stack: { arr: any; depth: number }[] = [{ arr: value, depth: 1 }];\n\n\t\t\twhile (stack.length > 0) {\n\t\t\t\tconst { arr, depth } = stack.pop()!;\n\n\t\t\t\tif (depth === dimensions - 1) {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tconst leaf = arr[i];\n\t\t\t\t\t\t// eslint-disable-next-line drizzle-internal/no-instanceof\n\t\t\t\t\t\tif (leaf instanceof Int32Array) {\n\t\t\t\t\t\t\tarr[i] = Array.from(leaf);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\t\t\t\tstack.push({ arr: arr[i], depth: depth + 1 });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn value;\n\t\t},\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\n\tbit: { normalizeParamArray: makePgArray },\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\t'geography(point)': { normalizeParamArray: makePgArray },\n\t'geography(point):tuple': { normalizeParamArray: makePgArray },\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tjson: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\t'geometry(point)': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry(point):tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: { normalizeParamArray: makePgArray },\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: { normalizeParamArray: makePgArray },\n});\n"],"mappings":"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"}
|
|
@@ -38,12 +38,12 @@ var BunSQLTransaction = class BunSQLTransaction extends __pg_core_async_session_
|
|
|
38
38
|
super(dialect, session, relations, nestedIndex, false);
|
|
39
39
|
this.session = session;
|
|
40
40
|
}
|
|
41
|
-
transaction
|
|
41
|
+
transaction(transaction) {
|
|
42
42
|
return this.session.client.savepoint((client) => {
|
|
43
43
|
const session = new BunSQLSession(client, this.dialect, this._.relations, this.session.options);
|
|
44
44
|
return transaction(new BunSQLTransaction(this.dialect, session, this._.relations));
|
|
45
45
|
});
|
|
46
|
-
}
|
|
46
|
+
}
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.cjs","names":["PgAsyncSession","entityKind","NoopLogger","NoopCache","PgAsyncPreparedQuery","PgAsyncTransaction"],"sources":["../../../src/bun-sql/postgres/session.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SavepointSQL, SQL, TransactionSQL } from 'bun';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\n\nexport interface BunSQLSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class BunSQLSession<\n\tTSQL extends SQL,\n\tTRelations extends AnyRelations,\n> extends PgAsyncSession<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLSession';\n\n\tlogger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\treadonly client: TSQL,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\t/** @internal */\n\t\treadonly options: BunSQLSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\tconst tagged = query._sql ? query._sql : null;\n\t\tconst client = this.client;\n\t\tconst executor = tagged\n\t\t\t? mode === 'arrays'\n\t\t\t\t? (params?: unknown[]) => params ? client(tagged, ...params).values() : client(tagged).values()\n\t\t\t\t: (params?: unknown[]) => params ? client(tagged, ...params) : client(tagged)\n\t\t\t: mode === 'arrays'\n\t\t\t? (params?: unknown[]) => client.unsafe(query.sql, params).values()\n\t\t\t: (params?: unknown[]) => client.unsafe(query.sql, params);\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BunSQLTransaction<TRelations>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig,\n\t): Promise<T> {\n\t\treturn this.client.begin(async (client) => {\n\t\t\tconst session = new BunSQLSession<TransactionSQL, TRelations>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new BunSQLTransaction(this.dialect, session, this.relations);\n\t\t\tif (config) {\n\t\t\t\tawait tx.setTransaction(config);\n\t\t\t}\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport class BunSQLTransaction<\n\tTRelations extends AnyRelations,\n> extends PgAsyncTransaction<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLTransaction';\n\n\tconstructor(\n\t\tdialect: PgDialect,\n\t\t/** @internal */\n\t\toverride readonly session: BunSQLSession<\n\t\t\tTransactionSQL | SavepointSQL,\n\t\t\tTRelations\n\t\t>,\n\t\trelations: TRelations,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, nestedIndex, false);\n\t}\n\n\toverride transaction
|
|
1
|
+
{"version":3,"file":"session.cjs","names":["PgAsyncSession","entityKind","NoopLogger","NoopCache","PgAsyncPreparedQuery","PgAsyncTransaction"],"sources":["../../../src/bun-sql/postgres/session.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SavepointSQL, SQL, TransactionSQL } from 'bun';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\n\nexport interface BunSQLSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class BunSQLSession<\n\tTSQL extends SQL,\n\tTRelations extends AnyRelations,\n> extends PgAsyncSession<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLSession';\n\n\tlogger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\treadonly client: TSQL,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\t/** @internal */\n\t\treadonly options: BunSQLSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\tconst tagged = query._sql ? query._sql : null;\n\t\tconst client = this.client;\n\t\tconst executor = tagged\n\t\t\t? mode === 'arrays'\n\t\t\t\t? (params?: unknown[]) => params ? client(tagged, ...params).values() : client(tagged).values()\n\t\t\t\t: (params?: unknown[]) => params ? client(tagged, ...params) : client(tagged)\n\t\t\t: mode === 'arrays'\n\t\t\t? (params?: unknown[]) => client.unsafe(query.sql, params).values()\n\t\t\t: (params?: unknown[]) => client.unsafe(query.sql, params);\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BunSQLTransaction<TRelations>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig,\n\t): Promise<T> {\n\t\treturn this.client.begin(async (client) => {\n\t\t\tconst session = new BunSQLSession<TransactionSQL, TRelations>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new BunSQLTransaction(this.dialect, session, this.relations);\n\t\t\tif (config) {\n\t\t\t\tawait tx.setTransaction(config);\n\t\t\t}\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport class BunSQLTransaction<\n\tTRelations extends AnyRelations,\n> extends PgAsyncTransaction<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLTransaction';\n\n\tconstructor(\n\t\tdialect: PgDialect,\n\t\t/** @internal */\n\t\toverride readonly session: BunSQLSession<\n\t\t\tTransactionSQL | SavepointSQL,\n\t\t\tTRelations\n\t\t>,\n\t\trelations: TRelations,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, nestedIndex, false);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BunSQLTransaction<TRelations>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn (this.session.client as TransactionSQL).savepoint((client) => {\n\t\t\tconst session = new BunSQLSession<SavepointSQL, TRelations>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis._.relations,\n\t\t\t\tthis.session.options,\n\t\t\t);\n\t\t\tconst tx = new BunSQLTransaction<TRelations>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession,\n\t\t\t\tthis._.relations,\n\t\t\t);\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport interface BunSQLQueryResultHKT extends PgQueryResultHKT {\n\ttype: this['row'][];\n}\n"],"mappings":";;;;;;;;AAmBA,IAAa,gBAAb,MAAa,sBAGHA,0CAAiD;CAC1D,QAA0BC,0BAAsB;CAEhD;CACA,AAAQ;CAER,YACC,AAAS,QACT,SACA,AAAQ,WAER,AAAS,UAAgC,EAAE,EAC1C;AACD,QAAM,QAAQ;EANL;EAED;EAEC;AAGT,OAAK,SAAS,QAAQ,UAAU,IAAIC,wBAAY;AAChD,OAAK,QAAQ,QAAQ,SAAS,IAAIC,iCAAW;;CAG9C,aACC,OACA,MACA,OACA,QACA,eAIA,aAC0B;EAC1B,MAAM,SAAS,MAAM,OAAO,MAAM,OAAO;EACzC,MAAM,SAAS,KAAK;AASpB,SAAO,IAAIC,gDARM,SACd,SAAS,YACP,WAAuB,SAAS,OAAO,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,IAC5F,WAAuB,SAAS,OAAO,QAAQ,GAAG,OAAO,GAAG,OAAO,OAAO,GAC5E,SAAS,YACR,WAAuB,OAAO,OAAO,MAAM,KAAK,OAAO,CAAC,QAAQ,IAChE,WAAuB,OAAO,OAAO,MAAM,KAAK,OAAO,EAI1D,OACA,QACA,MACA,KAAK,QACL,KAAK,OACL,eACA,YACA;;CAGF,AAAS,YACR,aACA,QACa;AACb,SAAO,KAAK,OAAO,MAAM,OAAO,WAAW;GAC1C,MAAM,UAAU,IAAI,cACnB,QACA,KAAK,SACL,KAAK,WACL,KAAK,QACL;GACD,MAAM,KAAK,IAAI,kBAAkB,KAAK,SAAS,SAAS,KAAK,UAAU;AACvE,OAAI,OACH,OAAM,GAAG,eAAe,OAAO;AAEhC,UAAO,YAAY,GAAG;IACrB;;;AAIJ,IAAa,oBAAb,MAAa,0BAEHC,8CAAqD;CAC9D,QAA0BJ,0BAAsB;CAEhD,YACC,SAEA,AAAkB,SAIlB,WACA,cAAc,GACb;AACD,QAAM,SAAS,SAAS,WAAW,aAAa,MAAM;EAPpC;;CAUnB,AAAS,YACR,aACa;AACb,SAAQ,KAAK,QAAQ,OAA0B,WAAW,WAAW;GACpE,MAAM,UAAU,IAAI,cACnB,QACA,KAAK,SACL,KAAK,EAAE,WACP,KAAK,QAAQ,QACb;AAMD,UAAO,YALI,IAAI,kBACd,KAAK,SACL,SACA,KAAK,EAAE,UACP,CACqB;IACrB"}
|
|
@@ -34,7 +34,7 @@ declare class BunSQLTransaction<TRelations extends AnyRelations> extends PgAsync
|
|
|
34
34
|
constructor(dialect: PgDialect, /** @internal */
|
|
35
35
|
|
|
36
36
|
session: BunSQLSession<TransactionSQL | SavepointSQL, TRelations>, relations: TRelations, nestedIndex?: number);
|
|
37
|
-
transaction
|
|
37
|
+
transaction<T>(transaction: (tx: BunSQLTransaction<TRelations>) => Promise<T>): Promise<T>;
|
|
38
38
|
}
|
|
39
39
|
interface BunSQLQueryResultHKT extends PgQueryResultHKT {
|
|
40
40
|
type: this['row'][];
|
|
@@ -34,7 +34,7 @@ declare class BunSQLTransaction<TRelations extends AnyRelations> extends PgAsync
|
|
|
34
34
|
constructor(dialect: PgDialect, /** @internal */
|
|
35
35
|
|
|
36
36
|
session: BunSQLSession<TransactionSQL | SavepointSQL, TRelations>, relations: TRelations, nestedIndex?: number);
|
|
37
|
-
transaction
|
|
37
|
+
transaction<T>(transaction: (tx: BunSQLTransaction<TRelations>) => Promise<T>): Promise<T>;
|
|
38
38
|
}
|
|
39
39
|
interface BunSQLQueryResultHKT extends PgQueryResultHKT {
|
|
40
40
|
type: this['row'][];
|
|
@@ -36,12 +36,12 @@ var BunSQLTransaction = class BunSQLTransaction extends PgAsyncTransaction {
|
|
|
36
36
|
super(dialect, session, relations, nestedIndex, false);
|
|
37
37
|
this.session = session;
|
|
38
38
|
}
|
|
39
|
-
transaction
|
|
39
|
+
transaction(transaction) {
|
|
40
40
|
return this.session.client.savepoint((client) => {
|
|
41
41
|
const session = new BunSQLSession(client, this.dialect, this._.relations, this.session.options);
|
|
42
42
|
return transaction(new BunSQLTransaction(this.dialect, session, this._.relations));
|
|
43
43
|
});
|
|
44
|
-
}
|
|
44
|
+
}
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","names":[],"sources":["../../../src/bun-sql/postgres/session.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SavepointSQL, SQL, TransactionSQL } from 'bun';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\n\nexport interface BunSQLSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class BunSQLSession<\n\tTSQL extends SQL,\n\tTRelations extends AnyRelations,\n> extends PgAsyncSession<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLSession';\n\n\tlogger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\treadonly client: TSQL,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\t/** @internal */\n\t\treadonly options: BunSQLSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\tconst tagged = query._sql ? query._sql : null;\n\t\tconst client = this.client;\n\t\tconst executor = tagged\n\t\t\t? mode === 'arrays'\n\t\t\t\t? (params?: unknown[]) => params ? client(tagged, ...params).values() : client(tagged).values()\n\t\t\t\t: (params?: unknown[]) => params ? client(tagged, ...params) : client(tagged)\n\t\t\t: mode === 'arrays'\n\t\t\t? (params?: unknown[]) => client.unsafe(query.sql, params).values()\n\t\t\t: (params?: unknown[]) => client.unsafe(query.sql, params);\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BunSQLTransaction<TRelations>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig,\n\t): Promise<T> {\n\t\treturn this.client.begin(async (client) => {\n\t\t\tconst session = new BunSQLSession<TransactionSQL, TRelations>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new BunSQLTransaction(this.dialect, session, this.relations);\n\t\t\tif (config) {\n\t\t\t\tawait tx.setTransaction(config);\n\t\t\t}\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport class BunSQLTransaction<\n\tTRelations extends AnyRelations,\n> extends PgAsyncTransaction<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLTransaction';\n\n\tconstructor(\n\t\tdialect: PgDialect,\n\t\t/** @internal */\n\t\toverride readonly session: BunSQLSession<\n\t\t\tTransactionSQL | SavepointSQL,\n\t\t\tTRelations\n\t\t>,\n\t\trelations: TRelations,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, nestedIndex, false);\n\t}\n\n\toverride transaction
|
|
1
|
+
{"version":3,"file":"session.js","names":[],"sources":["../../../src/bun-sql/postgres/session.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SavepointSQL, SQL, TransactionSQL } from 'bun';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';\nimport type { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { Query } from '~/sql/sql.ts';\n\nexport interface BunSQLSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class BunSQLSession<\n\tTSQL extends SQL,\n\tTRelations extends AnyRelations,\n> extends PgAsyncSession<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLSession';\n\n\tlogger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\treadonly client: TSQL,\n\t\tdialect: PgDialect,\n\t\tprivate relations: TRelations,\n\t\t/** @internal */\n\t\treadonly options: BunSQLSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tmode: 'arrays' | 'objects' | 'raw',\n\t\t_name: string | boolean,\n\t\tmapper: ((rows: any[]) => any) | undefined,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): PgAsyncPreparedQuery<T> {\n\t\tconst tagged = query._sql ? query._sql : null;\n\t\tconst client = this.client;\n\t\tconst executor = tagged\n\t\t\t? mode === 'arrays'\n\t\t\t\t? (params?: unknown[]) => params ? client(tagged, ...params).values() : client(tagged).values()\n\t\t\t\t: (params?: unknown[]) => params ? client(tagged, ...params) : client(tagged)\n\t\t\t: mode === 'arrays'\n\t\t\t? (params?: unknown[]) => client.unsafe(query.sql, params).values()\n\t\t\t: (params?: unknown[]) => client.unsafe(query.sql, params);\n\n\t\treturn new PgAsyncPreparedQuery<T>(\n\t\t\texecutor,\n\t\t\tquery,\n\t\t\tmapper,\n\t\t\tmode,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BunSQLTransaction<TRelations>) => Promise<T>,\n\t\tconfig?: PgTransactionConfig,\n\t): Promise<T> {\n\t\treturn this.client.begin(async (client) => {\n\t\t\tconst session = new BunSQLSession<TransactionSQL, TRelations>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new BunSQLTransaction(this.dialect, session, this.relations);\n\t\t\tif (config) {\n\t\t\t\tawait tx.setTransaction(config);\n\t\t\t}\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport class BunSQLTransaction<\n\tTRelations extends AnyRelations,\n> extends PgAsyncTransaction<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLTransaction';\n\n\tconstructor(\n\t\tdialect: PgDialect,\n\t\t/** @internal */\n\t\toverride readonly session: BunSQLSession<\n\t\t\tTransactionSQL | SavepointSQL,\n\t\t\tTRelations\n\t\t>,\n\t\trelations: TRelations,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, nestedIndex, false);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: BunSQLTransaction<TRelations>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn (this.session.client as TransactionSQL).savepoint((client) => {\n\t\t\tconst session = new BunSQLSession<SavepointSQL, TRelations>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis._.relations,\n\t\t\t\tthis.session.options,\n\t\t\t);\n\t\t\tconst tx = new BunSQLTransaction<TRelations>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession,\n\t\t\t\tthis._.relations,\n\t\t\t);\n\t\t\treturn transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport interface BunSQLQueryResultHKT extends PgQueryResultHKT {\n\ttype: this['row'][];\n}\n"],"mappings":";;;;;;AAmBA,IAAa,gBAAb,MAAa,sBAGH,eAAiD;CAC1D,QAA0B,cAAsB;CAEhD;CACA,AAAQ;CAER,YACC,AAAS,QACT,SACA,AAAQ,WAER,AAAS,UAAgC,EAAE,EAC1C;AACD,QAAM,QAAQ;EANL;EAED;EAEC;AAGT,OAAK,SAAS,QAAQ,UAAU,IAAI,YAAY;AAChD,OAAK,QAAQ,QAAQ,SAAS,IAAI,WAAW;;CAG9C,aACC,OACA,MACA,OACA,QACA,eAIA,aAC0B;EAC1B,MAAM,SAAS,MAAM,OAAO,MAAM,OAAO;EACzC,MAAM,SAAS,KAAK;AASpB,SAAO,IAAI,qBARM,SACd,SAAS,YACP,WAAuB,SAAS,OAAO,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,IAC5F,WAAuB,SAAS,OAAO,QAAQ,GAAG,OAAO,GAAG,OAAO,OAAO,GAC5E,SAAS,YACR,WAAuB,OAAO,OAAO,MAAM,KAAK,OAAO,CAAC,QAAQ,IAChE,WAAuB,OAAO,OAAO,MAAM,KAAK,OAAO,EAI1D,OACA,QACA,MACA,KAAK,QACL,KAAK,OACL,eACA,YACA;;CAGF,AAAS,YACR,aACA,QACa;AACb,SAAO,KAAK,OAAO,MAAM,OAAO,WAAW;GAC1C,MAAM,UAAU,IAAI,cACnB,QACA,KAAK,SACL,KAAK,WACL,KAAK,QACL;GACD,MAAM,KAAK,IAAI,kBAAkB,KAAK,SAAS,SAAS,KAAK,UAAU;AACvE,OAAI,OACH,OAAM,GAAG,eAAe,OAAO;AAEhC,UAAO,YAAY,GAAG;IACrB;;;AAIJ,IAAa,oBAAb,MAAa,0BAEH,mBAAqD;CAC9D,QAA0B,cAAsB;CAEhD,YACC,SAEA,AAAkB,SAIlB,WACA,cAAc,GACb;AACD,QAAM,SAAS,SAAS,WAAW,aAAa,MAAM;EAPpC;;CAUnB,AAAS,YACR,aACa;AACb,SAAQ,KAAK,QAAQ,OAA0B,WAAW,WAAW;GACpE,MAAM,UAAU,IAAI,cACnB,QACA,KAAK,SACL,KAAK,EAAE,WACP,KAAK,QAAQ,QACb;AAMD,UAAO,YALI,IAAI,kBACd,KAAK,SACL,SACA,KAAK,EAAE,UACP,CACqB;IACrB"}
|