README.md (71618B)
1 <!-- 2 3 @license Apache-2.0 4 5 Copyright (c) 2018 The Stdlib Authors. 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 19 --> 20 21 # Utils 22 23 [![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] [![dependencies][dependencies-image]][dependencies-url] 24 25 > Standard library utilities. 26 27 <section class="installation"> 28 29 ## Installation 30 31 ```bash 32 npm install @stdlib/utils 33 ``` 34 35 </section> 36 37 <section class="usage"> 38 39 ## Usage 40 41 ```javascript 42 var utils = require( '@stdlib/utils' ); 43 ``` 44 45 #### utils 46 47 Standard library utilities. 48 49 ```javascript 50 var o = utils; 51 // returns {...} 52 ``` 53 54 The package contains the following sub-namespaces: 55 56 <!-- <toc pattern="async"> --> 57 58 <div class="namespace-toc"> 59 60 - <span class="signature">[`async`][@stdlib/utils/async]</span><span class="delimiter">: </span><span class="description">standard library async utilities.</span> 61 62 </div> 63 64 <!-- </toc> --> 65 66 ### Data Structures 67 68 <!-- <toc keywords="+data structure"> --> 69 70 <div class="namespace-toc"> 71 72 - <span class="signature">[`CircularBuffer( buffer )`][@stdlib/utils/circular-buffer]</span><span class="delimiter">: </span><span class="description">circular buffer constructor.</span> 73 - <span class="signature">[`CompactAdjacencyMatrix( N )`][@stdlib/utils/compact-adjacency-matrix]</span><span class="delimiter">: </span><span class="description">compact adjacency matrix constructor.</span> 74 - <span class="signature">[`DoublyLinkedList()`][@stdlib/utils/doubly-linked-list]</span><span class="delimiter">: </span><span class="description">doubly linked list constructor.</span> 75 - <span class="signature">[`FIFO()`][@stdlib/utils/fifo]</span><span class="delimiter">: </span><span class="description">first-in-first-out (FIFO) queue.</span> 76 - <span class="signature">[`LinkedList()`][@stdlib/utils/linked-list]</span><span class="delimiter">: </span><span class="description">singly linked list.</span> 77 - <span class="signature">[`namedtypedtuple( fields[, options] )`][@stdlib/utils/named-typed-tuple]</span><span class="delimiter">: </span><span class="description">create a factory for generating named typed tuples.</span> 78 - <span class="signature">[`Stack()`][@stdlib/utils/stack]</span><span class="delimiter">: </span><span class="description">stack data structure.</span> 79 80 </div> 81 82 <!-- </toc> --> 83 84 ### Collections 85 86 <!-- <toc pattern="+(append|any*|bifurcate*|count-by*|every*|for-each*|group*|inmap*|key-by*|none*|pop|prepend|push|reduce*|*shift|some*|tabulate*|until-each*|while-each*)" ignore="*propert*" > --> 87 88 <div class="namespace-toc"> 89 90 - <span class="signature">[`anyByRight( collection, predicate[, thisArg ] )`][@stdlib/utils/any-by-right]</span><span class="delimiter">: </span><span class="description">test whether at least one element in a collection passes a test implemented by a predicate function, iterating from right to left.</span> 91 - <span class="signature">[`anyBy( collection, predicate[, thisArg ] )`][@stdlib/utils/any-by]</span><span class="delimiter">: </span><span class="description">test whether at least one element in a collection passes a test implemented by a predicate function.</span> 92 - <span class="signature">[`any( collection )`][@stdlib/utils/any]</span><span class="delimiter">: </span><span class="description">test whether at least one element in a collection is truthy.</span> 93 - <span class="signature">[`append( collection1, collection2 )`][@stdlib/utils/append]</span><span class="delimiter">: </span><span class="description">add elements from one collection to the end of another collection.</span> 94 - <span class="signature">[`bifurcateBy( collection, [options,] predicate )`][@stdlib/utils/bifurcate-by]</span><span class="delimiter">: </span><span class="description">split values into two groups according to a predicate function.</span> 95 - <span class="signature">[`bifurcateIn( obj, [options,] predicate )`][@stdlib/utils/bifurcate-in]</span><span class="delimiter">: </span><span class="description">split an object's **own** and **inherited** property values into two groups according to a predicate function.</span> 96 - <span class="signature">[`bifurcateOwn( obj, [options,] predicate )`][@stdlib/utils/bifurcate-own]</span><span class="delimiter">: </span><span class="description">split an object's **own** property values into two groups according to a predicate function.</span> 97 - <span class="signature">[`bifurcate( collection, [options,] filter )`][@stdlib/utils/bifurcate]</span><span class="delimiter">: </span><span class="description">split values into two groups.</span> 98 - <span class="signature">[`countBy( collection, [options,] indicator )`][@stdlib/utils/count-by]</span><span class="delimiter">: </span><span class="description">group values according to an indicator function and return group counts.</span> 99 - <span class="signature">[`everyByRight( collection, predicate[, thisArg ] )`][@stdlib/utils/every-by-right]</span><span class="delimiter">: </span><span class="description">test whether all elements in a collection pass a test implemented by a predicate function, iterating from right to left.</span> 100 - <span class="signature">[`everyBy( collection, predicate[, thisArg ] )`][@stdlib/utils/every-by]</span><span class="delimiter">: </span><span class="description">test whether all elements in a collection pass a test implemented by a predicate function.</span> 101 - <span class="signature">[`every( collection )`][@stdlib/utils/every]</span><span class="delimiter">: </span><span class="description">test whether all elements in a collection are truthy.</span> 102 - <span class="signature">[`forEachRight( collection, fcn[, thisArg ] )`][@stdlib/utils/for-each-right]</span><span class="delimiter">: </span><span class="description">invoke a function for each element in a collection, iterating from the right to left.</span> 103 - <span class="signature">[`forEach( collection, fcn[, thisArg ] )`][@stdlib/utils/for-each]</span><span class="delimiter">: </span><span class="description">invoke a function for each element in a collection.</span> 104 - <span class="signature">[`groupBy( collection, [options,] indicator )`][@stdlib/utils/group-by]</span><span class="delimiter">: </span><span class="description">group values according to an indicator function.</span> 105 - <span class="signature">[`groupIn( obj, [options,] indicator )`][@stdlib/utils/group-in]</span><span class="delimiter">: </span><span class="description">group an object's **own** and **inherited** property values according to an indicator function.</span> 106 - <span class="signature">[`groupOwn( obj, [options,] indicator )`][@stdlib/utils/group-own]</span><span class="delimiter">: </span><span class="description">group an object's **own** property values according to an indicator function.</span> 107 - <span class="signature">[`group( collection, [options,] groups )`][@stdlib/utils/group]</span><span class="delimiter">: </span><span class="description">group values as arrays associated with distinct keys.</span> 108 - <span class="signature">[`inmapRight( collection, fcn[, thisArg ] )`][@stdlib/utils/inmap-right]</span><span class="delimiter">: </span><span class="description">invoke a function for each element in a collection and update the collection in-place, iterating from right to left.</span> 109 - <span class="signature">[`inmap( collection, fcn[, thisArg ] )`][@stdlib/utils/inmap]</span><span class="delimiter">: </span><span class="description">invoke a function for each element in a collection and update the collection in-place.</span> 110 - <span class="signature">[`keyByRight( collection, fcn[, thisArg ] )`][@stdlib/utils/key-by-right]</span><span class="delimiter">: </span><span class="description">convert a collection to an object whose keys are determined by a provided function and whose values are the collection values, iterating from right to left.</span> 111 - <span class="signature">[`keyBy( collection, fcn[, thisArg ] )`][@stdlib/utils/key-by]</span><span class="delimiter">: </span><span class="description">convert a collection to an object whose keys are determined by a provided function and whose values are the collection values.</span> 112 - <span class="signature">[`noneByRight( collection, predicate[, thisArg ] )`][@stdlib/utils/none-by-right]</span><span class="delimiter">: </span><span class="description">test whether all elements in a collection fail a test implemented by a predicate function, iterating from right to left.</span> 113 - <span class="signature">[`noneBy( collection, predicate[, thisArg ] )`][@stdlib/utils/none-by]</span><span class="delimiter">: </span><span class="description">test whether all elements in a collection fail a test implemented by a predicate function.</span> 114 - <span class="signature">[`none( collection )`][@stdlib/utils/none]</span><span class="delimiter">: </span><span class="description">test whether all elements in a collection are falsy.</span> 115 - <span class="signature">[`pop( collection )`][@stdlib/utils/pop]</span><span class="delimiter">: </span><span class="description">remove and return the last element of a collection.</span> 116 - <span class="signature">[`prepend( collection1, collection2 )`][@stdlib/utils/prepend]</span><span class="delimiter">: </span><span class="description">add elements from one collection to the beginning of another collection.</span> 117 - <span class="signature">[`push( collection, ...items )`][@stdlib/utils/push]</span><span class="delimiter">: </span><span class="description">add one or more elements to the end of a collection.</span> 118 - <span class="signature">[`reduceRight( collection, initial, reducer[, thisArg ] )`][@stdlib/utils/reduce-right]</span><span class="delimiter">: </span><span class="description">apply a function against an accumulator and each element in a collection and return the accumulated result, iterating from right to left.</span> 119 - <span class="signature">[`reduce( collection, initial, reducer[, thisArg ] )`][@stdlib/utils/reduce]</span><span class="delimiter">: </span><span class="description">apply a function against an accumulator and each element in a collection and return the accumulated result.</span> 120 - <span class="signature">[`shift( collection )`][@stdlib/utils/shift]</span><span class="delimiter">: </span><span class="description">remove and return the first element of a collection.</span> 121 - <span class="signature">[`someByRight( collection, n, predicate[, thisArg ] )`][@stdlib/utils/some-by-right]</span><span class="delimiter">: </span><span class="description">test whether a collection contains at least `n` elements which pass a test implemented by a predicate function, iterating from right to left.</span> 122 - <span class="signature">[`someBy( collection, n, predicate[, thisArg ] )`][@stdlib/utils/some-by]</span><span class="delimiter">: </span><span class="description">test whether a collection contains at least `n` elements which pass a test implemented by a predicate function.</span> 123 - <span class="signature">[`some( collection, n )`][@stdlib/utils/some]</span><span class="delimiter">: </span><span class="description">test whether a collection contains at least `n` elements which are truthy.</span> 124 - <span class="signature">[`tabulateBy( collection[, options,] indicator )`][@stdlib/utils/tabulate-by]</span><span class="delimiter">: </span><span class="description">generate a frequency table according to an indicator function.</span> 125 - <span class="signature">[`tabulate( collection )`][@stdlib/utils/tabulate]</span><span class="delimiter">: </span><span class="description">generate a frequency table.</span> 126 - <span class="signature">[`unshift( collection, ...items )`][@stdlib/utils/unshift]</span><span class="delimiter">: </span><span class="description">add one or more elements to the beginning of a collection.</span> 127 - <span class="signature">[`untilEachRight( collection, predicate, fcn[, thisArg ] )`][@stdlib/utils/until-each-right]</span><span class="delimiter">: </span><span class="description">until a test condition is true, invoke a function for each element in a collection, iterating from right to left.</span> 128 - <span class="signature">[`untilEach( collection, predicate, fcn[, thisArg ] )`][@stdlib/utils/until-each]</span><span class="delimiter">: </span><span class="description">until a test condition is true, invoke a function for each element in a collection.</span> 129 - <span class="signature">[`whileEachRight( collection, predicate, fcn[, thisArg ] )`][@stdlib/utils/while-each-right]</span><span class="delimiter">: </span><span class="description">while a test condition is true, invoke a function for each element in a collection, iterating from right to left.</span> 130 - <span class="signature">[`whileEach( collection, predicate, fcn[, thisArg ] )`][@stdlib/utils/while-each]</span><span class="delimiter">: </span><span class="description">while a test condition is true, invoke a function for each element in a collection.</span> 131 132 </div> 133 134 <!-- </toc> --> 135 136 ### Arrays 137 138 <!-- <toc pattern="+(from-entries|find|flatten-array|index-of|*pluck*|zip|unzip)"> --> 139 140 <div class="namespace-toc"> 141 142 - <span class="signature">[`deepPluck( arr, path[, options] )`][@stdlib/utils/deep-pluck]</span><span class="delimiter">: </span><span class="description">extract a nested property value from each element of an object array.</span> 143 - <span class="signature">[`find( arr, [opts,] clbk )`][@stdlib/utils/find]</span><span class="delimiter">: </span><span class="description">find elements in an array-like object that satisfy a test condition.</span> 144 - <span class="signature">[`flattenArray( arr[, options] )`][@stdlib/utils/flatten-array]</span><span class="delimiter">: </span><span class="description">flatten an array.</span> 145 - <span class="signature">[`objectFromEntries( entries )`][@stdlib/utils/from-entries]</span><span class="delimiter">: </span><span class="description">create an object from key-value pairs.</span> 146 - <span class="signature">[`indexOf( arr, searchElement[, fromIndex] )`][@stdlib/utils/index-of]</span><span class="delimiter">: </span><span class="description">return the first index at which a given element can be found.</span> 147 - <span class="signature">[`pluck( arr, prop[, options] )`][@stdlib/utils/pluck]</span><span class="delimiter">: </span><span class="description">extract a property value from each element of an object array.</span> 148 - <span class="signature">[`unzip( arr[, idx] )`][@stdlib/utils/unzip]</span><span class="delimiter">: </span><span class="description">unzip a zipped array (i.e., a nested array of tuples).</span> 149 - <span class="signature">[`zip( arr1, arr2,...[, opts] )`][@stdlib/utils/zip]</span><span class="delimiter">: </span><span class="description">generate array tuples from input arrays.</span> 150 151 </div> 152 153 <!-- </toc> --> 154 155 ### Objects 156 157 <!-- <toc pattern="+(capitalize-keys|deep-get|deep-set|define-read-only*|entries*|flatten-object|for-in|for-own|get-prototype-of|keys-in|*-keys|map-keys*|map-values*|merge|move-property|object-inverse*|omit*|pick*|uncapitalize-keys|uppercase-keys|values*|*descriptor*|*accessor*|*propert*)"> --> 158 159 <div class="namespace-toc"> 160 161 - <span class="signature">[`capitalizeKeys( obj )`][@stdlib/utils/capitalize-keys]</span><span class="delimiter">: </span><span class="description">convert the first letter of each object key to uppercase.</span> 162 - <span class="signature">[`deepGet( obj, path[, options] )`][@stdlib/utils/deep-get]</span><span class="delimiter">: </span><span class="description">get a nested property value.</span> 163 - <span class="signature">[`deepSet( obj, path, value[, options] )`][@stdlib/utils/deep-set]</span><span class="delimiter">: </span><span class="description">set a nested property value.</span> 164 - <span class="signature">[`setConfigurableReadOnlyAccessor( obj, prop, getter )`][@stdlib/utils/define-configurable-read-only-accessor]</span><span class="delimiter">: </span><span class="description">define a configurable **read-only** accessor.</span> 165 - <span class="signature">[`setConfigurableReadOnly( obj, prop, value )`][@stdlib/utils/define-configurable-read-only-property]</span><span class="delimiter">: </span><span class="description">define a configurable **read-only** property.</span> 166 - <span class="signature">[`setConfigurableReadWriteAccessor( obj, prop, getter, setter )`][@stdlib/utils/define-configurable-read-write-accessor]</span><span class="delimiter">: </span><span class="description">define a configurable **read-write** accessor.</span> 167 - <span class="signature">[`setConfigurableWriteOnlyAccessor( obj, prop, setter )`][@stdlib/utils/define-configurable-write-only-accessor]</span><span class="delimiter">: </span><span class="description">define a configurable **write-only** accessor.</span> 168 - <span class="signature">[`setMemoizedConfigurableReadOnly( obj, prop, fcn )`][@stdlib/utils/define-memoized-configurable-read-only-property]</span><span class="delimiter">: </span><span class="description">define a configurable memoized **read-only** object property.</span> 169 - <span class="signature">[`defineMemoizedProperty( obj, prop, descriptor )`][@stdlib/utils/define-memoized-property]</span><span class="delimiter">: </span><span class="description">define a memoized object property.</span> 170 - <span class="signature">[`setMemoizedReadOnly( obj, prop, fcn )`][@stdlib/utils/define-memoized-read-only-property]</span><span class="delimiter">: </span><span class="description">define a memoized **read-only** object property.</span> 171 - <span class="signature">[`setNonEnumerableProperty( obj, prop, value )`][@stdlib/utils/define-nonenumerable-property]</span><span class="delimiter">: </span><span class="description">define a **non-enumerable** property.</span> 172 - <span class="signature">[`setNonEnumerableReadOnlyAccessor( obj, prop, getter )`][@stdlib/utils/define-nonenumerable-read-only-accessor]</span><span class="delimiter">: </span><span class="description">define a non-enumerable **read-only** accessor.</span> 173 - <span class="signature">[`setNonEnumerableReadOnly( obj, prop, value )`][@stdlib/utils/define-nonenumerable-read-only-property]</span><span class="delimiter">: </span><span class="description">define a non-enumerable **read-only** property.</span> 174 - <span class="signature">[`setNonEnumerableReadWriteAccessor( obj, prop, getter, setter )`][@stdlib/utils/define-nonenumerable-read-write-accessor]</span><span class="delimiter">: </span><span class="description">define a non-enumerable **read-write** accessor.</span> 175 - <span class="signature">[`setNonEnumerableWriteOnlyAccessor( obj, prop, setter )`][@stdlib/utils/define-nonenumerable-write-only-accessor]</span><span class="delimiter">: </span><span class="description">define a non-enumerable **write-only** accessor.</span> 176 - <span class="signature">[`defineProperties( obj, properties )`][@stdlib/utils/define-properties]</span><span class="delimiter">: </span><span class="description">define (and/or modify) object properties.</span> 177 - <span class="signature">[`defineProperty( obj, prop, descriptor )`][@stdlib/utils/define-property]</span><span class="delimiter">: </span><span class="description">define (or modify) an object property.</span> 178 - <span class="signature">[`setReadOnlyAccessor( obj, prop, getter )`][@stdlib/utils/define-read-only-accessor]</span><span class="delimiter">: </span><span class="description">define a **read-only** accessor.</span> 179 - <span class="signature">[`setReadOnly( obj, prop, value )`][@stdlib/utils/define-read-only-property]</span><span class="delimiter">: </span><span class="description">define a **read-only** property.</span> 180 - <span class="signature">[`setReadWriteAccessor( obj, prop, getter, setter )`][@stdlib/utils/define-read-write-accessor]</span><span class="delimiter">: </span><span class="description">define a **read-write** accessor.</span> 181 - <span class="signature">[`setWriteOnlyAccessor( obj, prop, setter )`][@stdlib/utils/define-write-only-accessor]</span><span class="delimiter">: </span><span class="description">define a **write-only** accessor.</span> 182 - <span class="signature">[`objectEntriesIn( obj )`][@stdlib/utils/entries-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited enumerable property key-value pairs.</span> 183 - <span class="signature">[`objectEntries( obj )`][@stdlib/utils/entries]</span><span class="delimiter">: </span><span class="description">return an array of an object's own enumerable property key-value pairs.</span> 184 - <span class="signature">[`enumerablePropertiesIn( obj )`][@stdlib/utils/enumerable-properties-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited enumerable property names and symbols.</span> 185 - <span class="signature">[`enumerableProperties( obj )`][@stdlib/utils/enumerable-properties]</span><span class="delimiter">: </span><span class="description">return an array of an object's own enumerable property names and symbols.</span> 186 - <span class="signature">[`enumerablePropertySymbolsIn( obj )`][@stdlib/utils/enumerable-property-symbols-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited enumerable symbol properties.</span> 187 - <span class="signature">[`enumerablePropertySymbols( obj )`][@stdlib/utils/enumerable-property-symbols]</span><span class="delimiter">: </span><span class="description">return an array of an object's own enumerable symbol properties.</span> 188 - <span class="signature">[`flattenObject( obj[, options] )`][@stdlib/utils/flatten-object]</span><span class="delimiter">: </span><span class="description">flatten an object.</span> 189 - <span class="signature">[`forIn( obj, fcn[, thisArg ] )`][@stdlib/utils/for-in]</span><span class="delimiter">: </span><span class="description">invoke a function for each own and inherited enumerable property of an object.</span> 190 - <span class="signature">[`forOwn( obj, fcn[, thisArg ] )`][@stdlib/utils/for-own]</span><span class="delimiter">: </span><span class="description">invoke a function for each own enumerable property of an object.</span> 191 - <span class="signature">[`getPrototypeOf( value )`][@stdlib/utils/get-prototype-of]</span><span class="delimiter">: </span><span class="description">return the prototype of a provided object.</span> 192 - <span class="signature">[`inheritedEnumerableProperties( obj[, level] )`][@stdlib/utils/inherited-enumerable-properties]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited enumerable property names and symbols.</span> 193 - <span class="signature">[`inheritedEnumerablePropertySymbols( obj[, level] )`][@stdlib/utils/inherited-enumerable-property-symbols]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited enumerable symbol properties.</span> 194 - <span class="signature">[`inheritedKeys( obj[, level] )`][@stdlib/utils/inherited-keys]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited enumerable property names.</span> 195 - <span class="signature">[`inheritedNonEnumerableProperties( obj[, level] )`][@stdlib/utils/inherited-nonenumerable-properties]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited non-enumerable property names and symbols.</span> 196 - <span class="signature">[`inheritedNonEnumerablePropertyNames( obj[, level] )`][@stdlib/utils/inherited-nonenumerable-property-names]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited non-enumerable property names.</span> 197 - <span class="signature">[`inheritedNonEnumerablePropertySymbols( obj[, level] )`][@stdlib/utils/inherited-nonenumerable-property-symbols]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited non-enumerable symbol properties.</span> 198 - <span class="signature">[`inheritedProperties( obj[, level] )`][@stdlib/utils/inherited-properties]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited property names and symbols.</span> 199 - <span class="signature">[`inheritedPropertyDescriptor( obj, property[, level] )`][@stdlib/utils/inherited-property-descriptor]</span><span class="delimiter">: </span><span class="description">return a property descriptor for an object's inherited property.</span> 200 - <span class="signature">[`inheritedPropertyDescriptors( obj[, level] )`][@stdlib/utils/inherited-property-descriptors]</span><span class="delimiter">: </span><span class="description">return an object's inherited property descriptors.</span> 201 - <span class="signature">[`inheritedPropertyNames( obj[, level] )`][@stdlib/utils/inherited-property-names]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited enumerable and non-enumerable property names.</span> 202 - <span class="signature">[`inheritedPropertySymbols( obj[, level] )`][@stdlib/utils/inherited-property-symbols]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited symbol properties.</span> 203 - <span class="signature">[`inheritedWritableProperties( obj[, level] )`][@stdlib/utils/inherited-writable-properties]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited writable property names and symbols.</span> 204 - <span class="signature">[`inheritedWritablePropertyNames( obj[, level] )`][@stdlib/utils/inherited-writable-property-names]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited writable property names.</span> 205 - <span class="signature">[`inheritedWritablePropertySymbols( obj[, level] )`][@stdlib/utils/inherited-writable-property-symbols]</span><span class="delimiter">: </span><span class="description">return an array of an object's inherited writable symbol properties.</span> 206 - <span class="signature">[`keysIn( obj )`][@stdlib/utils/keys-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited enumerable property names.</span> 207 - <span class="signature">[`lowercaseKeys( obj )`][@stdlib/utils/lowercase-keys]</span><span class="delimiter">: </span><span class="description">convert each object key to lowercase.</span> 208 - <span class="signature">[`mapKeys( obj, transform )`][@stdlib/utils/map-keys]</span><span class="delimiter">: </span><span class="description">map keys from one object to a new object having the same values.</span> 209 - <span class="signature">[`mapValues( obj, transform )`][@stdlib/utils/map-values]</span><span class="delimiter">: </span><span class="description">map values from one object to a new object having the same keys.</span> 210 - <span class="signature">[`merge( target, source1[, source2[,...,sourceN]] )`][@stdlib/utils/merge]</span><span class="delimiter">: </span><span class="description">merge and extend objects.</span> 211 - <span class="signature">[`moveProperty( source, prop, target )`][@stdlib/utils/move-property]</span><span class="delimiter">: </span><span class="description">move a property from one object to another object.</span> 212 - <span class="signature">[`nonEnumerablePropertiesIn( obj )`][@stdlib/utils/nonenumerable-properties-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited non-enumerable property names and symbols.</span> 213 - <span class="signature">[`nonEnumerableProperties( obj )`][@stdlib/utils/nonenumerable-properties]</span><span class="delimiter">: </span><span class="description">return an array of an object's own non-enumerable property names and symbols.</span> 214 - <span class="signature">[`nonEnumerablePropertyNamesIn( obj )`][@stdlib/utils/nonenumerable-property-names-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited non-enumerable property names.</span> 215 - <span class="signature">[`nonEnumerablePropertyNames( obj )`][@stdlib/utils/nonenumerable-property-names]</span><span class="delimiter">: </span><span class="description">return an array of an object's own non-enumerable property names.</span> 216 - <span class="signature">[`nonEnumerablePropertySymbolsIn( obj )`][@stdlib/utils/nonenumerable-property-symbols-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited non-enumerable symbol properties.</span> 217 - <span class="signature">[`nonEnumerablePropertySymbols( obj )`][@stdlib/utils/nonenumerable-property-symbols]</span><span class="delimiter">: </span><span class="description">return an array of an object's own non-enumerable symbol properties.</span> 218 - <span class="signature">[`nonIndexKeys( obj )`][@stdlib/utils/nonindex-keys]</span><span class="delimiter">: </span><span class="description">return an array of an object's own enumerable property names which are not integer indices.</span> 219 - <span class="signature">[`objectInverseBy( obj, [options,] transform )`][@stdlib/utils/object-inverse-by]</span><span class="delimiter">: </span><span class="description">invert an object, such that keys become values and values become keys, according to a transform function.</span> 220 - <span class="signature">[`objectInverse( obj[, options] )`][@stdlib/utils/object-inverse]</span><span class="delimiter">: </span><span class="description">invert an object, such that keys become values and values become keys.</span> 221 - <span class="signature">[`omitBy( obj, predicate )`][@stdlib/utils/omit-by]</span><span class="delimiter">: </span><span class="description">return a partial object copy excluding properties for which a predicate (function) returns a truthy value.</span> 222 - <span class="signature">[`omit( obj, keys )`][@stdlib/utils/omit]</span><span class="delimiter">: </span><span class="description">return a partial object copy excluding specified keys.</span> 223 - <span class="signature">[`pickBy( obj, predicate )`][@stdlib/utils/pick-by]</span><span class="delimiter">: </span><span class="description">return a partial object copy containing properties for which a predicate (function) returns a truthy value.</span> 224 - <span class="signature">[`pick( obj, keys )`][@stdlib/utils/pick]</span><span class="delimiter">: </span><span class="description">return a partial object copy containing only specified keys.</span> 225 - <span class="signature">[`propertiesIn( obj )`][@stdlib/utils/properties-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited property names and symbols.</span> 226 - <span class="signature">[`properties( obj )`][@stdlib/utils/properties]</span><span class="delimiter">: </span><span class="description">return an array of an object's own enumerable and non-enumerable property names and symbols.</span> 227 - <span class="signature">[`propertyDescriptorIn( obj, property )`][@stdlib/utils/property-descriptor-in]</span><span class="delimiter">: </span><span class="description">return a property descriptor for an object's own or inherited property.</span> 228 - <span class="signature">[`propertyDescriptor( obj, property )`][@stdlib/utils/property-descriptor]</span><span class="delimiter">: </span><span class="description">return a property descriptor for an object's own property.</span> 229 - <span class="signature">[`propertyDescriptorsIn( obj )`][@stdlib/utils/property-descriptors-in]</span><span class="delimiter">: </span><span class="description">return an object's own and inherited property descriptors.</span> 230 - <span class="signature">[`propertyDescriptors( obj )`][@stdlib/utils/property-descriptors]</span><span class="delimiter">: </span><span class="description">return an object's own property descriptors.</span> 231 - <span class="signature">[`propertyNamesIn( obj )`][@stdlib/utils/property-names-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited enumerable and non-enumerable property names.</span> 232 - <span class="signature">[`propertyNames( obj )`][@stdlib/utils/property-names]</span><span class="delimiter">: </span><span class="description">return an array of an object's own enumerable and non-enumerable property names.</span> 233 - <span class="signature">[`propertySymbolsIn( obj )`][@stdlib/utils/property-symbols-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited symbol properties.</span> 234 - <span class="signature">[`propertySymbols( obj )`][@stdlib/utils/property-symbols]</span><span class="delimiter">: </span><span class="description">return an array of an object's own symbol properties.</span> 235 - <span class="signature">[`uncapitalizeKeys( obj )`][@stdlib/utils/uncapitalize-keys]</span><span class="delimiter">: </span><span class="description">convert the first letter of each object key to lowercase.</span> 236 - <span class="signature">[`uppercaseKeys( obj )`][@stdlib/utils/uppercase-keys]</span><span class="delimiter">: </span><span class="description">convert each object key to uppercase.</span> 237 - <span class="signature">[`objectValuesIn( obj )`][@stdlib/utils/values-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited enumerable property values.</span> 238 - <span class="signature">[`objectValues( obj )`][@stdlib/utils/values]</span><span class="delimiter">: </span><span class="description">return an array of an object's own enumerable property values.</span> 239 - <span class="signature">[`writablePropertiesIn( obj )`][@stdlib/utils/writable-properties-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited writable property names and symbols.</span> 240 - <span class="signature">[`writableProperties( obj )`][@stdlib/utils/writable-properties]</span><span class="delimiter">: </span><span class="description">return an array of an object's own writable property names and symbols.</span> 241 - <span class="signature">[`writablePropertyNamesIn( obj )`][@stdlib/utils/writable-property-names-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited writable property names.</span> 242 - <span class="signature">[`writablePropertyNames( obj )`][@stdlib/utils/writable-property-names]</span><span class="delimiter">: </span><span class="description">return an array of an object's own writable property names.</span> 243 - <span class="signature">[`writablePropertySymbolsIn( obj )`][@stdlib/utils/writable-property-symbols-in]</span><span class="delimiter">: </span><span class="description">return an array of an object's own and inherited writable symbol properties.</span> 244 - <span class="signature">[`writablePropertySymbols( obj )`][@stdlib/utils/writable-property-symbols]</span><span class="delimiter">: </span><span class="description">return an array of an object's own writable symbol properties.</span> 245 246 </div> 247 248 <!-- </toc> --> 249 250 ### Functions 251 252 <!-- <toc pattern="+(argument-function|compose*|constant-function|curry*|do*|function*|identity*|map-function*|memoize|noop|papply*|*-arguments|uncurry*|until|until-async|*waterfall|while)"> --> 253 254 <div class="namespace-toc"> 255 256 - <span class="signature">[`argumentFunction( idx )`][@stdlib/utils/argument-function]</span><span class="delimiter">: </span><span class="description">create an argument function.</span> 257 - <span class="signature">[`compose( ...fcn )`][@stdlib/utils/compose]</span><span class="delimiter">: </span><span class="description">function composition.</span> 258 - <span class="signature">[`constantFunction( x )`][@stdlib/utils/constant-function]</span><span class="delimiter">: </span><span class="description">constant function.</span> 259 - <span class="signature">[`curryRight( fcn[, arity][, thisArg] )`][@stdlib/utils/curry-right]</span><span class="delimiter">: </span><span class="description">transform a function into a sequence of functions each accepting a single argument.</span> 260 - <span class="signature">[`curry( fcn[, arity][, thisArg] )`][@stdlib/utils/curry]</span><span class="delimiter">: </span><span class="description">transform a function into a sequence of functions each accepting a single argument.</span> 261 - <span class="signature">[`doUntilEachRight( collection, fcn, predicate[, thisArg ] )`][@stdlib/utils/do-until-each-right]</span><span class="delimiter">: </span><span class="description">until a test condition is true, invoke a function for each element in a collection, iterating from right to left.</span> 262 - <span class="signature">[`doUntilEach( collection, fcn, predicate[, thisArg ] )`][@stdlib/utils/do-until-each]</span><span class="delimiter">: </span><span class="description">until a test condition is true, invoke a function for each element in a collection.</span> 263 - <span class="signature">[`doUntil( fcn, predicate[, thisArg ] )`][@stdlib/utils/do-until]</span><span class="delimiter">: </span><span class="description">invoke a function until a test condition is true.</span> 264 - <span class="signature">[`doWhileEachRight( collection, fcn, predicate[, thisArg ] )`][@stdlib/utils/do-while-each-right]</span><span class="delimiter">: </span><span class="description">while a test condition is true, invoke a function for each element in a collection, iterating from right to left.</span> 265 - <span class="signature">[`doWhileEach( collection, fcn, predicate[, thisArg ] )`][@stdlib/utils/do-while-each]</span><span class="delimiter">: </span><span class="description">while a test condition is true, invoke a function for each element in a collection.</span> 266 - <span class="signature">[`doWhile( fcn, predicate[, thisArg ] )`][@stdlib/utils/do-while]</span><span class="delimiter">: </span><span class="description">invoke a function while a test condition is true.</span> 267 - <span class="signature">[`functionName( fcn )`][@stdlib/utils/function-name]</span><span class="delimiter">: </span><span class="description">determine a function's name.</span> 268 - <span class="signature">[`functionSequence( ...fcn )`][@stdlib/utils/function-sequence]</span><span class="delimiter">: </span><span class="description">function sequence.</span> 269 - <span class="signature">[`identity( x )`][@stdlib/utils/identity-function]</span><span class="delimiter">: </span><span class="description">identity function.</span> 270 - <span class="signature">[`mapFun( fcn, n[, thisArg ] )`][@stdlib/utils/map-function]</span><span class="delimiter">: </span><span class="description">invoke a function `n` times and return an array of accumulated function return values.</span> 271 - <span class="signature">[`memoize( fcn[, hashFunction] )`][@stdlib/utils/memoize]</span><span class="delimiter">: </span><span class="description">memoize a function.</span> 272 - <span class="signature">[`noop()`][@stdlib/utils/noop]</span><span class="delimiter">: </span><span class="description">function which does nothing.</span> 273 - <span class="signature">[`papplyRight( fcn[, ...args] )`][@stdlib/utils/papply-right]</span><span class="delimiter">: </span><span class="description">partially apply function arguments from the right.</span> 274 - <span class="signature">[`papply( fcn[, ...args] )`][@stdlib/utils/papply]</span><span class="delimiter">: </span><span class="description">partially apply function arguments.</span> 275 - <span class="signature">[`reorderArguments( fcn, indices[, thisArg] )`][@stdlib/utils/reorder-arguments]</span><span class="delimiter">: </span><span class="description">create a function that invokes a provided function with reordered arguments.</span> 276 - <span class="signature">[`reverseArguments( fcn[, thisArg] )`][@stdlib/utils/reverse-arguments]</span><span class="delimiter">: </span><span class="description">create a function that invokes a provided function with arguments in reverse order.</span> 277 - <span class="signature">[`uncurryRight( fcn[, arity][, thisArg] )`][@stdlib/utils/uncurry-right]</span><span class="delimiter">: </span><span class="description">transform a curried function into a function invoked with multiple arguments.</span> 278 - <span class="signature">[`uncurry( fcn[, arity][, thisArg] )`][@stdlib/utils/uncurry]</span><span class="delimiter">: </span><span class="description">transform a curried function into a function invoked with multiple arguments.</span> 279 - <span class="signature">[`until( predicate, fcn[, thisArg ] )`][@stdlib/utils/until]</span><span class="delimiter">: </span><span class="description">invoke a function until a test condition is true.</span> 280 - <span class="signature">[`whilst( predicate, fcn[, thisArg ] )`][@stdlib/utils/while]</span><span class="delimiter">: </span><span class="description">invoke a function while a test condition is true.</span> 281 282 </div> 283 284 <!-- </toc> --> 285 286 ### Error Handling 287 288 <!-- <toc pattern="try-*"> --> 289 290 <div class="namespace-toc"> 291 292 - <span class="signature">[`trycatch( x, y )`][@stdlib/utils/try-catch]</span><span class="delimiter">: </span><span class="description">if a function does not throw, return the function return value; otherwise, return `y`.</span> 293 - <span class="signature">[`tryFunction( fcn )`][@stdlib/utils/try-function]</span><span class="delimiter">: </span><span class="description">wrap a function in a try/catch block.</span> 294 - <span class="signature">[`tryRequire( id )`][@stdlib/utils/try-require]</span><span class="delimiter">: </span><span class="description">wrap `require` in a try/catch block.</span> 295 - <span class="signature">[`trythen( x, y )`][@stdlib/utils/try-then]</span><span class="delimiter">: </span><span class="description">if a function does not throw, return the function return value; otherwise, return the return value of a second function.</span> 296 297 </div> 298 299 <!-- </toc> --> 300 301 ### General Utilities 302 303 <!-- <toc pattern="*" ignore="+(append|any*|bifurcate*|count-by*|every*|for-each*|group*|inmap*|key-by*|none*|pop|prepend|push|reduce*|*shift|some*|tabulate*|until-each*|while-each*)" ignore="+(capitalize-keys|deep-get|deep-set|define-read-only*|entries*|flatten-object|for-in|for-own|get-prototype-of|keys-in|lowercase-keys|map-keys*|map-values*|merge|move-property|object-inverse*|omit*|pick*|uncapitalize-keys|uppercase-keys|values*)" ignore="+(argument-function|compose*|constant-function|curry*|do*|function*|identity*|map-function*|memoize|noop|papply*|*-arguments|uncurry*|until|until-async|*waterfall|while)" ignore="try-*" ignore="+(from-entries|find|flatten-array|index-of|*pluck*|zip|unzip|async)"> --> 304 305 <div class="namespace-toc"> 306 307 - <span class="signature">[`constructorName( value )`][@stdlib/utils/constructor-name]</span><span class="delimiter">: </span><span class="description">determine the name of a value's constructor.</span> 308 - <span class="signature">[`convertPath( from, to )`][@stdlib/utils/convert-path]</span><span class="delimiter">: </span><span class="description">convert between POSIX and Windows paths.</span> 309 - <span class="signature">[`copy( value[, level] )`][@stdlib/utils/copy]</span><span class="delimiter">: </span><span class="description">copy or deep clone a value to an arbitrary depth.</span> 310 - <span class="signature">[`dirname( path )`][@stdlib/utils/dirname]</span><span class="delimiter">: </span><span class="description">return a directory name.</span> 311 - <span class="signature">[`rescape( str )`][@stdlib/utils/escape-regexp-string]</span><span class="delimiter">: </span><span class="description">escape a regular expression string or pattern.</span> 312 - <span class="signature">[`evil( str )`][@stdlib/utils/eval]</span><span class="delimiter">: </span><span class="description">alias for `eval` global.</span> 313 - <span class="signature">[`extname( filename )`][@stdlib/utils/extname]</span><span class="delimiter">: </span><span class="description">return a filename extension.</span> 314 - <span class="signature">[`getGlobal( [codegen] )`][@stdlib/utils/global]</span><span class="delimiter">: </span><span class="description">return the global object.</span> 315 - <span class="signature">[`ifelse( bool, x, y )`][@stdlib/utils/if-else]</span><span class="delimiter">: </span><span class="description">if a condition is truthy, return `x`; otherwise, return `y`.</span> 316 - <span class="signature">[`ifthen( bool, x, y )`][@stdlib/utils/if-then]</span><span class="delimiter">: </span><span class="description">if a condition is truthy, invoke `x`; otherwise, invoke `y`.</span> 317 - <span class="signature">[`inherit( ctor, superCtor )`][@stdlib/utils/inherit]</span><span class="delimiter">: </span><span class="description">implement prototypical inheritance by replacing the prototype of one constructor with the prototype of another constructor.</span> 318 - <span class="signature">[`objectKeys( obj )`][@stdlib/utils/keys]</span><span class="delimiter">: </span><span class="description">return an array of an object's own enumerable property names.</span> 319 - <span class="signature">[`nativeClass( value )`][@stdlib/utils/native-class]</span><span class="delimiter">: </span><span class="description">determine the specification defined classification of an object.</span> 320 - <span class="signature">[`nextTick( clbk[, ...args] )`][@stdlib/utils/next-tick]</span><span class="delimiter">: </span><span class="description">add a callback to the "next tick queue".</span> 321 - <span class="signature">[`openURL()`][@stdlib/utils/open-url]</span><span class="delimiter">: </span><span class="description">open a URL.</span> 322 - <span class="signature">[`parallel( files, [options,] clbk )`][@stdlib/utils/parallel]</span><span class="delimiter">: </span><span class="description">execute scripts in parallel.</span> 323 - <span class="signature">[`parseJSON( str[, reviver] )`][@stdlib/utils/parse-json]</span><span class="delimiter">: </span><span class="description">parse a string as JSON.</span> 324 - <span class="signature">[`realmax( dtype )`][@stdlib/utils/real-max]</span><span class="delimiter">: </span><span class="description">return the maximum finite value capable of being represented by a numeric real type.</span> 325 - <span class="signature">[`realmin( dtype )`][@stdlib/utils/real-min]</span><span class="delimiter">: </span><span class="description">return the smallest positive normal value capable of being represented by a numeric real type.</span> 326 - <span class="signature">[`reFromString( str )`][@stdlib/utils/regexp-from-string]</span><span class="delimiter">: </span><span class="description">create a regular expression from a regular expression string.</span> 327 - <span class="signature">[`safeintmax( dtype )`][@stdlib/utils/safe-int-max]</span><span class="delimiter">: </span><span class="description">return the maximum safe integer capable of being represented by a numeric real type.</span> 328 - <span class="signature">[`safeintmin( dtype )`][@stdlib/utils/safe-int-min]</span><span class="delimiter">: </span><span class="description">return the minimum safe integer capable of being represented by a numeric real type.</span> 329 - <span class="signature">[`sizeOf( dtype )`][@stdlib/utils/size-of]</span><span class="delimiter">: </span><span class="description">return the size (in bytes) of the canonical binary representation of a specified numeric type.</span> 330 - <span class="signature">[`timeit( code, [options,] clbk )`][@stdlib/utils/timeit]</span><span class="delimiter">: </span><span class="description">time a snippet.</span> 331 - <span class="signature">[`typemax( dtype )`][@stdlib/utils/type-max]</span><span class="delimiter">: </span><span class="description">return the maximum value of a specified numeric type.</span> 332 - <span class="signature">[`typemin( dtype )`][@stdlib/utils/type-min]</span><span class="delimiter">: </span><span class="description">return the minimum value of a specified numeric type.</span> 333 - <span class="signature">[`typeOf( value )`][@stdlib/utils/type-of]</span><span class="delimiter">: </span><span class="description">determine a value's type.</span> 334 335 </div> 336 337 <!-- </toc> --> 338 339 </section> 340 341 <!-- /.usage --> 342 343 <section class="examples"> 344 345 ## Examples 346 347 <!-- TODO: better examples --> 348 349 <!-- eslint no-undef: "error" --> 350 351 ```javascript 352 var objectKeys = require( '@stdlib/utils/keys' ); 353 var utils = require( '@stdlib/utils' ); 354 355 console.log( objectKeys( utils ) ); 356 ``` 357 358 </section> 359 360 <!-- /.examples --> 361 362 363 <section class="main-repo" > 364 365 * * * 366 367 ## Notice 368 369 This package is part of [stdlib][stdlib], a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more. 370 371 For more information on the project, filing bug reports and feature requests, and guidance on how to develop [stdlib][stdlib], see the main project [repository][stdlib]. 372 373 #### Community 374 375 [![Chat][chat-image]][chat-url] 376 377 --- 378 379 ## License 380 381 See [LICENSE][stdlib-license]. 382 383 384 ## Copyright 385 386 Copyright © 2016-2021. The Stdlib [Authors][stdlib-authors]. 387 388 </section> 389 390 <!-- /.stdlib --> 391 392 <!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. --> 393 394 <section class="links"> 395 396 [npm-image]: http://img.shields.io/npm/v/@stdlib/utils.svg 397 [npm-url]: https://npmjs.org/package/@stdlib/utils 398 399 [test-image]: https://github.com/stdlib-js/utils/actions/workflows/test.yml/badge.svg 400 [test-url]: https://github.com/stdlib-js/utils/actions/workflows/test.yml 401 402 [coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/utils/main.svg 403 [coverage-url]: https://codecov.io/github/stdlib-js/utils?branch=main 404 405 [dependencies-image]: https://img.shields.io/david/stdlib-js/utils.svg 406 [dependencies-url]: https://david-dm.org/stdlib-js/utils/main 407 408 [chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg 409 [chat-url]: https://gitter.im/stdlib-js/stdlib/ 410 411 [stdlib]: https://github.com/stdlib-js/stdlib 412 413 [stdlib-authors]: https://github.com/stdlib-js/stdlib/graphs/contributors 414 415 [stdlib-license]: https://raw.githubusercontent.com/stdlib-js/utils/main/LICENSE 416 417 <!-- <toc-links> --> 418 419 [@stdlib/utils/constructor-name]: https://www.npmjs.com/package/@stdlib/utils/tree/main/constructor-name 420 421 [@stdlib/utils/convert-path]: https://www.npmjs.com/package/@stdlib/utils/tree/main/convert-path 422 423 [@stdlib/utils/copy]: https://www.npmjs.com/package/@stdlib/utils/tree/main/copy 424 425 [@stdlib/utils/dirname]: https://www.npmjs.com/package/@stdlib/utils/tree/main/dirname 426 427 [@stdlib/utils/escape-regexp-string]: https://www.npmjs.com/package/@stdlib/utils/tree/main/escape-regexp-string 428 429 [@stdlib/utils/eval]: https://www.npmjs.com/package/@stdlib/utils/tree/main/eval 430 431 [@stdlib/utils/extname]: https://www.npmjs.com/package/@stdlib/utils/tree/main/extname 432 433 [@stdlib/utils/global]: https://www.npmjs.com/package/@stdlib/utils/tree/main/global 434 435 [@stdlib/utils/if-else]: https://www.npmjs.com/package/@stdlib/utils/tree/main/if-else 436 437 [@stdlib/utils/if-then]: https://www.npmjs.com/package/@stdlib/utils/tree/main/if-then 438 439 [@stdlib/utils/inherit]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherit 440 441 [@stdlib/utils/keys]: https://www.npmjs.com/package/@stdlib/utils/tree/main/keys 442 443 [@stdlib/utils/native-class]: https://www.npmjs.com/package/@stdlib/utils/tree/main/native-class 444 445 [@stdlib/utils/next-tick]: https://www.npmjs.com/package/@stdlib/utils/tree/main/next-tick 446 447 [@stdlib/utils/open-url]: https://www.npmjs.com/package/@stdlib/utils/tree/main/open-url 448 449 [@stdlib/utils/parallel]: https://www.npmjs.com/package/@stdlib/utils/tree/main/parallel 450 451 [@stdlib/utils/parse-json]: https://www.npmjs.com/package/@stdlib/utils/tree/main/parse-json 452 453 [@stdlib/utils/real-max]: https://www.npmjs.com/package/@stdlib/utils/tree/main/real-max 454 455 [@stdlib/utils/real-min]: https://www.npmjs.com/package/@stdlib/utils/tree/main/real-min 456 457 [@stdlib/utils/regexp-from-string]: https://www.npmjs.com/package/@stdlib/utils/tree/main/regexp-from-string 458 459 [@stdlib/utils/safe-int-max]: https://www.npmjs.com/package/@stdlib/utils/tree/main/safe-int-max 460 461 [@stdlib/utils/safe-int-min]: https://www.npmjs.com/package/@stdlib/utils/tree/main/safe-int-min 462 463 [@stdlib/utils/size-of]: https://www.npmjs.com/package/@stdlib/utils/tree/main/size-of 464 465 [@stdlib/utils/timeit]: https://www.npmjs.com/package/@stdlib/utils/tree/main/timeit 466 467 [@stdlib/utils/type-max]: https://www.npmjs.com/package/@stdlib/utils/tree/main/type-max 468 469 [@stdlib/utils/type-min]: https://www.npmjs.com/package/@stdlib/utils/tree/main/type-min 470 471 [@stdlib/utils/type-of]: https://www.npmjs.com/package/@stdlib/utils/tree/main/type-of 472 473 [@stdlib/utils/try-catch]: https://www.npmjs.com/package/@stdlib/utils/tree/main/try-catch 474 475 [@stdlib/utils/try-function]: https://www.npmjs.com/package/@stdlib/utils/tree/main/try-function 476 477 [@stdlib/utils/try-require]: https://www.npmjs.com/package/@stdlib/utils/tree/main/try-require 478 479 [@stdlib/utils/try-then]: https://www.npmjs.com/package/@stdlib/utils/tree/main/try-then 480 481 [@stdlib/utils/argument-function]: https://www.npmjs.com/package/@stdlib/utils/tree/main/argument-function 482 483 [@stdlib/utils/compose]: https://www.npmjs.com/package/@stdlib/utils/tree/main/compose 484 485 [@stdlib/utils/constant-function]: https://www.npmjs.com/package/@stdlib/utils/tree/main/constant-function 486 487 [@stdlib/utils/curry-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/curry-right 488 489 [@stdlib/utils/curry]: https://www.npmjs.com/package/@stdlib/utils/tree/main/curry 490 491 [@stdlib/utils/do-until-each-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/do-until-each-right 492 493 [@stdlib/utils/do-until-each]: https://www.npmjs.com/package/@stdlib/utils/tree/main/do-until-each 494 495 [@stdlib/utils/do-until]: https://www.npmjs.com/package/@stdlib/utils/tree/main/do-until 496 497 [@stdlib/utils/do-while-each-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/do-while-each-right 498 499 [@stdlib/utils/do-while-each]: https://www.npmjs.com/package/@stdlib/utils/tree/main/do-while-each 500 501 [@stdlib/utils/do-while]: https://www.npmjs.com/package/@stdlib/utils/tree/main/do-while 502 503 [@stdlib/utils/function-name]: https://www.npmjs.com/package/@stdlib/utils/tree/main/function-name 504 505 [@stdlib/utils/function-sequence]: https://www.npmjs.com/package/@stdlib/utils/tree/main/function-sequence 506 507 [@stdlib/utils/identity-function]: https://www.npmjs.com/package/@stdlib/utils/tree/main/identity-function 508 509 [@stdlib/utils/map-function]: https://www.npmjs.com/package/@stdlib/utils/tree/main/map-function 510 511 [@stdlib/utils/memoize]: https://www.npmjs.com/package/@stdlib/utils/tree/main/memoize 512 513 [@stdlib/utils/noop]: https://www.npmjs.com/package/@stdlib/utils/tree/main/noop 514 515 [@stdlib/utils/papply-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/papply-right 516 517 [@stdlib/utils/papply]: https://www.npmjs.com/package/@stdlib/utils/tree/main/papply 518 519 [@stdlib/utils/reorder-arguments]: https://www.npmjs.com/package/@stdlib/utils/tree/main/reorder-arguments 520 521 [@stdlib/utils/reverse-arguments]: https://www.npmjs.com/package/@stdlib/utils/tree/main/reverse-arguments 522 523 [@stdlib/utils/uncurry-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/uncurry-right 524 525 [@stdlib/utils/uncurry]: https://www.npmjs.com/package/@stdlib/utils/tree/main/uncurry 526 527 [@stdlib/utils/until]: https://www.npmjs.com/package/@stdlib/utils/tree/main/until 528 529 [@stdlib/utils/while]: https://www.npmjs.com/package/@stdlib/utils/tree/main/while 530 531 [@stdlib/utils/capitalize-keys]: https://www.npmjs.com/package/@stdlib/utils/tree/main/capitalize-keys 532 533 [@stdlib/utils/deep-get]: https://www.npmjs.com/package/@stdlib/utils/tree/main/deep-get 534 535 [@stdlib/utils/deep-set]: https://www.npmjs.com/package/@stdlib/utils/tree/main/deep-set 536 537 [@stdlib/utils/define-configurable-read-only-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-configurable-read-only-accessor 538 539 [@stdlib/utils/define-configurable-read-only-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-configurable-read-only-property 540 541 [@stdlib/utils/define-configurable-read-write-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-configurable-read-write-accessor 542 543 [@stdlib/utils/define-configurable-write-only-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-configurable-write-only-accessor 544 545 [@stdlib/utils/define-memoized-configurable-read-only-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-memoized-configurable-read-only-property 546 547 [@stdlib/utils/define-memoized-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-memoized-property 548 549 [@stdlib/utils/define-memoized-read-only-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-memoized-read-only-property 550 551 [@stdlib/utils/define-nonenumerable-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-nonenumerable-property 552 553 [@stdlib/utils/define-nonenumerable-read-only-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-nonenumerable-read-only-accessor 554 555 [@stdlib/utils/define-nonenumerable-read-only-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-nonenumerable-read-only-property 556 557 [@stdlib/utils/define-nonenumerable-read-write-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-nonenumerable-read-write-accessor 558 559 [@stdlib/utils/define-nonenumerable-write-only-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-nonenumerable-write-only-accessor 560 561 [@stdlib/utils/define-properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-properties 562 563 [@stdlib/utils/define-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-property 564 565 [@stdlib/utils/define-read-only-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-read-only-accessor 566 567 [@stdlib/utils/define-read-only-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-read-only-property 568 569 [@stdlib/utils/define-read-write-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-read-write-accessor 570 571 [@stdlib/utils/define-write-only-accessor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-write-only-accessor 572 573 [@stdlib/utils/entries-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/entries-in 574 575 [@stdlib/utils/entries]: https://www.npmjs.com/package/@stdlib/utils/tree/main/entries 576 577 [@stdlib/utils/enumerable-properties-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/enumerable-properties-in 578 579 [@stdlib/utils/enumerable-properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/enumerable-properties 580 581 [@stdlib/utils/enumerable-property-symbols-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/enumerable-property-symbols-in 582 583 [@stdlib/utils/enumerable-property-symbols]: https://www.npmjs.com/package/@stdlib/utils/tree/main/enumerable-property-symbols 584 585 [@stdlib/utils/flatten-object]: https://www.npmjs.com/package/@stdlib/utils/tree/main/flatten-object 586 587 [@stdlib/utils/for-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/for-in 588 589 [@stdlib/utils/for-own]: https://www.npmjs.com/package/@stdlib/utils/tree/main/for-own 590 591 [@stdlib/utils/get-prototype-of]: https://www.npmjs.com/package/@stdlib/utils/tree/main/get-prototype-of 592 593 [@stdlib/utils/inherited-enumerable-properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-enumerable-properties 594 595 [@stdlib/utils/inherited-enumerable-property-symbols]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-enumerable-property-symbols 596 597 [@stdlib/utils/inherited-keys]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-keys 598 599 [@stdlib/utils/inherited-nonenumerable-properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-nonenumerable-properties 600 601 [@stdlib/utils/inherited-nonenumerable-property-names]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-nonenumerable-property-names 602 603 [@stdlib/utils/inherited-nonenumerable-property-symbols]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-nonenumerable-property-symbols 604 605 [@stdlib/utils/inherited-properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-properties 606 607 [@stdlib/utils/inherited-property-descriptor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-property-descriptor 608 609 [@stdlib/utils/inherited-property-descriptors]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-property-descriptors 610 611 [@stdlib/utils/inherited-property-names]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-property-names 612 613 [@stdlib/utils/inherited-property-symbols]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-property-symbols 614 615 [@stdlib/utils/inherited-writable-properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-writable-properties 616 617 [@stdlib/utils/inherited-writable-property-names]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-writable-property-names 618 619 [@stdlib/utils/inherited-writable-property-symbols]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inherited-writable-property-symbols 620 621 [@stdlib/utils/keys-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/keys-in 622 623 [@stdlib/utils/lowercase-keys]: https://www.npmjs.com/package/@stdlib/utils/tree/main/lowercase-keys 624 625 [@stdlib/utils/map-keys]: https://www.npmjs.com/package/@stdlib/utils/tree/main/map-keys 626 627 [@stdlib/utils/map-values]: https://www.npmjs.com/package/@stdlib/utils/tree/main/map-values 628 629 [@stdlib/utils/merge]: https://www.npmjs.com/package/@stdlib/utils/tree/main/merge 630 631 [@stdlib/utils/move-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/move-property 632 633 [@stdlib/utils/nonenumerable-properties-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/nonenumerable-properties-in 634 635 [@stdlib/utils/nonenumerable-properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/nonenumerable-properties 636 637 [@stdlib/utils/nonenumerable-property-names-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/nonenumerable-property-names-in 638 639 [@stdlib/utils/nonenumerable-property-names]: https://www.npmjs.com/package/@stdlib/utils/tree/main/nonenumerable-property-names 640 641 [@stdlib/utils/nonenumerable-property-symbols-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/nonenumerable-property-symbols-in 642 643 [@stdlib/utils/nonenumerable-property-symbols]: https://www.npmjs.com/package/@stdlib/utils/tree/main/nonenumerable-property-symbols 644 645 [@stdlib/utils/nonindex-keys]: https://www.npmjs.com/package/@stdlib/utils/tree/main/nonindex-keys 646 647 [@stdlib/utils/object-inverse-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/object-inverse-by 648 649 [@stdlib/utils/object-inverse]: https://www.npmjs.com/package/@stdlib/utils/tree/main/object-inverse 650 651 [@stdlib/utils/omit-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/omit-by 652 653 [@stdlib/utils/omit]: https://www.npmjs.com/package/@stdlib/utils/tree/main/omit 654 655 [@stdlib/utils/pick-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/pick-by 656 657 [@stdlib/utils/pick]: https://www.npmjs.com/package/@stdlib/utils/tree/main/pick 658 659 [@stdlib/utils/properties-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/properties-in 660 661 [@stdlib/utils/properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/properties 662 663 [@stdlib/utils/property-descriptor-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/property-descriptor-in 664 665 [@stdlib/utils/property-descriptor]: https://www.npmjs.com/package/@stdlib/utils/tree/main/property-descriptor 666 667 [@stdlib/utils/property-descriptors-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/property-descriptors-in 668 669 [@stdlib/utils/property-descriptors]: https://www.npmjs.com/package/@stdlib/utils/tree/main/property-descriptors 670 671 [@stdlib/utils/property-names-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/property-names-in 672 673 [@stdlib/utils/property-names]: https://www.npmjs.com/package/@stdlib/utils/tree/main/property-names 674 675 [@stdlib/utils/property-symbols-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/property-symbols-in 676 677 [@stdlib/utils/property-symbols]: https://www.npmjs.com/package/@stdlib/utils/tree/main/property-symbols 678 679 [@stdlib/utils/uncapitalize-keys]: https://www.npmjs.com/package/@stdlib/utils/tree/main/uncapitalize-keys 680 681 [@stdlib/utils/uppercase-keys]: https://www.npmjs.com/package/@stdlib/utils/tree/main/uppercase-keys 682 683 [@stdlib/utils/values-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/values-in 684 685 [@stdlib/utils/values]: https://www.npmjs.com/package/@stdlib/utils/tree/main/values 686 687 [@stdlib/utils/writable-properties-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/writable-properties-in 688 689 [@stdlib/utils/writable-properties]: https://www.npmjs.com/package/@stdlib/utils/tree/main/writable-properties 690 691 [@stdlib/utils/writable-property-names-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/writable-property-names-in 692 693 [@stdlib/utils/writable-property-names]: https://www.npmjs.com/package/@stdlib/utils/tree/main/writable-property-names 694 695 [@stdlib/utils/writable-property-symbols-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/writable-property-symbols-in 696 697 [@stdlib/utils/writable-property-symbols]: https://www.npmjs.com/package/@stdlib/utils/tree/main/writable-property-symbols 698 699 [@stdlib/utils/deep-pluck]: https://www.npmjs.com/package/@stdlib/utils/tree/main/deep-pluck 700 701 [@stdlib/utils/find]: https://www.npmjs.com/package/@stdlib/utils/tree/main/find 702 703 [@stdlib/utils/flatten-array]: https://www.npmjs.com/package/@stdlib/utils/tree/main/flatten-array 704 705 [@stdlib/utils/from-entries]: https://www.npmjs.com/package/@stdlib/utils/tree/main/from-entries 706 707 [@stdlib/utils/index-of]: https://www.npmjs.com/package/@stdlib/utils/tree/main/index-of 708 709 [@stdlib/utils/pluck]: https://www.npmjs.com/package/@stdlib/utils/tree/main/pluck 710 711 [@stdlib/utils/unzip]: https://www.npmjs.com/package/@stdlib/utils/tree/main/unzip 712 713 [@stdlib/utils/zip]: https://www.npmjs.com/package/@stdlib/utils/tree/main/zip 714 715 [@stdlib/utils/any-by-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/any-by-right 716 717 [@stdlib/utils/any-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/any-by 718 719 [@stdlib/utils/any]: https://www.npmjs.com/package/@stdlib/utils/tree/main/any 720 721 [@stdlib/utils/append]: https://www.npmjs.com/package/@stdlib/utils/tree/main/append 722 723 [@stdlib/utils/bifurcate-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/bifurcate-by 724 725 [@stdlib/utils/bifurcate-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/bifurcate-in 726 727 [@stdlib/utils/bifurcate-own]: https://www.npmjs.com/package/@stdlib/utils/tree/main/bifurcate-own 728 729 [@stdlib/utils/bifurcate]: https://www.npmjs.com/package/@stdlib/utils/tree/main/bifurcate 730 731 [@stdlib/utils/count-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/count-by 732 733 [@stdlib/utils/every-by-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/every-by-right 734 735 [@stdlib/utils/every-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/every-by 736 737 [@stdlib/utils/every]: https://www.npmjs.com/package/@stdlib/utils/tree/main/every 738 739 [@stdlib/utils/for-each-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/for-each-right 740 741 [@stdlib/utils/for-each]: https://www.npmjs.com/package/@stdlib/utils/tree/main/for-each 742 743 [@stdlib/utils/group-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/group-by 744 745 [@stdlib/utils/group-in]: https://www.npmjs.com/package/@stdlib/utils/tree/main/group-in 746 747 [@stdlib/utils/group-own]: https://www.npmjs.com/package/@stdlib/utils/tree/main/group-own 748 749 [@stdlib/utils/group]: https://www.npmjs.com/package/@stdlib/utils/tree/main/group 750 751 [@stdlib/utils/inmap-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inmap-right 752 753 [@stdlib/utils/inmap]: https://www.npmjs.com/package/@stdlib/utils/tree/main/inmap 754 755 [@stdlib/utils/key-by-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/key-by-right 756 757 [@stdlib/utils/key-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/key-by 758 759 [@stdlib/utils/none-by-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/none-by-right 760 761 [@stdlib/utils/none-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/none-by 762 763 [@stdlib/utils/none]: https://www.npmjs.com/package/@stdlib/utils/tree/main/none 764 765 [@stdlib/utils/pop]: https://www.npmjs.com/package/@stdlib/utils/tree/main/pop 766 767 [@stdlib/utils/prepend]: https://www.npmjs.com/package/@stdlib/utils/tree/main/prepend 768 769 [@stdlib/utils/push]: https://www.npmjs.com/package/@stdlib/utils/tree/main/push 770 771 [@stdlib/utils/reduce-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/reduce-right 772 773 [@stdlib/utils/reduce]: https://www.npmjs.com/package/@stdlib/utils/tree/main/reduce 774 775 [@stdlib/utils/shift]: https://www.npmjs.com/package/@stdlib/utils/tree/main/shift 776 777 [@stdlib/utils/some-by-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/some-by-right 778 779 [@stdlib/utils/some-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/some-by 780 781 [@stdlib/utils/some]: https://www.npmjs.com/package/@stdlib/utils/tree/main/some 782 783 [@stdlib/utils/tabulate-by]: https://www.npmjs.com/package/@stdlib/utils/tree/main/tabulate-by 784 785 [@stdlib/utils/tabulate]: https://www.npmjs.com/package/@stdlib/utils/tree/main/tabulate 786 787 [@stdlib/utils/unshift]: https://www.npmjs.com/package/@stdlib/utils/tree/main/unshift 788 789 [@stdlib/utils/until-each-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/until-each-right 790 791 [@stdlib/utils/until-each]: https://www.npmjs.com/package/@stdlib/utils/tree/main/until-each 792 793 [@stdlib/utils/while-each-right]: https://www.npmjs.com/package/@stdlib/utils/tree/main/while-each-right 794 795 [@stdlib/utils/while-each]: https://www.npmjs.com/package/@stdlib/utils/tree/main/while-each 796 797 [@stdlib/utils/circular-buffer]: https://www.npmjs.com/package/@stdlib/utils/tree/main/circular-buffer 798 799 [@stdlib/utils/compact-adjacency-matrix]: https://www.npmjs.com/package/@stdlib/utils/tree/main/compact-adjacency-matrix 800 801 [@stdlib/utils/doubly-linked-list]: https://www.npmjs.com/package/@stdlib/utils/tree/main/doubly-linked-list 802 803 [@stdlib/utils/fifo]: https://www.npmjs.com/package/@stdlib/utils/tree/main/fifo 804 805 [@stdlib/utils/linked-list]: https://www.npmjs.com/package/@stdlib/utils/tree/main/linked-list 806 807 [@stdlib/utils/named-typed-tuple]: https://www.npmjs.com/package/@stdlib/utils/tree/main/named-typed-tuple 808 809 [@stdlib/utils/stack]: https://www.npmjs.com/package/@stdlib/utils/tree/main/stack 810 811 [@stdlib/utils/async]: https://www.npmjs.com/package/@stdlib/utils/tree/main/async 812 813 <!-- </toc-links> --> 814 815 </section> 816 817 <!-- /.links -->