Initial commit - Event Planner application
This commit is contained in:
58
node_modules/@mikro-orm/postgresql/PostgreSqlPlatform.js
generated
vendored
Normal file
58
node_modules/@mikro-orm/postgresql/PostgreSqlPlatform.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
import { Client } from 'pg';
|
||||
import array from 'postgres-array';
|
||||
import parseDate from 'postgres-date';
|
||||
import PostgresInterval from 'postgres-interval';
|
||||
import { BasePostgreSqlPlatform, Utils } from '@mikro-orm/sql';
|
||||
/** Platform implementation for PostgreSQL. */
|
||||
export class PostgreSqlPlatform extends BasePostgreSqlPlatform {
|
||||
convertIntervalToJSValue(value) {
|
||||
return PostgresInterval(value);
|
||||
}
|
||||
convertIntervalToDatabaseValue(value) {
|
||||
if (Utils.isObject(value) && 'toPostgres' in value && typeof value.toPostgres === 'function') {
|
||||
return value.toPostgres();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
unmarshallArray(value) {
|
||||
return array.parse(value);
|
||||
}
|
||||
escape(value) {
|
||||
if (typeof value === 'bigint') {
|
||||
value = value.toString();
|
||||
}
|
||||
if (typeof value === 'string') {
|
||||
return Client.prototype.escapeLiteral(value);
|
||||
}
|
||||
if (value instanceof Date) {
|
||||
return `'${this.formatDate(value)}'`;
|
||||
}
|
||||
if (ArrayBuffer.isView(value)) {
|
||||
return `E'\\\\x${value.toString('hex')}'`;
|
||||
}
|
||||
if (Array.isArray(value)) {
|
||||
return value.map(v => this.escape(v)).join(', ');
|
||||
}
|
||||
return value;
|
||||
}
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
parseDate(value) {
|
||||
// postgres-date returns `null` for a JS ISO string which has the `T` separator
|
||||
if (typeof value === 'string' && value.charAt(10) === 'T') {
|
||||
return new Date(value);
|
||||
}
|
||||
/* v8 ignore next */
|
||||
if (typeof value === 'number') {
|
||||
return new Date(value);
|
||||
}
|
||||
// @ts-ignore fix wrong type resolution during build
|
||||
const parsed = parseDate(value);
|
||||
/* v8 ignore next */
|
||||
if (parsed === null) {
|
||||
return value;
|
||||
}
|
||||
return parsed;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user