Это изменение выполняется инфлектором PostGraphile;однако это не всегда получается правильно (например, в этом случае), но, к счастью, возможно переопределить его с помощью небольшого плагина.
В этом случае, вероятно, лучше добавить определенные исключения к pluralize
иsingularize
функции;Вы можете сделать это, используя makeAddInflectorsPlugin из нашей системы перегиба .Обязательно передайте true
в качестве второго аргумента, чтобы система знала, что вы намеренно перезаписывает инфлекторы.
const { makeAddInflectorsPlugin } = require('graphile-utils');
module.exports = makeAddInflectorsPlugin(oldInflectors => ({
pluralize(str) {
if (str.match(/^os$/i)) {
return str + 'ses';
}
return oldInflectors.pluralize(str);
},
singularize(str) {
if (str.match(/^osses$/i) {
return str.substr(0, 2);
}
return oldInflectors.singularize(str);
}
}), true);
Я рад, что вам нравится PostGraphile ?