const require_rolldown_runtime = require('../../../../../../../_virtual/rolldown_runtime.js');
const require_storage$1 = require('../storage.js');

//#region ../../node_modules/.pnpm/class-transformer@0.5.1/node_modules/class-transformer/cjs/decorators/type.decorator.js
var require_type_decorator = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/.pnpm/class-transformer@0.5.1/node_modules/class-transformer/cjs/decorators/type.decorator.js": ((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const storage_1 = require_storage$1.require_storage();
	/**
	* Specifies a type of the property.
	* The given TypeFunction can return a constructor. A discriminator can be given in the options.
	*
	* Can be applied to properties only.
	*/
	function Type(typeFunction, options = {}) {
		return function(target, propertyName) {
			const reflectedType = Reflect.getMetadata("design:type", target, propertyName);
			storage_1.defaultMetadataStorage.addTypeMetadata({
				target: target.constructor,
				propertyName,
				reflectedType,
				typeFunction,
				options
			});
		};
	}
	exports.Type = Type;
}) });

//#endregion
Object.defineProperty(exports, 'default', {
  enumerable: true,
  get: function () {
    return require_type_decorator();
  }
});