Best JavaScript code snippet using appium-xcuitest-driver
store.js
Source:store.js
...156 let sArr = uniqueArr(store.stables);157 let cArr = [];//éå çg158 //æ¾åºéå çg,è¿éæä¼åç空é´,å¯åªçsArrçé¿åº¦159 Object.keys(group.state).forEach(key => {160 let realKey = parseKey(key, {x: group.x, y: group.y}).key;161 if (group.state[key] === 1) {162 if (parseKey(realKey).x < 0 || parseKey(realKey).x > config.COL - 1) {163 //è¶
åºå·¦å³164 //console.log('è¶
åºå·¦å³');165 cArr.push(parseKey(key).x);166 }167 sArr.forEach(sg => {168 if (realKey === sg) {169 //åçéå 170 cArr.push(parseKey(key).x);171 }172 })173 }174 });175 //ä¿®æ£å°åéä½ç½®, åªæå·¦ãå³éè¦ä¿®æ£ï¼ä¸ä¸ä¸éè¦.176 uniqueArr(cArr).forEach(x => {177 if (origin === 0) {178 //æ转åä¿®å¤179 if (x < 2) {180 //è¿éç2æ¯å 为16个æ¹åï¼ä»å°äºç¬¬2åå¼å§æ¯å·¦æ¹ï¼ä»¥æ¤ç±»æ¨181 //左边éå ,å°å³ç§»182 console.log('ä¿®å¤å·¦è¾¹');183 group.x += 1;184 }185 if (x > 1) {186 //å³è¾¹éå ï¼å°å·¦ç§»187 console.log('ä¿®å¤å³è¾¹');188 group.x -= 1;189 }190 } else if (origin === 1) {191 //å·¦å³ç§»å¨åä¿®å¤192 if (x <= 2) {193 //è¿éç2æ¯å 为16个æ¹åï¼ä»å°äºç¬¬2åå¼å§æ¯å·¦æ¹ï¼ä»¥æ¤ç±»æ¨194 //左边éå ,å°å³ç§»195 console.log('ä¿®å¤å·¦è¾¹');196 group.x += 1;197 }198 } else if (origin === 2) {199 if (x >= 1) {200 //å³è¾¹éå ï¼å°å·¦ç§»ï¼Iç±»åä»1åå¼å§201 console.log('ä¿®å¤å³è¾¹');202 group.x -= 1;203 }204 }205 });206 return group;207}208/**209 * å°key转æ¢æåæ 210 * @param key211 * @param offset å移é212 * @returns {{}}213 */214function parseKey(key, offset) {215 offset = offset || {x: 0, y: 0};216 let x = parseInt(key.split('*')[0]) + offset.x;217 let y = parseInt(key.split('*')[1]) + offset.y;218 return {x: x, y: y, key: x + '*' + y};219}220/**221 * è·åæ大å¯ä¸è½çè·ç¦»222 * @param group223 * @returns {number}224 */225function getEndGroupGap(group) {226 let arr = groupToArray(group);227 let minGap = config.ROW;228 let sArr = uniqueArr(store.stables);229 arr.forEach(a => {230 //åä¸ä¸ªæå°é´é231 if (config.ROW - parseKey(a).y < minGap) {232 minGap = config.ROW - parseKey(a).y;233 }234 //å½åºé¨è¿æå
¶ä»ç¨³å®çæ¹å235 sArr.forEach(s => {236 if (parseKey(a).x === parseKey(s).x && parseKey(s).y > parseKey(a).y && parseKey(s).y - parseKey(a).y < minGap) {237 minGap = parseKey(s).y - parseKey(a).y;238 }239 })240 });241 return minGap - 1;//å»é¤éå¤å242}243/**244 * çéåºææå®å¿å245 * @param group246 * @returns {Array}247 */248function groupToArray(group) {249 let arr = [];250 for (let key in group.state) {251 if (group.state[key] > 0) {252 let x = parseInt(key.split('*')[0]);253 let y = parseInt(key.split('*')[1]);254 x += group.x;255 y += group.y;256 arr.push(x + '*' + y);257 }258 }259 return arr;260}261/**262 * ç»ææ¬è½®263 */264function completeRound() {265 //æ¬è½®ç»æï¼æåtickã266 store.isIng = false;267 //æ¶å»è¡åç稳å®ç»268 store.stables = cleanAndDecline(store.stables.concat(store.actives));269 if (mobx.toJS(store.actives).some(item => parseKey(item).y <= 0)) {270 console.log('触顶');271 gameOver();272 } else {273 console.log('æ°ä¸è½®');274 newRound();275 }276}277/**278 * æ¶é¤æ填满çè¡279 * @param arr280 * @param onCleanEveryLine281 * @returns {*[]|*}282 */283function cleanAndDecline(arr, onCleanEveryLine) {284 arr = uniqueArr(arr);285 //æ¾åºå·²ç»å¡«æ»¡çè¡286 let fulls = [];287 let obj = {};288 for (let k in arr) {289 let row = parseKey(arr[k]).y;290 if (!obj[row]) {291 obj[row] = 1;292 //console.log('get one:', row);293 } else {294 obj[row] += 1;295 if (obj[row] >= config.COL) {296 fulls.push(row);297 }298 }299 }300 scroe = Math.pow(config.EACH_S, fulls.length);301 store.totalScore += scroe;302 //console.log(roundScroe);303 fulls.forEach(row => {304 //console.log('å°æ¶å»è¡ï¼', row);305 //æ¶é¤306 arr = arr.filter(item => parseKey(item).y !== row);307 //ä¸è½308 arr = arr.map(v => {309 let locx = parseKey(v).x;310 let locy = parseKey(v).y;311 if (locy < parseInt(row)) {312 locy += 1;313 return locx + '*' + locy;314 } else {315 return v;316 }317 });318 });319 //console.log('æ¬è½®å¾å:', roundScroe);320 return arr;321}322/**323 *324 */...
cycleOfFifths.spec.js
Source:cycleOfFifths.spec.js
1"use strict";2Object.defineProperty(exports, "__esModule", { value: true });3const chai_1 = require("chai");4const parsekeySignature_1 = require("../parsekeySignature");5describe("finds key signatures", function () {6 it("gets correct key signature alterations", function () {7 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:C]")).to.eql([]);8 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:A minor]")).to.eql([]);9 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:G]")).to.eql(["^F"]);10 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:E minor]")).to.eql(["^F"]);11 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:D]")).to.eql(["^F", "^C"]);12 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:B minor]")).to.eql(["^F", "^C"]);13 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:A]")).to.eql(["^F", "^C", "^G"]);14 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:F# minor]")).to.eql(["^F", "^C", "^G"]);15 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:F]")).to.eql(["_B"]);16 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:Bb]")).to.eql(["_B", "_E"]);17 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:G minor]")).to.eql(["_B", "_E"]);18 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:Eb]")).to.eql(["_B", "_E", "_A"]);19 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:C minor]")).to.eql(["_B", "_E", "_A"]);20 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:Ab]")).to.eql(["_B", "_E", "_A", "_D"]);21 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:F minor]")).to.eql(["_B", "_E", "_A", "_D"]);22 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:Gb]")).to.eql([23 "_B",24 "_E",25 "_A",26 "_D",27 "_G",28 "_C",29 ]);30 (0, chai_1.expect)((0, parsekeySignature_1.findKeySignature)("[K:Eb minor]")).to.eql([31 "_B",32 "_E",33 "_A",34 "_D",35 "_G",36 "_C",37 ]);38 });39 it("finds notes in major key", function () {40 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:C]")).to.eql([41 "c",42 "d",43 "e",44 "f",45 "g",46 "a",47 "b",48 ]);49 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:Db]")).to.eql([50 "c",51 "_d",52 "_e",53 "f",54 "_g",55 "_a",56 "_b",57 ]);58 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:D]")).to.eql([59 "^c",60 "d",61 "e",62 "^f",63 "g",64 "a",65 "b",66 ]);67 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:Eb]")).to.eql([68 "c",69 "d",70 "_e",71 "f",72 "g",73 "_a",74 "_b",75 ]);76 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:E]")).to.eql([77 "^c",78 "^d",79 "e",80 "^f",81 "^g",82 "a",83 "b",84 ]);85 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:F]")).to.eql([86 "c",87 "d",88 "e",89 "f",90 "g",91 "a",92 "_b",93 ]);94 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:Gb]")).to.eql([95 "_c",96 "_d",97 "_e",98 "f",99 "_g",100 "_a",101 "_b",102 ]);103 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:G]")).to.eql([104 "c",105 "d",106 "e",107 "^f",108 "g",109 "a",110 "b",111 ]);112 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:Ab]")).to.eql([113 "c",114 "_d",115 "_e",116 "f",117 "g",118 "_a",119 "_b",120 ]);121 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:A]")).to.eql([122 "^c",123 "d",124 "e",125 "^f",126 "^g",127 "a",128 "b",129 ]);130 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:Bb]")).to.eql([131 "c",132 "d",133 "_e",134 "f",135 "g",136 "a",137 "_b",138 ]);139 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:B]")).to.eql([140 "^c",141 "^d",142 "e",143 "^f",144 "^g",145 "^a",146 "b",147 ]);148 });149 it("finds notes in minor key", function () {150 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:C minor]")).to.eql([151 "c",152 "d",153 "_e",154 "f",155 "g",156 "_a",157 "_b",158 ]);159 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:C# minor]")).to.eql([160 "^c",161 "^d",162 "e",163 "^f",164 "^g",165 "a",166 "b",167 ]);168 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:D minor]")).to.eql([169 "c",170 "d",171 "e",172 "f",173 "g",174 "a",175 "_b",176 ]);177 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:Eb minor]")).to.eql([178 "_c",179 "_d",180 "_e",181 "f",182 "_g",183 "_a",184 "_b",185 ]);186 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:E minor]")).to.eql([187 "c",188 "d",189 "e",190 "^f",191 "g",192 "a",193 "b",194 ]);195 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:F minor]")).to.eql([196 "c",197 "_d",198 "_e",199 "f",200 "g",201 "_a",202 "_b",203 ]);204 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:F# minor]")).to.eql([205 "^c",206 "d",207 "e",208 "^f",209 "^g",210 "a",211 "b",212 ]);213 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:G minor]")).to.eql([214 "c",215 "d",216 "_e",217 "f",218 "g",219 "a",220 "_b",221 ]);222 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:G# minor]")).to.eql([223 "^c",224 "^d",225 "e",226 "^f",227 "^g",228 "^a",229 "b",230 ]);231 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:A minor]")).to.eql([232 "c",233 "d",234 "e",235 "f",236 "g",237 "a",238 "b",239 ]);240 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:Bb minor]")).to.eql([241 "c",242 "_d",243 "_e",244 "f",245 "_g",246 "_a",247 "_b",248 ]);249 (0, chai_1.expect)((0, parsekeySignature_1.findNotesInKey)("[K:B minor]")).to.eql([250 "^c",251 "d",252 "e",253 "^f",254 "g",255 "a",256 "b",257 ]);258 });...
deta.js
Source:deta.js
...45 const conditions = {};46 const _isArrayKeys = [];47 for (let k in where) {48 if (think.isString(where[k])) {49 conditions[parseKey(k)] = where[k];50 continue;51 }52 if (where[k] === undefined) {53 conditions[parseKey(k)] = null;54 }55 if (!think.isArray(where[k]) || !where[k][0]) {56 continue;57 }58 const handler = where[k][0].toUpperCase();59 switch (handler) {60 case 'IN':61 conditions[parseKey(k)] = where[k][1];62 if (think.isArray(where[k][1])) {63 _isArrayKeys.push(parseKey(k));64 }65 break;66 case 'NOT IN':67 /**68 * deta base doesn't support not equal with multiple value query69 * so we have to transfer it into equal with some value in most of scene70 */71 if (Array.isArray(where[k][1]) && parseKey(k) === 'status') {72 const STATUS = ['approved', 'waiting', 'spam'];73 let val = STATUS.filter((s) => !where[k][1].includes(s));74 if (val.length === 1) {75 val = val[0];76 }77 conditions[parseKey(k)] = val;78 }79 conditions[parseKey(k) + '?ne'] = where[k][1];80 break;81 case 'LIKE': {82 const first = where[k][1][0];83 const last = where[k][1].slice(-1);84 if (first === '%' && last === '%') {85 conditions[parseKey(k) + '?contains'] = where[k][1].slice(1, -1);86 } else if (first === '%') {87 conditions[parseKey(k) + '?contains'] = where[k][1].slice(1);88 } else if (last === '%') {89 conditions[parseKey(k) + '?pfx'] = where[k][1].slice(0, -1);90 }91 break;92 }93 case '!=':94 conditions[parseKey(k) + '?ne'] = where[k][1];95 break;96 case '>':97 conditions[parseKey(k) + '?gt'] = where[k][1];98 break;99 }100 }101 if (_isArrayKeys.length === 0) {102 return conditions;103 }104 return this.complex(conditions, _isArrayKeys);105 }106 async select(where, { limit, offset, field } = {}) {107 const conditions = this.where(where);108 if (think.isArray(conditions)) {109 return Promise.all(110 conditions.map((condition) =>111 this.select(condition, { limit, offset, field })...
steps.js
Source:steps.js
...3const JSON5 = require('json5')4const DB = require('../../lib')5Given('database containing', async function (table) {6 for (const row of table.hashes()) {7 await this.db.set(parseKey(row.Key), parseValue(row.Value))8 }9 this.events = []10})11When('I create a new database {string} with default options', async function (name) {12 if (!this.dbs) this.dbs = {}13 this.dbs[name] = new DB()14})15When('I use {string} as a prefix', function (prefix) {16 this.db = this.db.prefix(prefix)17})18When('I unprefix once', function () {19 this.db = this.db.unprefix()20})21When('I unprefix twice', function () {22 this.db = this.db.unprefix().unprefix()23})24When(/^I store (.+)=(.+) in the database$/, async function (key, value) {25 return await this.db.set(parseKey(key), parseValue(value))26})27When(/^I store (.+)=(.+) with TTL=(-?\d+)$/, async function (key, value, ttl) {28 return await this.db.set(parseKey(key), parseValue(value), { ttl })29})30When(/^I rename (.+) to (.+)$/, async function (from, to) {31 return await this.db.rename(parseKey(from), parseKey(to))32})33When(/^I delete (.+)$/, async function (key) {34 return await this.db.delete(parseKey(key))35})36When(/^I clear the database$/, async function () {37 return await this.db.clear()38})39When('wait {int} milliseconds', async function (delay) {40 return await new Promise(r => setTimeout(r, delay))41})42When('wait {int} seconds', async function (delay) {43 return await new Promise(r => setTimeout(r, delay * 1000))44})45Then('the type of {string} database should be {string}', async function (name, type) {46 assert(this.dbs[name].uri === type || this.dbs[name].uri.startsWith(`${type}:`))47})48Then('I can verify that there are {int} keys in the database', async function (count) {49 assert.equal(count, await this.db.count())50})51Then(/^I can verify that (.+)=(.+) is in the database$/, async function (key, value) {52 assert(await this.db.has(parseKey(key)))53 assert.deepEqual(parseValue(value), await this.db.get(parseKey(key)))54})55Then(/^I can verify that (.+) is NOT in the database$/, async function (key) {56 assert.equal(false, await this.db.has(parseKey(key)))57 assert.equal(undefined, await this.db.get(parseKey(key)))58})59Then('iterating should return', async function (table) {60 const results = await this.db.entries()61 for (let i = 0; i < results.length; i++) {62 const [ key, value ] = results[i]63 const row = table.hashes()[i]64 assert.deepEqual(parseKey(row.Key), key)65 assert.deepEqual(parseValue(row.Value), value)66 }67})68Then('iterating keys should return', async function (table) {69 const results = await this.db.keys()70 for (let i = 0; i < results.length; i++) {71 const key = results[i]72 const row = table.hashes()[i]73 assert.deepEqual(parseKey(row.Key), key)74 }75})76Then('iterating values should return', async function (table) {77 const results = await this.db.values()78 for (let i = 0; i < results.length; i++) {79 const value = results[i]80 const row = table.hashes()[i]81 assert.deepEqual(parseValue(row.Value), value)82 }83})84Then('iterating on prefix {string} should return', async function (prefix, table) {85 const results = await this.db.entries({ prefix })86 for (let i = 0; i < results.length; i++) {87 const [ key, value ] = results[i]88 const row = table.hashes()[i]89 assert.deepEqual(parseKey(row.Key), key)90 assert.deepEqual(parseValue(row.Value), value)91 }92})93Then('iterating on prefix {string} with a limit of {int} should return', async function (prefix, limit, table) {94 const results = await this.db.entries({ prefix, limit })95 for (let i = 0; i < results.length; i++) {96 const [ key, value ] = results[i]97 const row = table.hashes()[i]98 assert.deepEqual(parseKey(row.Key), key)99 assert.deepEqual(parseValue(row.Value), value)100 }101})102Then('decoding keys while iterating on prefix {string} should return', async function (prefix, table) {103 const results = await this.db.entries({ prefix, decodeKeys: true })104 for (let i = 0; i < results.length; i++) {105 const [ key, value ] = results[i]106 const row = table.hashes()[i]107 assert.deepEqual(parseKey(row.Key), key)108 assert.deepEqual(parseValue(row.Value), value)109 }110})111Then(/^I am notified of (.+)=(.+) having been stored$/, async function (key, value) {112 assert.equal(1, this.events.length)113 assert.equal('set', this.events[0].type)114 assert.equal(parseKey(key), this.events[0].key)115 assert.equal(parseValue(value), this.events[0].value)116})117Then(/^I am notified of (.+) having been deleted$/, async function (key) {118 assert.equal(1, this.events.length)119 assert.equal('deleted', this.events[0].type)120 assert.equal(parseKey(key), this.events[0].key)121})122Then(/^I am notified of (.+) having been renamed to (.+)$/, async function (before, after) {123 assert.equal(1, this.events.length)124 assert.equal('renamed', this.events[0].type)125 assert.equal(parseKey(before), this.events[0].before)126 assert.equal(parseKey(after), this.events[0].after)127})128Then(/^I am notified of all of the following having been deleted in this order$/, async function (table) {129 assert.equal(table.hashes().length + 1, this.events.length)130 for (const [i, row] of table.hashes().entries()) {131 assert.equal('deleted', this.events[i].type)132 assert.equal(row.Key, this.events[i].key)133 }134 assert.equal('cleared', this.events[this.events.length - 1].type)135})136//137// Support functions138//139function parseKey(str) {140 if (str[0] === '[') return toArray(str, parseKey)141 const number = Number(str)142 if (!isNaN(number)) return number143 return str144}145function parseValue(str) {146 if (str[0] === '[') return toArray(str, parseValue)147 if (str[0] === '{') return toObject(str)148 if (str === 'true') return true149 if (str === 'false') return false150 const number = Number(str)151 if (!isNaN(number)) return number152 return str153}...
parseHub.js
Source:parseHub.js
1'use strict';2/**3 * @ngdoc overview4 * @name unitSchedulingApp5 * @description6 * # unitSchedulingApp7 *8 * Main module of the application.9 */10angular11 .module('ParseHubApp', [12 'ngAnimate',13 'ngCookies',14 'ngResource',15 'ngRoute',16 'ngSanitize',17 'ngTouch'18 ], function($interpolateProvider) {19 $interpolateProvider.startSymbol('[[');20 $interpolateProvider.endSymbol(']]');21 });22angular.module('ParseHubApp')23 .controller('ParseHubCtrl', ['$scope', '$http', '$window', function($scope, $http, $window) {24 $http.get('https://www.parsehub.com/api/v2/projects/'+ parsepkey + '?api_key=' + parsekey + '&offset=0')25 .success(function(data) {26 console.log(data);27 $scope.results = data;28 })29 $scope.reset = function() {30 $scope.keyword = "";31 $scope.relatedKeywords = 1;32 $scope.domains = {};33 $scope.domainArray = [];34 $scope.complete = false;35 $scope.searching = false;36 $scope.status = "";37 $scope.region = "us";38 }39 $scope.search = function() {40 $scope.searching = true;41 $scope.keywordsArr = [];42 $scope.status = "Checking " + $scope.keyword.trim() + "...";43 var check = encodeURIComponent($scope.keyword.trim().replace(" ", "+"));44 parseHubKeyword(check);45 }46 //store value in local storage so that it can be reloaded agai47 $scope.storeKey = function() {48 if ($scope.store){49 $window.localStorage['parsekey'] = $scope.parsekey; 50 }51 else52 {53 $window.localStorage.removeItem('parsekey'); 54 }55 }56 $scope.storeKey1 = function() {57 if ($scope.store1){58 $window.localStorage['parsepkey'] = $scope.parsepkey; 59 }60 else61 {62 $window.localStorage.removeItem('parsepkey'); 63 }64 }65 //store value in local storage as user types66 $scope.onChange = function () {67 if ($scope.parsekey){68 $window.localStorage['parsekey'] = $scope.parsekey; 69 }70 if ($scope.parsepkey){71 $window.localStorage['parsepkey'] = $scope.parsepkey; 72 }73 }74 function parseHubKeyword(keyword) {75 var newRequest = new xdRequest;76 console.log("Requesting Phrase Related Keywords");77 console.log("https://www.parsehub.com/api/v2/projects/"+ parsepkey + "?api_key=" + parsekey + "&offset=0");78 newRequest.setURL("https://www.parsehub.com/api/v2/projects/"+ parsepkey + "?api_key=" + parsepkey + "&offset=0");79 newRequest.get(function(response) {80 var keywords = parseHubData(response.html);81 $scope.$apply(function() {82 $scope.keywords = keywords;83 });84 SEMRushOrganic();85 });86 }87 function parseHubData(data) {88 var resp = [];89 if (data.indexOf("ERROR") > -1) {90 console.log(data);91 $scope.status_update = data;92 $scope.error_message = data;93 return resp;94 }95 var lines = data.split("\n");96 var headers = [];97 if(lines.length>1){98 for (var i = 0; i < lines.length; i++) {99 if (lines[i].trim().length > 0) {100 var vals = lines[i].trim().split(";");101 if (i == 0) {102 //Headers103 headers = vals;104 } else {105 var elem = {};106 for (var j = 0; j < headers.length; j++) {107 elem[headers[j]] = vals[j];108 }109 resp.push(elem);110 }111 }112 }113 }114 return resp;115 }116 $scope.dump = function() {117 console.log($scope);118 }119 $scope.json = function () {120 var result;121 $.getJSON("https://www.parsehub.com/api/v2/projects/"+ parsepkey + "?api_key=" + parsekey + "&offset=0"), 122 function(data) {123 result = data;124 };125 for (var k=0; k<result.length; k++)126 for (var name in result[k]) {127 console.log("keyword: "+start_value);128 console.log("Status: "+result[k][name].statuss);129 }130 }131 $window.localStorage['parsekey'] == undefined ? $scope.parsekey = "" : $scope.parsekey = $window.localStorage['parsekey'];132 $window.localStorage['parsepkey'] == undefined ? $scope.parsepkey = "" : $scope.parsepkey = $window.localStorage['parsepkey'];133 134 // $scope.parsekey = $window.localStorage['parsekey'];135 $scope.store = $window.localStorage['parsekey'] != undefined;136 $scope.store1 = $window.localStorage['parsepkey'] != undefined;137 $scope.reset();...
adminViewRecordObject.js
Source:adminViewRecordObject.js
...8export const parseKey = (key, content) => {9 return key.split('.').reduce((prev, curr) => prev && prev[curr], content);10};11export const authorAffiliates = (key, content) => {12 const authorAffiliate = parseKey(key, content) ?? null;13 if (!!!authorAffiliate || !Array.isArray(authorAffiliate)) return 'No';14 return !!authorAffiliate.length > 0 ? 'Yes' : 'No';15};16export const getDefaultDrawerDescriptorObject = () => {17 return (18 (config?.viewRecord?.adminViewRecordDefaultContent?.object && {19 ...config.viewRecord.adminViewRecordDefaultContent.object,20 }) ||21 /* istanbul ignore next */22 undefined23 );24};25export const getDefaultDrawerDescriptorIndex = () => {26 return (27 (config?.viewRecord?.adminViewRecordDefaultContent?.index && {28 ...config.viewRecord.adminViewRecordDefaultContent.index,29 }) ||30 /* istanbul ignore next */31 undefined32 );33};34/* istanbul ignore next */35export const createDefaultDrawerDescriptorObject = (locale = {}, content = [], fields = {}) => {36 const adminViewRecordDefaultContentObject = getDefaultDrawerDescriptorObject();37 const adminViewRecordDefaultContentIndex = getDefaultDrawerDescriptorIndex();38 if (!adminViewRecordDefaultContentObject || !adminViewRecordDefaultContentIndex) return {};39 // Notes40 const parsedNotesKey = formattedString(parseKey(fields.notes, content));41 // don't ReactHtmlParse notes if they're empty and the above function has returned '-',42 // otherwise ReactHtmlParse will return an array and will cause issues when rendering to screen.43 const parsedNotes = parsedNotesKey !== '-' ? ReactHtmlParser(parsedNotesKey) : parsedNotesKey;44 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.notes][0].value = locale.notes;45 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.notes][1].value = parsedNotes;46 // Authors47 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.authors][0].value =48 locale.authorAffiliations;49 adminViewRecordDefaultContentObject.sections[50 adminViewRecordDefaultContentIndex.authors51 ][1].value = authorAffiliates(fields.authorAffiliates, content);52 // WoS53 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.wos][0].value = locale.wosId;54 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.wos][1].value = formattedString(55 parseKey(fields.wosId, content) ?? undefined,56 );57 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.wos][2].value = locale.wosDocType;58 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.wos][3].value = formattedString(59 parseKey(fields.wosDocType, content) ?? undefined,60 parseKey(fields.wosDocTypeLookup, content) ?? undefined,61 );62 // Scopus63 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.scopus][0].value = locale.scopusId;64 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.scopus][1].value = formattedString(65 parseKey(fields.scopusId, content) ?? undefined,66 );67 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.scopus][2].value =68 locale.scopusDocType;69 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.scopus][3].value = formattedString(70 parseKey(fields.scopusDocType, content) ?? undefined,71 parseKey(fields.scopusDocTypeLookup, content) ?? undefined,72 );73 // Pubmed74 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.pubmed][0].value = locale.pubmedId;75 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.pubmed][1].value = formattedString(76 parseKey(fields.pubMedId, content) ?? undefined,77 );78 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.pubmed][2].value =79 locale.pubmedCentralId;80 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.pubmed][3].value = formattedString(81 parseKey(fields.pubMedCentralId, content) ?? undefined,82 );83 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.pubmed][4].value =84 locale.pubmedDocType;85 adminViewRecordDefaultContentObject.sections[adminViewRecordDefaultContentIndex.pubmed][5].value = formattedString(86 parseKey(fields.pubMedDocType, content) ?? undefined,87 parseKey(fields.pubMedDocTypeLookup, content) ?? undefined,88 );89 return adminViewRecordDefaultContentObject;90};91createDefaultDrawerDescriptorObject.propTypes = {92 locale: PropTypes.object.isRequired,93 content: PropTypes.array.isRequired,94 fields: PropTypes.object.isRequired,...
utils.js
Source:utils.js
...53 var row = document.createElement("tr");54 row.id = "Row" + i + k + j;55 var column = document.createElement("td");56 column.id = "Key" + i + k + j;57 var parseKey = _krnFileSystemDriver.parseKey(key);58 column.innerHTML = parseKey.i + ":" + parseKey.k + ":" + parseKey.j;59 row.appendChild(column);60 column = document.createElement("td");61 column.id = "Use" + i + k + j;62 row.appendChild(column);63 column = document.createElement("td");64 column.id = "Next" + i + k + j;65 row.appendChild(column);66 column = document.createElement("td");67 column.id = "Data" + i + k + j;68 row.appendChild(column);69 body.appendChild(row);70 }71 }72 }73 };74 //Update a specific row in the disk display75 Utils.updateDiskRow = function (key) {76 var parseKey = _krnFileSystemDriver.parseKey(key);77 var block = sessionStorage.getItem(key);78 var use = document.getElementById("Use" + parseKey.i + parseKey.k + parseKey.j);79 var inUse = _krnFileSystemDriver.blockFree(block);80 if (inUse) {81 use.innerHTML = "0";82 }83 else {84 use.innerHTML = "1";85 }86 var next = document.getElementById("Next" + parseKey.i + parseKey.k + parseKey.j);87 var blockPointer = _krnFileSystemDriver.getBlockPointer(block);88 var parsePointer = _krnFileSystemDriver.parseKey(blockPointer);89 next.innerHTML = parsePointer.i + parsePointer.k + parsePointer.j;90 var data = document.getElementById("Data" + parseKey.i + parseKey.k + parseKey.j);91 data.innerHTML = _krnFileSystemDriver.getBlockDataRaw(block);92 };93 return Utils;94 }());95 TSOS.Utils = Utils;...
xmlParser.js
Source:xmlParser.js
1const parser = require('xml-js')2const myParser = {}3/**4 * The main function5 * @param {string} xml xml which needs to be parsed6 * @param {object} [xmlns] contains all namespaces7 * @return {object} parsed js object8 */9myParser.xml2js = function (xml, xmlns) {10 let parsed = parser.xml2js(xml, {11 compact: true12 })13 if (xmlns) {14 // Keep Namespace15 parsed = keepNamespace(parsed, xmlns)16 }17 parsed = cleanseJson(parsed)18 return parsed19}20/**21 * Keeps the namespace22 * @param {object} json In which to replace namespace23 * @param {object} ns Namespace object24 * @return {object} Namespace replaced object25 */26function keepNamespace (json, ns) {27 const nsKeys = Object.keys(ns)28 for (const key in json) {29 const parseKey = parseKeyNS(key)30 if (key.indexOf(':') > -1 && nsKeys.indexOf(parseKey) > -1) {31 const index = nsKeys.indexOf(parseKey)32 const prop = '{' + ns[nsKeys[index]] + '}' + key.split(':')[1]33 json[prop] = json[key]34 json[prop] = recursiveNS(json[prop], ns)35 } else {36 json[key] = recursiveNS(json[key], ns)37 }38 }39 json = deleteDuplicates(json, ns)40 return json41}42/**43 * Intermediate of keepNamespace()44 */45function deleteDuplicates (json, ns) {46 let ret = {}47 const nsKeys = Object.keys(ns)48 if (json.constructor === Array) {49 ret = []50 }51 if (typeof (json) !== 'object') {52 return json53 }54 for (const key in json) {55 if (json.constructor === Array) {56 ret.push(recursiveDeleteDuplicates(json[key], ns))57 } else {58 const parseKey = parseKeyNS(key)59 if (parseKey && nsKeys.indexOf(parseKey) === -1) {60 ret[key] = recursiveDeleteDuplicates(json[key], ns)61 }62 }63 }64 return ret65}66/**67 * This function removes the "_text" attribute introduced by the XML parser68 * For more info, check the NPM page of "xml-js", and see response format of the parser69 * @param {object} json object to cleanse70 * @return {object} cleaned object71 */72function cleanseJson (json) {73 for (const key in json) {74 json[key] = recursiveCleanse(json[key])75 }76 return json77}78/**79 * HELPER FOR keepNamespace()80 */81function recursiveNS (json, ns) {82 if (typeof (json) !== 'object') {83 return json84 }85 const nsKeys = Object.keys(ns)86 for (const key in json) {87 const parseKey = parseKeyNS(key)88 if (key.indexOf(':') > -1 && nsKeys.indexOf(parseKey) > -1) {89 const index = nsKeys.indexOf(parseKey)90 const prop = '{' + ns[nsKeys[index]] + '}' + key.split(':')[1]91 json[prop] = json[key]92 json[prop] = recursiveNS(json[prop], ns)93 } else {94 json[key] = recursiveNS(json[key], ns)95 }96 }97 return json98}99/**100 * HELPER FOR deleteDuplicates()101 */102function recursiveDeleteDuplicates (json, ns) {103 if (typeof (json) !== 'object') {104 return json105 }106 const nsKeys = Object.keys(ns)107 let ret = {}108 if (json.constructor === Array) {109 ret = []110 }111 for (const key in json) {112 if (json.constructor === Array) {113 ret.push(recursiveDeleteDuplicates(json[key], ns))114 } else {115 const parseKey = parseKeyNS(key)116 if (parseKey && nsKeys.indexOf(parseKey) === -1) {117 ret[key] = recursiveDeleteDuplicates(json[key], ns)118 }119 }120 }121 return ret122}123/**124 * HELPER FOR cleanseJson()125 */126function recursiveCleanse (json) {127 if (typeof (json) !== 'object') {128 return json129 }130 for (const key in json) {131 if (key === '_text') {132 return json[key]133 }134 json[key] = recursiveCleanse(json[key])135 }136 return json137}138/**139 * parses a key from d: to d and {DAV:} to DAV140 * @param {string} key key to be parsed141 * @return {string} parsed key142 */143function parseKeyNS (key) {144 let parseKey = key145 if (parseKey.indexOf('{') > -1 && parseKey.indexOf('}') > -1) {146 parseKey = parseKey.split('{')[1].split('}')[0]147 } else if (parseKey.indexOf(':') > -1) {148 parseKey = parseKey.split(':')[0]149 }150 return parseKey151}...
Using AI Code Generation
1var webdriver = require('selenium-webdriver'),2 XCUITestDriver = require('appium-xcuitest-driver').Driver,3 until = webdriver.until;4var driver = new webdriver.Builder()5 .forBrowser('XCUITest')6 .build();7driver.findElement(By.name('q')).sendKeys('webdriver');8driver.findElement(By.name('btnG')).click();9driver.wait(until.titleIs('webdriver - Google Search'), 1000);10driver.quit();11var webdriverio = require('webdriverio'),12 XCUITestDriver = require('appium-xcuitest-driver').Driver,13 until = webdriverio.until;14var driver = new webdriverio.Builder()15 .forBrowser('XCUITest')16 .build();17driver.findElement(By.name('q')).sendKeys('webdriver');18driver.findElement(By.name('btnG')).click();19driver.wait(until.titleIs('webdriver - Google Search'), 1000);20driver.quit();21var webdriverio = require('webdriverio'),22 XCUITestDriver = require('appium-xcuitest-driver').Driver,23 until = webdriverio.until;24var driver = new webdriverio.Builder()25 .forBrowser('XCUITest')26 .build();27driver.findElement(By.name('q')).sendKeys('webdriver');28driver.findElement(By.name('btnG')).click();29driver.wait(until.titleIs('webdriver - Google Search'), 1000
Using AI Code Generation
1var wd = require('wd');2var driver = wd.promiseChainRemote();3var caps = {4};5driver.init(caps)6 .then(function () {7 return driver.parseKey("name", "value");8 })9 .then(function (keycode) {10 console.log("Keycode: " + keycode);11 })12 .fin(function () {13 return driver.quit();14 })15 .done();
Using AI Code Generation
1var xcu = require('appium-xcuitest-driver');2var key = xcu.parseKey('a');3console.log(key);4var xcu = require('appium-xcuitest-driver');5var key = xcu.parseKey('a');6console.log(key);7var xcu = require('appium-xcuitest-driver');8var key = xcu.parseKey('a');9console.log(key);10var xcu = require('appium-xcuitest-driver');11var key = xcu.parseKey('a');12console.log(key);13var xcu = require('appium-xcuitest-driver').driver;14var key = xcu.parseKey('a');15console.log(key);16var xcu = require('appium-xcuitest-driver');
Using AI Code Generation
1let parseKey = require('appium-xcuitest-driver').parseKey;2let key = parseKey('a');3console.log(key);4let parseKey = require('appium-xcuitest-driver').parseKey;5let key = parseKey('a');6console.log(key);7let parseKey = require('appium-xcuitest-driver').parseKey;8let key = parseKey('a');9console.log(key);10let parseKey = require('appium-xcuitest-driver').parseKey;11let key = parseKey('a');12console.log(key);13let parseKey = require('appium-xcuitest-driver').parseKey;14let key = parseKey('a');15console.log(key);16let parseKey = require('appium-xcuitest-driver').parseKey;17let key = parseKey('a');18console.log(key);19let parseKey = require('appium-xcuitest-driver').parseKey;20let key = parseKey('a');21console.log(key);22let parseKey = require('appium-xcuitest-driver').parseKey;
Using AI Code Generation
1const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');2const key = parseKey('a', 'en-US');3console.log(key);4const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');5const key = parseKey('a', 'en-US');6console.log(key);7const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');8const key = parseKey('a', 'en-US');9console.log(key);10const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');11const key = parseKey('a', 'en-US');12console.log(key);13const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');14const key = parseKey('a', 'en-US');15console.log(key);16const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');17const key = parseKey('a', 'en-US');18console.log(key);19const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');20const key = parseKey('a', 'en-US');21console.log(key);22const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');23const key = parseKey('a', 'en-US');24console.log(key);25const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');26const key = parseKey('a', 'en-US');27console.log(key);28const { parseKey } = require('appium-xcuitest-driver/lib/commands/keys');
Using AI Code Generation
1var xcuitestDriver = require('appium-xcuitest-driver');2var keyParser = new xcuitestDriver.helpers.KeyParser();3var key = keyParser.parseKey('a');4console.log(key);5var xcuitestDriver = require('appium-xcuitest-driver');6var keyParser = new xcuitestDriver.helpers.KeyParser();7var keys = keyParser.parseKeys('a');8console.log(keys);9var xcuitestDriver = require('appium-xcuitest-driver');10var keyParser = new xcuitestDriver.helpers.KeyParser();11var keys = keyParser.parseKeys('aA');12console.log(keys);13var xcuitestDriver = require('appium-xcuitest-driver');14var keyParser = new xcuitestDriver.helpers.KeyParser();15var keys = keyParser.parseKeys('aaA');16console.log(keys);17var xcuitestDriver = require('appium-xcuitest-driver');18var keyParser = new xcuitestDriver.helpers.KeyParser();19var keys = keyParser.parseKeys('ab');20console.log(keys);21var xcuitestDriver = require('
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!!