Я хотел бы, чтобы функция formatting.formatValue преобразовывала undefined в null.
Но, похоже, нет способа установить функцию по умолчанию из initOptions, переданной pg-promise, поскольку pgFormatting является логическим значением, значение формата требует его в качестве аргумента. Но библиотека, похоже, не передает его для обычных запросов.
виталий-т написал
Но я не уверен, какую ценность это добавит, поскольку у вас нет доступа к параметрам форматирования из методов запроса.
И это правда. Но я просто хочу установить по умолчанию значение null для всех отсутствующих значений, форматируемых в запросы. Частичное не имеет значения, я не использую его?
Использование объединения, чтобы иметь «необязательные» значения в некоторых запросах, чтобы по умолчанию не устанавливать переменные в любом случае.
Пример:
UPDATE sometable SET value = COALESCE(${value}, value)
Как я могу перестать получать ошибку «Свойство не существует?
Я думаю, что мне нужен способ передать значение этим параметрам для всех вызовов формата.
if ('default' in options) {
const d = options.default, value = typeof d === 'function' ? d.call(obj, v.name, obj) : d;
return formatValue(value, v.fm, obj);
}
Связанная проблема, которая привела к созданию options.default. https://github.com/vitaly-t/pg-promise/issues/ 173а>
Я не могу переопределить функцию значения формата, поскольку она добавляется как ненастраиваемое свойство только для чтения.
Мне просто нужно стиснуть зубы и поместить переменные как нулевые везде, где я хочу, чтобы они были необязательными...