Best JavaScript code snippet using playwright-internal
types.js
Source:types.js
1// THIS FILE WAS AUTO-GENERATED2class User {3 constructor({ data = {}, prefix = '', types, opts, err, util }) {4 const withDefaults = opts && opts.defaults;5 // _id : string pkey autogen6 if (withDefaults || util._has(data._id)) {7 this._id = util._has(data._id) ? types.string(data._id, opts, err, prefix + '_id') : null;8 }9 // email : email10 if (withDefaults || util._has(data.email)) {11 this.email = util._has(data.email) ? types.email(data.email, opts, err, prefix + 'email') : err.no(prefix + 'email');12 }13 // passwordHash : string14 if (withDefaults || util._has(data.passwordHash)) {15 this.passwordHash = util._has(data.passwordHash) ? types.string(data.passwordHash, opts, err, prefix + 'passwordHash') : err.no(prefix + 'passwordHash');16 }17 // firstName : string18 if (withDefaults || util._has(data.firstName)) {19 this.firstName = util._has(data.firstName) ? types.string(data.firstName, opts, err, prefix + 'firstName') : err.no(prefix + 'firstName');20 }21 // lastName : string22 if (withDefaults || util._has(data.lastName)) {23 this.lastName = util._has(data.lastName) ? types.string(data.lastName, opts, err, prefix + 'lastName') : err.no(prefix + 'lastName');24 }25 }26}27class Book {28 constructor({ data = {}, prefix = '', types, opts, err, util }) {29 const withDefaults = opts && opts.defaults;30 // _id : string pkey autogen31 if (withDefaults || util._has(data._id)) {32 this._id = util._has(data._id) ? types.string(data._id, opts, err, prefix + '_id') : null;33 }34 // name : string35 if (withDefaults || util._has(data.name)) {36 this.name = util._has(data.name) ? types.string(data.name, opts, err, prefix + 'name') : err.no(prefix + 'name');37 }38 // year : int39 if (withDefaults || util._has(data.year)) {40 this.year = util._has(data.year) ? types.int(data.year, opts, err, prefix + 'year') : err.no(prefix + 'year');41 }42 // author : userid owner43 if (withDefaults || util._has(data.author)) {44 this.author = util._has(data.author) ? types.userid(data.author, opts, err, prefix + 'author') : err.no(prefix + 'author');45 }46 // comments : Comment[] embedded47 if (withDefaults || util._has(data.comments)) {48 this.comments = util._coll(types.Comment, data.comments, opts, err, prefix + 'comments.');49 }50 }51}52class Comment {53 constructor({ data = {}, prefix = '', types, opts, err, util }) {54 const withDefaults = opts && opts.defaults;55 // _id : string pkey autogen56 if (withDefaults || util._has(data._id)) {57 this._id = util._has(data._id) ? types.string(data._id, opts, err, prefix + '_id') : null;58 }59 // author : userid owner60 if (withDefaults || util._has(data.author)) {61 this.author = util._has(data.author) ? types.userid(data.author, opts, err, prefix + 'author') : err.no(prefix + 'author');62 }63 // content : string64 if (withDefaults || util._has(data.content)) {65 this.content = util._has(data.content) ? types.string(data.content, opts, err, prefix + 'content') : err.no(prefix + 'content');66 }67 }68}69class DeleteUserParams {70 constructor({ data = {}, prefix = '', types, opts, err, util }) {71 const withDefaults = opts && opts.defaults;72 // id : string73 if (withDefaults || util._has(data.id)) {74 this.id = util._has(data.id) ? types.string(data.id, opts, err, prefix + 'id') : err.no(prefix + 'id');75 }76 }77}78class GetUserProfileParams {79 constructor({ data = {}, prefix = '', types, opts, err, util }) {80 const withDefaults = opts && opts.defaults;81 // id : string82 if (withDefaults || util._has(data.id)) {83 this.id = util._has(data.id) ? types.string(data.id, opts, err, prefix + 'id') : err.no(prefix + 'id');84 }85 }86}87class AddUserBody {88 constructor({ data = {}, prefix = '', types, opts, err, util }) {89 const withDefaults = opts && opts.defaults;90 // username : string91 if (withDefaults || util._has(data.username)) {92 this.username = util._has(data.username) ? types.string(data.username, opts, err, prefix + 'username') : err.no(prefix + 'username');93 }94 // password : password95 if (withDefaults || util._has(data.password)) {96 this.password = util._has(data.password) ? types.password(data.password, opts, err, prefix + 'password') : err.no(prefix + 'password');97 }98 // email : email99 if (withDefaults || util._has(data.email)) {100 this.email = util._has(data.email) ? types.email(data.email, opts, err, prefix + 'email') : err.no(prefix + 'email');101 }102 // firstName : string103 if (withDefaults || util._has(data.firstName)) {104 this.firstName = util._has(data.firstName) ? types.string(data.firstName, opts, err, prefix + 'firstName') : err.no(prefix + 'firstName');105 }106 // lastName : string107 if (withDefaults || util._has(data.lastName)) {108 this.lastName = util._has(data.lastName) ? types.string(data.lastName, opts, err, prefix + 'lastName') : err.no(prefix + 'lastName');109 }110 }111}112class LoginBody {113 constructor({ data = {}, prefix = '', types, opts, err, util }) {114 const withDefaults = opts && opts.defaults;115 // username : string116 if (withDefaults || util._has(data.username)) {117 this.username = util._has(data.username) ? types.string(data.username, opts, err, prefix + 'username') : err.no(prefix + 'username');118 }119 // password : password120 if (withDefaults || util._has(data.password)) {121 this.password = util._has(data.password) ? types.password(data.password, opts, err, prefix + 'password') : err.no(prefix + 'password');122 }123 }124}125class UpdateUserProfileParams {126 constructor({ data = {}, prefix = '', types, opts, err, util }) {127 const withDefaults = opts && opts.defaults;128 // id : string129 if (withDefaults || util._has(data.id)) {130 this.id = util._has(data.id) ? types.string(data.id, opts, err, prefix + 'id') : err.no(prefix + 'id');131 }132 }133}134class UpdateUserProfileBody {135 constructor({ data = {}, prefix = '', types, opts, err, util }) {136 const withDefaults = opts && opts.defaults;137 // firstName : string138 if (withDefaults || util._has(data.firstName)) {139 this.firstName = util._has(data.firstName) ? types.string(data.firstName, opts, err, prefix + 'firstName') : err.no(prefix + 'firstName');140 }141 // lastName : string142 if (withDefaults || util._has(data.lastName)) {143 this.lastName = util._has(data.lastName) ? types.string(data.lastName, opts, err, prefix + 'lastName') : err.no(prefix + 'lastName');144 }145 }146}147class AddBookBody {148 constructor({ data = {}, prefix = '', types, opts, err, util }) {149 const withDefaults = opts && opts.defaults;150 // name : string151 if (withDefaults || util._has(data.name)) {152 this.name = util._has(data.name) ? types.string(data.name, opts, err, prefix + 'name') : err.no(prefix + 'name');153 }154 // year : int155 if (withDefaults || util._has(data.year)) {156 this.year = util._has(data.year) ? types.int(data.year, opts, err, prefix + 'year') : err.no(prefix + 'year');157 }158 }159}160class UpdateBookParams {161 constructor({ data = {}, prefix = '', types, opts, err, util }) {162 const withDefaults = opts && opts.defaults;163 // bookId : string164 if (withDefaults || util._has(data.bookId)) {165 this.bookId = util._has(data.bookId) ? types.string(data.bookId, opts, err, prefix + 'bookId') : err.no(prefix + 'bookId');166 }167 }168}169class UpdateBookBody {170 constructor({ data = {}, prefix = '', types, opts, err, util }) {171 const withDefaults = opts && opts.defaults;172 // name : string173 if (withDefaults || util._has(data.name)) {174 this.name = util._has(data.name) ? types.string(data.name, opts, err, prefix + 'name') : err.no(prefix + 'name');175 }176 // year : int177 if (withDefaults || util._has(data.year)) {178 this.year = util._has(data.year) ? types.int(data.year, opts, err, prefix + 'year') : err.no(prefix + 'year');179 }180 }181}182class DeleteBookParams {183 constructor({ data = {}, prefix = '', types, opts, err, util }) {184 const withDefaults = opts && opts.defaults;185 // bookId : string186 if (withDefaults || util._has(data.bookId)) {187 this.bookId = util._has(data.bookId) ? types.string(data.bookId, opts, err, prefix + 'bookId') : err.no(prefix + 'bookId');188 }189 }190}191class GetBookParams {192 constructor({ data = {}, prefix = '', types, opts, err, util }) {193 const withDefaults = opts && opts.defaults;194 // bookId : string195 if (withDefaults || util._has(data.bookId)) {196 this.bookId = util._has(data.bookId) ? types.string(data.bookId, opts, err, prefix + 'bookId') : err.no(prefix + 'bookId');197 }198 }199}200class AddCommentToBookParams {201 constructor({ data = {}, prefix = '', types, opts, err, util }) {202 const withDefaults = opts && opts.defaults;203 // bookId : string204 if (withDefaults || util._has(data.bookId)) {205 this.bookId = util._has(data.bookId) ? types.string(data.bookId, opts, err, prefix + 'bookId') : err.no(prefix + 'bookId');206 }207 }208}209class AddCommentToBookBody {210 constructor({ data = {}, prefix = '', types, opts, err, util }) {211 const withDefaults = opts && opts.defaults;212 // content : string213 if (withDefaults || util._has(data.content)) {214 this.content = util._has(data.content) ? types.string(data.content, opts, err, prefix + 'content') : err.no(prefix + 'content');215 }216 }217}218class DeleteCommentOfBookParams {219 constructor({ data = {}, prefix = '', types, opts, err, util }) {220 const withDefaults = opts && opts.defaults;221 // bookId : string222 if (withDefaults || util._has(data.bookId)) {223 this.bookId = util._has(data.bookId) ? types.string(data.bookId, opts, err, prefix + 'bookId') : err.no(prefix + 'bookId');224 }225 // commentId : string226 if (withDefaults || util._has(data.commentId)) {227 this.commentId = util._has(data.commentId) ? types.string(data.commentId, opts, err, prefix + 'commentId') : err.no(prefix + 'commentId');228 }229 }230}231class UpdateCommentOfBookParams {232 constructor({ data = {}, prefix = '', types, opts, err, util }) {233 const withDefaults = opts && opts.defaults;234 // bookId : string235 if (withDefaults || util._has(data.bookId)) {236 this.bookId = util._has(data.bookId) ? types.string(data.bookId, opts, err, prefix + 'bookId') : err.no(prefix + 'bookId');237 }238 // commentId : string239 if (withDefaults || util._has(data.commentId)) {240 this.commentId = util._has(data.commentId) ? types.string(data.commentId, opts, err, prefix + 'commentId') : err.no(prefix + 'commentId');241 }242 }243}244class UpdateCommentOfBookBody {245 constructor({ data = {}, prefix = '', types, opts, err, util }) {246 const withDefaults = opts && opts.defaults;247 // content : string248 if (withDefaults || util._has(data.content)) {249 this.content = util._has(data.content) ? types.string(data.content, opts, err, prefix + 'content') : err.no(prefix + 'content');250 }251 }252}253class ListCommentsOfBookParams {254 constructor({ data = {}, prefix = '', types, opts, err, util }) {255 const withDefaults = opts && opts.defaults;256 // bookId : string257 if (withDefaults || util._has(data.bookId)) {258 this.bookId = util._has(data.bookId) ? types.string(data.bookId, opts, err, prefix + 'bookId') : err.no(prefix + 'bookId');259 }260 }261}262class GetReadCommentsOfBookParams {263 constructor({ data = {}, prefix = '', types, opts, err, util }) {264 const withDefaults = opts && opts.defaults;265 // bookId : string266 if (withDefaults || util._has(data.bookId)) {267 this.bookId = util._has(data.bookId) ? types.string(data.bookId, opts, err, prefix + 'bookId') : err.no(prefix + 'bookId');268 }269 }270}271exports['SINGLETON typedefs'] = {272 User,273 Book,274 Comment,275 DeleteUserParams,276 GetUserProfileParams,277 AddUserBody,278 LoginBody,279 UpdateUserProfileParams,280 UpdateUserProfileBody,281 AddBookBody,282 UpdateBookParams,283 UpdateBookBody,284 DeleteBookParams,285 GetBookParams,286 AddCommentToBookParams,287 AddCommentToBookBody,288 DeleteCommentOfBookParams,289 UpdateCommentOfBookParams,290 UpdateCommentOfBookBody,291 ListCommentsOfBookParams,292 GetReadCommentsOfBookParams,...
debug.test.js
Source:debug.test.js
...14 });15 describe('api', () => {16 test('should expose debug function on component', () => {17 expect(component).toHaveProperty('debug');18 expect(component.withDefaults()).toHaveProperty('debug');19 });20 test('should expose debug function on shouldupdate', () => {21 expect(typeof shouldComponentUpdate.debug).toBe('function');22 expect(typeof shouldComponentUpdate.withDefaults().debug).toBe(23 'function'24 );25 });26 test('should expose debug function on shouldupdate from component', () => {27 expect(typeof component.shouldComponentUpdate.debug).toBe('function');28 expect(typeof component.withDefaults().shouldComponentUpdate.debug).toBe(29 'function'30 );31 expect(typeof component.withDefaults().shouldComponentUpdate.debug).toBe(32 'function'33 );34 });35 });36 describe('debugger', () => {37 beforeEach(() => {38 testContext.debug = console.debug;39 testContext.info = console.info;40 });41 afterEach(() => {42 console.debug = testContext.debug;43 console.info = testContext.info;44 });45 test('should use debug when available', done => {46 console.debug = function() {47 done();48 };49 console.info = function() {50 assert.fail('Should not trigger');51 done();52 };53 var localComp = component.withDefaults();54 localComp.debug();55 var Component = localComp('DisplayName', function() {56 return textNode('hello');57 });58 render(Component());59 });60 test('should use console.info if debug not available', done => {61 console.debug = void 0;62 console.info = function() {63 done();64 };65 var localComp = component.withDefaults();66 localComp.debug();67 var Component = localComp('DisplayName', function() {68 return textNode('hello');69 });70 render(Component());71 });72 test('should log on render when debug with displayname', done => {73 var localComp = component.withDefaults();74 localComp.debug(function logger(message) {75 expect(message).toContain('DisplayName');76 expect(message).toContain('render');77 done();78 });79 var Component = localComp('DisplayName', function() {80 return textNode('hello');81 });82 render(Component());83 });84 test('should log on render when debug with key', done => {85 var localComp = component.withDefaults();86 localComp.debug(function logger(message) {87 expect(message).toContain('foobar');88 expect(message).toContain('render');89 mount = undefined;90 done();91 });92 var Component = localComp(function({ children }) {93 return textNode('Hello');94 });95 const root = document.createElement('div');96 ReactDOM.render(Component('foobar'), root);97 });98 test('should only log components matching regex passed as parameter', done => {99 var localComp = component.withDefaults();100 localComp.debug(/My/, function logger(message) {101 expect(message).not.toContain('AnotherComponent');102 expect(message).toContain('MyComponent');103 done();104 });105 var AnotherComponent = localComp(function AnotherComponent() {106 return textNode('hello');107 });108 render(AnotherComponent());109 var Component = localComp(function MyComponent() {110 return textNode('hello');111 });112 render(Component());113 });114 test('should match on key', done => {115 var mount1 = global.document.createElement('div');116 var mount2 = global.document.createElement('div');117 var localComp = component.withDefaults();118 localComp.debug(/My/i, function logger(message) {119 expect(message).not.toContain('anotherKey');120 expect(message).toContain('myKey');121 mount1 = undefined;122 mount2 = undefined;123 done();124 });125 var AnotherComponent = localComp(function() {126 return textNode('hello');127 });128 ReactDOM.render(AnotherComponent({ key: 'anotherKey' }), mount1);129 var Component = localComp(function() {130 return textNode('hello');131 });132 ReactDOM.render(Component({ key: 'myKey' }), mount2);133 });134 test('should log with unknown on render', done => {135 var localComp = component.withDefaults();136 localComp.debug(function logger(message) {137 expect(message).toContain('Unknown');138 expect(message).toContain('render');139 done();140 });141 var Component = localComp(function() {142 return textNode('hello');143 });144 render(Component());145 });146 test('should log on number of cursors differ', done => {147 var data = Immutable.fromJS({ foo: 'bar', bar: [1, 2, 3] });148 var one = Cursor.from(data, ['foo']);149 var two = Cursor.from(data, ['bar']);150 var localComp = shouldComponentUpdate.withDefaults();151 localComp.debug(function logger(message) {152 expect(message).toContain('true (props have changed)');153 done();154 });155 shouldUpdate(156 {157 cursor: {158 one: one159 },160 nextCursor: {161 one: one,162 two: two163 }164 },165 localComp166 );167 });168 test('should log on cursors have different keys', done => {169 var data = Immutable.fromJS({ foo: 'bar', bar: [1, 2, 3] });170 var one = Cursor.from(data, ['foo']);171 var two = Cursor.from(data, ['bar']);172 var localComp = shouldComponentUpdate.withDefaults();173 localComp.debug(function logger(message) {174 expect(message).toContain('true (props have changed)');175 done();176 });177 shouldUpdate(178 {179 cursor: {180 one: one181 },182 nextCursor: {183 two: two184 }185 },186 localComp187 );188 });189 test('should log on cursors have changed', done => {190 var data = Immutable.fromJS({ foo: 'bar', bar: [1, 2, 3] });191 var one = Cursor.from(data, ['foo']);192 var two = Cursor.from(data, ['bar']);193 var localComp = shouldComponentUpdate.withDefaults();194 localComp.debug(function logger(message) {195 expect(message).toContain('true (props have changed)');196 done();197 });198 shouldUpdate(199 {200 cursor: one,201 nextCursor: two202 },203 localComp204 );205 });206 test('should log on state has changed', done => {207 var localComp = shouldComponentUpdate.withDefaults();208 localComp.debug(function logger(message) {209 expect(message).toContain('true (state has changed)');210 done();211 });212 shouldUpdate(213 {214 state: { foo: 1 },215 nextState: { foo: 2 }216 },217 localComp218 );219 });220 test('should log on properties have changed', done => {221 var localComp = shouldComponentUpdate.withDefaults();222 localComp.debug(function logger(message) {223 expect(message).toContain('true (props have changed)');224 done();225 });226 shouldUpdate(227 {228 cursor: { foo: 1 },229 nextCursor: { foo: 2 }230 },231 localComp232 );233 });234 test('should log on unchanged', done => {235 var localComp = shouldComponentUpdate.withDefaults();236 localComp.debug(function logger(message) {237 expect(message).toContain('shouldComponentUpdate => false');238 done();239 });240 shouldNotUpdate(241 {242 cursor: { foo: 1 },243 nextCursor: { foo: 1 }244 },245 localComp246 );247 });248 });249 beforeEach(() => {...
handlers.js
Source:handlers.js
1const ByteBuffer = require('bytebuffer');2const Long = require('long');3const SteamID = require('steamid');45const Underlords = require('./index.js');6const Language = require('./language.js');7const Protos = require('./protobufs/generated/_load.js');89let handlers = Underlords.prototype._handlers;1011// ClientWelcome and ClientConnectionStatus12handlers[Language.ClientWelcome] = function(body) {13 let proto = decodeProto(Protos.CMsgClientWelcome, body);1415 this.emit('debug', "GC connection established");16 this.haveGCSession = true;17 clearTimeout(this._helloTimer);18 this._helloTimer = null;19 this._helloTimerMs = 1000;20 this.emit('connectedToGC');21};2223handlers[Language.ClientConnectionStatus] = function(body) {24 let proto = decodeProto(Protos.CMsgConnectionStatus, body);25 this.emit('connectionStatus', proto.status, proto);2627 let statusStr = proto.status;28 for (let i in Underlords.GCConnectionStatus) {29 if (Underlords.GCConnectionStatus.hasOwnProperty(i) && Underlords.GCConnectionStatus[i] == proto.status) {30 statusStr = i;31 }32 }3334 this.emit('debug', "Connection status: " + statusStr + " (" + proto.status + "); have session: " + (this.haveGCSession ? 'yes' : 'no'));3536 if (proto.status != Underlords.GCConnectionStatus.HAVE_SESSION && this.haveGCSession) {37 this.emit('disconnectedFromGC', proto.status);38 this.haveGCSession = false;39 this._connect(); // Try to reconnect40 }41};4243// PlayersProfile44handlers[Language.GetProfileResponse] = function(body){45 let proto = decodeProto(Protos.CMsgClientToGCGetProfileResponse, body);46 this.emit('playersProfile', proto);47};4849// MatchHistory50handlers[Language.GetMatchHistoryResponse] = function(body){51 let proto = decodeProto(Protos.CMsgClientToGCGetMatchHistoryResponse, body);52 this.emit('matchList', proto);53}5455// Match Information56handlers[Language.GetProfileResponse] = function(body){57 let proto = decodeProto(Protos.CMsgClientToGCGetProfileResponse, body);58 this.emit('playersProfile', proto);59};6061function decodeProto(proto, encoded) {62 if (ByteBuffer.isByteBuffer(encoded)) {63 encoded = encoded.toBuffer();64 }6566 let decoded = proto.decode(encoded);67 let objNoDefaults = proto.toObject(decoded, {"longs": String});68 let objWithDefaults = proto.toObject(decoded, {"defaults": true, "longs": String});69 return replaceDefaults(objNoDefaults, objWithDefaults);7071 function replaceDefaults(noDefaults, withDefaults) {72 if (Array.isArray(withDefaults)) {73 return withDefaults.map((val, idx) => replaceDefaults(noDefaults[idx], val));74 }7576 for (let i in withDefaults) {77 if (!withDefaults.hasOwnProperty(i)) {78 continue;79 }8081 if (withDefaults[i] && typeof withDefaults[i] === 'object' && !Buffer.isBuffer(withDefaults[i])) {82 // Covers both object and array cases, both of which will work83 // Won't replace empty arrays, but that's desired behavior84 withDefaults[i] = replaceDefaults(noDefaults[i], withDefaults[i]);85 } else if (typeof noDefaults[i] === 'undefined' && isReplaceableDefaultValue(withDefaults[i])) {86 withDefaults[i] = null;87 }88 }8990 return withDefaults;91 }9293 function isReplaceableDefaultValue(val) {94 if (Buffer.isBuffer(val) && val.length == 0) {95 // empty buffer is replaceable96 return true;97 }9899 if (Array.isArray(val)) {100 // empty array is not replaceable (empty repeated fields)101 return false;102 }103104 if (val === '0') {105 // Zero as a string is replaceable (64-bit integer)106 return true;107 }108109 // Anything falsy is true110 return !val;111 }
...
index.js
Source:index.js
1const objectAssign = require('object-assign')2const logger = require("../logger/logger.js")3const { merge } = require("../../../src/utils/lang/index.js")4const base = {5 core:{6 sdkKey:'',7 host:'https://api.unlaunch.io',8 s3BucketHost : 'https://api-unlaunch-io-master-flags.s3-us-west-1.amazonaws.com',9 },10 intervals: {11 // fetch feature updates each 15 sec12 pollingInterval: 15,13 // publish metrics each 15 sec14 metricsFlushInterval: 15,15 // flush events every 15 seconds 16 eventsFlushInterval: 15,17 // http connection timeout 18 httpConnectionTimeout: 1,19 },20 size:{21 eventsQueueSize: 100,22 metricsQueueSize: 10023 },24 mode: {25 offlineMode: false26 },27 urls: {28 sdk: '/api/v1/flags',29 events: '/api/v1/events',30 impressions:'/api/v1/impressions'31 },32 sendImpression:false,33 logger: logger('info')34};35function fromSecondsToMillis(n) {36 return n * 1000;37}38function defaults(custom) {39 const withDefaults = merge(base, custom);40 41 if (withDefaults.core.host != "https://api.unlaunch.io") {42 withDefaults.core.s3BucketHost = "https://app-qa-unlaunch-io-master-flags.s3-us-west-1.amazonaws.com";43 }44 if(withDefaults.intervals.pollingInterval < base.intervals.pollingInterval){45 withDefaults.intervals.pollingInterval = base.intervals.pollingInterval46 }47 if(withDefaults.intervals.eventsFlushInterval < base.intervals.eventsFlushInterval){48 withDefaults.intervals.eventsFlushInterval = base.intervals.eventsFlushInterval49 }50 if(withDefaults.intervals.httpConnectionTimeout < base.intervals.httpConnectionTimeout){51 withDefaults.intervals.httpConnectionTimeout = base.intervals.httpConnectionTimeout52 }53 54 if(withDefaults.intervals.metricsFlushInterval < base.intervals.metricsFlushInterval){55 withDefaults.intervals.metricsFlushInterval = base.intervals.metricsFlushInterval56 }57 58 if(withDefaults.size.metricsQueueSize < base.intervals.metricsQueueSize){59 withDefaults.intervals.metricsQueueSize = base.intervals.metricsQueueSize60 }61 if(withDefaults.hasOwnProperty(logger)){62 withDefaults.logger = logger(level)63 }64 withDefaults.intervals.pollingInterval = fromSecondsToMillis(withDefaults.intervals.pollingInterval);65 withDefaults.intervals.metricsFlushInterval = fromSecondsToMillis(withDefaults.intervals.metricsFlushInterval);66 withDefaults.intervals.httpConnectionTimeout = fromSecondsToMillis(withDefaults.intervals.httpConnectionTimeout);67 withDefaults.intervals.eventsFlushInterval = fromSecondsToMillis(withDefaults.intervals.eventsFlushInterval);68 return withDefaults;69}70const ConfigsFactory = (configurations) => objectAssign(Object.create({}), defaults(configurations));71module.exports = {72 ConfigsFactory...
options.js
Source:options.js
1const xtend = require('xtend');2const Constants = require('./constants');3const defaultOptions = {4 defaultMode: Constants.modes.SIMPLE_SELECT,5 keybindings: true,6 touchEnabled: true,7 clickBuffer: 2,8 touchBuffer: 25,9 boxSelect: true,10 displayControlsDefault: true,11 styles: require('./lib/theme'),12 modes: require('./modes'),13 controls: {},14 userProperties: false15};16const showControls = {17 point: true,18 line_string: true,19 polygon: true,20 trash: true,21 combine_features: true,22 uncombine_features: true23};24const hideControls = {25 point: false,26 line_string: false,27 polygon: false,28 trash: false,29 combine_features: false,30 uncombine_features: false31};32function addSources(styles, sourceBucket) {33 return styles.map(style => {34 if (style.source) return style;35 return xtend(style, {36 id: `${style.id}.${sourceBucket}`,37 source: (sourceBucket === 'hot') ? Constants.sources.HOT : Constants.sources.COLD38 });39 });40}41module.exports = function(options = {}) {42 let withDefaults = xtend(options);43 if (!options.controls) {44 withDefaults.controls = {};45 }46 if (options.displayControlsDefault === false) {47 withDefaults.controls = xtend(hideControls, options.controls);48 } else {49 withDefaults.controls = xtend(showControls, options.controls);50 }51 withDefaults = xtend(defaultOptions, withDefaults);52 // Layers with a shared source should be adjacent for performance reasons53 withDefaults.styles = addSources(withDefaults.styles, 'cold').concat(addSources(withDefaults.styles, 'hot'));54 return withDefaults;...
group__withdefaults.js
Source:group__withdefaults.js
1var group__withdefaults =2[3 [ "NCDFLT_DISABLE", "d1/df7/group__withdefaults.html#ga2f7ad46580c9d311a31ed090baa7e22e", null ],4 [ "NCWD_MODE", "d1/df7/group__withdefaults.html#ga3d13afb72bb0c0098f47e8b612cdeb81", [5 [ "NCWD_MODE_NOTSET", "d1/df7/group__withdefaults.html#gga3d13afb72bb0c0098f47e8b612cdeb81aa1b9b1a955b894632ed97b2bfe1aa43b", null ],6 [ "NCWD_MODE_ALL", "d1/df7/group__withdefaults.html#gga3d13afb72bb0c0098f47e8b612cdeb81a8b422cc5bcfa0ddd20d52ec6e71362db", null ],7 [ "NCWD_MODE_TRIM", "d1/df7/group__withdefaults.html#gga3d13afb72bb0c0098f47e8b612cdeb81af84df646ebc7d47ea9fd3ea0827f59b3", null ],8 [ "NCWD_MODE_EXPLICIT", "d1/df7/group__withdefaults.html#gga3d13afb72bb0c0098f47e8b612cdeb81acf0be9f54f89bf4321478fb9030e4f8c", null ],9 [ "NCWD_MODE_ALL_TAGGED", "d1/df7/group__withdefaults.html#gga3d13afb72bb0c0098f47e8b612cdeb81a0bd005f27bf5b0dd51aa8d61656f8089", null ]10 ] ],11 [ "ncdflt_get_basic_mode", "d1/df7/group__withdefaults.html#gab8fcb8a41ad1124d34d59e31166a3d24", null ],12 [ "ncdflt_get_supported", "d1/df7/group__withdefaults.html#ga607415761ceb4c832a334e898f1ad8a6", null ],13 [ "ncdflt_rpc_get_withdefaults", "d1/df7/group__withdefaults.html#gacdabc187c9ca8f1faa7d9016decf3561", null ],14 [ "ncdflt_set_basic_mode", "d1/df7/group__withdefaults.html#ga69f613716993c78f10032958929553f3", null ],15 [ "ncdflt_set_supported", "d1/df7/group__withdefaults.html#gaacdfebb053cae501e72e32220305d55b", null ]...
withDefaults.js
Source:withDefaults.js
1import test from 'tape'2import withDefaults from '../../src/object/withDefaults'3test('withDefaults -- Fills in nil values with defaults', t => {4 t.same(withDefaults({ a: 1, b: 2, c: 3 }, { b: 2, c: 3 }), { a: 1, b: 2, c: 3 })5 t.same(withDefaults({ a: 1, b: 2, c: 3 }, { b: 10, c: 4 }), { a: 1, b: 10, c: 4 })6 t.same(withDefaults({ a: 1, b: 2, c: 3 }, { a: null, b: 10, c: 4 }), { a: 1, b: 10, c: 4 })7 t.same(withDefaults({ a: 1, b: 2, c: 3 }, { b: NaN, c: 4 }), { a: 1, b: 2, c: 4 })8 t.end()9})10test('withDefaults -- Is curried', t => {11 const fn = withDefaults({ a: 1, b: 2, c: 3 })12 t.same(fn({ b: 10, c: 4 }), { a: 1, b: 10, c: 4 })13 t.same(fn({ a: 12 }), { a: 12, b: 2, c: 3 })14 t.same(fn({}), { a: 1, b: 2, c: 3 })15 t.end()...
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: 'example.png' });7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const page = await browser.newPage();13 await page.screenshot({ path: 'example.png' });14 await browser.close();15})();16const { chromium } = require('playwright');17(async () => {18 const browser = await chromium.launch();19 const context = await browser.newContext();20 const page = await context.newPage();21 await page.screenshot({ path: 'example.png' });22 await browser.close();23})();24const { chromium } = require('playwright');25(async () => {26 const browser = await chromium.launch();27 const page = await browser.newPage();28 await page.screenshot({ path: 'example.png' });29 await browser.close();30})();31const { chromium } = require('playwright');32(async () => {33 const browser = await chromium.launch();34 const page = await browser.newPage();35 await page.screenshot({ path: 'example.png' });36 await browser.close();37})();38const { chromium } = require('playwright');39(async () => {40 const browser = await chromium.launch();41 const page = await browser.newPage();42 await page.screenshot({ path: 'example.png' });43 await browser.close();44})();
Using AI Code Generation
1const { chromium, webkit, firefox } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await browser.close();8})();9const { chromium, webkit, firefox } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const page = await browser.newPage();13 await page.screenshot({ path: `example.png` });14 await browser.close();15})();16const { chromium, webkit, firefox } = require('playwright');17(async () => {18 const browser = await chromium.launch();19 const page = await browser.newPage();20 await page.screenshot({ path: `example.png` });21 await page.close();22})();23const { chromium, webkit, firefox } = require('playwright');24(async () => {25 const browser = await chromium.launch();26 const context = await browser.newContext();27 const page = await context.newPage();28 await page.screenshot({ path: `example.png` });29 await context.close();30})();31const { chromium, webkit, firefox } = require('playwright');32(async () => {33 const browser = await chromium.launch();34 const context = await browser.newContext();35 const page = await context.newPage();36 await page.screenshot({ path: `example.png` });37 await browser.close();38})();39const { chromium, webkit, firefox } = require('playwright');40(async () => {41 const browser = await chromium.launch();42 const page = await browser.newPage();43 await page.screenshot({ path: `example.png` });44 await browser.close();45})();
Using AI Code Generation
1const { chromium } = require('playwright');2const { withDefaults } = require('playwright/lib/server/browserType');3const browserType = withDefaults(chromium, { headless: false });4(async () => {5 const browser = await browserType.launch();6 const page = await browser.newPage();7 await page.screenshot({ path: `example.png` });8 await browser.close();9})();10const { chromium } = require('playwright');11const { launchServer } = require('playwright/lib/server/browserServer');12(async () => {13 const browserServer = await launchServer(chromium, { headless: false });14 const browser = await browserServer.connect();15 const page = await browser.newPage();16 await page.screenshot({ path: `example.png` });17 await browser.close();18 await browserServer.close();19})();20const { chromium } = require('playwright');21const { launchPersistent } = require('playwright/lib/server/browserType');22(async () => {23 const { browser, context } = await launchPersistent(chromium, { headless: false }, { userDataDir: `./user_data_dir` });24 const page = await context.newPage();25 await page.screenshot({ path: `example.png` });26 await browser.close();27})();28const { chromium } = require('playwright');29const { launch } = require('playwright/lib/server/browserType');30(async () => {31 const browser = await launch(chromium, { headless: false });32 const page = await browser.newPage();33 await page.screenshot({ path: `example.png` });34 await browser.close();35})();36const { chromium } = require('playwright');37const { launch } = require('playwright/lib/server/browserType');38(async () => {39 const browser = await launch(chromium, { headless: false });
Using AI Code Generation
1const {chromium} = require('playwright');2const {withDefaults} = require('playwright/lib/server/browserType');3const {withChromiumDefaults} = require('playwright/lib/server/chromium');4const {withWebKitDefaults} = require('playwright/lib/server/webkit');5const {withFirefoxDefaults} = require('playwright/lib/server/firefox');6const {withAndroidDefaults} = require('playwright/lib/server/android');7const {withIosDefaults} = require('playwright/lib/server/ios');8const {withAndroidBrowser} = require('playwright/lib/server/android/androidDevice');9const {withIosBrowser} = require('playwright/lib/server/ios/iosDevice');10const {withAndroidDevice} = require('playwright/lib/server/android/androidLauncher');11const {withIosDevice} = require('playwright/lib/server/ios/iosLauncher');12const {withAndroid} = require('playwright/lib/server/android/android');13const {withIos} = require('playwright/lib/server/ios/ios');14const {withBrowserType} = require('playwright/lib/server/browserType');15const {withBrowserServer} = require('playwright/lib/server/browserServer');16const {withBrowser} = require('playwright/lib/server/browser');17const {withPage} = require('playwright/lib/server/page');18const {withAndroidContext} = require('playwright/lib/server/android/androidBrowser');19const {withIosContext} = require('playwright/lib/server/ios/iosBrowser');20const {withAndroidPage} = require('playwright/lib/server/android/androidPage');21const {withIosPage} = require('playwright/lib/server/ios/iosPage');
Using AI Code Generation
1const playwright = require('playwright');2const { chromium } = require('playwright');3const { webkit } = require('playwright');4const { firefox } = require('playwright');5(async () => {6 const browser = await chromium.launch();7 const context = await browser.newContext();8 const page = await context.newPage();9 await page.screenshot({ path: `example.png` });10 await browser.close();11})();12(async () => {13 const browser = await webkit.launch();14 const context = await browser.newContext();15 const page = await context.newPage();16 await page.screenshot({ path: `example.png` });17 await browser.close();18})();19(async () => {20 const browser = await firefox.launch();21 const context = await browser.newContext();22 const page = await context.newPage();23 await page.screenshot({ path: `example.png` });24 await browser.close();25})();26(async () => {27 const browser = await chromium.launch();28 const context = await browser.newContext();29 const page = await context.newPage();30 await page.screenshot({ path: `example.png` });31 await browser.close();32})();33(async () => {34 const browser = await webkit.launch();35 const context = await browser.newContext();36 const page = await context.newPage();37 await page.screenshot({ path: `example.png` });38 await browser.close();39})();40(async () => {
Using AI Code Generation
1const { chromium } = require('playwright');2const { withDefaults } = require('@playwright/test');3const context = await chromium.launch();4const page = await context.newPage();5const playwright = withDefaults({6});7await page.waitForSelector('text=Get started', { timeout: 60000 });8await page.waitForSelector('text=Get started', { timeout: 10000 });9await context.close();10const { chromium } = require('playwright');11const { withTimeout } = require('@playwright/test');12const context = await chromium.launch();13const page = await context.newPage();14const playwright = withTimeout(30000);15await page.waitForSelector('text=Get started', { timeout: 60000 });16await page.waitForSelector('text=Get started', { timeout: 10000 });17await context.close();18const { chromium } = require('playwright');19const { withTimeout } = require('@playwright/test');20const context = await chromium.launch();21const page = await context.newPage();22const playwright = withTimeout(30000);23await page.waitForSelector('text=Get started', { timeout: 60000 });24await page.waitForSelector('text=Get started', { timeout: 10000 });25await context.close();
Using AI Code Generation
1const {chromium, firefox, webkit, devices, webkitBrowser, firefoxBrowser, chromiumBrowser, withDefaults} = require('playwright');2const browser = withDefaults(chromiumBrowser, { timeout: 60000 });3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.screenshot({ path: `example.png` });8 await browser.close();9})();10const {chromium, firefox, webkit, devices, webkitBrowser, firefoxBrowser, chromiumBrowser, withDefaults} = require('playwright');11const browser = withDefaults(chromiumBrowser, { timeout: 60000 });12(async () => {13 const browser = await chromium.launch();14 const context = await browser.newContext();15 const page = await context.newPage();16 await page.screenshot({ path: `example.png` });17 await browser.close();18})();19const {chromium, firefox, webkit, devices, webkitBrowser, firefoxBrowser, chromiumBrowser, withDefaults} = require('playwright');20const browser = withDefaults(chromiumBrowser, { timeout: 60000 });21(async () => {22 const browser = await chromium.launch();23 const context = await browser.newContext();24 const page = await context.newPage();25 await page.screenshot({ path: `example.png` });26 await browser.close();27})();28const {chromium, firefox, webkit, devices, webkitBrowser, firefoxBrowser, chromiumBrowser, withDefaults} = require('playwright');29const browser = withDefaults(chromiumBrowser, { timeout: 60000 });30(async () => {31 const browser = await chromium.launch();32 const context = await browser.newContext();33 const page = await context.newPage();
Using AI Code Generation
1const { chromium } = require('playwright');2const { withDefaults } = require('@playwright/test');3const { setDefaultTimeout } = require('@playwright/test');4const { beforeEach } = require('@playwright/test');5const { test } = require('@playwright/test');6const browser = chromium;7const contextOptions = {8 viewport: {9 },10 geolocation: { longitude: -122.4194, latitude: 37.7749 },11 extraHTTPHeaders: {12 },13 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',14};15const testOptions = { timeout: 30000 };16const test = withDefaults(testOptions, test);17const context = browser.newContext(contextOptions);18setDefaultTimeout(30000);19beforeEach(async ({ page }) => {20});21test('test 1', async ({ page }) => {22 await page.click('input[name="q"]');23 await page.fill('input[name="q"]', 'playwright');24 await page.keyboard.press('Enter');25 await page.waitForURL(/q=playwright/);26 await page.screenshot({ path: `test1.png` });27});28test('test 2', async ({ page }) => {29 await page.click('input[name="q"]');30 await page.fill('input[name="q"]', 'playwright');31 await page.keyboard.press('Enter');32 await page.waitForURL(/q=playwright/);33 await page.screenshot({ path: `test2.png` });34});35test('test 3', async ({ page }) => {
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!!