diff --git a/.github/.keepalive b/.github/.keepalive new file mode 100644 index 0000000..dc0cb38 --- /dev/null +++ b/.github/.keepalive @@ -0,0 +1 @@ +2023-11-01T02:23:14.760Z diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b17435b..0037bdb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -182,7 +182,11 @@ jobs: fi # Trim leading and trailing whitespace: dep=$(echo "$dep" | xargs) - version="^$(npm view $dep version)" + version="$(npm view $dep version)" + if [[ -z "$version" ]]; then + continue + fi + version="^$version" jq -r --arg dep "$dep" --arg version "$version" '.dependencies[$dep] = $version' package.json > package.json.tmp mv package.json.tmp package.json done @@ -192,7 +196,11 @@ jobs: fi # Trim leading and trailing whitespace: dep=$(echo "$dep" | xargs) - version="^$(npm view $dep version)" + version="$(npm view $dep version)" + if [[ -z "$version" ]]; then + continue + fi + version="^$version" jq -r --arg dep "$dep" --arg version "$version" '.devDependencies[$dep] = $version' package.json > package.json.tmp mv package.json.tmp package.json done diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 93c4bde..0dae4fe 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -37,3 +37,4 @@ Stephannie JimĂ©nez Gacha Yernar Yergaziyev orimiles5 <97595296+orimiles5@users.noreply.github.com> rei2hu +Robert Gislason diff --git a/README.md b/README.md index c1934e6..56589dd 100644 --- a/README.md +++ b/README.md @@ -212,8 +212,8 @@ Copyright © 2016-2023. The Stdlib [Authors][stdlib-authors]. [npm-image]: http://img.shields.io/npm/v/@stdlib/math-iter-special-ramp.svg [npm-url]: https://npmjs.org/package/@stdlib/math-iter-special-ramp -[test-image]: https://github.com/stdlib-js/math-iter-special-ramp/actions/workflows/test.yml/badge.svg?branch=v0.1.1 -[test-url]: https://github.com/stdlib-js/math-iter-special-ramp/actions/workflows/test.yml?query=branch:v0.1.1 +[test-image]: https://github.com/stdlib-js/math-iter-special-ramp/actions/workflows/test.yml/badge.svg?branch=main +[test-url]: https://github.com/stdlib-js/math-iter-special-ramp/actions/workflows/test.yml?query=branch:main [coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/math-iter-special-ramp/main.svg [coverage-url]: https://codecov.io/github/stdlib-js/math-iter-special-ramp?branch=main diff --git a/package.json b/package.json index 291fee5..14b6738 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ }, "dependencies": { "@stdlib/math-base-special-ramp": "^0.1.1", - "@stdlib/math-iter-tools-map": "^0.1.0", + "@stdlib/math-iter-tools-map": "^0.1.1", "@stdlib/types": "^0.1.0" }, "devDependencies": { diff --git a/test/dist/test.js b/test/dist/test.js index 410892b..a8a9c60 100644 --- a/test/dist/test.js +++ b/test/dist/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2020 The Stdlib Authors. +* 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. @@ -21,193 +21,13 @@ // MODULES // var tape = require( 'tape' ); -var randu = require( '@stdlib/random-iter-randu' ); -var ramp = require( '@stdlib/math-base-special-ramp' ); -var linspace = require( '@stdlib/iter-linspace' ); -var array2iterator = require( '@stdlib/array-to-iterator' ); -var iterRamp = require( './../../dist' ); +var main = require( './../../dist' ); // TESTS // -tape( 'main export is a function', function test( t ) { +tape( 'main export is defined', function test( t ) { t.ok( true, __filename ); - t.strictEqual( typeof iterRamp, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'the function throws an error if provided an iterator argument which is not an iterator protocol-compliant object', function test( t ) { - var values; - var i; - - values = [ - '5', - 5, - NaN, - true, - false, - null, - void 0, - {}, - [], - function noop() {} - ]; - - for ( i = 0; i < values.length; i++ ) { - t.throws( badValue( values[i] ), TypeError, 'throws an error when provided '+values[i] ); - } - t.end(); - - function badValue( value ) { - return function badValue() { - iterRamp( value ); - }; - } -}); - -tape( 'the function returns an iterator protocol-compliant object', function test( t ) { - var it; - var r; - var i; - - it = iterRamp( randu() ); - t.equal( it.next.length, 0, 'has zero arity' ); - - for ( i = 0; i < 100; i++ ) { - r = it.next(); - t.equal( typeof r.value, 'number', 'returns a number' ); - t.equal( typeof r.done, 'boolean', 'returns a boolean' ); - } - t.end(); -}); - -tape( 'the function returns an iterator protocol-compliant object which evaluates the ramp function for each iterated value', function test( t ) { - var expected; - var it; - var N; - var x; - var r; - var i; - - N = 101; - it = iterRamp( linspace( -10.0, 10.0, N ) ); - t.equal( it.next.length, 0, 'has zero arity' ); - - x = linspace( -10.0, 10.0, N ); - for ( i = 0; i < N; i++ ) { - r = it.next(); - expected = ramp( x.next().value ); - t.equal( r.value, expected, 'returns expected value' ); - t.equal( typeof r.done, 'boolean', 'returns a boolean' ); - } - r = it.next(); - t.equal( r.value, void 0, 'returns expected value' ); - t.equal( r.done, true, 'returns expected value' ); - - t.end(); -}); - -tape( 'the function returns an iterator protocol-compliant object which returns `NaN` if provided a non-numeric value', function test( t ) { - var expected; - var values; - var actual; - var it; - var r; - var i; - - values = [ 'abc', null, true, false, [], {} ]; - expected = [ - { - 'value': NaN, - 'done': false - }, - { - 'value': NaN, - 'done': false - }, - { - 'value': NaN, - 'done': false - }, - { - 'value': NaN, - 'done': false - }, - { - 'value': NaN, - 'done': false - }, - { - 'value': NaN, - 'done': false - }, - { - 'done': true - } - ]; - - it = iterRamp( array2iterator( values ) ); - t.equal( it.next.length, 0, 'has zero arity' ); - - for ( i = 0; i < expected.length; i++ ) { - actual = it.next(); - r = expected[ i ].value; - if ( r === r ) { - t.equal( actual.value, r, 'returns expected value' ); - } else { - t.notEqual( actual.value, actual.value, 'returns expected value' ); - } - t.equal( actual.done, expected[ i ].done, 'returns a boolean' ); - } - t.end(); -}); - -tape( 'the returned iterator has a `return` method for closing an iterator (no argument)', function test( t ) { - var it; - var r; - - it = iterRamp( randu() ); - - r = it.next(); - t.equal( typeof r.value, 'number', 'returns a number' ); - t.equal( r.done, false, 'returns expected value' ); - - r = it.next(); - t.equal( typeof r.value, 'number', 'returns a number' ); - t.equal( r.done, false, 'returns expected value' ); - - r = it.return(); - t.equal( r.value, void 0, 'returns expected value' ); - t.equal( r.done, true, 'returns expected value' ); - - r = it.next(); - t.equal( r.value, void 0, 'returns expected value' ); - t.equal( r.done, true, 'returns expected value' ); - - t.end(); -}); - -tape( 'the returned iterator has a `return` method for closing an iterator (argument)', function test( t ) { - var it; - var r; - - it = iterRamp( randu() ); - - r = it.next(); - t.equal( typeof r.value, 'number', 'returns a number' ); - t.equal( r.done, false, 'returns expected value' ); - - r = it.next(); - t.equal( typeof r.value, 'number', 'returns a number' ); - t.equal( r.done, false, 'returns expected value' ); - - r = it.return( 'finished' ); - t.equal( r.value, 'finished', 'returns expected value' ); - t.equal( r.done, true, 'returns expected value' ); - - r = it.next(); - t.equal( r.value, void 0, 'returns expected value' ); - t.equal( r.done, true, 'returns expected value' ); - + t.strictEqual( main !== void 0, true, 'main export is defined' ); t.end(); });