Skip to content

Commit f984efe

Browse files
committed
Auto-generated commit
1 parent 9c83490 commit f984efe

File tree

11 files changed

+44
-208
lines changed

11 files changed

+44
-208
lines changed

.github/.keepalive

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,8 @@ var obj = arraylike2object( [ 1, 2, 3, 4 ] );
8282
- The returned object has the following properties:
8383

8484
- **data**: data buffer.
85-
- **accessors**: `boolean` indicating whether the data buffer uses accessors for getting and setting elements.
86-
- **getter**: accessor for retrieving a data buffer element.
87-
- **setter**: accessor for setting a data buffer element.
85+
- **accessorProtocol**: `boolean` indicating whether the data buffer uses accessors for getting and setting elements.
86+
- **accessors**: a two-element array whose first element is an accessor for retrieving an array element (i.e., a getter) and whose second element is an accessor for setting an array element (i.e., a setter).
8887

8988
- The getter accessor accepts two arguments:
9089

docs/repl.txt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
The returned object has the following properties:
66

77
- data: data buffer.
8-
- accessors: boolean indicating whether the data buffer uses accessors for
9-
getting and setting elements.
10-
- getter: accessor for retrieving a data buffer element.
11-
- setter: accessor for setting a data buffer element.
8+
- accessorProtocol: boolean indicating whether the data buffer uses
9+
accessors for getting and setting elements.
10+
- accessors: a two-element array whose first element is an accessor for
11+
retrieving an array element and whose second element is an accessor for
12+
setting an array element.
1213

1314
The getter accessor accepts two arguments:
1415

docs/types/index.d.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,12 @@ interface ArrayObject {
5252
/**
5353
* Boolean indicating whether the data buffer uses accessors for getting and setting elements.
5454
*/
55-
accessors: boolean;
55+
accessorProtocol: boolean;
5656

5757
/**
58-
* Accessor for retrieving a data buffer element.
58+
* Two-element array whose first element is an accessor for retrieving an array element and whose second element is an accessor for setting an array element.
5959
*/
60-
getter: Getter;
61-
62-
/**
63-
* Accessor for setting a data buffer element.
64-
*/
65-
setter: Setter;
60+
accessors: [ Getter, Setter ];
6661
}
6762

6863
/**

lib/getter.accessor.js

Lines changed: 0 additions & 38 deletions
This file was deleted.

lib/getter.js

Lines changed: 0 additions & 38 deletions
This file was deleted.

lib/main.js

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,7 @@
2020

2121
// MODULES //
2222

23-
var Boolean = require( '@stdlib/boolean-ctor' );
24-
var getIndexed = require( './getter.js' );
25-
var getAccessor = require( './getter.accessor.js' );
26-
var setIndexed = require( './setter.js' );
27-
var setAccessor = require( './setter.accessor.js' );
23+
var accessors = require( '@stdlib/array-base-accessors' );
2824

2925

3026
// MAIN //
@@ -39,9 +35,8 @@ var setAccessor = require( './setter.accessor.js' );
3935
* - The returned object has the following properties:
4036
*
4137
* - **data**: data buffer.
42-
* - **accessors**: `boolean` indicating whether the data buffer uses accessors for getting and setting elements.
43-
* - **getter**: accessor for retrieving a data buffer element.
44-
* - **setter**: accessor for setting a data buffer element.
38+
* - **accessorProtocol**: `boolean` indicating whether the data buffer uses accessors for getting and setting elements.
39+
* - **accessors**: a two-element array whose first element is an accessor for retrieving an array element and whose second element is an accessor for setting an array element.
4540
*
4641
* @param {Collection} x - array-like object
4742
* @returns {Object} object containing array meta data
@@ -51,12 +46,11 @@ var setAccessor = require( './setter.accessor.js' );
5146
* // returns {...}
5247
*/
5348
function arraylike2object( x ) {
54-
var bool = Boolean( x.get && x.set ); // Note: intentional weak check, as we don't explicitly check for functions for (perhaps marginally) better performance.
49+
var o = accessors( x );
5550
return {
5651
'data': x,
57-
'accessors': bool,
58-
'getter': ( bool ) ? getAccessor : getIndexed,
59-
'setter': ( bool ) ? setAccessor : setIndexed
52+
'accessorProtocol': o.accessorProtocol,
53+
'accessors': o.accessors
6054
};
6155
}
6256

lib/setter.accessor.js

Lines changed: 0 additions & 38 deletions
This file was deleted.

lib/setter.js

Lines changed: 0 additions & 38 deletions
This file was deleted.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"url": "https://github.com/stdlib-js/stdlib/issues"
3838
},
3939
"dependencies": {
40-
"@stdlib/boolean-ctor": "^0.0.x",
40+
"@stdlib/array-base-accessors": "^0.0.x",
4141
"@stdlib/types": "^0.0.x"
4242
},
4343
"devDependencies": {

0 commit comments

Comments
 (0)