Reputation:
I have this code right now and I am wondering if there is a way to do this inline:
export const defaultArrayType = {
'string': defaultString,
'boolean': defaultBoolean,
'number': defaultNumber,
'object': defaultObject
};
Object.defineProperty(defaultArrayType, 'undefined', {
get() {
throw new Error('Array cannot contain an <undefined> element.');
}
});
Object.defineProperty(defaultArrayType, 'symbol', {
get() {
throw new Error('Array cannot contain a <Symbol> element.');
}
});
I am wondering if there is a way to do this inline, something like this:
export const defaultArrayType = {
'string': defaultString,
'boolean': defaultBoolean,
'number': defaultNumber,
'object': defaultObject,
'undefined': definePropertySomethingSomething(), // << ?
'symbol': definePropertySomethingSomething() // << ?
};
Upvotes: 1
Views: 107
Reputation: 143
how about this:
export const defaultArrayType = {
'string': defaultString,
'boolean': defaultBoolean,
'number': defaultNumber,
'object': defaultObject,
get 'undefined'() {throw new Error('Array cannot contain an <undefined> element.');},
get 'symbol'() {throw new Error('Array cannot contain a <Symbol> element.');}
};
Upvotes: 1