Methods

(async) componentFactory() → {Promise.<MpaComponent>}

Component factory function that creates the MpaComponent class.

Returns:

The MpaComponent class

Type: 
Promise.<MpaComponent>

(async) factory(pkgName) → {WaibuMpa}

Plugin factory

Parameters:
NameTypeDescription
pkgNamestring

NPM package name

Returns:
  • WaibuMpa class
Type: 
WaibuMpa

Type Definitions

Conf

Type:
  • object
Properties
NameTypeDescription
urlstring

absolute URL of the WHEP endpoint.

userstring

username.

passstring

password.

tokenstring

token.

onErrorOnError

called when there's an error.

onTrackOnTrack

called when there's a track available.

OnError(err)

Parameters:
NameTypeDescription
errstring

error.

OnTrack(evt)

Parameters:
NameTypeDescription
evtRTCTrackEvent

track event.

TConfig

Configuration object

Type:
  • Object
Properties
NameTypeAttributesDefaultDescription
waibuObject<optional>
{}

Waibu configuration

Properties
NameTypeAttributesDefaultDescription
prefixstring<optional>
''

Prefix for Waibu routes

waibuAdminObject<optional>
{}

Waibu Admin configuration

Properties
NameTypeAttributesDefaultDescription
menuHandlerboolean<optional>
false

Enable or disable menu handler

modelDisabledstring<optional>
'*'

Disable specific models

mountMainAsRootboolean<optional>
true

Mount main app as root

pageObject<optional>
{}

Page configuration

Properties
NameTypeAttributesDefaultDescription
charsetstring<optional>
'utf-8'

Character set for pages

cacheObject<optional>
{}

Cache configuration for pages

Properties
NameTypeAttributesDefaultDescription
ttlDurnumber<optional>
0

Time-to-live duration for cache in milliseconds

urlsArray.<string><optional>
[]

URLs to cache

refreshDurstring<optional>
'1d'

Duration to refresh pages in milliseconds

insertWarningboolean<optional>
false

Insert warning

usePluginTitleboolean<optional>
false

Use plugin title

scriptsAtEndOfBodyboolean<optional>
true

Place scripts at the end of the body

darkModeObject<optional>
{}

Dark mode configuration

Properties
NameTypeAttributesDefaultDescription
setstring | null<optional>
null

Dark mode set

qsKeystring<optional>
'dark-mode'

Query string key for dark mode

intlObject<optional>
{}

Internationalization configuration

Properties
NameTypeAttributesDefaultDescription
detectorsArray.<string><optional>
['qs']

Detectors for internationalization

sessionObject<optional>
{}

Session configuration

Properties
NameTypeAttributesDefaultDescription
secretstring<optional>
'f703a74b884b539e78c642a5369fe538'

Secret for session

cookieNamestring<optional>
'sid'

Cookie name for session

cookieObject<optional>
{}

Cookie configuration for session

Properties
NameTypeAttributesDefaultDescription
securestring<optional>
'auto'

Secure flag for cookie

maxAgenumber<optional>
604800000

Max age for cookie in milliseconds

saveUninitializedboolean<optional>
false

Save uninitialized sessions

trashOldDurstring<optional>
'5m'

Duration to trash old sessions

emojiboolean<optional>
true

Enable or disable emoji support

viewEngineObject<optional>
{}

View engine configuration

Properties
NameTypeAttributesDefaultDescription
layoutObject<optional>
{}

Layout configuration for view engine

Properties
NameTypeAttributesDefaultDescription
defaultstring<optional>
'waibuMpa:/default.html'

Default layout template

fallbackboolean<optional>
true

Fallback to default layout if not found

themeObject<optional>
{}

Theme configuration

Properties
NameTypeAttributesDefaultDescription
setstring | null<optional>
null

Theme set

autoInsertObject<optional>
{}

Auto insert configuration for theme

Properties
NameTypeAttributesDefaultDescription
cssboolean<optional>
true

Auto insert CSS

metaboolean<optional>
true

Auto insert meta tags

scriptsboolean<optional>
true

Auto insert scripts

