From 87e116250449633408a57c4f50d593e85f551338 Mon Sep 17 00:00:00 2001 From: stdlib-bot <82920195+stdlib-bot@users.noreply.github.com> Date: Fri, 8 Mar 2024 03:11:31 +0000 Subject: [PATCH] Update artifacts --- utils/some-own-by/coverage.ndjson | 1 + utils/some-own-by/index.html | 131 ++++++++++++ utils/some-own-by/index.js.html | 223 ++++++++++++++++++++ utils/some-own-by/main.js.html | 340 ++++++++++++++++++++++++++++++ 4 files changed, 695 insertions(+) create mode 100644 utils/some-own-by/coverage.ndjson create mode 100644 utils/some-own-by/index.html create mode 100644 utils/some-own-by/index.js.html create mode 100644 utils/some-own-by/main.js.html diff --git a/utils/some-own-by/coverage.ndjson b/utils/some-own-by/coverage.ndjson new file mode 100644 index 000000000..533ffd4cf --- /dev/null +++ b/utils/some-own-by/coverage.ndjson @@ -0,0 +1 @@ +[131,131,100,13,13,100,1,1,100,131,131,100,"80fdd7073fb324751656cadfc3ed190045fc1583","2024-03-07 22:09:48 -0500"] diff --git a/utils/some-own-by/index.html b/utils/some-own-by/index.html new file mode 100644 index 000000000..24f1abee7 --- /dev/null +++ b/utils/some-own-by/index.html @@ -0,0 +1,131 @@ + + + + +
++ Press n or j to go to the next uncovered block, b, p or k for the previous block. +
+ ++ 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 | 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) 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'; + +/** +* Test whether some own properties of a provided object satisfy a predicate function. +* +* @module @stdlib/utils/some-own-by +* +* @example +* var someOwnBy = require( '@stdlib/utils/some-own-by' ); +* +* function isNegative( v ) { +* return ( v < 0 ); +* } +* +* var obj = { a: 1, b: 2, c: -3, d: 4, e: -1 }; +* +* var bool = someOwnBy( obj, 2, isNegative ); +* // returns true +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; + |
+ 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 | 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 +39x +39x +39x +39x +39x +9x +9x +39x +12x +12x +39x +11x +11x +7x +39x +14x +14x +14x +4x +4x +2x +2x +4x +14x +14x +5x +39x +1x +1x +1x +1x +1x + | /** +* @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 isObject = require( '@stdlib/assert/is-object' ); +var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive; +var hasOwnProp = require( '@stdlib/assert/has-own-property' ); +var isFunction = require( '@stdlib/assert/is-function' ); +var format = require( '@stdlib/string/format' ); + + +// MAIN // + +/** +* Tests whether some own properties of a provided object satisfy a predicate function. +* +* @param {Object} obj - input object +* @param {PositiveInteger} n - number of properties +* @param {Function} predicate - test function +* @param {*} [thisArg] - execution context +* @throws {TypeError} first argument must be an object +* @throws {TypeError} second argument must be a positive integer +* @throws {TypeError} third argument must be a function +* @returns {boolean} boolean indicating whether an object contains at least `n` properties which pass a test +* +* @example +* function isNegative( v ) { +* return ( v < 0 ); +* } +* +* var obj = { a: 1, b: 2, c: -3, d: 4, e: -1 }; +* +* var bool = someOwnBy( obj, 2, isNegative ); +* // returns true +*/ +function someOwnBy( obj, n, predicate, thisArg ) { + var count; + var out; + var key; + if ( !isObject( obj ) ) { + throw new TypeError( format( 'invalid argument. First argument must be an object. Value: `%s`.', obj ) ); + } + if ( !isPositiveInteger( n ) ) { + throw new TypeError( format( 'invalid argument. Second argument must be a positive integer. Value: `%s`.', n ) ); + } + if ( !isFunction( predicate ) ) { + throw new TypeError( format( 'invalid argument. Third argument must be a function. Value: `%s`.', predicate ) ); + } + count = 0; + for ( key in obj ) { + if ( hasOwnProp( obj, key ) ) { + out = predicate.call( thisArg, obj[ key ], key, obj ); + if ( out ) { + count += 1; + if ( count === n ) { + return true; + } + } + } + } + return false; +} + + +// EXPORTS // + +module.exports = someOwnBy; + |