Best JavaScript code snippet using playwright-internal
expression.js
Source:expression.js
...205 'permute': new OperatorToken('P', evalPermute, 2, 'left', 50),206 'mod': new OperatorToken(' mod ', evalMod, 2, 'left', 50)207 }208 var functions = {209 'sin': new FunctionToken('sin', evalSin, 1, 'left', 50),210 'cos': new FunctionToken('cos', evalCos, 1, 'left', 50),211 'tan': new FunctionToken('tan', evalTan, 1, 'left', 50),212 'sin_i': new FunctionToken('sin<sup>-1</sup>', evalSinI, 1, 'left', 50),213 'cos_i': new FunctionToken('cos<sup>-1</sup>', evalCosI, 1, 'left', 50),214 'tan_i': new FunctionToken('tan<sup>-1</sup>', evalTanI, 1, 'left', 50),215 'sqrt': new FunctionToken(' √', evalSqrt, 1, 'left', 50),216 'cbrt': new FunctionToken('<sup>3</sup>√', evalCbrt, 1, 'left', 50),217 'log10': new FunctionToken('log', evalLog10, 1, 'left', 50),218 'e_x': new FunctionToken('e^', evalE, 1, 'left', 50),219 'ln': new FunctionToken('ln', evalLn, 1, 'left', 50),220 'inverse': new FunctionToken('<sup>-1</sup>', evalInverse, 1, 'right', 50),221 'factorial': new FunctionToken('!', evalFactorial, 1, 'right', 50),222 'square': new FunctionToken('<sup>2</sup>', evalSquare, 1, 'right', 50),223 'cube': new FunctionToken('<sup>3</sup>', evalCube, 1, 'right', 50),224 'percent': new FunctionToken('%', evalPercent, 1, 'right', 50),225 'floor': new FunctionToken('floor', evalFloor, 1, 'left', 50),226 'ceil': new FunctionToken('ceil', evalCeil, 1, 'left', 50)227 }228 var constants = {229 'pi': new NumberToken(Math.PI, 'π'),230 '2pi': new NumberToken(2 * Math.PI, '2π')231 }232 /**233 * Convert a number's base.234 *235 * @param number {String/Number} The original number236 * @param currentBase {Number} The number's current base237 * @param newBase {Number} The desired base.238 * @returns {String/Number} the number in the new base239 */240 function convertBase (number, currentBase, newBase) {...
token-before.js
Source:token-before.js
1import {2 WhiteSpace,3 Delim,4 Ident,5 Function as FunctionToken,6 Url,7 BadUrl,8 AtKeyword,9 Hash,10 Percentage,11 Dimension,12 Number as NumberToken,13 String as StringToken,14 Colon,15 LeftParenthesis,16 RightParenthesis,17 CDC18} from '../tokenizer/index.js';19const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+)20const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-)21const code = (type, value) => {22 if (type === Delim) {23 type = value;24 }25 if (typeof type === 'string') {26 const charCode = type.charCodeAt(0);27 return charCode > 0x7F ? 0x8000 : charCode << 8;28 }29 return type;30};31// https://www.w3.org/TR/css-syntax-3/#serialization32// The only requirement for serialization is that it must "round-trip" with parsing,33// that is, parsing the stylesheet must produce the same data structures as parsing,34// serializing, and parsing again, except for consecutive <whitespace-token>s,35// which may be collapsed into a single token.36const specPairs = [37 [Ident, Ident],38 [Ident, FunctionToken],39 [Ident, Url],40 [Ident, BadUrl],41 [Ident, '-'],42 [Ident, NumberToken],43 [Ident, Percentage],44 [Ident, Dimension],45 [Ident, CDC],46 [Ident, LeftParenthesis],47 [AtKeyword, Ident],48 [AtKeyword, FunctionToken],49 [AtKeyword, Url],50 [AtKeyword, BadUrl],51 [AtKeyword, '-'],52 [AtKeyword, NumberToken],53 [AtKeyword, Percentage],54 [AtKeyword, Dimension],55 [AtKeyword, CDC],56 [Hash, Ident],57 [Hash, FunctionToken],58 [Hash, Url],59 [Hash, BadUrl],60 [Hash, '-'],61 [Hash, NumberToken],62 [Hash, Percentage],63 [Hash, Dimension],64 [Hash, CDC],65 [Dimension, Ident],66 [Dimension, FunctionToken],67 [Dimension, Url],68 [Dimension, BadUrl],69 [Dimension, '-'],70 [Dimension, NumberToken],71 [Dimension, Percentage],72 [Dimension, Dimension],73 [Dimension, CDC],74 ['#', Ident],75 ['#', FunctionToken],76 ['#', Url],77 ['#', BadUrl],78 ['#', '-'],79 ['#', NumberToken],80 ['#', Percentage],81 ['#', Dimension],82 ['#', CDC], // https://github.com/w3c/csswg-drafts/pull/687483 ['-', Ident],84 ['-', FunctionToken],85 ['-', Url],86 ['-', BadUrl],87 ['-', '-'],88 ['-', NumberToken],89 ['-', Percentage],90 ['-', Dimension],91 ['-', CDC], // https://github.com/w3c/csswg-drafts/pull/687492 [NumberToken, Ident],93 [NumberToken, FunctionToken],94 [NumberToken, Url],95 [NumberToken, BadUrl],96 [NumberToken, NumberToken],97 [NumberToken, Percentage],98 [NumberToken, Dimension],99 [NumberToken, '%'],100 [NumberToken, CDC], // https://github.com/w3c/csswg-drafts/pull/6874101 ['@', Ident],102 ['@', FunctionToken],103 ['@', Url],104 ['@', BadUrl],105 ['@', '-'],106 ['@', CDC], // https://github.com/w3c/csswg-drafts/pull/6874107 ['.', NumberToken],108 ['.', Percentage],109 ['.', Dimension],110 ['+', NumberToken],111 ['+', Percentage],112 ['+', Dimension],113 ['/', '*']114];115// validate with scripts/generate-safe116const safePairs = specPairs.concat([117 [Ident, Hash],118 [Dimension, Hash],119 [Hash, Hash],120 [AtKeyword, LeftParenthesis],121 [AtKeyword, StringToken],122 [AtKeyword, Colon],123 [Percentage, Percentage],124 [Percentage, Dimension],125 [Percentage, FunctionToken],126 [Percentage, '-'],127 [RightParenthesis, Ident],128 [RightParenthesis, FunctionToken],129 [RightParenthesis, Percentage],130 [RightParenthesis, Dimension],131 [RightParenthesis, Hash],132 [RightParenthesis, '-']133]);134function createMap(pairs) {135 const isWhiteSpaceRequired = new Set(136 pairs.map(([prev, next]) => (code(prev) << 16 | code(next)))137 );138 return function(prevCode, type, value) {139 const nextCode = code(type, value);140 const nextCharCode = value.charCodeAt(0);141 const emitWs =142 (nextCharCode === HYPHENMINUS &&143 type !== Ident &&144 type !== FunctionToken &&145 type !== CDC) ||146 (nextCharCode === PLUSSIGN)147 ? isWhiteSpaceRequired.has(prevCode << 16 | nextCharCode << 8)148 : isWhiteSpaceRequired.has(prevCode << 16 | nextCode);149 if (emitWs) {150 this.emit(' ', WhiteSpace, true);151 }152 return nextCode;153 };154}155export const spec = createMap(specPairs);...
require-spaces-in-function-expression.js
Source:require-spaces-in-function-expression.js
1/**2 * Requires space before `()` or `{}` in function expressions (both [named](#requirespacesinnamedfunctionexpression)3 * and [anonymous](#requirespacesinanonymousfunctionexpression)).4 *5 * Type: `Object`6 *7 * Values: `"beforeOpeningRoundBrace"` and `"beforeOpeningCurlyBrace"` as child properties.8 * Child properties must be set to `true`.9 *10 * #### Example11 *12 * ```js13 * "requireSpacesInFunctionExpression": {14 * "beforeOpeningRoundBrace": true,15 * "beforeOpeningCurlyBrace": true16 * }17 * ```18 *19 * ##### Valid20 *21 * ```js22 * var x = function () {};23 * var x = function a () {};24 * var x = async function () {};25 * var x = async function a () {};26 * ```27 *28 * ##### Invalid29 *30 * ```js31 * var x = function() {};32 * var x = function (){};33 * var x = function(){};34 * var x = function a() {};35 * var x = function a (){};36 * var x = function a(){};37 * var x = function async a() {};38 * var x = function async a (){};39 * var x = function async a(){};40 * ```41 */42var assert = require('assert');43module.exports = function() {};44module.exports.prototype = {45 configure: function(options) {46 assert(47 typeof options === 'object',48 this.getOptionName() + ' option must be the object'49 );50 if ('beforeOpeningRoundBrace' in options) {51 assert(52 options.beforeOpeningRoundBrace === true,53 this.getOptionName() + '.beforeOpeningRoundBrace ' +54 'property requires true value or should be removed'55 );56 }57 if ('beforeOpeningCurlyBrace' in options) {58 assert(59 options.beforeOpeningCurlyBrace === true,60 this.getOptionName() + '.beforeOpeningCurlyBrace ' +61 'property requires true value or should be removed'62 );63 }64 assert(65 options.beforeOpeningCurlyBrace || options.beforeOpeningRoundBrace,66 this.getOptionName() + ' must have beforeOpeningCurlyBrace or beforeOpeningRoundBrace property'67 );68 this._beforeOpeningRoundBrace = Boolean(options.beforeOpeningRoundBrace);69 this._beforeOpeningCurlyBrace = Boolean(options.beforeOpeningCurlyBrace);70 },71 getOptionName: function() {72 return 'requireSpacesInFunctionExpression';73 },74 check: function(file, errors) {75 var beforeOpeningRoundBrace = this._beforeOpeningRoundBrace;76 var beforeOpeningCurlyBrace = this._beforeOpeningCurlyBrace;77 file.iterateNodesByType('FunctionExpression', function(node) {78 // for a named function, use node.id79 var functionNode = node.id || node;80 var parent = node.parentElement;81 // Ignore syntactic sugar for getters and setters.82 if (parent.type === 'Property' && (parent.kind === 'get' || parent.kind === 'set')) {83 return;84 }85 // shorthand or constructor methods86 if (parent.method || parent.type === 'MethodDefinition') {87 functionNode = parent.key;88 }89 if (beforeOpeningRoundBrace) {90 var functionToken = file.getFirstNodeToken(functionNode);91 if (node.async && functionToken.value === 'async') {92 functionToken = file.getNextToken(functionToken);93 }94 // if generator, set token to be * instead95 if (node.generator && functionToken.value === 'function') {96 functionToken = file.getNextToken(functionToken);97 }98 errors.assert.whitespaceBetween({99 token: functionToken,100 nextToken: file.getNextToken(functionToken),101 message: 'Missing space before opening round brace'102 });103 }104 if (beforeOpeningCurlyBrace) {105 var bodyToken = file.getFirstNodeToken(node.body);106 errors.assert.whitespaceBetween({107 token: file.getPrevToken(bodyToken),108 nextToken: bodyToken,109 message: 'Missing space before opening curly brace'110 });111 }112 });113 }...
disallow-spaces-in-function.js
Source:disallow-spaces-in-function.js
1/**2 * Disallows space before `()` or `{}` in function expressions (both [named](#disallowspacesinnamedfunctionexpression)3 * and [anonymous](#disallowspacesinanonymousfunctionexpression)) and function declarations.4 *5 * Type: `Object`6 *7 * Values: `"beforeOpeningRoundBrace"` and `"beforeOpeningCurlyBrace"` as child properties.8 * Child properties must be set to `true`.9 *10 * #### Example11 *12 * ```js13 * "disallowSpacesInFunction": {14 * "beforeOpeningRoundBrace": true,15 * "beforeOpeningCurlyBrace": true16 * }17 * ```18 *19 * ##### Valid20 *21 * ```js22 * var x = function(){};23 * var x = function a(){};24 * function a(){}25 * ```26 *27 * ##### Invalid28 *29 * ```js30 * var x = function() {};31 * var x = function (){};32 * var x = function () {};33 * var x = function a() {};34 * var x = function a (){};35 * var x = function a () {};36 * function a() {}37 * function a (){}38 * function a () {}39 * ```40 */41var assert = require('assert');42module.exports = function() {};43module.exports.prototype = {44 configure: function(options) {45 assert(46 typeof options === 'object',47 this.getOptionName() + ' option must be the object'48 );49 if ('beforeOpeningRoundBrace' in options) {50 assert(51 options.beforeOpeningRoundBrace === true,52 this.getOptionName() + '.beforeOpeningRoundBrace ' +53 'property requires true value or should be removed'54 );55 }56 if ('beforeOpeningCurlyBrace' in options) {57 assert(58 options.beforeOpeningCurlyBrace === true,59 this.getOptionName() + '.beforeOpeningCurlyBrace ' +60 'property requires true value or should be removed'61 );62 }63 assert(64 options.beforeOpeningCurlyBrace || options.beforeOpeningRoundBrace,65 this.getOptionName() + ' must have beforeOpeningCurlyBrace or beforeOpeningRoundBrace property'66 );67 this._beforeOpeningRoundBrace = Boolean(options.beforeOpeningRoundBrace);68 this._beforeOpeningCurlyBrace = Boolean(options.beforeOpeningCurlyBrace);69 },70 getOptionName: function() {71 return 'disallowSpacesInFunction';72 },73 check: function(file, errors) {74 var beforeOpeningRoundBrace = this._beforeOpeningRoundBrace;75 var beforeOpeningCurlyBrace = this._beforeOpeningCurlyBrace;76 file.iterateNodesByType(['FunctionDeclaration', 'FunctionExpression'], function(node) {77 // for a named function, use node.id78 var functionNode = node.id || node;79 var parent = node.parentElement;80 // Ignore syntactic sugar for getters and setters.81 if (parent.type === 'Property' && (parent.kind === 'get' || parent.kind === 'set')) {82 return;83 }84 // shorthand or constructor methods85 if (parent.method || parent.type === 'MethodDefinition') {86 functionNode = parent.key;87 }88 if (beforeOpeningRoundBrace) {89 var functionToken = file.getFirstNodeToken(functionNode);90 if (node.async && functionToken.value === 'async') {91 functionToken = file.getNextToken(functionToken);92 }93 // if generator, set token to be * instead94 if (node.generator && functionToken.value === 'function') {95 functionToken = file.getNextToken(functionToken);96 }97 errors.assert.noWhitespaceBetween({98 token: functionToken,99 nextToken: file.getNextToken(functionToken),100 message: 'Illegal space before opening round brace'101 });102 }103 if (beforeOpeningCurlyBrace) {104 var bodyToken = file.getFirstNodeToken(node.body);105 errors.assert.noWhitespaceBetween({106 token: file.getPrevToken(bodyToken),107 nextToken: bodyToken,108 message: 'Illegal space before opening curly brace'109 });110 }111 });112 }...
disallow-spaces-in-function-expression.js
Source:disallow-spaces-in-function-expression.js
1/**2 * Disallows space before `()` or `{}` in function expressions (both [named](#disallowspacesinnamedfunctionexpression)3 * and [anonymous](#disallowspacesinanonymousfunctionexpression)).4 *5 * Type: `Object`6 *7 * Values: `"beforeOpeningRoundBrace"` and `"beforeOpeningCurlyBrace"` as child properties.8 * Child properties must be set to `true`.9 *10 * #### Example11 *12 * ```js13 * "disallowSpacesInFunctionExpression": {14 * "beforeOpeningRoundBrace": true,15 * "beforeOpeningCurlyBrace": true16 * }17 * ```18 *19 * ##### Valid20 *21 * ```js22 * var x = function(){};23 * var x = function a(){};24 * var x = async function(){};25 * var x = async function a(){};26 * ```27 *28 * ##### Invalid29 *30 * ```js31 * var x = function() {};32 * var x = function (){};33 * var x = function () {};34 * var x = function a() {};35 * var x = function a (){};36 * var x = function a () {};37 * var x = async function () {};38 * var x = async function a() {};39 * var x = async function a (){};40 * var x = async function a () {};41 * ```42 */43var assert = require('assert');44module.exports = function() {};45module.exports.prototype = {46 configure: function(options) {47 assert(48 typeof options === 'object',49 this.getOptionName() + ' option must be the object'50 );51 if ('beforeOpeningRoundBrace' in options) {52 assert(53 options.beforeOpeningRoundBrace === true,54 this.getOptionName() + '.beforeOpeningRoundBrace ' +55 'property requires true value or should be removed'56 );57 }58 if ('beforeOpeningCurlyBrace' in options) {59 assert(60 options.beforeOpeningCurlyBrace === true,61 this.getOptionName() + '.beforeOpeningCurlyBrace ' +62 'property requires true value or should be removed'63 );64 }65 assert(66 options.beforeOpeningCurlyBrace || options.beforeOpeningRoundBrace,67 this.getOptionName() + ' must have beforeOpeningCurlyBrace or beforeOpeningRoundBrace property'68 );69 this._beforeOpeningRoundBrace = Boolean(options.beforeOpeningRoundBrace);70 this._beforeOpeningCurlyBrace = Boolean(options.beforeOpeningCurlyBrace);71 },72 getOptionName: function() {73 return 'disallowSpacesInFunctionExpression';74 },75 check: function(file, errors) {76 var beforeOpeningRoundBrace = this._beforeOpeningRoundBrace;77 var beforeOpeningCurlyBrace = this._beforeOpeningCurlyBrace;78 file.iterateNodesByType('FunctionExpression', function(node) {79 // for a named function, use node.id80 var functionNode = node.id || node;81 if (beforeOpeningRoundBrace) {82 var functionToken = file.getFirstNodeToken(functionNode);83 if (node.async && functionToken.value === 'async') {84 functionToken = file.getNextToken(functionToken);85 }86 // if generator, set token to be * instead87 if (node.generator && functionToken.value === 'function') {88 functionToken = file.getNextToken(functionToken);89 }90 errors.assert.noWhitespaceBetween({91 token: functionToken,92 nextToken: file.getNextToken(functionToken),93 message: 'Illegal space before opening round brace'94 });95 }96 if (beforeOpeningCurlyBrace) {97 var bodyToken = file.getFirstNodeToken(node.body);98 errors.assert.noWhitespaceBetween({99 token: file.getPrevToken(bodyToken),100 nextToken: bodyToken,101 message: 'Illegal space before opening curly brace'102 });103 }104 });105 }...
disallow-spaces-in-anonymous-function-expression.js
Source:disallow-spaces-in-anonymous-function-expression.js
1/**2 * Disallows space before `()` or `{}` in anonymous function expressions.3 *4 * Type: `Object`5 *6 * Values: `"beforeOpeningRoundBrace"` and `"beforeOpeningCurlyBrace"` as child properties.7 * Child properties must be set to `true`.8 *9 * #### Example10 *11 * ```js12 * "disallowSpacesInAnonymousFunctionExpression": {13 * "beforeOpeningRoundBrace": true,14 * "beforeOpeningCurlyBrace": true15 * }16 * ```17 *18 * ##### Valid19 *20 * ```js21 * var foo = function(){};22 * var Foo = {23 * foo: function(){}24 * }25 * array.map(function(){});26 * ```27 *28 * ##### Invalid29 *30 * ```js31 * var foo = function () {};32 * var Foo = {33 * foo: function (){}34 * }35 * array.map(function() {});36 * ```37 */38var assert = require('assert');39module.exports = function() {};40module.exports.prototype = {41 configure: function(options) {42 assert(43 typeof options === 'object',44 this.getOptionName() + ' option must be the object'45 );46 if ('beforeOpeningRoundBrace' in options) {47 assert(48 options.beforeOpeningRoundBrace === true,49 this.getOptionName() + '.beforeOpeningRoundBrace ' +50 'property requires true value or should be removed'51 );52 }53 if ('beforeOpeningCurlyBrace' in options) {54 assert(55 options.beforeOpeningCurlyBrace === true,56 this.getOptionName() + '.beforeOpeningCurlyBrace ' +57 'property requires true value or should be removed'58 );59 }60 assert(61 options.beforeOpeningCurlyBrace || options.beforeOpeningRoundBrace,62 this.getOptionName() + ' must have beforeOpeningCurlyBrace ' +63 ' or beforeOpeningRoundBrace property'64 );65 this._beforeOpeningRoundBrace = Boolean(options.beforeOpeningRoundBrace);66 this._beforeOpeningCurlyBrace = Boolean(options.beforeOpeningCurlyBrace);67 },68 getOptionName: function() {69 return 'disallowSpacesInAnonymousFunctionExpression';70 },71 check: function(file, errors) {72 var beforeOpeningRoundBrace = this._beforeOpeningRoundBrace;73 var beforeOpeningCurlyBrace = this._beforeOpeningCurlyBrace;74 file.iterateNodesByType(['FunctionExpression'], function(node) {75 var functionNode = node;76 // anonymous function expressions only77 if (node.id) {78 return;79 }80 if (beforeOpeningRoundBrace) {81 var functionToken = file.getFirstNodeToken(functionNode);82 if (node.async && functionToken.value === 'async') {83 functionToken = file.getNextToken(functionToken);84 }85 // if generator, set token to be * instead86 if (node.generator && functionToken.value === 'function') {87 functionToken = file.getNextToken(functionToken);88 }89 errors.assert.noWhitespaceBetween({90 token: functionToken,91 nextToken: file.getNextToken(functionToken),92 message: 'Illegal space before opening round brace'93 });94 }95 if (beforeOpeningCurlyBrace) {96 var bodyToken = file.getFirstNodeToken(node.body);97 errors.assert.noWhitespaceBetween({98 token: file.getPrevToken(bodyToken),99 nextToken: bodyToken,100 message: 'Illegal space before opening curly brace'101 });102 }103 });104 }...
require-spaces-in-function-declaration.js
Source:require-spaces-in-function-declaration.js
1/**2 * Requires space before `()` or `{}` in function declarations.3 *4 * Type: `Object`5 *6 * Values: `"beforeOpeningRoundBrace"` and `"beforeOpeningCurlyBrace"` as child properties.7 * Child properties must be set to `true`.8 *9 * #### Example10 *11 * ```js12 * "requireSpacesInFunctionDeclaration": {13 * "beforeOpeningRoundBrace": true,14 * "beforeOpeningCurlyBrace": true15 * }16 * ```17 *18 * ##### Valid19 *20 * ```js21 * function a () {}22 * ```23 *24 * ##### Invalid25 *26 * ```js27 * function a() {}28 * function a (){}29 * function a(){}30 * ```31 */32var assert = require('assert');33module.exports = function() {};34module.exports.prototype = {35 configure: function(options) {36 assert(37 typeof options === 'object',38 this.getOptionName() + ' option must be the object'39 );40 if ('beforeOpeningRoundBrace' in options) {41 assert(42 options.beforeOpeningRoundBrace === true,43 this.getOptionName() + '.beforeOpeningRoundBrace ' +44 'property requires true value or should be removed'45 );46 }47 if ('beforeOpeningCurlyBrace' in options) {48 assert(49 options.beforeOpeningCurlyBrace === true,50 this.getOptionName() + '.beforeOpeningCurlyBrace ' +51 'property requires true value or should be removed'52 );53 }54 assert(55 options.beforeOpeningCurlyBrace || options.beforeOpeningRoundBrace,56 this.getOptionName() + ' must have beforeOpeningCurlyBrace or beforeOpeningRoundBrace property'57 );58 this._beforeOpeningRoundBrace = Boolean(options.beforeOpeningRoundBrace);59 this._beforeOpeningCurlyBrace = Boolean(options.beforeOpeningCurlyBrace);60 },61 getOptionName: function() {62 return 'requireSpacesInFunctionDeclaration';63 },64 check: function(file, errors) {65 var beforeOpeningRoundBrace = this._beforeOpeningRoundBrace;66 var beforeOpeningCurlyBrace = this._beforeOpeningCurlyBrace;67 file.iterateNodesByType(['FunctionDeclaration'], function(node) {68 // Exception for `export default function` #137669 if (!node.id) {70 return;71 }72 if (beforeOpeningRoundBrace) {73 // for a named function, use node.id74 var functionToken = file.getFirstNodeToken(node.id || node);75 if (node.async && functionToken.value === 'async') {76 functionToken = file.getNextToken(functionToken);77 }78 // if generator, set token to be * instead79 if (node.generator && functionToken.value === 'function') {80 functionToken = file.getNextToken(functionToken);81 }82 errors.assert.whitespaceBetween({83 token: functionToken,84 nextToken: file.getNextToken(functionToken),85 message: 'Missing space before opening round brace'86 });87 }88 if (beforeOpeningCurlyBrace) {89 var bodyToken = file.getFirstNodeToken(node.body);90 errors.assert.whitespaceBetween({91 token: file.getPrevToken(bodyToken),92 nextToken: bodyToken,93 message: 'Missing space before opening curly brace'94 });95 }96 });97 }...
disallow-spaces-in-function-declaration.js
Source:disallow-spaces-in-function-declaration.js
1/**2 * Disallows space before `()` or `{}` in function declarations.3 *4 * Type: `Object`5 *6 * Values: `"beforeOpeningRoundBrace"` and `"beforeOpeningCurlyBrace"` as child properties.7 * Child properties must be set to `true`.8 *9 * #### Example10 *11 * ```js12 * "disallowSpacesInFunctionDeclaration": {13 * "beforeOpeningRoundBrace": true,14 * "beforeOpeningCurlyBrace": true15 * }16 * ```17 *18 * ##### Valid19 *20 * ```js21 * function a(){}22 * ```23 *24 * ##### Invalid25 *26 * ```js27 * function a() {}28 * function a (){}29 * function a () {}30 * ```31 */32var assert = require('assert');33module.exports = function() {};34module.exports.prototype = {35 configure: function(options) {36 assert(37 typeof options === 'object',38 this.getOptionName() + ' option must be the object'39 );40 if ('beforeOpeningRoundBrace' in options) {41 assert(42 options.beforeOpeningRoundBrace === true,43 this.getOptionName() + '.beforeOpeningRoundBrace ' +44 'property requires true value or should be removed'45 );46 }47 if ('beforeOpeningCurlyBrace' in options) {48 assert(49 options.beforeOpeningCurlyBrace === true,50 this.getOptionName() + '.beforeOpeningCurlyBrace ' +51 'property requires true value or should be removed'52 );53 }54 assert(55 options.beforeOpeningCurlyBrace || options.beforeOpeningRoundBrace,56 this.getOptionName() + ' must have beforeOpeningCurlyBrace or beforeOpeningRoundBrace property'57 );58 this._beforeOpeningRoundBrace = Boolean(options.beforeOpeningRoundBrace);59 this._beforeOpeningCurlyBrace = Boolean(options.beforeOpeningCurlyBrace);60 },61 getOptionName: function() {62 return 'disallowSpacesInFunctionDeclaration';63 },64 check: function(file, errors) {65 var beforeOpeningRoundBrace = this._beforeOpeningRoundBrace;66 var beforeOpeningCurlyBrace = this._beforeOpeningCurlyBrace;67 file.iterateNodesByType(['FunctionDeclaration'], function(node) {68 // Exception for `export default function` #137669 if (!node.id) {70 return;71 }72 if (beforeOpeningRoundBrace) {73 var functionToken = file.getFirstNodeToken(node.id);74 if (node.async && functionToken.value === 'async') {75 functionToken = file.getNextToken(functionToken);76 }77 // if generator, set token to be * instead78 if (node.generator && functionToken.value === 'function') {79 functionToken = file.getNextToken(functionToken);80 }81 errors.assert.noWhitespaceBetween({82 token: functionToken,83 nextToken: file.getNextToken(functionToken),84 message: 'Illegal space before opening round brace'85 });86 }87 if (beforeOpeningCurlyBrace) {88 var bodyToken = file.getFirstNodeToken(node.body);89 errors.assert.noWhitespaceBetween({90 token: file.getPrevToken(bodyToken),91 nextToken: bodyToken,92 message: 'Illegal space before opening curly brace'93 });94 }95 });96 }...
Using AI Code Generation
1const { FunctionToken } = require('playwright/lib/server/chromium/crConnection.js');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const page = await browser.newPage();6 const token = new FunctionToken(page, async () => {7 const { document } = window;8 const elements = document.querySelectorAll('h1');9 return elements.length;10 });11 const result = await token.evaluate();12 console.log('Number of h1 elements:', result);13 await browser.close();14})();15const { FunctionToken } = require('playwright/lib/server/chromium/crConnection.js');16const { chromium } = require('playwright');17(async () => {18 const browser = await chromium.launch();19 const page = await browser.newPage();20 const token = new FunctionToken(page, async () => {21 const { document } = window;22 const elements = document.querySelectorAll('h1');23 return elements.length;24 });25 const result = await token.evaluate();26 console.log('Number of h1 elements:', result);27 await browser.close();28})();29const { FunctionToken } = require('playwright/lib/server/chromium/crConnection.js');30const { chromium } = require('playwright');31(async () => {32 const browser = await chromium.launch();33 const page = await browser.newPage();34 const token = new FunctionToken(page, async () => {35 const { document } = window;36 const elements = document.querySelectorAll('h1');37 return elements.length;38 });39 const result = await token.evaluate();40 console.log('Number of h1 elements:', result);41 await browser.close();42})();43const { FunctionToken } = require('playwright/lib/server/chromium/crConnection.js');44const { chromium } = require('playwright');45(async () => {46 const browser = await chromium.launch();
Using AI Code Generation
1const { FunctionToken } = require('playwright/lib/protocol/protocol');2const { FunctionToken } = require('playwright/lib/protocol/protocol');3const { FunctionToken } = require('playwright/lib/protocol/protocol');4const { FunctionToken } = require('playwright/lib/protocol/protocol');5const { FunctionToken } = require('playwright/lib/protocol/protocol');6const { FunctionToken } = require('playwright/lib/protocol/protocol');7const { FunctionToken } = require('playwright/lib/protocol/protocol');8const { FunctionToken } = require('playwright/lib/protocol/protocol');9const { FunctionToken } = require('playwright/lib/protocol/protocol');10const { FunctionToken } = require('playwright/lib/protocol/protocol');11const { FunctionToken } = require('playwright/lib/protocol/protocol');
Using AI Code Generation
1const { FunctionToken } = require('playwright-core/lib/server/frames');2const { Page } = require('playwright-core');3const { FunctionToken } = require('playwright-core/lib/server/frames');4const { Page } = require('playwright-core');5async function main() {6 const page = await browser.newPage();7 const search = await page.$('input[name="q"]');8 await search.type('hello world', { delay: 100 });9 await search.press('Enter');10 await page.screenshot({ path: 'google.png' });11 await page.close();12}13main();14const { FunctionToken } = require('playwright-core/lib/server/frames');15const { FunctionToken } = require('playwright/lib/server/frames');16const { Page } = require('playwright');
Using AI Code Generation
1const { FunctionToken } = require('@playwright/test');2module.exports = { FunctionToken };3const { FunctionToken } = require('./test');4test('my test', async ({ page }) => {5 await page.click(FunctionToken('myFunction'));6});7const { FunctionToken } = require('@playwright/test');8module.exports = { FunctionToken };9const { FunctionToken } = require('./test');10function getFunctionTokenValue(tokenName) {11 return FunctionToken(tokenName);12}13test('my test', async ({ page }) => {14 const token = getFunctionTokenValue('myFunction');15 await page.click(token);16});17const { FunctionToken } = require('@playwright/test');18module.exports = { FunctionToken };19const { FunctionToken } = require('./test');20function getFunctionTokenValue(tokenName) {21 return FunctionToken(tokenName);22}23test('my test', async ({ page }) => {24 const token = getFunctionTokenValue('myFunction');25 await page.click(token);26});
Using AI Code Generation
1const { FunctionToken } = require('playwright/lib/server/frames');2const frame = page.mainFrame();3const token = new FunctionToken(frame, 'return "Hello World";');4const result = await frame.evaluate(token);5const { FunctionToken } = require('playwright/lib/server/frames');6const frame = page.mainFrame();7const token = new FunctionToken(frame, 'return "Hello World";');8const result = await frame.evaluate(token);9const { FunctionToken } = require('playwright/lib/server/frames');10const frame = page.mainFrame();11const token = new FunctionToken(frame, 'return "Hello World";');12const result = await frame.evaluate(token);13const { FunctionToken } = require('playwright/lib/server/frames');14const frame = page.mainFrame();15const token = new FunctionToken(frame, 'return "Hello World";');16const result = await frame.evaluate(token);17const { FunctionToken } = require('playwright/lib/server/frames');18const frame = page.mainFrame();19const token = new FunctionToken(frame, 'return "Hello World";');20const result = await frame.evaluate(token);21const { FunctionToken } = require('playwright/lib/server/frames');22const frame = page.mainFrame();23const token = new FunctionToken(frame, 'return "Hello World";');24const result = await frame.evaluate(token);25const { FunctionToken } = require('playwright/lib/server/frames');26const frame = page.mainFrame();27const token = new FunctionToken(frame, 'return "Hello World";');28const result = await frame.evaluate(token);
Using AI Code Generation
1const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');2const token = new FunctionToken(() => 123);3console.log(token.value());4const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');5const token = new FunctionToken(() => 123);6console.log(token.value());7const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');8const token = new FunctionToken(() => 123);9console.log(token.value());10const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');11const token = new FunctionToken(() => 123);12console.log(token.value());13const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');14const token = new FunctionToken(() => 123);15console.log(token.value());16const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');17const token = new FunctionToken(() => 123);18console.log(token.value());19const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');20const token = new FunctionToken(() => 123);21console.log(token.value());22const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');23const token = new FunctionToken(() => 123);24console.log(token.value());25const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');26const token = new FunctionToken(() => 123);27console.log(token.value());28const { FunctionToken } = require('playwright/lib/server/chromium/crConnection');
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!