linksboolean<optional>
true

Auto insert links

inlineScriptboolean<optional>
true

Auto insert inline scripts

inlineCssboolean<optional>
true

Auto insert inline CSS

componentObject<optional>
{}

Component configuration for theme

Properties
NameTypeAttributesDefaultDescription
unknownTagstring<optional>
'replaceWithDiv'

Behavior for unknown tags in components

ttlDurstring<optional>
'1m'

Time-to-live duration for components in milliseconds

iconsetObject<optional>
{}

Iconset configuration

Properties
NameTypeAttributesDefaultDescription
setstring | null<optional>
null

Iconset set

autoInsertObject<optional>
{}

Auto insert configuration for iconset

Properties
NameTypeAttributesDefaultDescription
cssboolean<optional>
true

Auto insert CSS for iconset

scriptsboolean<optional>
true

Auto insert scripts for iconset

linksboolean<optional>
true

Auto insert links for iconset

inlineScriptboolean<optional>
true

Auto insert inline scripts for iconset

inlineCssboolean<optional>
true

Auto insert inline CSS for iconset

concatResourceObject<optional>
{}

Concatenation resource configuration

Properties
NameTypeAttributesDefaultDescription
ttlDurnumber<optional>
0

Time-to-live duration for concatenated resources in milliseconds

excludedArray.<string><optional>
[]

Excluded resources from concatenation

cssboolean<optional>
false

Concatenate CSS resources

scriptsboolean<optional>
false

Concatenate script resources

linksboolean<optional>
false

Concatenate link resources

cheerioObject<optional>
{}

Cheerio configuration

Properties
NameTypeAttributesDefaultDescription
loadOptionsObject<optional>
{}

Load options for Cheerio

Properties
NameTypeAttributesDefaultDescription
xmlObject<optional>
{}

XML load options for Cheerio

Properties
NameTypeAttributesDefaultDescription
xmlModeboolean<optional>
false

XML mode for Cheerio

decodeEntitiesboolean<optional>
false

Decode entities for Cheerio

recognizeSelfClosingboolean<optional>
true

Recognize self-closing tags for Cheerio

prettierObject<optional>
{}

Prettier configuration

Properties
NameTypeAttributesDefaultDescription
printWidthstring<optional>
80

Prettier print width

parserstring<optional>
'html'

Prettier parser

minifierObject<optional>
{}

Minifier configuration

Properties
NameTypeAttributesDefaultDescription
removeAttributeQuotesboolean<optional>
true

Remove attribute quotes in minified HTML

removeCommentsboolean<optional>
true

Remove comments in minified HTML

removeCommentsFromCDATAboolean<optional>
true

Remove comments from CDATA in minified HTML

removeCDATASectionsFromCDATAboolean<optional>
true

Remove CDATA sections from CDATA in minified HTML

collapseWhitespaceboolean<optional>
true

Collapse whitespace in minified HTML

conservativeCollapseboolean<optional>
true

Conservative collapse of whitespace in minified HTML

decodeEntitiesboolean<optional>
true

Decode entities in minified HTML

collapseBooleanAttributesboolean<optional>
true

Collapse boolean attributes in minified HTML

removeRedundantAttributesboolean<optional>
true

Remove redundant attributes in minified HTML

removeEmptyAttributesboolean<optional>
true

Remove empty attributes in minified HTML

multipartObject<optional>
{}

Multipart configuration

corsObject<optional>
{}

CORS configuration

helmetObject<optional>
{}

Helmet configuration

compressboolean | Object<optional>
false

Compression configuration

rateLimitboolean | Object<optional>
false

Rate limit configuration

disabledArray.<string><optional>
[]

Disabled features

reqTtlDurstring<optional>
'1d'

Request time-to-live duration in milliseconds

TConfigDev

Configuration object for development environment

Type:
  • Object

TConfigProd

Configuration object for production environment

Type:
  • Object

TIconsetItem

Type:
  • Object
Properties
NameTypeAttributesDescription
namestring

The name of the iconset item.

iconstring<optional>

The icon associated with the item.

TIconsetMappings

