@triviality/serializer
Version:
Typescript serializer with an interface
28 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.METADATA_SYMBOL = Symbol.for('triviality-metadata');
/**
* TODO: solve issue why 'reflect-metadata' does not work outside of this project if there are multiple instances.
*/
var Metadata = /** @class */ (function () {
function Metadata() {
}
Metadata.defineMetadata = function (key, metadata, target) {
var classMetadata = this.getByTarget(target);
return classMetadata[key.toString()] = metadata;
};
Metadata.getMetadata = function (key, target) {
var classMetadata = this.getByTarget(target);
return classMetadata[key.toString()];
};
Metadata.getByTarget = function (target) {
if (target[exports.METADATA_SYMBOL]) {
return target[exports.METADATA_SYMBOL];
}
target[exports.METADATA_SYMBOL] = [];
return target[exports.METADATA_SYMBOL];
};
return Metadata;
}());
exports.Metadata = Metadata;
//# sourceMappingURL=Metadata.js.map