@prisma/adapter-neon
Advanced tools
Comparing version 0.5.0 to 0.6.0
@@ -35,2 +35,23 @@ "use strict"; | ||
var NeonColumnType = import_serverless.types.builtins; | ||
var ArrayColumnType = { | ||
BOOL_ARRAY: 1e3, | ||
BYTEA_ARRAY: 1001, | ||
BPCHAR_ARRAY: 1014, | ||
CHAR_ARRAY: 1002, | ||
DATE_ARRAY: 1182, | ||
FLOAT4_ARRAY: 1021, | ||
FLOAT8_ARRAY: 1022, | ||
INT2_ARRAY: 1005, | ||
INT4_ARRAY: 1007, | ||
JSONB_ARRAY: 3807, | ||
JSON_ARRAY: 199, | ||
MONEY_ARRAY: 791, | ||
NUMERIC_ARRAY: 1231, | ||
TEXT_ARRAY: 1009, | ||
TIMESTAMP_ARRAY: 1115, | ||
TIME_ARRAY: 1183, | ||
UUID_ARRAY: 2951, | ||
VARCHAR_ARRAY: 1015, | ||
XML_ARRAY: 143 | ||
}; | ||
function fieldToColumnType(fieldTypeId) { | ||
@@ -58,2 +79,3 @@ switch (fieldTypeId) { | ||
return import_driver_adapter_utils.ColumnTypeEnum.Numeric; | ||
case NeonColumnType["JSON"]: | ||
case NeonColumnType["JSONB"]: | ||
@@ -72,3 +94,38 @@ return import_driver_adapter_utils.ColumnTypeEnum.Json; | ||
case NeonColumnType["CIDR"]: | ||
case NeonColumnType["XML"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Text; | ||
case NeonColumnType["BYTEA"]: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Bytes; | ||
case ArrayColumnType.INT2_ARRAY: | ||
case ArrayColumnType.INT4_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.Int32Array; | ||
case ArrayColumnType.FLOAT4_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.FloatArray; | ||
case ArrayColumnType.FLOAT8_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.DoubleArray; | ||
case ArrayColumnType.NUMERIC_ARRAY: | ||
case ArrayColumnType.MONEY_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.NumericArray; | ||
case ArrayColumnType.BOOL_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.BooleanArray; | ||
case ArrayColumnType.CHAR_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.CharArray; | ||
case ArrayColumnType.TEXT_ARRAY: | ||
case ArrayColumnType.VARCHAR_ARRAY: | ||
case ArrayColumnType.BPCHAR_ARRAY: | ||
case ArrayColumnType.XML_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.TextArray; | ||
case ArrayColumnType.DATE_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.DateArray; | ||
case ArrayColumnType.TIME_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.TimeArray; | ||
case ArrayColumnType.TIMESTAMP_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.DateTimeArray; | ||
case ArrayColumnType.JSON_ARRAY: | ||
case ArrayColumnType.JSONB_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.JsonArray; | ||
case ArrayColumnType.BYTEA_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.BytesArray; | ||
case ArrayColumnType.UUID_ARRAY: | ||
return import_driver_adapter_utils.ColumnTypeEnum.UuidArray; | ||
default: | ||
@@ -84,2 +141,10 @@ if (fieldTypeId >= 1e4) { | ||
} | ||
var parsePgBytes = import_serverless.types.getTypeParser(NeonColumnType.BYTEA); | ||
function convertBytes(serializedBytes) { | ||
const buffer = parsePgBytes(serializedBytes); | ||
return encodeBuffer(buffer); | ||
} | ||
function encodeBuffer(buffer) { | ||
return Array.from(new Uint8Array(buffer)); | ||
} | ||
import_serverless.types.setTypeParser(NeonColumnType.TIME, (date) => date); | ||
@@ -91,2 +156,16 @@ import_serverless.types.setTypeParser(NeonColumnType.DATE, (date) => date); | ||
import_serverless.types.setTypeParser(NeonColumnType.MONEY, (money) => money.slice(1)); | ||
import_serverless.types.setTypeParser(NeonColumnType.BYTEA, convertBytes); | ||
var parseBytesArray = import_serverless.types.getTypeParser(ArrayColumnType.BYTEA_ARRAY); | ||
import_serverless.types.setTypeParser(ArrayColumnType.BYTEA_ARRAY, (serializedBytesArray) => { | ||
const buffers = parseBytesArray(serializedBytesArray); | ||
return buffers.map(encodeBuffer); | ||
}); | ||
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)) | ||
); | ||
@@ -93,0 +172,0 @@ // src/neon.ts |
{ | ||
"name": "@prisma/adapter-neon", | ||
"version": "0.5.0", | ||
"version": "0.6.0", | ||
"description": "Prisma's driver adapter for \"@neondatabase/serverless\"", | ||
@@ -17,3 +17,3 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@prisma/driver-adapter-utils": "0.8.0" | ||
"@prisma/driver-adapter-utils": "0.9.0" | ||
}, | ||
@@ -20,0 +20,0 @@ "devDependencies": { |
Sorry, the diff of this file is not supported yet
21994
22224
577
+ Added@prisma/driver-adapter-utils@0.9.0(transitive)
- Removed@prisma/driver-adapter-utils@0.8.0(transitive)