@prisma/adapter-neon
Advanced tools
Comparing version 5.5.0-dev.52 to 5.5.0-dev.53
@@ -34,3 +34,4 @@ "use strict"; | ||
var import_serverless = require("@neondatabase/serverless"); | ||
var NeonColumnType = import_serverless.types.builtins; | ||
var import_postgres_array = require("postgres-array"); | ||
var ScalarColumnType = import_serverless.types.builtins; | ||
var ArrayColumnType = { | ||
@@ -59,39 +60,41 @@ BOOL_ARRAY: 1e3, | ||
switch (fieldTypeId) { | ||
case NeonColumnType["INT2"]: | ||
case NeonColumnType["INT4"]: | ||
case ScalarColumnType["INT2"]: | ||
case ScalarColumnType["INT4"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Int32; | ||
case NeonColumnType["INT8"]: | ||
case ScalarColumnType["INT8"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Int64; | ||
case NeonColumnType["FLOAT4"]: | ||
case ScalarColumnType["FLOAT4"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Float; | ||
case NeonColumnType["FLOAT8"]: | ||
case ScalarColumnType["FLOAT8"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Double; | ||
case NeonColumnType["BOOL"]: | ||
case ScalarColumnType["BOOL"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Boolean; | ||
case NeonColumnType["DATE"]: | ||
case ScalarColumnType["DATE"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Date; | ||
case NeonColumnType["TIME"]: | ||
case ScalarColumnType["TIME"]: | ||
case ScalarColumnType["TIMETZ"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Time; | ||
case NeonColumnType["TIMESTAMP"]: | ||
case ScalarColumnType["TIMESTAMP"]: | ||
case ScalarColumnType["TIMESTAMPTZ"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.DateTime; | ||
case NeonColumnType["NUMERIC"]: | ||
case NeonColumnType["MONEY"]: | ||
case ScalarColumnType["NUMERIC"]: | ||
case ScalarColumnType["MONEY"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Numeric; | ||
case NeonColumnType["JSON"]: | ||
case NeonColumnType["JSONB"]: | ||
case ScalarColumnType["JSON"]: | ||
case ScalarColumnType["JSONB"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Json; | ||
case NeonColumnType["UUID"]: | ||
case ScalarColumnType["UUID"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Uuid; | ||
case NeonColumnType["OID"]: | ||
case ScalarColumnType["OID"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Int64; | ||
case NeonColumnType["BPCHAR"]: | ||
case NeonColumnType["TEXT"]: | ||
case NeonColumnType["VARCHAR"]: | ||
case NeonColumnType["BIT"]: | ||
case NeonColumnType["VARBIT"]: | ||
case NeonColumnType["INET"]: | ||
case NeonColumnType["CIDR"]: | ||
case NeonColumnType["XML"]: | ||
case ScalarColumnType["BPCHAR"]: | ||
case ScalarColumnType["TEXT"]: | ||
case ScalarColumnType["VARCHAR"]: | ||
case ScalarColumnType["BIT"]: | ||
case ScalarColumnType["VARBIT"]: | ||
case ScalarColumnType["INET"]: | ||
case ScalarColumnType["CIDR"]: | ||
case ScalarColumnType["XML"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Text; | ||
case NeonColumnType["BYTEA"]: | ||
case ScalarColumnType["BYTEA"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Bytes; | ||
@@ -137,6 +140,47 @@ case ArrayColumnType.INT2_ARRAY: | ||
} | ||
function convertJson(json) { | ||
function normalize_array(element_normalizer) { | ||
return (str) => (0, import_postgres_array.parse)(str, element_normalizer); | ||
} | ||
function normalize_numeric(numeric) { | ||
return numeric; | ||
} | ||
import_serverless.types.setTypeParser(ScalarColumnType.NUMERIC, normalize_numeric); | ||
import_serverless.types.setTypeParser(ArrayColumnType.NUMERIC_ARRAY, normalize_array(normalize_numeric)); | ||
function normalize_date(date) { | ||
return date; | ||
} | ||
function normalize_timestamp(time) { | ||
return time; | ||
} | ||
function normalize_timestampz(time) { | ||
return time.split("+")[0]; | ||
} | ||
function normalize_time(time) { | ||
return time; | ||
} | ||
function normalize_timez(time) { | ||
return time.split("+")[0]; | ||
} | ||
import_serverless.types.setTypeParser(ScalarColumnType.TIME, normalize_time); | ||
import_serverless.types.setTypeParser(ArrayColumnType.TIME_ARRAY, normalize_array(normalize_time)); | ||
import_serverless.types.setTypeParser(ScalarColumnType.TIMETZ, normalize_timez); | ||
import_serverless.types.setTypeParser(ScalarColumnType.DATE, normalize_date); | ||
import_serverless.types.setTypeParser(ArrayColumnType.DATE_ARRAY, normalize_array(normalize_date)); | ||
import_serverless.types.setTypeParser(ScalarColumnType.TIMESTAMP, normalize_timestamp); | ||
import_serverless.types.setTypeParser(ArrayColumnType.TIMESTAMP_ARRAY, normalize_array(normalize_timestamp)); | ||
import_serverless.types.setTypeParser(ScalarColumnType.TIMESTAMPTZ, normalize_timestampz); | ||
function normalize_money(money) { | ||
return money.slice(1); | ||
} | ||
import_serverless.types.setTypeParser(ScalarColumnType.MONEY, normalize_money); | ||
import_serverless.types.setTypeParser(ArrayColumnType.MONEY_ARRAY, normalize_array(normalize_money)); | ||
function toJson(json) { | ||
return json === "null" ? import_driver_adapter_utils.JsonNullMarker : JSON.parse(json); | ||
} | ||
var parsePgBytes = import_serverless.types.getTypeParser(NeonColumnType.BYTEA); | ||
import_serverless.types.setTypeParser(ScalarColumnType.JSONB, toJson); | ||
import_serverless.types.setTypeParser(ScalarColumnType.JSON, toJson); | ||
function encodeBuffer(buffer) { | ||
return Array.from(new Uint8Array(buffer)); | ||
} | ||
var parsePgBytes = import_serverless.types.getTypeParser(ScalarColumnType.BYTEA); | ||
function convertBytes(serializedBytes) { | ||
@@ -146,12 +190,3 @@ const buffer = parsePgBytes(serializedBytes); | ||
} | ||
function encodeBuffer(buffer) { | ||
return Array.from(new Uint8Array(buffer)); | ||
} | ||
import_serverless.types.setTypeParser(NeonColumnType.TIME, (date) => date); | ||
import_serverless.types.setTypeParser(NeonColumnType.DATE, (date) => date); | ||
import_serverless.types.setTypeParser(NeonColumnType.TIMESTAMP, (date) => date); | ||
import_serverless.types.setTypeParser(NeonColumnType.JSONB, convertJson); | ||
import_serverless.types.setTypeParser(NeonColumnType.JSON, convertJson); | ||
import_serverless.types.setTypeParser(NeonColumnType.MONEY, (money) => money.slice(1)); | ||
import_serverless.types.setTypeParser(NeonColumnType.BYTEA, convertBytes); | ||
import_serverless.types.setTypeParser(ScalarColumnType.BYTEA, convertBytes); | ||
var parseBytesArray = import_serverless.types.getTypeParser(ArrayColumnType.BYTEA_ARRAY); | ||
@@ -162,10 +197,2 @@ import_serverless.types.setTypeParser(ArrayColumnType.BYTEA_ARRAY, (serializedBytesArray) => { | ||
}); | ||
var parseTextArray = import_serverless.types.getTypeParser(ArrayColumnType.TEXT_ARRAY); | ||
import_serverless.types.setTypeParser(ArrayColumnType.TIME_ARRAY, parseTextArray); | ||
import_serverless.types.setTypeParser(ArrayColumnType.DATE_ARRAY, parseTextArray); | ||
import_serverless.types.setTypeParser(ArrayColumnType.TIMESTAMP_ARRAY, parseTextArray); | ||
import_serverless.types.setTypeParser( | ||
ArrayColumnType.MONEY_ARRAY, | ||
(moneyArray) => parseTextArray(moneyArray).map((money) => money.slice(1)) | ||
); | ||
@@ -172,0 +199,0 @@ // src/neon.ts |
{ | ||
"name": "@prisma/adapter-neon", | ||
"version": "5.5.0-dev.52", | ||
"version": "5.5.0-dev.53", | ||
"description": "Prisma's driver adapter for \"@neondatabase/serverless\"", | ||
@@ -17,3 +17,4 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@prisma/driver-adapter-utils": "5.5.0-dev.52" | ||
"postgres-array": "^3.0.2", | ||
"@prisma/driver-adapter-utils": "5.5.0-dev.53" | ||
}, | ||
@@ -20,0 +21,0 @@ "devDependencies": { |
Sorry, the diff of this file is not supported yet
24082
631
3
+ Addedpostgres-array@^3.0.2
+ Added@prisma/driver-adapter-utils@5.5.0-dev.53(transitive)
+ Addedpostgres-array@3.0.2(transitive)
- Removed@prisma/driver-adapter-utils@5.5.0-dev.52(transitive)