1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| "use strict";
|
| var d = require("d")
| , validateSymbol = require("../../../validate-symbol");
|
| var registry = Object.create(null);
|
| module.exports = function (SymbolPolyfill) {
| return Object.defineProperties(SymbolPolyfill, {
| for: d(function (key) {
| if (registry[key]) return registry[key];
| return (registry[key] = SymbolPolyfill(String(key)));
| }),
| keyFor: d(function (symbol) {
| var key;
| validateSymbol(symbol);
| for (key in registry) {
| if (registry[key] === symbol) return key;
| }
| return undefined;
| })
| });
| };
|
|