xnotifications
v0.0.3
Published
#### Usage: Creating Schema ```js const { Schema } = require('xnotifications')
Downloads
4
Readme
Getting Started
Usage: Creating Schema
const { Schema } = require('xnotifications')
const builder = new Schema()
builder.create('welcome', {
en: () => `hello there!`,
zh: () => `你好!`
})
builder.create('invalid', {
en: (noun) => `invalid ${noun}!`,
zh: noun => `${noun}有误!`
})
const schema = builder.export()
Usage: Creating Alert
const alert = new Alert(schema)
alert.create('invalid','username', [
{
label:'register',
url:'/account/register/'
}
])
console.log(alert)
// output
{
state: 'alert',
lang: 'en',
timeout: 0,
message: 'invalid username!',
actions: [
{
label: 'register',
url: '/account/register/'
}
]
}
Usage: Creating Notification
const note = new Notification(schema)
note.create('invalid','username')
const withSate = note.create('invalid','username', 'info')
console.log(note)
console.log(withSate)
// output of note
{
state: 'error',
lang: 'en',
timeout: 6000,
message: 'invalid username!'
}
// output of withSate
{
state: 'info',
lang: 'en',
timeout: 6000,
message: 'invalid username!'
}
Usage: Creating Validation
const validation = new Validation(schema)
validation.load('invalid','username', 'username')
validation.load('invalid','password', 'password')
validation.load('invalid','userId', 'user_id')
console.log(validation)
// output of validation
{
state: 'validation',
lang: 'en',
timeout: 6000,
messages: [
{ message: 'invalid username!', key: 'username' },
{ message: 'invalid password!', key: 'password' },
{ message: 'invalid userId!', key: 'user_id' }
]
}
Usage in Express: Register on as middleware
const builder = new Schema()
// define shemas here ...
const schema = builder.export()
const notif = require('xnotifications')(schema)
app.use(notif)
Usage in Express: Access in routes
const someExpressRoute = (req, res, next) => {
// notifications
req.notify('invalid','username')
// alert
req.alert('invalid','username', [
{
label:'register',
url:'/account/register/'
}
])
// notifications
req.validation.load('invalid','username')
req.validation.load('invalid','password')
}