diff --git a/package.json b/package.json index a81d276..bf1ce55 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "core-decorators", - "version": "0.4.2", + "version": "0.4.3", "description": "Library of ES7 decorators inspired by languages that come with built-ins like @override, @deprecated, etc", "main": "lib/core-decorators.js", "files": [ diff --git a/src/private/utils.js b/src/private/utils.js index 116c486..ae7b2d4 100644 --- a/src/private/utils.js +++ b/src/private/utils.js @@ -31,15 +31,19 @@ class Meta { debounceTimeoutIds = {}; } +const META_KEY = (typeof Symbol === 'function') + ? Symbol('__core_decorators__') + : '__core_decorators__'; + export function metaFor(obj) { - if (obj.hasOwnProperty('__core_decorators__') === false) { - defineProperty(obj, '__core_decorators__', { + if (obj.hasOwnProperty(META_KEY) === false) { + defineProperty(obj, META_KEY, { // Defaults: NOT enumerable, configurable, or writable value: new Meta() }); } - return obj.__core_decorators__; + return obj[META_KEY]; } const getOwnKeys = getOwnPropertySymbols