message-dictionary
v2.0.4
Published
A Simple Message Dictionary Manager for NodeJS (Multi Language)
Downloads
11
Maintainers
Readme
message-dictionary
A Simple Message Dictionary Manager for NodeJS (Multi Language)
Background
When we create a Rest API, sometimes we need to standardize the default app messages (ex. the error messages
) which is support namespace and internationalization.
Install using NPM
$ npm install message-dictionary
Usage
const message = require('message-dictionary');
var config = {
dirPath: require('path').join('./locales'), // Required
namespace: 'app'
}
// Load Synchronous
message.init(config).load();
// Or Load Asynchronous
message.init(config).reload();
Note:
dirPath
is required.init(object)
is to set the configuration.load()
is to load locales file data into memory (Synchronous
).reload(callback)
is to load locales file data into memory (Asynchronous
). Callback isoptional
.- This library is working like singleton. Once this called, this will shared globally, so you don't need to always load and re-init.
Get List
console.log(message.list());
// Output
// []
The result output above is []
because you have no any exists data messages.
So let's us create one data. See below.
Add Message
message.addMessage('EX001','en','Just example data!','',function(err,data) {
if(data.status == true) {
console.log(msg.list());
// output
// [ { code:'EX001', message: { en: 'Just example data!' } } ]
}
});
// or with more information
message.addMessage('EX001','en','Just example data!',{user:'john'},function(err,data) {
if(data.status == true) {
console.log(message.list());
// output
// [ { code:'EX001', message: { en: 'Just example data!' }, user: 'john' } ]
}
});
Update Message
message.updateMessage('EX001','en','Just update data!','',function(err,data) {
if(data.status == true) {
console.log(message.list());
// output
// [ { code:'EX001', message: { en: 'Just update data!' } } ]
}
});
// or with more information
message.updateMessage('EX001','en','Just update data!',{user:'doe'},function(err,data) {
if(data.status == true) {
console.log(message.list());
// output
// [ { code:'EX001', message: { en: 'Just update data!' }, user:'doe' } ]
}
});
Get Message
console.log(message.get('EX001', 'en'));
// output
// { code:'EX001', message: 'Just update data!', user:'doe' }
Delete Message Locale
message.deleteMessageLocale('EX001', 'en',function(err,data) {
if(data && data.status == true) {
console.log(message.list());
// output
// if you have only one records and only one locale, then it will return
// [ { code:'EX001', message: {}, user: 'doe' } ]
}
});
Delete Message
message.deleteMessage('EX001',function(err,data) {
if(data && data.status == true) {
console.log(message.list());
// output
// if you have only one records, then it will return []
}
});
Documentation
For more features, updates and examples, Please see here.
Unit Test
If you want to play around with test
$ npm test