@vulcan-sql/core
Version:
Core package of VulcanSQL
28 lines • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.VulcanExtensionId = exports.VulcanInternalExtension = exports.VulcanExtension = exports.EXTENSION_ENFORCED_ID_METADATA_KEY = exports.EXTENSION_IDENTIFIER_METADATA_KEY = exports.EXTENSION_NAME_METADATA_KEY = exports.EXTENSION_TYPE_METADATA_KEY = void 0;
require("reflect-metadata");
exports.EXTENSION_TYPE_METADATA_KEY = Symbol.for('extension-type');
exports.EXTENSION_NAME_METADATA_KEY = Symbol.for('extension-name');
exports.EXTENSION_IDENTIFIER_METADATA_KEY = Symbol.for('extension-id');
exports.EXTENSION_ENFORCED_ID_METADATA_KEY = Symbol.for('extension-options-enforcedId');
function VulcanExtension(type, options = {}) {
return (target) => {
Reflect.defineMetadata(exports.EXTENSION_TYPE_METADATA_KEY, type, target);
Reflect.defineMetadata(exports.EXTENSION_ENFORCED_ID_METADATA_KEY, options.enforcedId || false, target);
};
}
exports.VulcanExtension = VulcanExtension;
function VulcanInternalExtension(moduleName) {
return (target) => {
Reflect.defineMetadata(exports.EXTENSION_NAME_METADATA_KEY, moduleName || '', target);
};
}
exports.VulcanInternalExtension = VulcanInternalExtension;
function VulcanExtensionId(id) {
return (target) => {
Reflect.defineMetadata(exports.EXTENSION_IDENTIFIER_METADATA_KEY, id, target);
};
}
exports.VulcanExtensionId = VulcanExtensionId;
//# sourceMappingURL=decorators.js.map