plugin.js
function (hostmask, opts) {
            return Promise.try(function () {
                if (opts && opts.allowAll === true) {
                    return true;
                }

                const customAdmins = opts && opts.customAdmins;
                const memoizationKey = opts && opts.memoizeOver;
                const hostmask_passed = (customAdmins || admins).filter(function (admin) {
                    return checkHostmask(hostmask, admin);
                });

                if (hostmask_passed.some(notHasIdentifiedasProperty)) {
                    client.debug("PluginAdmin", "Admin object w/o identifiedas property (true)");
                    return true;
                }

                client.debug("PluginAdmin", "Admin object w/o identifiedas property (false)");

                return (function recur () {
                    if (hostmask_passed.length === 0) {
                        client.debug("PluginAdmin", "User passes an identifiedas check (false)");
                        return false;
                    }

                    return Promise.try(function () {
                        const hostmask = hostmask_passed.pop();
                        return hostmask.identifiedas;
                    })
                    .then(function (accountname) {
                        return isIdentifiedAs(hostmask.nickname, accountname, {memoizeOver: memoizationKey});
                    })
                    .then(function (isIdentifiedAs) {
                        if (isIdentifiedAs) {
                            client.debug("PluginAdmin", "User passes an identifiedas check (true)");
                            return true;
                        } else {
                            return recur();
                        }
                    });
                }());
            });
        }
function (hostmask, opts) {
            return Promise.try(function () {
                if (opts && opts.allowAll === true) {
                    return true;
                }

                const customAdmins = opts && opts.customAdmins;
                const memoizationKey = opts && opts.memoizeOver;
                const hostmask_passed = (customAdmins || admins).filter(function (admin) {
                    return checkHostmask(hostmask, admin);
                });

                if (hostmask_passed.some(notHasIdentifiedasProperty)) {
                    client.debug("PluginAdmin", "Admin object w/o identifiedas property (true)");
                    return true;
                }

                client.debug("PluginAdmin", "Admin object w/o identifiedas property (false)");

                return (function recur () {
                    if (hostmask_passed.length === 0) {
                        client.debug("PluginAdmin", "User passes an identifiedas check (false)");
                        return false;
                    }

                    return Promise.try(function () {
                        const hostmask = hostmask_passed.pop();
                        return hostmask.identifiedas;
                    })
                    .then(function (accountname) {
                        return isIdentifiedAs(hostmask.nickname, accountname, {memoizeOver: memoizationKey});
                    })
                    .then(function (isIdentifiedAs) {
                        if (isIdentifiedAs) {
                            client.debug("PluginAdmin", "User passes an identifiedas check (true)");
                            return true;
                        } else {
                            return recur();
                        }
                    });
                }());
            });
        }
function ( hostmask , opts ) { return Promise . try ( function ( ) { if ( opts && opts . allowAll === true ) { return true ; } const customAdmins = opts && opts . customAdmins ; const memoizationKey = opts && opts . memoizeOver ; const hostmask_passed = ( customAdmins || admins ) . filter ( function ( admin ) { return checkHostmask ( hostmask , admin ) ; } ) ; if ( hostmask_passed . some ( notHasIdentifiedasProperty ) ) { client . debug ( "PluginAdmin" , "Admin object w/o identifiedas property (true)" ) ; return true ; } client . debug ( "PluginAdmin" , "Admin object w/o identifiedas property (false)" ) ; return ( function recur ( ) { if ( hostmask_passed . length === 0 ) { client . debug ( "PluginAdmin" , "User passes an identifiedas check (false)" ) ; return false ; } return Promise . try ( function ( ) { const hostmask = hostmask_passed . pop ( ) ; return hostmask . identifiedas ; } ) . then ( function ( accountname ) { return isIdentifiedAs ( hostmask . nickname , accountname , { memoizeOver : memoizationKey } ) ; } ) . then ( function ( isIdentifiedAs ) { if ( isIdentifiedAs ) { client . debug ( "PluginAdmin" , "User passes an identifiedas check (true)" ) ; return true ; } else { return recur ( ) ; } } ) ; } ( ) ) ; } ) ; }
Hostmask -> Promise boolean
Hostmask - > Promise boolean