Skip to content

Commit 0a391ae

Browse files
committed
Add property descriptor type
1 parent 8223567 commit 0a391ae

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

lib/node_modules/@stdlib/types/index.d.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,19 @@ declare module '@stdlib/types/object' {
264264
set?( x: any ): void;
265265
}
266266

267+
/**
268+
* Property descriptor object.
269+
*
270+
* @example
271+
* const desc: PropertyDescriptor = {
272+
* 'configurable': false,
273+
* 'enumerable': true,
274+
* 'writable': false,
275+
* 'value': 'beep'
276+
* };
277+
*/
278+
type PropertyDescriptor = DataPropertyDescriptor | AccessorPropertyDescriptor; // tslint:disable-line:max-line-length
279+
267280
/**
268281
* An object property name.
269282
*

lib/node_modules/@stdlib/types/test.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,9 @@ function createIterableIterator(): iter.IterableIterator {
153153
};
154154
if ( desc1.value !== 'beep' ) {
155155
throw new Error( 'something went wrong' );
156-
}const desc2: object.DataPropertyDescriptor = {
156+
}
157+
158+
const desc2: object.DataPropertyDescriptor = {
157159
'enumerable': false,
158160
'writable': false,
159161
'value': 'beep'
@@ -220,7 +222,9 @@ function createIterableIterator(): iter.IterableIterator {
220222
};
221223
if ( desc9.enumerable !== false ) {
222224
throw new Error( 'something went wrong' );
223-
}const desc10: object.AccessorPropertyDescriptor = {
225+
}
226+
227+
const desc10: object.AccessorPropertyDescriptor = {
224228
'enumerable': false,
225229
'get': (): string => 'beep',
226230
'set': () => { throw new Error( 'beep' ); }
@@ -264,6 +268,16 @@ function createIterableIterator(): iter.IterableIterator {
264268
throw new Error( 'something went wrong' );
265269
}
266270

271+
const desc15: object.PropertyDescriptor = {
272+
'configurable': true,
273+
'enumerable': false,
274+
'writable': false,
275+
'value': 'beep'
276+
};
277+
if ( desc15.value !== 'beep' ) {
278+
throw new Error( 'something went wrong' );
279+
}
280+
267281
const prop: object.PropertyName = 'foo';
268282
if ( prop !== 'foo' ) {
269283
throw new Error( 'something went wrong' );

0 commit comments

Comments
 (0)