MCPcopy
hub / github.com/prisma/prisma / mapRow

Function mapRow

packages/adapter-mariadb/src/conversion.ts:147–171  ·  view source on GitHub ↗
(row: A[] | Record<string, A>, fields?: mariadb.FieldInfo[])

Source from the content-addressed store, hash-verified

145}
146
147export function mapRow<A>(row: A[] | Record<string, A>, fields?: mariadb.FieldInfo[]): (A | ResultValue)[] {
148 const values = Array.isArray(row) ? row : Object.values(row)
149
150 return values.map((value, i) => {
151 const type = fields?.[i]?.type as unknown as MariaDbColumnType
152
153 if (value === null) {
154 return null
155 }
156
157 switch (type) {
158 case MariaDbColumnType.TIMESTAMP:
159 case MariaDbColumnType.TIMESTAMP2:
160 case MariaDbColumnType.DATETIME:
161 case MariaDbColumnType.DATETIME2:
162 return new Date(`${value}Z`).toISOString().replace(/(\.000)?Z$/, '+00:00')
163 }
164
165 if (typeof value === 'bigint') {
166 return value.toString()
167 }
168
169 return value
170 })
171}
172
173export const typeCast: mariadb.TypeCastFunction = (field, next) => {
174 if ((field.type as unknown as MariaDbColumnType) === MariaDbColumnType.GEOMETRY) {

Callers 2

queryRawMethod · 0.90
conversion.test.tsFile · 0.90

Calls 2

valuesMethod · 0.80
toStringMethod · 0.45

Tested by

no test coverage detected