Skip to content

Commit c5f13fc

Browse files
committed
Auto-generated commit
1 parent 39996cf commit c5f13fc

File tree

4 files changed

+16
-304
lines changed

4 files changed

+16
-304
lines changed

.github/.keepalive

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2023-11-01T01:05:30.815Z

.github/workflows/publish.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,11 @@ jobs:
182182
fi
183183
# Trim leading and trailing whitespace:
184184
dep=$(echo "$dep" | xargs)
185-
version="^$(npm view $dep version)"
185+
version="$(npm view $dep version)"
186+
if [[ -z "$version" ]]; then
187+
continue
188+
fi
189+
version="^$version"
186190
jq -r --arg dep "$dep" --arg version "$version" '.dependencies[$dep] = $version' package.json > package.json.tmp
187191
mv package.json.tmp package.json
188192
done
@@ -192,7 +196,11 @@ jobs:
192196
fi
193197
# Trim leading and trailing whitespace:
194198
dep=$(echo "$dep" | xargs)
195-
version="^$(npm view $dep version)"
199+
version="$(npm view $dep version)"
200+
if [[ -z "$version" ]]; then
201+
continue
202+
fi
203+
version="^$version"
196204
jq -r --arg dep "$dep" --arg version "$version" '.devDependencies[$dep] = $version' package.json > package.json.tmp
197205
mv package.json.tmp package.json
198206
done

CONTRIBUTORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,4 @@ Stephannie Jiménez Gacha <steff456@hotmail.com>
3737
Yernar Yergaziyev <yernar.yergaziyev@erg.kz>
3838
orimiles5 <97595296+orimiles5@users.noreply.github.com>
3939
rei2hu <reimu@reimu.ws>
40+
Robert Gislason <gztown2216@yahoo.com>

test/dist/test.js

Lines changed: 4 additions & 302 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* @license Apache-2.0
33
*
4-
* Copyright (c) 2018 The Stdlib Authors.
4+
* Copyright (c) 2023 The Stdlib Authors.
55
*
66
* Licensed under the Apache License, Version 2.0 (the "License");
77
* you may not use this file except in compliance with the License.
@@ -21,311 +21,13 @@
2121
// MODULES //
2222

2323
var tape = require( 'tape' );
24-
var noop = require( '@stdlib/utils-noop' );
25-
var doWhileAsync = require( './../../dist' );
24+
var main = require( './../../dist' );
2625

2726

2827
// TESTS //
2928

