Имеет ли смысл использовать Object.defineProperty для определения констант в модулях io.js?
Например, файл dns.js:
exports.EOF = 'EOF';
exports.FILE = 'EFILE';
exports.NOMEM = 'ENOMEM';
Они могут быть перезаписаны, например,
var dns = require('dns');
dns.EOF = 3;
как насчет:
Object.defineProperty(module.exports, 'EOF',
{ value: 'EOF', enumerable: true});
Object.defineProperty(module.exports, 'EFILE',
{ value: 'EFILE', enumerable: true});
и так далее. В таком случае тогда:
'use strict';
var dns = require('./dns');
dns.EOF = 3;
TypeError: Cannot assign to read only property 'EOF' of #<Object>