From 4122aab6250e376367aaf84da7ae073b490079c1 Mon Sep 17 00:00:00 2001 From: stdlib-bot <82920195+stdlib-bot@users.noreply.github.com> Date: Fri, 8 Mar 2024 02:15:42 +0000 Subject: [PATCH] Update artifacts --- iter/do-while-each/coverage.ndjson | 1 + iter/do-while-each/index.html | 131 +++++++ iter/do-while-each/index.js.html | 271 ++++++++++++++ iter/do-while-each/main.js.html | 583 +++++++++++++++++++++++++++++ 4 files changed, 986 insertions(+) create mode 100644 iter/do-while-each/coverage.ndjson create mode 100644 iter/do-while-each/index.html create mode 100644 iter/do-while-each/index.js.html create mode 100644 iter/do-while-each/main.js.html diff --git a/iter/do-while-each/coverage.ndjson b/iter/do-while-each/coverage.ndjson new file mode 100644 index 000000000..082ff8f5f --- /dev/null +++ b/iter/do-while-each/coverage.ndjson @@ -0,0 +1 @@ +[225,228,98.6842,21,22,95.4545,4,4,100,225,228,98.6842,"3fabd410f3fdf4e2fc4302cef5db992049949927","2024-03-07 21:13:57 -0500"] diff --git a/iter/do-while-each/index.html b/iter/do-while-each/index.html new file mode 100644 index 000000000..c54d4b0c1 --- /dev/null +++ b/iter/do-while-each/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for iter/do-while-each/lib + + + + + + + + + +
+
+

All files iter/do-while-each/lib

+
+ +
+ 98.68% + Statements + 225/228 +
+ + +
+ 95.45% + Branches + 21/22 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 98.68% + Lines + 225/228 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.js +
+
100%62/62100%1/1100%0/0100%62/62
main.js +
+
98.19%163/16695.23%20/21100%4/498.19%163/166
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/iter/do-while-each/index.js.html b/iter/do-while-each/index.js.html new file mode 100644 index 000000000..664656a07 --- /dev/null +++ b/iter/do-while-each/index.js.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for iter/do-while-each/lib/index.js + + + + + + + + + +
+
+

All files / iter/do-while-each/lib index.js

+
+ +
+ 100% + Statements + 62/62 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 62/62 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
/**
+* @license Apache-2.0
+*
+* Copyright (c) 2023 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+ 
+'use strict';
+ 
+/**
+* Create an iterator which, while a test condition is true, invokes a function for each iterated value before returning the iterated value.
+*
+* @module @stdlib/iter/do-while-each
+*
+* @example
+* var array2iterator = require( '@stdlib/array/to-iterator' );
+* var iterDoWhileEach = require( '@stdlib/iter/do-while-each' );
+*
+* function predicate( v ) {
+*     return v < 3;
+* }
+*
+* function assert( v ) {
+*     if ( v !== v ) {
+*         throw new Error( 'should not be NaN' );
+*     }
+* }
+*
+* var it = iterDoWhileEach( array2iterator( [ 1, 2, 3, 4 ] ), predicate, assert );
+* // returns {}
+*
+* var r = it.next().value;
+* // returns 1
+*
+* r = it.next().value;
+* // returns 2
+*
+* r = it.next().value;
+* // returns undefined
+*
+* // ...
+*/
+ 
+// MODULES //
+ 
+var main = require( './main.js' );
+ 
+ 
+// EXPORTS //
+ 
+module.exports = main;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/iter/do-while-each/main.js.html b/iter/do-while-each/main.js.html new file mode 100644 index 000000000..55d4e2f60 --- /dev/null +++ b/iter/do-while-each/main.js.html @@ -0,0 +1,583 @@ + + + + + + Code coverage report for iter/do-while-each/lib/main.js + + + + + + + + + +
+
+

All files / iter/do-while-each/lib main.js

