18 lines
619 B
JavaScript
18 lines
619 B
JavaScript
'use strict';
|
|
var $ = require('../internals/export');
|
|
var ReflectMetadataModule = require('../internals/reflect-metadata');
|
|
var anObject = require('../internals/an-object');
|
|
|
|
var toMetadataKey = ReflectMetadataModule.toKey;
|
|
var ordinaryDefineOwnMetadata = ReflectMetadataModule.set;
|
|
|
|
// `Reflect.metadata` method
|
|
// https://github.com/rbuckton/reflect-metadata
|
|
$({ target: 'Reflect', stat: true }, {
|
|
metadata: function metadata(metadataKey, metadataValue) {
|
|
return function decorator(target, key) {
|
|
ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key));
|
|
};
|
|
}
|
|
});
|