изменение представления объектов Node в REPL - PullRequest
0 голосов
/ 29 мая 2018

Я хотел бы сделать представление "моментальных" объектов короче, потому что у меня есть структура данных, которая содержит многие из них, и я хотел бы сделать ее представление более компактным.

Пример:

node-repl>  d = new Date()
2018-05-29T12:50:12.111Z 
node-repl> m = moment(d)
=> VERY LONG THING IN OUTPUT

Теперь представьте, что у вас есть много мгновенных объектов "m1", "m2" ... и они распределены по структуре данных как l = ["hello", m1, "мир", м2, м3 ...].Чтение списка «л» становится затруднительным.

Мне бы хотелось, чтобы объект «момента» по умолчанию печатался в REPL как «момент ДД-ММ-ГГГГ».

Должно быть что-то похожее на это, но я не знаю, как сделать это правильно.

moment.prototype.toString = function() {
   var dd = this.format("DD-MM-YYYY");
   var out = "moment-" + dd;
   return out;
}

У вас есть какой-нибудь совет?

1 Ответ

0 голосов
/ 29 мая 2018

Я нашел решение, я не понимаю все о том, как это работает, но это работает.

moment.prototype[util.inspect.custom] = function(depth, options) {
 var tmp = this.format("DD-MM-YYYY");
 tmp = `moment<${tmp}>`;
 var out = options.stylize(tmp, 'special');
 return out;
}
...