33< html lang ="en ">
44
55< head >
6- < title > Code coverage report for main.js</ title >
6+ < title > Code coverage report for ndarray/base/bytes-per-element/lib/ main.js</ title >
77 < meta charset ="utf-8 " />
8- < link rel ="stylesheet " href ="prettify.css " />
9- < link rel ="stylesheet " href ="base.css " />
10- < link rel ="shortcut icon " type ="image/x-icon " href ="favicon.png " />
8+ < link rel ="stylesheet " href ="../../../../ prettify.css " />
9+ < link rel ="stylesheet " href ="../../../../ base.css " />
10+ < link rel ="shortcut icon " type ="image/x-icon " href ="../../../../ favicon.png " />
1111 < meta name ="viewport " content ="width=device-width, initial-scale=1 " />
1212 < style type ='text/css '>
1313 .coverage-summary .sorter {
14- background-image : url (sort-arrow-sprite.png);
14+ background-image : url(.. / .. / .. / .. / sor t-arrow-sprite.png);
1515 }
1616 </ style >
1717</ head >
1818
1919< body >
2020< div class ='wrapper '>
2121 < div class ='pad1 '>
22- < h1 > < a href ="index.html "> All files</ a > main.js</ h1 >
22+ < h1 > < a href ="../../../../ index.html "> All files</ a > / < a href =" index.html " > ndarray/base/bytes-per-element/lib </ a > main.js</ h1 >
2323 < div class ='clearfix '>
2424
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 48/48 </ span >
28+ < span class ='fraction '> 73/73 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
3333 < span class ="strong "> 100% </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 3/3 </ span >
35+ < span class ='fraction '> 7/7 </ span >
3636 </ div >
3737
3838
@@ -46,7 +46,7 @@ <h1><a href="index.html">All files</a> main.js</h1>
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 48/48 </ span >
49+ < span class ='fraction '> 73/73 </ span >
5050 </ div >
5151
5252
@@ -111,7 +111,32 @@ <h1><a href="index.html">All files</a> main.js</h1>
111111< a name ='L46 '> </ a > < a href ='#L46 '> 46</ a >
112112< a name ='L47 '> </ a > < a href ='#L47 '> 47</ a >
113113< a name ='L48 '> </ a > < a href ='#L48 '> 48</ a >
114- < a name ='L49 '> </ a > < a href ='#L49 '> 49</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
114+ < a name ='L49 '> </ a > < a href ='#L49 '> 49</ a >
115+ < a name ='L50 '> </ a > < a href ='#L50 '> 50</ a >
116+ < a name ='L51 '> </ a > < a href ='#L51 '> 51</ a >
117+ < a name ='L52 '> </ a > < a href ='#L52 '> 52</ a >
118+ < a name ='L53 '> </ a > < a href ='#L53 '> 53</ a >
119+ < a name ='L54 '> </ a > < a href ='#L54 '> 54</ a >
120+ < a name ='L55 '> </ a > < a href ='#L55 '> 55</ a >
121+ < a name ='L56 '> </ a > < a href ='#L56 '> 56</ a >
122+ < a name ='L57 '> </ a > < a href ='#L57 '> 57</ a >
123+ < a name ='L58 '> </ a > < a href ='#L58 '> 58</ a >
124+ < a name ='L59 '> </ a > < a href ='#L59 '> 59</ a >
125+ < a name ='L60 '> </ a > < a href ='#L60 '> 60</ a >
126+ < a name ='L61 '> </ a > < a href ='#L61 '> 61</ a >
127+ < a name ='L62 '> </ a > < a href ='#L62 '> 62</ a >
128+ < a name ='L63 '> </ a > < a href ='#L63 '> 63</ a >
129+ < a name ='L64 '> </ a > < a href ='#L64 '> 64</ a >
130+ < a name ='L65 '> </ a > < a href ='#L65 '> 65</ a >
131+ < a name ='L66 '> </ a > < a href ='#L66 '> 66</ a >
132+ < a name ='L67 '> </ a > < a href ='#L67 '> 67</ a >
133+ < a name ='L68 '> </ a > < a href ='#L68 '> 68</ a >
134+ < a name ='L69 '> </ a > < a href ='#L69 '> 69</ a >
135+ < a name ='L70 '> </ a > < a href ='#L70 '> 70</ a >
136+ < a name ='L71 '> </ a > < a href ='#L71 '> 71</ a >
137+ < a name ='L72 '> </ a > < a href ='#L72 '> 72</ a >
138+ < a name ='L73 '> </ a > < a href ='#L73 '> 73</ a >
139+ < a name ='L74 '> </ a > < a href ='#L74 '> 74</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
115140< span class ="cline-any cline-yes "> 1x</ span >
116141< span class ="cline-any cline-yes "> 1x</ span >
117142< span class ="cline-any cline-yes "> 1x</ span >
@@ -151,9 +176,34 @@ <h1><a href="index.html">All files</a> main.js</h1>
151176< span class ="cline-any cline-yes "> 1x</ span >
152177< span class ="cline-any cline-yes "> 1x</ span >
153178< span class ="cline-any cline-yes "> 1x</ span >
154- < span class ="cline-any cline-yes "> 17x</ span >
155- < span class ="cline-any cline-yes "> 17x</ span >
156- < span class ="cline-any cline-yes "> 17x</ span >
179+ < span class ="cline-any cline-yes "> 1x</ span >
180+ < span class ="cline-any cline-yes "> 1x</ span >
181+ < span class ="cline-any cline-yes "> 1x</ span >
182+ < span class ="cline-any cline-yes "> 1x</ span >
183+ < span class ="cline-any cline-yes "> 1x</ span >
184+ < span class ="cline-any cline-yes "> 1x</ span >
185+ < span class ="cline-any cline-yes "> 1x</ span >
186+ < span class ="cline-any cline-yes "> 1x</ span >
187+ < span class ="cline-any cline-yes "> 1x</ span >
188+ < span class ="cline-any cline-yes "> 1x</ span >
189+ < span class ="cline-any cline-yes "> 1x</ span >
190+ < span class ="cline-any cline-yes "> 1x</ span >
191+ < span class ="cline-any cline-yes "> 1x</ span >
192+ < span class ="cline-any cline-yes "> 1x</ span >
193+ < span class ="cline-any cline-yes "> 1x</ span >
194+ < span class ="cline-any cline-yes "> 1x</ span >
195+ < span class ="cline-any cline-yes "> 1x</ span >
196+ < span class ="cline-any cline-yes "> 55x</ span >
197+ < span class ="cline-any cline-yes "> 55x</ span >
198+ < span class ="cline-any cline-yes "> 55x</ span >
199+ < span class ="cline-any cline-yes "> 35x</ span >
200+ < span class ="cline-any cline-yes "> 35x</ span >
201+ < span class ="cline-any cline-yes "> 20x</ span >
202+ < span class ="cline-any cline-yes "> 55x</ span >
203+ < span class ="cline-any cline-yes "> 19x</ span >
204+ < span class ="cline-any cline-yes "> 19x</ span >
205+ < span class ="cline-any cline-yes "> 1x</ span >
206+ < span class ="cline-any cline-yes "> 55x</ span >
157207< span class ="cline-any cline-yes "> 1x</ span >
158208< span class ="cline-any cline-yes "> 1x</ span >
159209< span class ="cline-any cline-yes "> 1x</ span >
@@ -181,26 +231,51 @@ <h1><a href="index.html">All files</a> main.js</h1>
181231
182232// MODULES //
183233
234+ var isString = require( '@stdlib/assert/is-string' ).isPrimitive;
235+ var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;
184236var BYTES_PER_ELEMENT = require( './bytes_per_element.json' );
185237
186238
187239// MAIN //
188240
189241/**
190- * Returns the number of bytes per element provided an underlying array data type.
242+ * Returns the number of bytes per element for a provided underlying ndarray data type.
191243*
192- * @param {string } dtype - data type
193- * @returns {(NonNegativeInteger |null)} number of bytes per element
244+ * @param {* } dtype - data type
245+ * @returns {(PositiveInteger |null)} number of bytes per element
194246*
195247* @example
196248* var nbytes = bytesPerElement( 'float64' );
197249* // returns 8
198250*
199251* nbytes = bytesPerElement( 'generic' );
200252* // returns null
253+ *
254+ * @example
255+ * var structFactory = require( '@stdlib/dstructs/struct' );
256+ *
257+ * var schema = [
258+ * {
259+ * 'name': 'value',
260+ * 'type': 'float64'
261+ * }
262+ * ];
263+ * var Struct = structFactory( schema );
264+ * // returns <Function>
265+ *
266+ * var nbytes = bytesPerElement( Struct );
267+ * // returns 8
201268*/
202269function bytesPerElement( dtype ) {
203- return BYTES_PER_ELEMENT[ dtype ] || null;
270+ var v;
271+ if ( isString( dtype ) ) {
272+ return BYTES_PER_ELEMENT[ dtype ] || null;
273+ }
274+ v = dtype.byteLength;
275+ if ( isPositiveInteger( v ) ) {
276+ return v;
277+ }
278+ return null;
204279}
205280
206281
@@ -214,16 +289,16 @@ <h1><a href="index.html">All files</a> main.js</h1>
214289 < div class ='footer quiet pad2 space-top1 center small '>
215290 Code coverage generated by
216291 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
217- at 2025-04-02T09:26:15.815Z
292+ at 2025-09-19T08:31:59.477Z
218293 </ div >
219- < script src ="prettify.js "> </ script >
294+ < script src ="../../../../ prettify.js "> </ script >
220295 < script >
221296 window . onload = function ( ) {
222297 prettyPrint ( ) ;
223298 } ;
224299 </ script >
225- < script src ="sorter.js "> </ script >
226- < script src ="block-navigation.js "> </ script >
300+ < script src ="../../../../ sorter.js "> </ script >
301+ < script src ="../../../../ block-navigation.js "> </ script >
227302 </ body >
228303</ html >
229304
0 commit comments