Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 2x 4x 4x 2x 4x 2x | type SymbolConstructorWithMetadata = SymbolConstructor & {
metadata?: symbol;
};
export function ensureSymbolMetadata(): symbol {
const symbolConstructor = Symbol as SymbolConstructorWithMetadata;
if (symbolConstructor.metadata === undefined) {
Object.defineProperty(symbolConstructor, 'metadata', {
configurable: false,
enumerable: false,
writable: false,
value: Symbol('Symbol.metadata'),
});
}
return symbolConstructor.metadata;
}
export const symbolMetadata = ensureSymbolMetadata();
|