How to use the @babel/core.types.expressionStatement function in @babel/core

To help you get started, we’ve selected a few @babel/core examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github babel / babel / packages / babel-plugin-proposal-object-rest-spread / src / index.js View on Github external
return;
        }

        if (!t.isVariableDeclaration(left)) {
          // for ({a, ...b} of []) {}
          const temp = scope.generateUidIdentifier("ref");

          node.left = t.variableDeclaration("var", [
            t.variableDeclarator(temp),
          ]);

          path.ensureBlock();

          if (node.body.body.length === 0 && path.isCompletionRecord()) {
            node.body.body.unshift(
              t.expressionStatement(scope.buildUndefinedNode()),
            );
          }

          node.body.body.unshift(
            t.expressionStatement(
              t.assignmentExpression("=", left, t.cloneNode(temp)),
            ),
          );
        } else {
          // for (var {a, ...b} of []) {}
          const pattern = left.declarations[0].id;

          const key = scope.generateUidIdentifier("ref");
          node.left = t.variableDeclaration(left.kind, [
            t.variableDeclarator(key, null),
          ]);
github babel / babel / packages / babel-plugin-transform-modules-commonjs / src / index.js View on Github external
/\.mjs$/.test(state.filename)
                  ? mjsStrictNamespace
                  : strictNamespace,
            },
          );

          for (const [source, metadata] of meta.source) {
            const loadExpr = t.callExpression(t.identifier("require"), [
              t.stringLiteral(source),
            ]);

            let header;
            if (isSideEffectImport(metadata)) {
              if (metadata.lazy) throw new Error("Assertion failure");

              header = t.expressionStatement(loadExpr);
            } else {
              const init =
                wrapInterop(path, loadExpr, metadata.interop) || loadExpr;

              if (metadata.lazy) {
                header = template.ast`
                  function ${metadata.name}() {
                    const data = ${init};
                    ${metadata.name} = function(){ return data; };
                    return data;
                  }
                `;
              } else {
                header = template.ast`
                  var ${metadata.name} = ${init};
                `;
github sokra / rawact / src / transformCreateElement.js View on Github external
const createNativeInstructions = (parsedElement, helpers) => {
	const scope = new ContextScope(helpers);
	const element = createNativeElement(parsedElement, scope);
	const token = scope.createGlobalToken("instructions");
	const test = t.binaryExpression("!==", scope.type(), token);
	let instructions = t.arrowFunctionExpression(
		[scope.context()],
		t.blockStatement([
			t.ifStatement(
				test,
				t.blockStatement(
					[
						t.ifStatement(
							scope.unmount(),
							t.expressionStatement(t.callExpression(scope.unmount(), []))
						),
						t.expressionStatement(
							t.assignmentExpression(
								"=",
								scope.unmount(),
								element.unmount.length > 0
									? t.arrowFunctionExpression(
											[],
											t.blockStatement(element.unmount)
									  )
									: t.nullLiteral()
							)
						),
						t.expressionStatement(
							t.assignmentExpression("=", scope.type(), token)
						)
github babel / babel / packages / babel-plugin-transform-modules-systemjs / src / index.js View on Github external
);

    statements.push(
      buildExportAll({
        KEY: path.scope.generateUidIdentifier("key"),
        EXPORT_OBJ: t.identifier(exportObj),
        TARGET: exportStarTarget,
      }),
    );

    for (let i = 0; i < exportNames.length; i++) {
      const exportName = exportNames[i];
      const exportValue = exportValues[i];

      statements.push(
        t.expressionStatement(
          t.assignmentExpression(
            "=",
            t.memberExpression(
              t.identifier(exportObj),
              t.identifier(exportName),
            ),
            exportValue,
          ),
        ),
      );
    }

    statements.push(
      t.expressionStatement(
        t.callExpression(exportIdent, [t.identifier(exportObj)]),
      ),
github sokra / rawact / src / transformCreateElement.js View on Github external
])
				)
			);
			updateStatements.push(
				t.expressionStatement(
					t.callExpression(scope.importHelper("renderInternal"), [
						scope.context(),
						childLocal,
						childNode,
						t.numericLiteral(0)
					])
				)
			);
			if (element.kind === "Fragment") {
				updateStatements.push(
					t.expressionStatement(
						t.assignmentExpression(
							"=",
							t.memberExpression(
								node,
								t.numericLiteral(childrenCreate.length),
								true
							),
							t.memberExpression(scope.context(), childNode, true)
						)
					)
				);
			}
			unmountStatements.push(
				t.expressionStatement(
					t.callExpression(scope.importHelper("unmountInternal"), [
						t.memberExpression(
github babel / babel / packages / babel-plugin-transform-proto-to-assign / src / index.js View on Github external
function buildDefaultsCallExpression(expr, ref, file) {
    return t.expressionStatement(
      t.callExpression(file.addHelper("defaults"), [ref, expr.right]),
    );
  }
github babel / babel / packages / babel-plugin-proposal-decorators / src / transformer.js View on Github external
});
    }
  } else {
    const constructor = isBase
      ? t.classMethod(
          "constructor",
          t.identifier("constructor"),
          [],
          t.blockStatement([t.expressionStatement(initializeInstanceElements)]),
        )
      : t.classMethod(
          "constructor",
          t.identifier("constructor"),
          [t.restElement(t.identifier("args"))],
          t.blockStatement([
            t.expressionStatement(
              t.callExpression(t.Super(), [
                t.spreadElement(t.identifier("args")),
              ]),
            ),
            t.expressionStatement(initializeInstanceElements),
          ]),
        );
    path.node.body.body.push(constructor);
  }
}
github babel / babel / packages / babel-plugin-proposal-decorators / src / transformer.js View on Github external
"constructor",
          t.identifier("constructor"),
          [],
          t.blockStatement([t.expressionStatement(initializeInstanceElements)]),
        )
      : t.classMethod(
          "constructor",
          t.identifier("constructor"),
          [t.restElement(t.identifier("args"))],
          t.blockStatement([
            t.expressionStatement(
              t.callExpression(t.Super(), [
                t.spreadElement(t.identifier("args")),
              ]),
            ),
            t.expressionStatement(initializeInstanceElements),
          ]),
        );
    path.node.body.body.push(constructor);
  }
}
github babel / babel / packages / babel-plugin-transform-classes / src / transformClass.js View on Github external
node.body,
        node.generator,
        node.async,
      );
      t.inherits(func, node);

      const key = t.toComputedKey(node, node.key);
      if (t.isStringLiteral(key)) {
        func = nameFunction({
          node: func,
          id: key,
          scope,
        });
      }

      const expr = t.expressionStatement(
        t.assignmentExpression("=", methodName, func),
      );
      t.inheritsComments(expr, node);
      classState.body.push(expr);
      return true;
    }

    return false;
  }
github r-murphy / babel-plugin-transform-modules-ui5 / packages / plugin / src / classes / helpers / classes.js View on Github external
for (const member of node.body.body) {
    const memberName = member.key.name;
    const memberExpression =
      member.static && t.memberExpression(classNameIdentifier, member.key);
    if (t.isClassMethod(member)) {
      const func = t.functionExpression(
        member.key,
        member.params,
        member.body,
        member.generator,
        member.async
      );
      if (member.static) {
        staticMembers.push(
          t.expressionStatement(
            t.assignmentExpression("=", memberExpression, func)
          )
        );
      } else {
        propsByName[memberName] = func;
        func.generator = member.generator;
        func.async = member.async;
        if (member.kind === "get" || member.kind === "set") {
          extendProps.push(
            t.objectMethod(
              member.kind,
              member.key,
              member.params,
              member.body,
              member.computed
            )