Best JavaScript code snippet using istanbul
ArrayFilter.js
Source:ArrayFilter.js
1/*2 The contents of this file are subject to the Mozilla Public License Version3 1.1 (the "License"); you may not use this file except in compliance with4 the License. You may obtain a copy of the License at 5 6 http://www.mozilla.org/MPL/ 7 8 Software distributed under the License is distributed on an "AS IS" basis,9 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License10 for the specific language governing rights and limitations under the License. 11 12 The Original Code is Vegas Framework.13 14 The Initial Developer of the Original Code is15 ALCARAZ Marc (aka eKameleon) <vegas@ekameleon.net>.16 Portions created by the Initial Developer are Copyright (C) 2004-200817 the Initial Developer. All Rights Reserved.18 19 Contributor(s) :20 21*/22/**23 * This filter contains all constants and methods to sort the Arrays in the application.24 * <p><b>Example : </b></p>25 * {@code26 * 27 * ArrayFilter = vegas.data.array.ArrayFilter ;28 * Delegate = vegas.events.Delegate ;29 * 30 * var debug = function ()31 * {32 * trace("filter : " + af.filter ) ;33 * trace("is NONE : " + af.isNone() )34 * trace("is CASEINSENSITIVE : " + af.isCaseInsensitive() ) ;35 * trace("is DESCENDING : " + af.isDescending() ) ;36 * trace("is NUMERIC : " + af.isNumeric() ) ;37 * trace("is RETURNINDEXEDARRAY : " + af.isReturnIndexedArray() ) ;38 * trace("is UNIQUESORT : " + af.isUniqueSort() ) ;39 * trace("---") ;40 * }41 * 42 * var change = function ( e )43 * {44 * trace( e ) ;45 * }46 * 47 * var af = ArrayFilter.getInstance() ;48 * af.addEventListener( ArrayFilter.CHANGE, new Delegate(this, change ) ) ;49 * 50 * debug() ;51 * 52 * af.setCaseInsensitive( true ) ;53 * af.setDescending( true ) ;54 * af.setNumeric( true ) ;55 * af.setReturnIndexedArray( true ) ;56 * af.setUniqueSort( true ) ;57 * debug() ;58 * 59 * af.setCaseInsensitive( false ) ;60 * debug() ;61 * 62 * af.setDescending( false ) ;63 * debug() ;64 * 65 * af.setNumeric( false ) ;66 * debug() ;67 * 68 * af.setReturnIndexedArray( false) ;69 * debug() ;70 * 71 * af.setUniqueSort( false ) ;72 * debug() ;73 * 74 * }75 * @author eKameleon76 */77if (vegas.data.array.ArrayFilter == undefined) 78{79 80 /**81 * @requires vegas.events.AbstractCoreEventDispatcher82 */83 require("vegas.events.AbstractCoreEventDispatcher") ;84 85 /**86 * Creates a new ArrayFilter instance.87 * @param value the default filter value of this instance. If this argument is null the filter value is ArrayFilter.NONE(0).88 * @param bGlobal the flag to use a global event flow or a local event flow.89 * @param sChannel the name of the global event flow if the {@code bGlobal} argument is {@code true}.90 */91 vegas.data.array.ArrayFilter = function ( value /*Number*/ , bGlobal /*Boolean*/ , sChannel /*String*/ ) 92 { 93 vegas.events.AbstractCoreEventDispatcher.apply(this, Array.fromArguments(arguments)) ;94 this._eChange = new vegas.events.BasicEvent( vegas.data.array.ArrayFilter.CHANGE , this ) ;95 this.setFilter( value ) ;96 }97 /**98 * @extends vegas.events.AbstractCoreEventDispatcher99 */100 vegas.data.array.ArrayFilter.extend( vegas.events.AbstractCoreEventDispatcher ) ;101 /**102 * Specifies case-insensitive sorting for the Array class sorting methods. You can use this constant103 * for the <code>options</code> parameter in the <code>sort()</code> or <code>sortOn()</code> method. 104 * <p>The value of this constant is 1.</p>105 */106 vegas.data.array.ArrayFilter.CASEINSENSITIVE /*Number*/ = 1 ;107 108 /**109 * The change event occurs when the filter value is changed.110 */111 vegas.data.array.ArrayFilter.CHANGE /*String*/ = "change" ;112 113 /**114 * Specifies descending sorting for the Array class sorting methods. 115 * You can use this constant for the <code>options</code> parameter in the <code>sort()</code>116 * or <code>sortOn()</code> method. 117 * <p>The value of this constant is 2.</p>118 */119 vegas.data.array.ArrayFilter.DESCENDING /*Number*/ = 2 ;120 /**121 * Specifies the default numeric sorting value for the Array class sorting methods.122 * <p>The value of this constant is 0.</p>123 */124 vegas.data.array.ArrayFilter.NONE /*Number*/ = 0;125 /**126 * Specifies numeric (instead of character-string) sorting for the Array class sorting methods. 127 * Including this constant in the <code>options</code>128 * parameter causes the <code>sort()</code> and <code>sortOn()</code> methods 129 * to sort numbers as numeric values, not as strings of numeric characters. 130 * Without the <code>NUMERIC</code> constant, sorting treats each array element as a 131 * character string and produces the results in Unicode order. 132 *133 * <p>For example, given the array of values <code>[2005, 7, 35]</code>, if the <code>NUMERIC</code> 134 * constant is <strong>not</strong> included in the <code>options</code> parameter, the 135 * sorted array is <code>[2005, 35, 7]</code>, but if the <code>NUMERIC</code> constant <strong>is</strong> included, 136 * the sorted array is <code>[7, 35, 2005]</code>. </p>137 * 138 * <p>This constant applies only to numbers in the array; it does 139 * not apply to strings that contain numeric data such as <code>["23", "5"]</code>.</p>140 * 141 * <p>The value of this constant is 16.</p>142 */143 vegas.data.array.ArrayFilter.NUMERIC /*Number*/ = 16 ;144 145 /**146 * Specifies that a sort returns an array that consists of array indices as a result of calling147 * the <code>sort()</code> or <code>sortOn()</code> method. You can use this constant148 * for the <code>options</code> parameter in the <code>sort()</code> or <code>sortOn()</code> 149 * method, so you have access to multiple views on the array elements while the original array is unmodified. 150 * <p>The value of this constant is 8.</p>151 */152 vegas.data.array.ArrayFilter.RETURNINDEXEDARRAY /*Number*/ = 8 ;153 /**154 * Specifies the unique sorting requirement for the Array class sorting methods. 155 * You can use this constant for the <code>options</code> parameter in the <code>sort()</code> or <code>sortOn()</code> method. 156 * The unique sorting option terminates the sort if any two elements or fields being sorted have identical values. 157 * <p>The value of this constant is 4.</p>158 */159 vegas.data.array.ArrayFilter.UNIQUESORT /*Number*/ = 4 ;160 161 /**162 * Indicates if the change event is notify or not when the filter value change.163 */164 vegas.data.array.ArrayFilter.prototype.useEvent /*Boolean*/ = true ;165 166 /**167 * Returns {@code true} if the filter number value contains the option number value.168 * @return {@code true} if the filter number value contains the option number value.169 */170 vegas.data.array.ArrayFilter.contains = function( nFilter/*Number*/, nOption/*Number*/ ) /*Boolean*/171 {172 return Boolean( nOption & nFilter ) ;173 }174 175 /**176 * Returns the event name of the change event of this object.177 * @return the event name of the change event of this object.178 */179 vegas.data.array.ArrayFilter.prototype.getEventTypeCHANGE = function() /*String*/180 {181 return this._eChange.getType() ;182 }183 184 /**185 * Returns the singleton reference of this class.186 * @return the singleton reference of this class.187 */188 vegas.data.array.ArrayFilter.getInstance = function() /*ArrayFilter*/189 {190 if (vegas.data.array.ArrayFilter._instance == null)191 {192 vegas.data.array.ArrayFilter._instance = new vegas.data.array.ArrayFilter() ; 193 } 194 return vegas.data.array.ArrayFilter._instance ;195 }196 197 /**198 * Returns the current filter value of this object.199 * @return the current filter value of this object.200 */201 vegas.data.array.ArrayFilter.prototype.getFilter = function() /*Number*/202 {203 return isNaN(this._filter) ? vegas.data.array.ArrayFilter.NONE : this._filter ;204 }205 /**206 * Returns {@code true} if the CASEINSENSITIVE option value exist in the current filter.207 * @return {@code true} if the CASEINSENSITIVE option value exist in the current filter.208 */209 vegas.data.array.ArrayFilter.prototype.isCaseInsensitive = function() /*Boolean*/210 {211 return vegas.data.array.ArrayFilter.contains( this.getFilter() , vegas.data.array.ArrayFilter.CASEINSENSITIVE ) ; 212 }213 214 /**215 * Returns {@code true} if the DESCENDING option value exist in the current filter.216 * @return {@code true} if the DESCENDING option value exist in the current filter.217 */218 vegas.data.array.ArrayFilter.prototype.isDescending = function() /*Boolean*/219 {220 return vegas.data.array.ArrayFilter.contains( this.getFilter() , vegas.data.array.ArrayFilter.DESCENDING ) ; 221 }222 223 /**224 * Returns {@code true} if the filter is NONE.225 * @return {@code true} if the filter is NONE.226 */227 vegas.data.array.ArrayFilter.prototype.isNone =function() /*Boolean*/228 {229 return this.getFilter() == vegas.data.array.ArrayFilter.NONE ;230 }231 /**232 * Returns {@code true} if the NUMERIC option value exist in the current filter.233 * @return {@code true} if the NUMERIC option value exist in the current filter.234 */235 vegas.data.array.ArrayFilter.prototype.isNumeric = function() /*Boolean*/236 {237 return vegas.data.array.ArrayFilter.contains( this.getFilter() , vegas.data.array.ArrayFilter.NUMERIC ) ; 238 }239 240 /**241 * Returns {@code true} if the RETURNINDEXEDARRAY option value exist in the current filter.242 * @return {@code true} if the RETURNINDEXEDARRAY option value exist in the current filter.243 */244 vegas.data.array.ArrayFilter.prototype.isReturnIndexedArray = function() /*Boolean*/245 {246 return vegas.data.array.ArrayFilter.contains( this.getFilter() , vegas.data.array.ArrayFilter.RETURNINDEXEDARRAY ) ; 247 }248 249 /**250 * Returns {@code true} if the UNIQUESORT option value exist in the current filter.251 * @return {@code true} if the UNIQUESORT option value exist in the current filter.252 */253 vegas.data.array.ArrayFilter.prototype.isUniqueSort = function() /*Boolean*/254 {255 return vegas.data.array.ArrayFilter.contains( this.getFilter() , vegas.data.array.ArrayFilter.UNIQUESORT ) ; 256 }257 258 /**259 * Notify a change in this object.260 */261 vegas.data.array.ArrayFilter.prototype.notifyChange = function() /*Void*/262 {263 if ( this.useEvent == true )264 {265 this.dispatchEvent( this._eChange ) ;266 } 267 }268 269 /**270 * Sets the CASEINSENSITIVE option value in the current filter.271 */272 vegas.data.array.ArrayFilter.prototype.setCaseInsensitive = function( b /*Boolean*/ ) /*void*/273 {274 var old /*Number*/ = this._filter ;275 this._filter = b ? this._filter | vegas.data.array.ArrayFilter.CASEINSENSITIVE : this._filter & ~vegas.data.array.ArrayFilter.CASEINSENSITIVE ;276 if (this._filter != old)277 {278 this.notifyChange() ;279 } 280 }281 /**282 * Sets the DESCENDING option value in the current filter.283 */284 vegas.data.array.ArrayFilter.prototype.setDescending = function( b /*Boolean*/ ) /*void*/285 {286 var old /*Number*/ = this._filter ;287 this._filter = b ? this._filter | vegas.data.array.ArrayFilter.DESCENDING : this._filter & ~vegas.data.array.ArrayFilter.DESCENDING ;288 if (this._filter != old)289 {290 this.notifyChange() ;291 }292 }293 /**294 * Sets the event name of the change event of this object.295 */296 vegas.data.array.ArrayFilter.prototype.setEventTypeCHANGE = function ( type /*String*/ ) /*void*/297 {298 this._eChange.setType( type || vegas.data.array.ArrayFilter.CHANGE ) ;299 }300 /**301 * Sets the current filter value of this object.302 */303 vegas.data.array.ArrayFilter.prototype.setFilter = function( n /*Number*/ ) /*void*/304 {305 var old /*Number*/ = this._filter ;306 this._filter = isNaN(n) ? vegas.data.array.ArrayFilter.NONE : n ;307 if (this._filter != old)308 {309 this.notifyChange() ;310 } 311 }312 /**313 * Sets the NONE option value in the current filter.314 */315 vegas.data.array.ArrayFilter.prototype.setNone = function() /*void*/316 {317 var old /*Number*/ = this._filter ;318 this._filter = vegas.data.array.ArrayFilter.NONE ;319 if (this._filter != old)320 {321 this.notifyChange() ;322 } 323 }324 /**325 * Sets the NUMERIC option value in the current filter.326 */327 vegas.data.array.ArrayFilter.prototype.setNumeric = function( b /*Boolean*/ ) /*void*/328 {329 var old /*Number*/ = this._filter ;330 this._filter = b ? this._filter | vegas.data.array.ArrayFilter.NUMERIC : this._filter & ~vegas.data.array.ArrayFilter.NUMERIC ;331 if (this._filter != old)332 {333 this.notifyChange() ;334 } 335 }336 /**337 * Sets the RETURNINDEXEDARRAY option value in the current filter.338 */339 vegas.data.array.ArrayFilter.prototype.setReturnIndexedArray = function( b /*Boolean*/ ) /*void*/340 {341 var old /*Number*/ = this._filter ;342 this._filter = b ? this._filter | vegas.data.array.ArrayFilter.RETURNINDEXEDARRAY : this._filter & ~vegas.data.array.ArrayFilter.RETURNINDEXEDARRAY ;343 if (this._filter != old)344 {345 this.notifyChange() ;346 } 347 }348 349 /**350 * Sets the UNIQUESORT option value in the current filter.351 */352 vegas.data.array.ArrayFilter.prototype.setUniqueSort = function( b /*Boolean*/ ) /*void*/353 {354 var old /*Number*/ = this._filter ;355 this._filter = b ? this._filter | vegas.data.array.ArrayFilter.UNIQUESORT : this._filter & ~vegas.data.array.ArrayFilter.UNIQUESORT ;356 if (this._filter != old)357 {358 this.notifyChange() ;359 } 360 }361 /**362 * The internal singleton reference.363 */364 /*private*/ vegas.data.array.ArrayFilter._instance /*ArrayFilter*/ = null ;365 366 /**367 * The internal change event reference.368 */369 vegas.data.array.ArrayFilter.prototype._eChange /*Event*/ = null ;370 371 /**372 * The filter value of this object.373 */374 vegas.data.array.ArrayFilter.prototype._filter /*Number*/ ;375 ...
arrayExtedns.js
Source:arrayExtedns.js
...9 * @param {*} [ruleCTX] â rule function ctx10 * @returns {Array} new array11 */12 a9.arrayFilter = function(array, rule, ruleCTX){13 return array.filter(rule, ruleCTX);14 };15 } else{16 /**17 * arrayFilter18 * @param {Array} array â array for arrayFilter19 * @param {Function} rule â arrayFilter rule20 * @param {*} [ruleCTX] â rule function ctx21 * @returns {Array} new array22 */23 a9.arrayFilter = function(array, rule, ruleCTX){24 var i = array.length,25 newArray = [],26 u;27 if (ruleCTX !== u){...
array_filter.js
Source:array_filter.js
1function array_filter(arr, func) {2 // discuss at: http://phpjs.org/functions/array_filter/3 // original by: Brett Zamir (http://brett-zamir.me)4 // input by: max4ever5 // improved by: Brett Zamir (http://brett-zamir.me)6 // note: Takes a function as an argument, not a function's name7 // example 1: var odd = function (num) {return (num & 1);};8 // example 1: array_filter({"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}, odd);9 // returns 1: {"a": 1, "c": 3, "e": 5}10 // example 2: var even = function (num) {return (!(num & 1));}11 // example 2: array_filter([6, 7, 8, 9, 10, 11, 12], even);12 // returns 2: {0: 6, 2: 8, 4: 10, 6: 12}13 // example 3: array_filter({"a": 1, "b": false, "c": -1, "d": 0, "e": null, "f":'', "g":undefined});14 // returns 3: {"a":1, "c":-1};15 var retObj = {},16 k;17 func = func || function (v) {18 return v;19 };20 // Fix: Issue #7321 if (Object.prototype.toString.call(arr) === '[object Array]') {22 retObj = [];23 }24 for (k in arr) {25 if (func(arr[k])) {26 retObj[k] = arr[k];27 }28 }29 return retObj;...
Using AI Code Generation
1var a = 1;2var b = 2;3function add(a, b) {4 return a + b;5}6add(a, b);7var a = 1;8var b = 2;9function add(a, b) {10 return a + b;11}12add(a, b);
Using AI Code Generation
1var arr = [1,2,3,4,5,6,7,8,9,10];2var filtered = arr.filter(function (item) {3 return item % 2 === 0;4});5console.log(filtered);6{7 "scripts": {8 },9 "devDependencies": {10 }11}
Using AI Code Generation
1var istanbul = require('istanbul');2var arr = [1,2,3,4,5];3var filtered = arr.filter(function (item) {4 return item > 3;5});6console.log(filtered);7var lodash = require('lodash');8var arr = [1,2,3,4,5];9var filtered = lodash.filter(arr, function (item) {10 return item > 3;11});12console.log(filtered);
Using AI Code Generation
1require('babel-register');2require('babel-polyfill');3require('babel-plugin-istanbul').instrumenter = {4 instrumentSync(code, filename) {5 return code;6 }7};8require('babel-plugin-istanbul').default = {9 visitor: {10 Program: {11 enter(path, state) {12 const { filename } = state.file.opts;13 const instrumenter = require('babel-plugin-istanbul').instrumenter;14 const { code } = instrumenter.instrumentSync(path.hub.file.code, filename);15 path.hub.file.code = code;16 }17 }18 }19};20require('babel-plugin-istanbul').default = {21 visitor: {22 Program: {23 enter(path, state) {24 const { filename } = state.file.opts;25 const instrumenter = require('babel-plugin-istanbul').instrumenter;26 const { code } = instrumenter.instrumentSync(path.hub.file.code, filename);27 path.hub.file.code = code;28 }29 }30 }31};32require('babel-plugin-istanbul').default = {33 visitor: {34 Program: {35 enter(path, state) {36 const { filename } = state.file.opts;37 const instrumenter = require('babel-plugin-istanbul').instrumenter;38 const { code } = instrumenter.instrumentSync(path.hub.file.code, filename);39 path.hub.file.code = code;40 }41 }42 }43};44require('babel-plugin-istanbul').default = {45 visitor: {46 Program: {47 enter(path, state) {48 const { filename } = state.file.opts;49 const instrumenter = require('babel-plugin-istanbul').instrumenter;50 const { code } = instrumenter.instrumentSync(path.hub.file.code, filename);51 path.hub.file.code = code;52 }53 }54 }55};56require('babel-plugin-istanbul').default = {57 visitor: {58 Program: {59 enter(path, state) {60 const { filename } = state.file.opts;61 const instrumenter = require('babel-plugin-istanbul').instrumenter;62 const { code } = instrumenter.instrumentSync(path.hub.file.code, filename);
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!!