1 | function polyfillSymbol(key) {
|
2 | if (typeof Symbol === 'function' && !Symbol[key]) {
|
3 | Object.defineProperty(Symbol, key, {
|
4 | value: Symbol(key)
|
5 | });
|
6 | }
|
7 | }
|
8 |
|
9 | polyfillSymbol('observable');
|
10 |
|
11 | module.exports = function (key) {
|
12 | if (typeof Symbol !== 'undefined' && Symbol[key]) {
|
13 | return Symbol[key];
|
14 | } else if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {
|
15 | return Symbol.for(key);
|
16 | }
|
17 |
|
18 | return '@@' + key;
|
19 | };
|