Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mets.corals.io/wp-content/themes/metras/node_modules/es6-templates/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mets.corals.io/wp-content/themes/metras/node_modules/es6-templates/lib/visitor.js
var assert = require('assert');
var recast = require('recast');
var types = recast.types;
var PathVisitor = types.PathVisitor;
var n = types.namedTypes;
var b = types.builders;

function Visitor() {
  PathVisitor.apply(this, arguments);
}
Visitor.prototype = Object.create(PathVisitor.prototype);
Visitor.prototype.constructor = Visitor;

/**
 * Visits a template literal, replacing it with a series of string
 * concatenations. For example, given:
 *
 *    ```js
 *    `1 + 1 = ${1 + 1}`
 *    ```
 *
 * The following output will be generated:
 *
 *    ```js
 *    "1 + 1 = " + (1 + 1)
 *    ```
 *
 * @param {NodePath} path
 * @returns {AST.Literal|AST.BinaryExpression}
 */
Visitor.prototype.visitTemplateLiteral = function(path) {
  var node = path.node;
  var replacement = b.literal(node.quasis[0].value.cooked);

  for (var i = 1, length = node.quasis.length; i < length; i++) {
    replacement = b.binaryExpression(
      '+',
      b.binaryExpression(
        '+',
        replacement,
        node.expressions[i - 1]
      ),
      b.literal(node.quasis[i].value.cooked)
    );
  }

  return replacement;
};

/**
 * Visits the path wrapping a TaggedTemplateExpression node, which has the form
 *
 *   ```js
 *   htmlEncode `<span id=${id}>${text}</span>`
 *   ```
 *
 * @param {NodePath} path
 * @returns {AST.CallExpression}
 */
Visitor.prototype.visitTaggedTemplateExpression = function(path) {
  var node = path.node;
  var args = [];
  var strings = b.callExpression(
    b.functionExpression(
      null,
      [],
      b.blockStatement([
        b.variableDeclaration(
          'var',
          [
            b.variableDeclarator(
              b.identifier('strings'),
              b.arrayExpression(node.quasi.quasis.map(function(quasi) {
                return b.literal(quasi.value.cooked);
              }))
            )
          ]
        ),
        b.expressionStatement(b.assignmentExpression(
          '=',
          b.memberExpression(b.identifier('strings'), b.identifier('raw'), false),
          b.arrayExpression(node.quasi.quasis.map(function(quasi) {
            return b.literal(quasi.value.raw);
          }))
        )),
        b.returnStatement(b.identifier('strings'))
      ])
    ),
    []
  );

  args.push(strings);
  args.push.apply(args, node.quasi.expressions);

  return b.callExpression(
    node.tag,
    args
  );
};

Visitor.visitor = new Visitor();
module.exports = Visitor;

Spamworldpro Mini