UNPKG

siphon-cli

Version:

Simple bundler for web applications. 📦🔧🧡

30 lines (29 loc) • 2.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = require("../../../../../../types"); var creator_1 = require("../../helpers/creator"); var prototype_1 = require("./prototype"); var String_prototype_includes = (0, creator_1.memberExpression)(prototype_1.default, (0, creator_1.newIdentifier)("includes")); var searchString = (0, creator_1.newIdentifier)("searchString"); var position = (0, creator_1.newIdentifier)("position"); var regexQuery = new types_1.IfStatement(0); regexQuery.test = (0, creator_1.binaryExpression)(searchString, "instanceof", (0, creator_1.newIdentifier)("RegexEp")); var throwstat = new types_1.ThrowStatement(0); throwstat.argument = (0, creator_1.callExpression)((0, creator_1.newIdentifier)("TypeError"), [ (0, creator_1.newString)('"First argument must not be a RegExp"'), ]); regexQuery.consequent = throwstat; regexQuery.alternate = null; var posUndefined = new types_1.IfStatement(0); posUndefined.test = (0, creator_1.binaryExpression)(position, "===", creator_1.undefined_); posUndefined.consequent = (0, creator_1.expressionStatement)((0, creator_1.assignmentExpression)(position, "=", (0, creator_1.numberLiteral)(0))); posUndefined.alternate = null; var retstat = new types_1.ReturnStatement(0); retstat.argument = (0, creator_1.binaryExpression)((0, creator_1.callExpression)((0, creator_1.memberExpression)(creator_1.this_, (0, creator_1.newIdentifier)("indexOf")), [searchString, position]), "!==", (0, creator_1.unaryExpression)("-", (0, creator_1.numberLiteral)(1))); var includes = new types_1.IfStatement(0); includes.test = (0, creator_1.binaryExpression)(String_prototype_includes, "===", creator_1.undefined_); includes.consequent = (0, creator_1.blockStatement)([ (0, creator_1.expressionStatement)((0, creator_1.assignmentExpression)(String_prototype_includes, "=", (0, creator_1.newFunctionExp)(null, [searchString, position], (0, creator_1.blockStatement)([creator_1.use_strict, regexQuery, posUndefined, retstat])))), ]); includes.alternate = null; exports.default = includes;