30-
tape( 'main export is a function', function test( t ) {
29+
tape( 'main export is defined', function test( t ) {
3130
t.ok( true, __filename );
32-
t.strictEqual( typeof doWhileAsync, 'function', 'main export is a function' );
31+
t.strictEqual( main !== void 0, true, 'main export is defined' );
3332
t.end();
3433
});
35-
36-
tape( 'the function throws an error if not provided a function to invoke', function test( t ) {
37-
var values;
38-
var i;
39-
40-
values = [
41-
'5',
42-
5,
43-
NaN,
44-
true,
45-
false,
46-
null,
47-
void 0,
48-
{},
49-
[],
50-
/.*/,
51-
new Date()
52-
];
53-
54-
for ( i = 0; i < values.length; i++ ) {
55-
t.throws( badValue( values[i] ), TypeError, 'throws a type error when provided '+values[i] );
56-
}
57-
t.end();
58-
59-
function badValue( value ) {
60-
return function badValue() {
61-
doWhileAsync( value, noop, noop );
62-
};
63-
}
64-
});
65-
66-
tape( 'the function throws an error if not provided a predicate function', function test( t ) {
67-
var values;
68-
var i;
69-
70-
values = [
71-
'5',
72-
5,
73-
NaN,
74-
true,
75-
false,
76-
null,
77-
void 0,
78-
{},
79-
[],
80-
/.*/,
81-
new Date()
82-
];
83-
84-
for ( i = 0; i < values.length; i++ ) {
85-
t.throws( badValue( values[i] ), TypeError, 'throws a type error when provided '+values[i] );
86-
}
87-
t.end();
88-
89-
function badValue( value ) {
90-
return function badValue() {
91-
doWhileAsync( noop, value, noop );
92-
};
93-
}
94-
});
95-
96-
tape( 'the function throws an error if not provided a callback function', function test( t ) {
97-
var values;
98-
var i;
99-
100-
values = [
101-
'5',
102-
5,
103-
NaN,
104-
true,
105-
false,
106-
null,
107-
void 0,
108-
{},
109-
[],
110-
/.*/,
111-
new Date()
112-
];
113-
114-
for ( i = 0; i < values.length; i++ ) {
115-
t.throws( badValue( values[i] ), TypeError, 'throws a type error when provided '+values[i] );
116-
}
117-
t.end();
118-
119-
function badValue( value ) {
120-
return function badValue() {
121-
doWhileAsync( noop, noop, value );
122-
};
123-
}
124-
});
125-
126-
tape( 'the function invokes a provided function while a test condition is true', function test( t ) {
127-
var indices1 = [ 0, 1, 2, 3, 4 ];
128-
var indices2 = [ 1, 2, 3, 4, 5 ];
129-
var j = -1;
130-
var k = -1;
131-
132-
doWhileAsync( fcn, predicate, done );
133-
134-
function fcn( i, next ) {
135-
k += 1;
136-
t.strictEqual( i, indices1[ k ], 'provides expected value' );
137-
setTimeout( onTimeout, 0 );
138-
function onTimeout() {
139-
next();
140-
}
141-
}
142-
143-
function predicate( i, clbk ) {
144-
j += 1;
145-
t.strictEqual( i, indices2[ j ], 'provides expected value' );
146-
clbk( null, i < 5 );
147-
}
148-
149-
function done( error ) {
150-
if ( error ) {
151-
t.fail( error.message );
152-
} else {
153-
t.ok( true, 'does not return an error' );
154-
}
155-
t.end();
156-
}
157-
});
158-
159-
tape( 'the function invokes a provided function while a test condition is true and at least once (always false)', function test( t ) {
160-
var indices1 = [ 0 ];
161-
var indices2 = [ 1 ];
162-
var j = -1;
163-
var k = -1;
164-
165-
doWhileAsync( fcn, predicate, done );
166-
167-
function fcn( i, next ) {
168-
k += 1;
169-
t.strictEqual( i, indices1[ k ], 'provides expected value' );
170-
setTimeout( onTimeout, 0 );
171-
function onTimeout() {
172-
next();
173-
}
174-
}
175-
176-
function predicate( i, clbk ) {
177-
j += 1;
178-
t.strictEqual( i, indices2[ j ], 'provides expected value' );
179-
clbk( null, false );
180-
}
181-
182-
function done( error ) {
183-
if ( error ) {
184-
t.fail( error.message );
185-
} else {
186-
t.ok( true, 'does not return an error' );
187-
}
188-
t.end();
189-
}
190-
});
191-
192-
tape( 'the function supports providing an execution context', function test( t ) {
193-
var ctx = {
194-
'count': 0
195-
};
196-
197-
doWhileAsync( fcn, predicate, done, ctx );
198-
199-
function fcn( i, next ) {
200-
this.count += 1; // eslint-disable-line no-invalid-this
201-
setTimeout( onTimeout, 0 );
202-
function onTimeout() {
203-
next();
204-
}
205-
}
206-
207-
function predicate( i, clbk ) {
208-
clbk( null, i < 5 );
209-
}
210-
211-
function done( error ) {
212-
if ( error ) {
213-
t.fail( error.message );
214-
} else {
215-
t.ok( true, 'does not return an error' );
216-
}
217-
t.strictEqual( ctx.count, 5, 'updates context' );
218-
t.end();
219-
}
220-
});
221-
222-
tape( 'the function provides any results to a `done` callback', function test( t ) {
223-
doWhileAsync( fcn, predicate, done );
224-
225-
function fcn( i, next ) {
226-
setTimeout( onTimeout, 0 );
227-
function onTimeout() {
228-
next( null, 'beep'+i, 'boop'+i, 'woot'+i );
229-
}
230-
}
231-
232-
function predicate( i, clbk ) {
233-
clbk( null, i < 5 );
234-
}
235-
236-
function done( error, str1, str2, str3 ) {
237-
if ( error ) {
238-
t.fail( error.message );
239-
} else {
240-
t.ok( true, 'does not return an error' );
241-
}
242-
t.strictEqual( str1, 'beep4', 'returns expected value' );
243-
t.strictEqual( str2, 'boop4', 'returns expected value' );
244-
t.strictEqual( str3, 'woot4', 'returns expected value' );
245-
t.end();
246-
}
247-
});
248-
249-
tape( 'if an error is encountered when invoking the predicate function, the function suspends execution and immediately returns the `error` to the provided callback', function test( t ) {
250-
var k = 0;
251-
doWhileAsync( fcn, predicate, done );
252-
253-
function fcn( i, next ) {
254-
setTimeout( onTimeout, 0 );
255-
function onTimeout() {
256-
next();
257-
}
258-
}
259-
260-
function predicate( i, clbk ) {
261-
k += 1;
262-
if ( i === 2 ) {
263-
return clbk( new Error( 'beep' ) );
264-
}
265-
clbk( null, i < 5 );
266-
}
267-
268-
function done( error ) {
269-
if ( error ) {
270-
t.pass( error.message );
271-
} else {
272-
t.fail( 'should return an error' );
273-
}
274-
t.strictEqual( k, 2, 'expected number of invocations' );
275-
t.end();
276-
}
277-
});
278-
279-
tape( 'if an error is encountered when invoking the provided function, the function suspends execution and immediately returns the `error` to the provided callback', function test( t ) {
280-
var k = 0;
281-
doWhileAsync( fcn, predicate, done );
282-
283-
function fcn( i, next ) {
284-
setTimeout( onTimeout, 0 );
285-
function onTimeout() {
286-
if ( i === 2 ) {
287-
return next( new Error( 'boop' ) );
288-
}
289-
next();
290-
}
291-
}
292-
293-
function predicate( i, clbk ) {
294-
k += 1;
295-
clbk( null, i < 5 );
296-
}
297-
298-
function done( error ) {
299-
if ( error ) {
300-
t.pass( error.message );
301-
} else {
302-
t.fail( 'should return an error' );
303-
}
304-
t.strictEqual( k, 2, 'expected number of invocations' );
305-
t.end();
306-
}
307-
});
308-
309-
tape( 'the function does not guarantee asynchronous execution', function test( t ) {
310-
var k = 0;
311-
doWhileAsync( fcn, predicate, done );
312-
k = 1;
313-
314-
function fcn( i, next ) {
315-
next();
316-
}
317-
318-
function predicate( i, clbk ) {
319-
clbk( null, i < 5 );
320-
}
321-
322-
function done( error ) {
323-
if ( error ) {
324-
t.fail( error.message );
325-
} else {
326-
t.ok( true, 'does not return an error' );
327-
}
328-
t.strictEqual( k, 0, 'releases the zalgo' );
329-
t.end();
330-
}
331-
});

0 commit comments

Comments
 (0)