Majifix module for analytics and reports
- Overview Report
- Performance Report
- Operator Report
- Operations Report
- Standing Report
- Trending Report
View Structure
{
"data": {
"overall": {
"confirmTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"assignTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"attendTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"completeTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"verifyTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"approveTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"resolveTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"lateTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"callTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"workTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
}
},
"jurisdictions": [],
"statuses": [],
"priorities": [],
"services": [],
"groups": [],
"types": [],
"workspaces": [],
"channels": [],
"operators": []
}
}
View Structure
{
"data": {
"overall": {
"confirmTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"assignTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"attendTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"completeTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"verifyTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"approveTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"resolveTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"lateTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"callTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"workTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
}
},
"statuses": [],
"priorities": [],
"services": [],
"groups": [],
"types": []
}
}
View Structure
{
"data": {
"overall": {
"approved": 0,
"assigned": 1,
"attended": 1,
"completed": 0,
"count": 7,
"late": 3,
"new": 0,
"pending": 2,
"resolved": 5,
"reopened": 1,
"unconfirmed": 0,
"verified": 0,
"confirmTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"assignTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 11,
"milliseconds": 253,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 27,
"hours": 2,
"minutes": 13,
"seconds": 5,
"milliseconds": 543,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 8,
"hours": 23,
"minutes": 29,
"seconds": 51,
"milliseconds": 889,
"microseconds": 0,
"nanoseconds": 0
}
},
"attendTime": {
"minimum": {
"days": 13,
"hours": 2,
"minutes": 54,
"seconds": 58,
"milliseconds": 453,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 17,
"hours": 1,
"minutes": 53,
"seconds": 1,
"milliseconds": 613,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 19,
"minutes": 0,
"seconds": 32,
"milliseconds": 177,
"microseconds": 0,
"nanoseconds": 0
}
},
"completeTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 4,
"seconds": 11,
"milliseconds": 42,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 1,
"seconds": 0,
"milliseconds": 615,
"microseconds": 800,
"nanoseconds": 0
}
},
"verifyTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 2,
"seconds": 54,
"milliseconds": 475,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 38,
"milliseconds": 781,
"microseconds": 400,
"nanoseconds": 0
}
},
"approveTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 3,
"seconds": 1,
"milliseconds": 694,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 41,
"milliseconds": 838,
"microseconds": 800,
"nanoseconds": 0
}
},
"resolveTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 20,
"seconds": 25,
"milliseconds": 338,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 27,
"hours": 2,
"minutes": 15,
"seconds": 17,
"milliseconds": 238,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 11,
"hours": 1,
"minutes": 1,
"seconds": 42,
"milliseconds": 740,
"microseconds": 800,
"nanoseconds": 0
}
},
"lateTime": {
"minimum": {
"days": 0,
"hours": 20,
"minutes": 7,
"seconds": 4,
"milliseconds": 414,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 21,
"hours": 15,
"minutes": 17,
"seconds": 13,
"milliseconds": 901,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 7,
"hours": 23,
"minutes": 42,
"seconds": 22,
"milliseconds": 597,
"microseconds": 666,
"nanoseconds": 666
}
},
"callTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 29,
"milliseconds": 44,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 1,
"seconds": 14,
"milliseconds": 531,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 45,
"milliseconds": 860,
"microseconds": 142,
"nanoseconds": 857
}
},
"workTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 7,
"milliseconds": 813,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 17,
"hours": 1,
"minutes": 53,
"seconds": 1,
"milliseconds": 613,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 4,
"hours": 6,
"minutes": 30,
"seconds": 40,
"milliseconds": 604,
"microseconds": 250,
"nanoseconds": 0
}
}
},
"services": []
}
}
View Structure
{
"data": {
"items": [],
"overall": {
"confirmTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"assignTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"attendTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"completeTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"verifyTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"approveTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"resolveTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"lateTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"callTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
},
"workTime": {
"minimum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"maximum": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
},
"average": {
"days": 0,
"hours": 0,
"minutes": 0,
"seconds": 0,
"milliseconds": 0,
"microseconds": 0,
"nanoseconds": 0
}
}
},
"services": [],
"workspaces": [],
"zones": [],
"assignees": []
}
}
View Structure
{
"data": [
{
"jurisdiction": {
"color": "#0D3291",
"code": "GRZ",
"name": "Name"
},
"group": {
"code": "C",
"color": "#06C947",
"name": {
"en": "Commercial",
"sw": "Commercial"
}
},
"service": {
"code": "BL",
"color": "#0D47A1",
"name": {
"en": "Billing",
"sw": "Billing"
}
},
"status": {
"color": "#0D47A1",
"weight": -5,
"name": {
"en": "Open",
"sw": "Open"
}
},
"priority": {
"color": "#1B5E20",
"weight": -5,
"name": {
"en": "Low",
"sw": "Low"
}
},
"count": 2
}
]
}
View Structure
{
"data": {
"countPerYear": [
{
"count": 0,
"year": 2000
},
{
"count": 0,
"year": 2001
},
{
"count": 0,
"year": 2002
}
],
"countPerMonthPerYear": [
{
"months": [
],
"year": 2000
},
{
"months": [
],
"year": 2001
},
{
"months": [
],
"year": 2002
}
],
"countPerHourPerDay": [
{
"hours": [
],
"day": 1
},
{
"hours": [
],
"day": 2
},
{
"hours": [
],
"day": 3
},
{
"hours": [
],
"day": 4
},
{
"hours": [
],
"day": 5
},
{
"hours": [
],
"day": 6
},
{
"hours": [
],
"day": 7
}
]
}
}
npm install --save @codetanzania/majifix-analytics
If you want to test this library,
-
first clone this repo
-
Install all dependencies
npm install
-
Run test
npm test
It will be nice, if you open an issue first so that we can know what is going on, then, fork this repo and push in your ideas. Do not forget to add a bit of test(s) of what value you adding.
MIT License
Copyright (c) anzalab & Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.