причина, по которой hapi возвращает пустой объект, состоит в том, что объект регулярного выражения не имеет открытых свойств.Вы можете увидеть это через консоль.
> let x = new RegExp('/\d/')
> x
/\/d\//
> Object.keys(x)
[]
Я думаю, что правильный способ сделать это - вы можете вернуть myRegExp.source и затем использовать его в своем коде на стороне клиента сnew RegExp(resp)
и это не так глупо.
Или вы можете просто вернуть определение регулярного выражения в виде строки типа
reply('/^\d{10}$/')
Затем вы можете использовать его в своем клиентском коде через new RegExp(resp)
Я неЯ думаю, что можно напрямую возвращать оцененный объект регулярного выражения с сервера в браузер.Может быть, вы можете сделать что-то вроде этого;
reply(`const myRegExp = new RegExp(/^\d{10}$/);`).type("application/javascript");
Теперь вы только что загрузили JavaScript с сервера, но я не думаю, что это полезно.