Best JavaScript code snippet using wpt
object_value_builder.test.ts
Source:object_value_builder.test.ts
1/**2 * @license3 * Copyright 2020 Google LLC4 *5 * Licensed under the Apache License, Version 2.0 (the "License");6 * you may not use this file except in compliance with the License.7 * You may obtain a copy of the License at8 *9 * http://www.apache.org/licenses/LICENSE-2.010 *11 * Unless required by applicable law or agreed to in writing, software12 * distributed under the License is distributed on an "AS IS" BASIS,13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14 * See the License for the specific language governing permissions and15 * limitations under the License.16 */17import { expect } from 'chai';18import { ObjectValue } from '../../../src/model/object_value';19import { field, wrap, wrapObject } from '../../util/helpers';20describe('MutableObjectValue', () => {21 it('supports empty objectValues', () => {22 const objectValue = ObjectValue.empty();23 expect(objectValue.isEqual(ObjectValue.empty())).to.be.true;24 });25 it('sets single field', () => {26 const objectValue = ObjectValue.empty();27 objectValue.set(field('foo'), wrap('foo'));28 expect(objectValue.isEqual(wrapObject({ 'foo': 'foo' }))).to.be.true;29 });30 it('sets empty object', () => {31 const objectValue = ObjectValue.empty();32 objectValue.set(field('foo'), wrap({}));33 expect(objectValue.isEqual(wrapObject({ 'foo': {} }))).to.be.true;34 });35 it('sets multiple fields', () => {36 const objectValue = ObjectValue.empty();37 objectValue.set(field('foo'), wrap('foo'));38 objectValue.set(field('bar'), wrap('bar'));39 expect(objectValue.isEqual(wrapObject({ 'foo': 'foo', 'bar': 'bar' }))).to40 .be.true;41 });42 it('sets nested fields', () => {43 const objectValue = ObjectValue.empty();44 objectValue.set(field('a.b'), wrap('foo'));45 objectValue.set(field('c.d.e'), wrap('bar'));46 expect(47 objectValue.isEqual(48 wrapObject({ 'a': { 'b': 'foo' }, 'c': { 'd': { 'e': 'bar' } } })49 )50 ).to.be.true;51 });52 it('sets two fields in nested object', () => {53 const objectValue = ObjectValue.empty();54 objectValue.set(field('a.b'), wrap('foo'));55 objectValue.set(field('a.c'), wrap('bar'));56 expect(objectValue.isEqual(wrapObject({ 'a': { 'b': 'foo', 'c': 'bar' } })))57 .to.be.true;58 });59 it('sets field in nested object', () => {60 const objectValue = ObjectValue.empty();61 objectValue.set(field('a'), wrap({ b: 'foo' }));62 objectValue.set(field('a.c'), wrap('bar'));63 expect(objectValue.isEqual(wrapObject({ 'a': { 'b': 'foo', 'c': 'bar' } })))64 .to.be.true;65 });66 it('sets deeply nested field in nested object', () => {67 const objectValue = ObjectValue.empty();68 objectValue.set(field('a.b.c.d.e.f'), wrap('foo'));69 expect(70 objectValue.isEqual(71 wrapObject({72 'a': { 'b': { 'c': { 'd': { 'e': { 'f': 'foo' } } } } }73 })74 )75 ).to.be.true;76 });77 it('sets nested field multiple times', () => {78 const objectValue = ObjectValue.empty();79 objectValue.set(field('a.c'), wrap('foo'));80 objectValue.set(field('a'), wrap({ b: 'foo' }));81 expect(objectValue.isEqual(wrapObject({ 'a': { 'b': 'foo' } }))).to.be.true;82 });83 it('sets and deletes field', () => {84 const objectValue = ObjectValue.empty();85 objectValue.set(field('foo'), wrap('foo'));86 objectValue.delete(field('foo'));87 expect(objectValue.isEqual(ObjectValue.empty())).to.be.true;88 });89 it('sets and deletes nested field', () => {90 const objectValue = ObjectValue.empty();91 objectValue.set(field('a.b.c'), wrap('foo'));92 objectValue.set(field('a.b.d'), wrap('foo'));93 objectValue.set(field('f.g'), wrap('foo'));94 objectValue.set(field('h'), wrap('foo'));95 objectValue.delete(field('a.b.c'));96 objectValue.delete(field('h'));97 expect(98 objectValue.isEqual(99 wrapObject({ 'a': { 'b': { 'd': 'foo' } }, 'f': { g: 'foo' } })100 )101 ).to.be.true;102 });103 it('sets single field in existing object', () => {104 const objectValue = wrapObject({ a: 'foo' });105 objectValue.set(field('b'), wrap('foo'));106 expect(objectValue.isEqual(wrapObject({ a: 'foo', b: 'foo' }))).to.be.true;107 });108 it('overwrites field', () => {109 const objectValue = wrapObject({ a: 'foo' });110 objectValue.set(field('a'), wrap('bar'));111 expect(objectValue.isEqual(wrapObject({ a: 'bar' }))).to.be.true;112 });113 it('overwrites nested field', () => {114 const objectValue = wrapObject({115 a: { b: 'foo', c: { 'd': 'foo' } }116 });117 objectValue.set(field('a.b'), wrap('bar'));118 objectValue.set(field('a.c.d'), wrap('bar'));119 expect(120 objectValue.isEqual(wrapObject({ a: { b: 'bar', c: { 'd': 'bar' } } }))121 ).to.be.true;122 });123 it('overwrites deeply nested field', () => {124 const objectValue = wrapObject({ a: { b: 'foo' } });125 objectValue.set(field('a.b.c'), wrap('bar'));126 expect(objectValue.isEqual(wrapObject({ a: { b: { c: 'bar' } } }))).to.be127 .true;128 });129 it('merges existing object', () => {130 const objectValue = wrapObject({ a: { b: 'foo' } });131 objectValue.set(field('a.c'), wrap('foo'));132 expect(objectValue.isEqual(wrapObject({ a: { b: 'foo', c: 'foo' } }))).to.be133 .true;134 });135 it('overwrites nested object', () => {136 const objectValue = wrapObject({137 a: { b: { c: 'foo', d: 'foo' } }138 });139 objectValue.set(field('a.b'), wrap('bar'));140 expect(objectValue.isEqual(wrapObject({ a: { b: 'bar' } }))).to.be.true;141 });142 it('replaces nested object', () => {143 const singleValueObject = wrap({ c: 'bar' });144 const objectValue = wrapObject({ a: { b: 'foo' } });145 objectValue.set(field('a'), singleValueObject);146 expect(objectValue.isEqual(wrapObject({ a: { c: 'bar' } }))).to.be.true;147 });148 it('deletes single field', () => {149 const objectValue = wrapObject({ a: 'foo', b: 'foo' });150 objectValue.delete(field('a'));151 expect(objectValue.isEqual(wrapObject({ b: 'foo' }))).to.be.true;152 });153 it('deletes nested object', () => {154 const objectValue = wrapObject({155 a: { b: { c: 'foo', d: 'foo' }, f: 'foo' }156 });157 objectValue.delete(field('a.b'));158 expect(objectValue.isEqual(wrapObject({ a: { f: 'foo' } }))).to.be.true;159 });160 it('deletes non-existing field', () => {161 const objectValue = wrapObject({ a: 'foo' });162 objectValue.delete(field('b'));163 expect(objectValue.isEqual(wrapObject({ a: 'foo' }))).to.be.true;164 });165 it('deletes non-existing nested field', () => {166 const objectValue = wrapObject({ a: { b: 'foo' } });167 objectValue.delete(field('a.b.c'));168 expect(objectValue.isEqual(wrapObject({ a: { b: 'foo' } }))).to.be.true;169 });...
assertions.js
Source:assertions.js
1"use strict";2const _ = require("lodash");3const should = require("should");4should.Assertion.add(5 "matchObject",6 function (expected) {7 this.params = { operator: "match object" };8 for (const [keyPath, expectedValue] of Object.entries(expected)) {9 const objectValue = _.get(this.obj, keyPath);10 if (expectedValue === "_ANY_") {11 should(objectValue).not.be.undefined();12 } else if (expectedValue === "_STRING_") {13 should(objectValue).be.String();14 } else if (expectedValue === "_NUMBER_") {15 should(objectValue).be.Number();16 } else if (expectedValue === "_OBJECT_") {17 should(objectValue).be.Object();18 } else if (expectedValue === "_UNDEFINED_") {19 should(objectValue).be.undefined();20 } else if (expectedValue === "_DATE_NOW_") {21 should(objectValue).be.approximately(Date.now(), 1000);22 } else if (expectedValue === "_DATE_NOW_SEC_") {23 should(objectValue).be.approximately(Date.now() / 1000, 1000);24 } else if (_.isPlainObject(objectValue)) {25 should(objectValue).matchObject(26 expectedValue,27 `"${keyPath}" does not match. Expected "${JSON.stringify(28 expectedValue29 )}" have "${JSON.stringify(objectValue)}"`30 );31 } else if (_.isArray(objectValue)) {32 for (let i = 0; i < objectValue.length; i++) {33 should(objectValue[i]).matchObject(34 expectedValue[i],35 `"${keyPath}[${i}]" does not match. Expected "${JSON.stringify(36 expectedValue[i]37 )}" have "${JSON.stringify(objectValue[i])}"`38 );39 }40 } else {41 should(objectValue).match(42 expectedValue,43 `"${keyPath}" does not match. Expected "${JSON.stringify(44 expectedValue45 )}" have "${JSON.stringify(objectValue)}"`46 );47 }48 }49 },50 false...
collection.d.ts
Source:collection.d.ts
1import firebase from "firebase/app";2import { AddableObject, Decode, Encode, ObjectUid, QueryKey } from "./types";3import { Query } from "./query";4export declare class Collection<ObjectValue extends ObjectUid> {5 db: firebase.firestore.Firestore;6 collectionRef: firebase.firestore.CollectionReference<ObjectValue>;7 private converter;8 constructor(db: firebase.firestore.Firestore, collectionPath: string, encode?: Encode<ObjectValue>, decode?: Decode<ObjectValue>);9 doc(id?: string): firebase.firestore.DocumentReference<ObjectValue>;10 fetchByDocId(id: string): Promise<ObjectValue | undefined>;11 fetchAll(): Promise<ObjectValue[] | undefined>;12 add(obj: AddableObject<ObjectValue>): Promise<string>;13 set(obj: AddableObject<ObjectValue> | ObjectValue): Promise<string>;14 update(obj: ObjectValue): Promise<string>;15 delete(uid: string): Promise<string>;16 where(fieldPath: QueryKey<ObjectValue>, opStr: firebase.firestore.WhereFilterOp, value: any): Query<ObjectValue>;17 orderBy(fieldPath: QueryKey<ObjectValue>, directionStr?: firebase.firestore.OrderByDirection): Query<ObjectValue>;18 limit(limit: number): Query<ObjectValue>;19 onSnapshot(callback: (querySnapshot: firebase.firestore.QuerySnapshot, decode: (documentSnapshot: firebase.firestore.DocumentSnapshot<ObjectValue> | firebase.firestore.QueryDocumentSnapshot<ObjectValue>) => ObjectValue) => void): void;...
types.d.ts
Source:types.d.ts
1import firebase from "firebase/app";2import { Optional } from "utility-types";3export declare type ObjectUid = {4 uid: string;5};6export declare type AddableObject<ObjectValue extends ObjectUid> = Optional<ObjectValue, "uid">;7export declare type QueryKey<ObjectValue extends ObjectUid> = {8 [K in keyof ObjectValue]: K;9}[keyof ObjectValue] | firebase.firestore.FieldPath;10export declare type Encode<ObjectValue extends ObjectUid> = (obj: AddableObject<ObjectValue>) => ObjectValue;11export declare type Decode<ObjectValue extends ObjectUid> = (doc: firebase.firestore.DocumentSnapshot<ObjectValue>) => ObjectValue;12export interface Where<ObjectValue extends ObjectUid> {13 fieldPath: QueryKey<ObjectValue>;14 opStr: firebase.firestore.WhereFilterOp;15 value: any;16}17export declare type WhereQueries<ObjectValue extends ObjectUid> = Where<ObjectValue>[];18export interface Order<ObjectValue extends ObjectUid> {19 fieldPath: QueryKey<ObjectValue>;20 directionStr?: firebase.firestore.OrderByDirection;21}...
types.ts
Source:types.ts
1import firebase from "firebase/app";2import { Optional } from "utility-types";3export type ObjectUid = { uid: string };4export type AddableObject<ObjectValue extends ObjectUid> = Optional<5 ObjectValue,6 "uid"7>;8export type QueryKey<ObjectValue extends ObjectUid> =9 | { [K in keyof ObjectValue]: K }[keyof ObjectValue]10 | firebase.firestore.FieldPath;11export type Encode<ObjectValue extends ObjectUid> = (12 obj: AddableObject<ObjectValue>13) => ObjectValue;14export type Decode<ObjectValue extends ObjectUid> = (15 doc: firebase.firestore.DocumentSnapshot<ObjectValue>16) => ObjectValue;17export interface Where<ObjectValue extends ObjectUid> {18 fieldPath: QueryKey<ObjectValue>;19 opStr: firebase.firestore.WhereFilterOp;20 value: any;21}22export type WhereQueries<ObjectValue extends ObjectUid> = Where<ObjectValue>[];23export interface Order<ObjectValue extends ObjectUid> {24 fieldPath: QueryKey<ObjectValue>;25 directionStr?: firebase.firestore.OrderByDirection26}...
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3wpt.getLocations(function(err, data) {4 if (err) return console.error(err);5 console.log(data);6});7var wpt = require('webpagetest');8var wpt = new WebPageTest('www.webpagetest.org');9wpt.getLocations(function(err, data) {10 if (err) return console.error(err);11 console.log(data);12});13var wpt = require('webpagetest');14var wpt = new WebPageTest('www.webpagetest.org');15wpt.getLocations(function(err, data) {16 if (err) return console.error(err);17 console.log(data);18});19var wpt = require('webpagetest');20var wpt = new WebPageTest('www.webpagetest.org');21wpt.getLocations(function(err, data) {22 if (err) return console.error(err);23 console.log(data);24});25var wpt = require('webpagetest');26var wpt = new WebPageTest('www.webpagetest.org');27wpt.getLocations(function(err, data) {28 if (err) return console.error(err);29 console.log(data);30});31var wpt = require('webpagetest');32var wpt = new WebPageTest('www.webpagetest.org');33wpt.getLocations(function(err, data) {34 if (err) return console.error(err);35 console.log(data);36});37var wpt = require('webpagetest');38var wpt = new WebPageTest('www.webpagetest.org');39wpt.getLocations(function(err, data) {40 if (err) return console.error(err);41 console.log(data);42});43var wpt = require('webpagetest');
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err)4 console.log(err);5 console.log(data);6});7var wpt = require('webpagetest');8var wpt = new WebPageTest('www.webpagetest.org');9 if (err)10 console.log(err);11 console.log(data);12});13var wpt = require('webpagetest');14var wpt = new WebPageTest('www.webpagetest.org');15 if (err)16 console.log(err);17 console.log(data);18});19var wpt = require('webpagetest');20var wpt = new WebPageTest('www.webpagetest.org');21 if (err)22 console.log(err);23 console.log(data);24});25var wpt = require('webpagetest');26var wpt = new WebPageTest('www.webpagetest.org');27 if (err)28 console.log(err);29 console.log(data);30});31var wpt = require('webpagetest');32var wpt = new WebPageTest('www.webpagetest.org');33 if (err)34 console.log(err);35 console.log(data);36});37var wpt = require('webpagetest');38var wpt = new WebPageTest('www.webpagetest.org');39 if (err)40 console.log(err);41 console.log(data
Using AI Code Generation
1var wpt = require('wpt');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) return console.log(err);4 console.log(data);5 wpt.objectValue(data.data.testId, 'firstView', 'SpeedIndex', function(err, data) {6 if (err) return console.log(err);7 console.log(data);8 });9});
Using AI Code Generation
1var wpt = require('webpagetest');2var test = wpt('API_KEY');3var options = {4};5test.runTest(url, options, function(err, data) {6 if (err) {7 console.log(err);8 } else {9 test.getTestResults(data.data.testId, function(err, data) {10 if (err) {11 console.log(err);12 } else {13 console.log(data);14 }15 });16 }17});181. Fork it (<
Using AI Code Generation
1var wpt = require('wpt-api');2var wptInstance = new wpt('API_KEY');3 if (err) {4 console.log('Error: ' + err);5 } else {6 console.log(data);7 }8});
Using AI Code Generation
1var wpt = require('wpt');2var wptObject = new wpt('API_KEY');3wptObject.objectValue('test', 'test', 'test', function(err, data) {4 if(err) {5 console.log("Error = " + err);6 } else {7 console.log("Data = " + data);8 }9});
Using AI Code Generation
1const wptools = require('wptools');2const fs = require('fs');3const _ = require('lodash');4const async = require('async');5const request = require('request');6const cheerio = require('cheerio');7const csv = require('fast-csv');8const wptools = require('wptools');9const fs = require('fs');10const _ = require('lodash');11const async = require('async');12const request = require('request');13const cheerio = require('cheerio');14const csv = require('fast-csv');15var data = [];16var i = 0;17var wikiData = [];18var wikiData2 = [];19var wikiData3 = [];20var wikiData4 = [];21var wikiData5 = [];22var wikiData6 = [];23var wikiData7 = [];24var wikiData8 = [];25var wikiData9 = [];26var wikiData10 = [];27var wikiData11 = [];28var wikiData12 = [];29var wikiData13 = [];30var wikiData14 = [];31var wikiData15 = [];32var wikiData16 = [];33var wikiData17 = [];34var wikiData18 = [];35var wikiData19 = [];36var wikiData20 = [];37var wikiData21 = [];38var wikiData22 = [];39var wikiData23 = [];40var wikiData24 = [];41var wikiData25 = [];42var wikiData26 = [];43var wikiData27 = [];44var wikiData28 = [];45var wikiData29 = [];46var wikiData30 = [];47var wikiData31 = [];48var wikiData32 = [];49var wikiData33 = [];50var wikiData34 = [];51var wikiData35 = [];52var wikiData36 = [];53var wikiData37 = [];54var wikiData38 = [];55var wikiData39 = [];56var wikiData40 = [];57var wikiData41 = [];58var wikiData42 = [];59var wikiData43 = [];60var wikiData44 = [];61var wikiData45 = [];62var wikiData46 = [];63var wikiData47 = [];64var wikiData48 = [];65var wikiData49 = [];66var wikiData50 = [];67var wikiData51 = [];68var wikiData52 = [];69var wikiData53 = [];70var wikiData54 = [];71var wikiData55 = [];72var wikiData56 = [];73var wikiData57 = [];74var wikiData58 = [];75var wikiData59 = [];
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!