+
+ +
+ 98.19% + Statements + 163/166 +
+ + +
+ 95.23% + Branches + 20/21 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 98.19% + Lines + 163/166 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +1674x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +36x +36x +36x +36x +36x +10x +10x +36x +9x +9x +36x +9x +9x +8x +8x +8x +8x +8x +8x +8x +8x +36x +5x +5x +8x +8x +8x +8x +8x +8x +8x +8x +8x +210x +210x +210x +3x +3x +3x +3x +207x +210x +  +  +  +207x +207x +210x +2x +2x +2x +2x +2x +205x +205x +205x +205x +210x +8x +8x +8x +8x +8x +8x +8x +8x +8x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +2x +8x +8x +8x +8x +8x +8x +8x +8x +1x +1x +36x +4x +4x +4x +4x +4x + 
/**
+* @license Apache-2.0
+*
+* Copyright (c) 2024 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+ 
+'use strict';
+ 
+// MODULES //
+ 
+var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
+var isFunction = require( '@stdlib/assert/is-function' );
+var isIteratorLike = require( '@stdlib/assert/is-iterator-like' );
+var iteratorSymbol = require( '@stdlib/symbol/iterator' );
+var format = require( '@stdlib/string/format' );
+ 
+ 
+// MAIN //
+ 
+/**
+* Returns an iterator which invokes a function for each iterated value before returning the iterated value until either a predicate function returns `false` or the iterator has iterated over all values.
+* The condition is evaluated **after** executing the provided function; thus, `fcn` **always** executes at least once.
+*
+* @param {Iterator} iterator - input iterator
+* @param {Function} predicate - function which indicates whether to continue iterating
+* @param {Function} fcn - function to invoke
+* @param {*} [thisArg] - execution context
+* @throws {TypeError} first argument must be an iterator protocol-compliant object
+* @throws {TypeError} second argument must be a function
+* @throws {TypeError} third argument must be a function
+* @returns {Iterator} iterator
+*
+* @example
+* var array2iterator = require( '@stdlib/array/to-iterator' );
+* var iterDoWhileEach = require( '@stdlib/iter/do-while-each' );
+*
+* function predicate( v ) {
+*     return v < 3;
+* }
+*
+* function assert( v ) {
+*     if ( v !== v ) {
+*         throw new Error( 'should not be NaN' );
+*     }
+* }
+*
+* var it = iterDoWhileEach( array2iterator( [ 1, 2, 3, 4 ] ), predicate, assert );
+* // returns {}
+*
+* var r = it.next().value;
+* // returns 1
+*
+* r = it.next().value;
+* // returns 2
+*
+* r = it.next().value;
+* // undefined
+*
+* // ...
+*/
+function iterDoWhileEach( iterator, predicate, fcn, thisArg ) {
+	var iter;
+	var FLG;
+	var i;
+	if ( !isIteratorLike( iterator ) ) {
+		throw new TypeError( format( 'invalid argument. First argument must be an iterator protocol-compliant object. Value: `%s`.', iterator ) );
+	}
+	if ( !isFunction( predicate ) ) {
+		throw new TypeError( format( 'invalid argument. Second argument must be a function. Value: `%s`.', predicate ) );
+	}
+	if ( !isFunction( fcn ) ) {
+		throw new TypeError( format( 'invalid argument. Third argument must be a function. Value: `%s`.', fcn ) );
+	}
+	i = -1;
+ 
+	// Create an iterator protocol-compliant object:
+	iter = {};
+	setReadOnly( iter, 'next', next );
+	setReadOnly( iter, 'return', end );
+ 
+	// If an environment supports `Symbol.iterator`, make the iterator iterable:
+	if ( iteratorSymbol && isFunction( iterator[ iteratorSymbol ] ) ) {
+		setReadOnly( iter, iteratorSymbol, factory );
+	}
+	return iter;
+ 
+	/**
+	* Returns an iterator protocol-compliant object containing the next iterated value.
+	*
+	* @private
+	* @returns {Object} iterator protocol-compliant object
+	*/
+	function next() {
+		var v;
+		i += 1;
+		if ( FLG ) {
+			return {
+				'done': true
+			};
+		}
+		v = iterator.next();
+		if ( v.done ) {
+			FLG = true;
+			return v;
+		}
+		v = v.value;
+		fcn.call( thisArg, v, i );
+		if ( predicate( v, i ) === false ) {
+			FLG = true;
+			return {
+				'done': true
+			};
+		}
+		return {
+			'value': v,
+			'done': false
+		};
+	}
+ 
+	/**
+	* Finishes an iterator.
+	*
+	* @private
+	* @param {*} [value] - value to return
+	* @returns {Object} iterator protocol-compliant object
+	*/
+	function end( value ) {
+		FLG = true;
+		if ( arguments.length ) {
+			return {
+				'value': value,
+				'done': true
+			};
+		}
+		return {
+			'done': true
+		};
+	}
+ 
+	/**
+	* Returns a new iterator.
+	*
+	* @private
+	* @returns {Iterator} iterator
+	*/
+	function factory() {
+		return iterDoWhileEach( iterator[ iteratorSymbol ](), predicate, fcn, thisArg ); // eslint-disable-line max-len
+	}
+}
+ 
+ 
+// EXPORTS //
+ 
+module.exports = iterDoWhileEach;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file