Type:
  • Object
Properties
NameTypeAttributesDefaultDescription
airplaneTIconsetItem<optional>
{}
alarmTIconsetItem<optional>
{}
alignTopTIconsetItem<optional>
{}
alignBottomTIconsetItem<optional>
{}
alignStartTIconsetItem<optional>
{}
alignEndTIconsetItem<optional>
{}
alignCenterTIconsetItem<optional>
{}
alignMiddleTIconsetItem<optional>
{}
anchorTIconsetItem<optional>
{}
archiveTIconsetItem<optional>
{}
arrowCwTIconsetItem<optional>
{}
arrowCcwTIconsetItem<optional>
{}
arrowDownTIconsetItem<optional>
{}
arrowUpTIconsetItem<optional>
{}
arrowStartTIconsetItem<optional>
{}
arrowEndTIconsetItem<optional>
{}
arrowsStartEndTIconsetItem<optional>
{}
arrowsRepeatTIconsetItem<optional>
{}
arrowsCollapseTIconsetItem<optional>
{}
arrowsCollapseVTIconsetItem<optional>
{}
arrowsExpandTIconsetItem<optional>
{}
arrowsExpandVTIconsetItem<optional>
{}
arrowsShuffleTIconsetItem<optional>
{}
asteriskTIconsetItem<optional>
{}
awardTIconsetItem<optional>
{}
backspaceTIconsetItem<optional>
{}
bagTIconsetItem<optional>
{}
balloonTIconsetItem<optional>
{}
banTIconsetItem<optional>
{}
bankTIconsetItem<optional>
{}
barcodeTIconsetItem<optional>
{}
chartBarTIconsetItem<optional>
{}
chartPieTIconsetItem<optional>
{}
basketTIconsetItem<optional>
{}
batteryTIconsetItem<optional>
{}
batteryChargingTIconsetItem<optional>
{}
batteryFullTIconsetItem<optional>
{}
batteryHalfTIconsetItem<optional>
{}
bellTIconsetItem<optional>
{}
bellSlashTIconsetItem<optional>
{}
bicycleTIconsetItem<optional>
{}
binocularsTIconsetItem<optional>
{}
bluetoothTIconsetItem<optional>
{}
bookTIconsetItem<optional>
{}
bookmarkTIconsetItem<optional>
{}
boxTIconsetItem<optional>
{}
boxArrowDownTIconsetItem<optional>
{}
boxArrowUpTIconsetItem<optional>
{}
briefcaseTIconsetItem<optional>
{}
brightTIconsetItem<optional>
{}
bugTIconsetItem<optional>
{}
buildingTIconsetItem<optional>
{}
buildingsTIconsetItem<optional>
{}
bullseyeTIconsetItem<optional>
{}
busTIconsetItem<optional>
{}
cakeTIconsetItem<optional>
{}
calculatorTIconsetItem<optional>
{}
calendarTIconsetItem<optional>
{}
calendarCheckTIconsetItem<optional>
{}
cameraTIconsetItem<optional>
{}
carTIconsetItem<optional>
{}
caretUpTIconsetItem<optional>
{}
caretDownTIconsetItem<optional>
{}
caretStartTIconsetItem<optional>
{}
caretEndTIconsetItem<optional>
{}
cartTIconsetItem<optional>
{}
cashTIconsetItem<optional>
{}
castTIconsetItem<optional>
{}
chatTIconsetItem<optional>
{}
chatDotsTIconsetItem<optional>
{}
checkTIconsetItem<optional>
{}
checkAllTIconsetItem<optional>
{}
circleTIconsetItem<optional>
{}
circleCheckTIconsetItem<optional>
{}
clipboardTIconsetItem<optional>
{}
clockTIconsetItem<optional>
{}
cloudTIconsetItem<optional>
{}
cloudArrowUpTIconsetItem<optional>
{}
cloudArrowDownTIconsetItem<optional>
{}
codeTIconsetItem<optional>
{}
compassTIconsetItem<optional>
{}
coneTIconsetItem<optional>
{}
cpuTIconsetItem<optional>
{}
creditCardTIconsetItem<optional>
{}
crosshairTIconsetItem<optional>
{}
cupTIconsetItem<optional>
{}
currencyBtcTIconsetItem<optional>
{}
currencyDollarTIconsetItem<optional>
{}
currencyEuroTIconsetItem<optional>
{}
currencyPoundTIconsetItem<optional>
{}
databaseTIconsetItem<optional>
{}
darkTIconsetItem<optional>
{}
diagramTIconsetItem<optional>
{}
diamondTIconsetItem<optional>
{}
diceTIconsetItem<optional>
{}
discTIconsetItem<optional>
{}
displayTIconsetItem<optional>
{}
doorTIconsetItem<optional>
{}
dotTIconsetItem<optional>
{}
dotsThreeTIconsetItem<optional>
{}
dotsThreeVTIconsetItem<optional>
{}
doorOpenTIconsetItem<optional>
{}
downloadTIconsetItem<optional>
{}
dropTIconsetItem<optional>
{}
editTIconsetItem<optional>
{}
copyTIconsetItem<optional>
{}
cropTIconsetItem<optional>
{}
eraserTIconsetItem<optional>
{}
justifyTIconsetItem<optional>
{}
textCenterTIconsetItem<optional>
{}
textRightTIconsetItem<optional>
{}
textLeftTIconsetItem<optional>
{}
textIndentTIconsetItem<optional>
{}
fontTIconsetItem<optional>
{}
boldTIconsetItem<optional>
{}
boatTIconsetItem<optional>
{}
italicTIconsetItem<optional>
{}
strikethroughTIconsetItem<optional>
{}
underlineTIconsetItem<optional>
{}
addTIconsetItem<optional>
{}
deleteTIconsetItem<optional>
{}
removeTIconsetItem<optional>
{}
rulerTIconsetItem<optional>
{}
earTIconsetItem<optional>
{}
emojiTIconsetItem<optional>
{}
envelopeTIconsetItem<optional>
{}
envelopeOpenTIconsetItem<optional>
{}
ethernetTIconsetItem<optional>
{}
eyeTIconsetItem<optional>
{}
eyeSlashTIconsetItem<optional>
{}
eyeglassesTIconsetItem<optional>
{}
fanTIconsetItem<optional>
{}
favoriteTIconsetItem<optional>
{}
featherTIconsetItem<optional>
{}
fileTIconsetItem<optional>
{}
fileTextTIconsetItem<optional>
{}
fileCodeTIconsetItem<optional>
{}
fileChartTIconsetItem<optional>
{}
fileImageTIconsetItem<optional>
{}
fileAudioTIconsetItem<optional>
{}
filePdfTIconsetItem<optional>
{}
filmTIconsetItem<optional>
{}
fingerprintTIconsetItem<optional>
{}
fireTIconsetItem<optional>
{}
flagTIconsetItem<optional>
{}
floppyTIconsetItem<optional>
{}
flowerTIconsetItem<optional>
{}
folderTIconsetItem<optional>
{}
folderAddTIconsetItem<optional>
{}
folderDeleteTIconsetItem<optional>
{}
folderOpenTIconsetItem<optional>
{}
fuelPumpTIconsetItem<optional>
{}
fullscreenTIconsetItem<optional>
{}
fullscreenExitTIconsetItem<optional>
{}
funnelTIconsetItem<optional>
{}
forwardTIconsetItem<optional>
{}
gameControllerTIconsetItem<optional>
{}
gearTIconsetItem<optional>
{}
gemTIconsetItem<optional>
{}
genderTIconsetItem<optional>
{}
genderMaleTIconsetItem<optional>
{}
genderFemaleTIconsetItem<optional>
{}
geomBboxTIconsetItem<optional>
{}
giftTIconsetItem<optional>
{}
globeTIconsetItem<optional>
{}
gridTIconsetItem<optional>
{}
hammerTIconsetItem<optional>
{}
thumbsUpTIconsetItem<optional>
{}
thumbsDownTIconsetItem<optional>
{}
handPointingTIconsetItem<optional>
{}
handbagTIconsetItem<optional>
{}
hashTIconsetItem<optional>
{}
hddTIconsetItem<optional>
{}
headphonesTIconsetItem<optional>
{}
headsetTIconsetItem<optional>
{}
heartTIconsetItem<optional>
{}
highlighterTIconsetItem<optional>
{}
hospitalTIconsetItem<optional>
{}
hourglassTIconsetItem<optional>
{}
houseTIconsetItem<optional>
{}
imageTIconsetItem<optional>
{}
infinityTIconsetItem<optional>
{}
journalTIconsetItem<optional>
{}
kanbanTIconsetItem<optional>
{}
keyTIconsetItem<optional>
{}
keyboardTIconsetItem<optional>
{}
lampTIconsetItem<optional>
{}
laptopTIconsetItem<optional>
{}
layersTIconsetItem<optional>
{}
lightbulbTIconsetItem<optional>
{}
lightningTIconsetItem<optional>
{}
linkTIconsetItem<optional>
{}
listTIconsetItem<optional>
{}
listBulletTIconsetItem<optional>
{}
listNumberTIconsetItem<optional>
{}
lockTIconsetItem<optional>
{}
luggageTIconsetItem<optional>
{}
magicTIconsetItem<optional>
{}
magnetTIconsetItem<optional>
{}
mapTIconsetItem<optional>
{}
megaphoneTIconsetItem<optional>
{}
memoryTIconsetItem<optional>
{}
micTIconsetItem<optional>
{}
micSlashTIconsetItem<optional>
{}
moonTIconsetItem<optional>
{}
mouseTIconsetItem<optional>
{}
musicTIconsetItem<optional>
{}
navigationTIconsetItem<optional>
{}
newspaperTIconsetItem<optional>
{}
outletTIconsetItem<optional>
{}
paletteTIconsetItem<optional>
{}
paperclipTIconsetItem<optional>
{}
passportTIconsetItem<optional>
{}
playTIconsetItem<optional>
{}
playPauseTIconsetItem<optional>
{}
playRecordTIconsetItem<optional>
{}
playEjectTIconsetItem<optional>
{}
playRepeatTIconsetItem<optional>
{}
playShuffleTIconsetItem<optional>
{}
playFastBackwardTIconsetItem<optional>
{}
playFastForwardTIconsetItem<optional>
{}
playSkipStartTIconsetItem<optional>
{}
playSkipEndTIconsetItem<optional>
{}
playStopTIconsetItem<optional>
{}
pcTIconsetItem<optional>
{}
pciCardTIconsetItem<optional>
{}
peaceTIconsetItem<optional>
{}
penTIconsetItem<optional>
{}
pencilTIconsetItem<optional>
{}
peopleTIconsetItem<optional>
{}
personTIconsetItem<optional>
{}
personAddTIconsetItem<optional>
{}
handphoneTIconsetItem<optional>
{}
handphoneVibrateTIconsetItem<optional>
{}
piggyBankTIconsetItem<optional>
{}
pinTIconsetItem<optional>
{}
powerTIconsetItem<optional>
{}
printerTIconsetItem<optional>
{}
projectorTIconsetItem<optional>
{}
puzzleTIconsetItem<optional>
{}
qrcodeTIconsetItem<optional>
{}
quoteTIconsetItem<optional>
{}
radioactiveTIconsetItem<optional>
{}
receiptTIconsetItem<optional>
{}
recycleTIconsetItem<optional>
{}
robotTIconsetItem<optional>
{}
rocketTIconsetItem<optional>
{}
routeTIconsetItem<optional>
{}
replyTIconsetItem<optional>
{}
replyAllTIconsetItem<optional>
{}
searchTIconsetItem<optional>
{}
sendTIconsetItem<optional>
{}
saveTIconsetItem<optional>
{}
shareTIconsetItem<optional>
{}
serverTIconsetItem<optional>
{}
shieldTIconsetItem<optional>
{}
shiftTIconsetItem<optional>
{}
shopTIconsetItem<optional>
{}
simCardTIconsetItem<optional>
{}
signinTIconsetItem<optional>
{}
signoutTIconsetItem<optional>
{}
signSplitTIconsetItem<optional>
{}
signInfoTIconsetItem<optional>
{}
signDangerTIconsetItem<optional>
{}
signWarningTIconsetItem<optional>
{}
signQuestionTIconsetItem<optional>
{}
sliderTIconsetItem<optional>
{}
sliderVTIconsetItem<optional>
{}
snowTIconsetItem<optional>
{}
sortTIconsetItem<optional>
{}
sortDescTIconsetItem<optional>
{}
speedometerTIconsetItem<optional>
{}
starTIconsetItem<optional>
{}
stopwatchTIconsetItem<optional>
{}
suitClubTIconsetItem<optional>
{}
suitDiamondTIconsetItem<optional>
{}
suitSpadeTIconsetItem<optional>
{}
suitHeartTIconsetItem<optional>
{}
suitcaseTIconsetItem<optional>
{}
sunTIconsetItem<optional>
{}
tableTIconsetItem<optional>
{}
terminalTIconsetItem<optional>
{}
thermometerTIconsetItem<optional>
{}
ticketTIconsetItem<optional>
{}
toolsTIconsetItem<optional>
{}
toggleOnTIconsetItem<optional>
{}
toggleOffTIconsetItem<optional>
{}
trainTIconsetItem<optional>
{}
translateTIconsetItem<optional>
{}
trashTIconsetItem<optional>
{}
treeTIconsetItem<optional>
{}
trophyTIconsetItem<optional>
{}
truckTIconsetItem<optional>
{}
tvTIconsetItem<optional>
{}
uploadTIconsetItem<optional>
{}
umbrellaTIconsetItem<optional>
{}
unlockTIconsetItem<optional>
{}
usbTIconsetItem<optional>
{}
vectorTIconsetItem<optional>
{}
voicemailTIconsetItem<optional>
{}
volumeDownTIconsetItem<optional>
{}
volumeXTIconsetItem<optional>
{}
volumeUpTIconsetItem<optional>
{}
watchTIconsetItem<optional>
{}
walletTIconsetItem<optional>
{}
weatherTIconsetItem<optional>
{}
webcamTIconsetItem<optional>
{}
wifiTIconsetItem<optional>
{}
wifiSlashTIconsetItem<optional>
{}
windTIconsetItem<optional>
{}
windowTIconsetItem<optional>
{}
wrenchTIconsetItem<optional>
{}
yinYangTIconsetItem<optional>
{}
zoomInTIconsetItem<optional>
{}
zoomOutTIconsetItem<optional>
{}
logoAmazonTIconsetItem<optional>
{}
logoAndroidTIconsetItem<optional>
{}
logoAppleTIconsetItem<optional>
{}
logoDiscordTIconsetItem<optional>
{}
logoDropboxTIconsetItem<optional>
{}
logoFacebookTIconsetItem<optional>
{}
logoGithubTIconsetItem<optional>
{}
logoGoogleTIconsetItem<optional>
{}
logoInstagramTIconsetItem<optional>
{}
logoLinkedinTIconsetItem<optional>
{}
logoMetaTIconsetItem<optional>
{}
logoPaypalTIconsetItem<optional>
{}
logoPinterestTIconsetItem<optional>
{}
logoRedditTIconsetItem<optional>
{}
logoSkypeTIconsetItem<optional>
{}
logoSlackTIconsetItem<optional>
{}
logoSnapchatTIconsetItem<optional>
{}
logoSpotifyTIconsetItem<optional>
{}
logoStackOverflowTIconsetItem<optional>
{}
logoSteamTIconsetItem<optional>
{}
logoTelegramTIconsetItem<optional>
{}
logoThreadsTIconsetItem<optional>
{}
logoTiktokTIconsetItem<optional>
{}
logoTwitterTIconsetItem<optional>
{}
logoXTIconsetItem<optional>
{}
logoWhatsappTIconsetItem<optional>
{}
logoWindowsTIconsetItem<optional>
{}
logoYoutubeTIconsetItem<optional>
{}